juhankim 2 ani în urmă
comite
9a8b51123b
100 a modificat fișierele cu 4346 adăugiri și 0 ștergeri
  1. 52 0
      .classpath
  2. 8 0
      .gitignore
  3. 8 0
      .idea/.gitignore
  4. 1 0
      .idea/.name
  5. 13 0
      .idea/compiler.xml
  6. 20 0
      .idea/jarRepositories.xml
  7. 14 0
      .idea/misc.xml
  8. 8 0
      .idea/modules.xml
  9. 6 0
      .idea/vcs.xml
  10. 0 0
      .metadata/.lock
  11. 56 0
      .metadata/.log
  12. BIN
      .metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.location
  13. 1 0
      .metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version
  14. BIN
      .metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
  15. 1 0
      .metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
  16. BIN
      .metadata/.plugins/org.eclipse.core.resources/.root/1.tree
  17. BIN
      .metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
  18. 2 0
      .metadata/.plugins/org.eclipse.core.runtime/.settings/Cloud Foundry.prefs
  19. 2 0
      .metadata/.plugins/org.eclipse.core.runtime/.settings/Docker.prefs
  20. 3 0
      .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
  21. 2 0
      .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.egit.core.prefs
  22. 9 0
      .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
  23. 2 0
      .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jsch.core.prefs
  24. 2 0
      .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs
  25. 4 0
      .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
  26. 10 0
      .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs
  27. 2 0
      .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.urischeme.prefs
  28. 2 0
      .metadata/.plugins/org.eclipse.core.runtime/.settings/org.springframework.ide.eclipse.boot.dash.prefs
  29. 2 0
      .metadata/.plugins/org.eclipse.core.runtime/.settings/org.springframework.ide.eclipse.imports.prefs
  30. 2 0
      .metadata/.plugins/org.eclipse.core.runtime/.settings/org.springsource.ide.eclipse.commons.frameworks.core.prefs
  31. 2 0
      .metadata/.plugins/org.eclipse.core.runtime/.settings/org.springsource.ide.eclipse.commons.ui.prefs
  32. 215 0
      .metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
  33. 11 0
      .metadata/.plugins/org.eclipse.egit.core/.org.eclipse.egit.core.cmp/.project
  34. 2 0
      .metadata/.plugins/org.eclipse.egit.core/.org.eclipse.egit.core.cmp/.settings/org.eclipse.core.resources.prefs
  35. BIN
      .metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache
  36. BIN
      .metadata/.plugins/org.eclipse.jdt.core/externalFilesCache
  37. 1 0
      .metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt
  38. BIN
      .metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
  39. BIN
      .metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
  40. 2 0
      .metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml
  41. 2 0
      .metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
  42. 7 0
      .metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
  43. 1 0
      .metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log
  44. 42 0
      .metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.16.3.20211002-1029.xml
  45. 2 0
      .metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties
  46. 3 0
      .metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml
  47. 6 0
      .metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml
  48. 3 0
      .metadata/version.ini
  49. 37 0
      .project
  50. 13 0
      .settings/.jsdtscope
  51. 4 0
      .settings/org.eclipse.core.resources.prefs
  52. 2 0
      .settings/org.eclipse.jdt.apt.core.prefs
  53. 12 0
      .settings/org.eclipse.jdt.core.prefs
  54. 4 0
      .settings/org.eclipse.m2e.core.prefs
  55. 39 0
      .settings/org.eclipse.wst.common.component
  56. 7 0
      .settings/org.eclipse.wst.common.project.facet.core.xml
  57. 1 0
      .settings/org.eclipse.wst.jsdt.ui.superType.container
  58. 1 0
      .settings/org.eclipse.wst.jsdt.ui.superType.name
  59. 9 0
      .settings/org.eclipse.wst.validation.prefs
  60. 21 0
      nn21.iml
  61. 354 0
      pom.xml
  62. 104 0
      src/main/config/spring-mybatis/config.properties
  63. 22 0
      src/main/config/spring-mybatis/context-aop.xml
  64. 41 0
      src/main/config/spring-mybatis/context-common.xml
  65. 15 0
      src/main/config/spring-mybatis/context-datasource.xml
  66. 33 0
      src/main/config/spring-mybatis/context-message.xml
  67. 26 0
      src/main/config/spring-mybatis/context-mybatis.xml
  68. 141 0
      src/main/config/spring-mybatis/dispatcher-servlet.xml
  69. 5 0
      src/main/config/spring-mybatis/messages/message.properties
  70. 37 0
      src/main/config/spring-mybatis/messages/message_cn.properties
  71. 40 0
      src/main/config/spring-mybatis/messages/message_en.properties
  72. 38 0
      src/main/config/spring-mybatis/messages/message_ko.properties
  73. 9 0
      src/main/config/spring-mybatis/mybatis-config.xml
  74. 335 0
      src/main/java/com/ad/bf/controller/ADBF01Controller.java
  75. 88 0
      src/main/java/com/ad/bf/service/ADBF01Service.java
  76. 101 0
      src/main/java/com/ad/cc/controller/ADCC01Controller.java
  77. 53 0
      src/main/java/com/ad/cc/service/ADCC01Service.java
  78. 101 0
      src/main/java/com/ad/cu/controller/ADCU01Controller.java
  79. 53 0
      src/main/java/com/ad/cu/service/ADCU01Service.java
  80. 53 0
      src/main/java/com/ad/cu/service/ADCU03Service.java
  81. 100 0
      src/main/java/com/ad/dc/controller/ADCU03Controller.java
  82. 101 0
      src/main/java/com/ad/dc/controller/ADDC01Controller.java
  83. 53 0
      src/main/java/com/ad/dc/service/ADDC01Service.java
  84. 157 0
      src/main/java/com/ad/ex/controller/ADEX01Controller.java
  85. 122 0
      src/main/java/com/ad/ex/controller/ADEX02Controller.java
  86. 67 0
      src/main/java/com/ad/ex/service/ADEX01Service.java
  87. 53 0
      src/main/java/com/ad/ex/service/ADEX02Service.java
  88. 101 0
      src/main/java/com/ad/fn/controller/ADFN01Controller.java
  89. 53 0
      src/main/java/com/ad/fn/service/ADFN01Service.java
  90. 126 0
      src/main/java/com/ad/li/controller/ADLI01Controller.java
  91. 61 0
      src/main/java/com/ad/li/service/ADLI01Service.java
  92. 335 0
      src/main/java/com/ad/mn/controller/ADMN01Controller.java
  93. 87 0
      src/main/java/com/ad/mn/service/ADMN01Service.java
  94. 100 0
      src/main/java/com/ad/ms/controller/ADMS01Controller.java
  95. 53 0
      src/main/java/com/ad/ms/service/ADMS01Service.java
  96. 102 0
      src/main/java/com/ad/or/controller/ADOR01Controller.java
  97. 53 0
      src/main/java/com/ad/or/service/ADOR01Service.java
  98. 133 0
      src/main/java/com/ad/pr/controller/ADPR01Controller.java
  99. 53 0
      src/main/java/com/ad/pr/service/ADPR01Service.java
  100. 106 0
      src/main/java/com/ad/re/controller/ADRE01Controller.java

+ 52 - 0
.classpath

@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="test" value="true"/>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry exported="true" kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" path="target/generated-sources/annotations">
+		<attributes>
+			<attribute name="ignore_optional_problems" value="true"/>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+			<attribute name="m2e-apt" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="src/main/config"/>
+	<classpathentry kind="lib" path="src/main/sql"/>
+	<classpathentry kind="src" output="target/test-classes" path="target/generated-test-sources/test-annotations">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+			<attribute name="ignore_optional_problems" value="true"/>
+			<attribute name="m2e-apt" value="true"/>
+			<attribute name="test" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

+ 8 - 0
.gitignore

@@ -0,0 +1,8 @@
+target/*
+META-INF/*
+.springBeans
+pom.properties
+
+
+
+/.factorypath

+ 8 - 0
.idea/.gitignore

@@ -0,0 +1,8 @@
+# 디폴트 무시된 파일
+/shelf/
+/workspace.xml
+# 에디터 기반 HTTP 클라이언트 요청
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml

+ 1 - 0
.idea/.name

@@ -0,0 +1 @@
+.org.eclipse.egit.core.cmp

+ 13 - 0
.idea/compiler.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="nn21" />
+      </profile>
+    </annotationProcessing>
+  </component>
+</project>

+ 20 - 0
.idea/jarRepositories.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://repo.maven.apache.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+  </component>
+</project>

+ 14 - 0
.idea/misc.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/pom.xml" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/classes" />
+  </component>
+</project>

+ 8 - 0
.idea/modules.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/nn21.iml" filepath="$PROJECT_DIR$/nn21.iml" />
+    </modules>
+  </component>
+</project>

+ 6 - 0
.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="" vcs="Git" />
+  </component>
+</project>

+ 0 - 0
.metadata/.lock


+ 56 - 0
.metadata/.log

@@ -0,0 +1,56 @@
+!SESSION 2023-11-26 22:58:52.949 -----------------------------------------------
+eclipse.buildId=4.15.2.202208030730
+java.version=17.0.3
+java.vendor=Eclipse Adoptium
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=ko_KR
+Framework arguments:  -product org.springframework.boot.ide.branding.sts4 -product org.springframework.boot.ide.branding.sts4
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.springframework.boot.ide.branding.sts4 -data D:\workspace\nn21 -product org.springframework.boot.ide.branding.sts4
+
+!ENTRY org.eclipse.jface 2 0 2023-11-26 22:58:57.929
+!MESSAGE Keybinding conflicts occurred.  They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2023-11-26 22:58:57.929
+!MESSAGE A conflict occurred for CTRL+SHIFT+T:
+Binding(CTRL+SHIFT+T,
+	ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type,
+		Open a type in a Java editor,
+		Category(org.eclipse.ui.category.navigate,Navigate,null,true),
+		org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@58922a00,
+		,,true),null),
+	org.eclipse.ui.defaultAcceleratorConfiguration,
+	org.eclipse.ui.contexts.window,,,system)
+Binding(CTRL+SHIFT+T,
+	ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace,
+		,
+		Category(org.eclipse.lsp4e.category,Language Servers,null,true),
+		org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@69c335c4,
+		,,true),null),
+	org.eclipse.ui.defaultAcceleratorConfiguration,
+	org.eclipse.ui.contexts.window,,,system)
+!SUBENTRY 1 org.eclipse.jface 2 0 2023-11-26 22:58:57.929
+!MESSAGE A conflict occurred for ALT+SHIFT+R:
+Binding(ALT+SHIFT+R,
+	ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring ,
+		Rename the selected element,
+		Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true),
+		org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6f09cb98,
+		,,true),null),
+	org.eclipse.ui.defaultAcceleratorConfiguration,
+	org.eclipse.ui.contexts.window,,,system)
+Binding(ALT+SHIFT+R,
+	ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename,
+		Rename the selected item,
+		Category(org.eclipse.ui.category.file,File,null,true),
+		org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@7236213e,
+		,,true),null),
+	org.eclipse.ui.defaultAcceleratorConfiguration,
+	org.eclipse.ui.contexts.window,,,system)
+
+!ENTRY org.eclipse.egit.ui 2 0 2023-11-26 22:59:02.213
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\USER'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.ui 2 2 2023-11-26 22:59:15.059
+!MESSAGE Invalid property category path: org.springframework.ide.eclipse.beans.ui.properties.ProjectPropertyPage (bundle: org.springframework.ide.eclipse.xml.namespaces, propertyPage: org.springframework.ide.eclipse.beans.ui.namespaces.projectPropertyPage)

BIN
.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.location


+ 1 - 0
.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version

@@ -0,0 +1 @@
+

BIN
.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index


+ 1 - 0
.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version

@@ -0,0 +1 @@
+

BIN
.metadata/.plugins/org.eclipse.core.resources/.root/1.tree


BIN
.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources


+ 2 - 0
.metadata/.plugins/org.eclipse.core.runtime/.settings/Cloud Foundry.prefs

@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+runTargets-v2=

+ 2 - 0
.metadata/.plugins/org.eclipse.core.runtime/.settings/Docker.prefs

@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+runTargets-v2=

+ 3 - 0
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs

@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+encoding=UTF-8
+version=1

+ 2 - 0
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.egit.core.prefs

@@ -0,0 +1,2 @@
+core_autoIgnoreDerivedResources=false
+eclipse.preferences.version=1

+ 9 - 0
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs

@@ -0,0 +1,9 @@
+content_assist_favorite_static_members=org.assertj.core.api.Assertions.*;org.mockito.Matchers.*;org.mockito.Mockito.*;org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestBuilders.*;org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.*;org.springframework.security.test.web.servlet.response.SecurityMockMvcResultMatchers.*;org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.*;org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.*;org.springframework.test.web.client.match.MockRestRequestMatchers.*;org.springframework.test.web.client.response.MockRestResponseCreators.*;org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;org.springframework.test.web.servlet.result.MockMvcResultHandlers.*;org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;org.hamcrest.CoreMatchers.*;org.junit.Assert.*
+content_assist_proposals_background=255,255,255
+content_assist_proposals_foreground=0,0,0
+eclipse.preferences.version=1
+org.eclipse.jdt.ui.formatterprofiles.version=22
+spelling_locale_initialized=true
+typefilter_migrated_2=true
+useAnnotationsPrefPage=true
+useQuickDiffPrefPage=true

+ 2 - 0
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jsch.core.prefs

@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jsch.core.hasChangedDefaultWin32SshHome=true

+ 2 - 0
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs

@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.m2e.discovery.pref.projects=

+ 4 - 0
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs

@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+platformState=1660231303098
+quickStart=false
+tipsAndTricks=true

+ 10 - 0
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs

@@ -0,0 +1,10 @@
+//org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false
+//org.eclipse.ui.commands/state/org.eclipse.wst.xml.views.XPathView.processor.xpathprocessor/org.eclipse.ui.commands.radioState=xpath10
+PLUGINS_NOT_ACTIVATED_ON_STARTUP=;org.eclipse.m2e.discovery;
+eclipse.preferences.version=1
+org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_END=255,255,255
+org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_START=255,255,255
+org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_TEXT_COLOR=16,16,16
+org.eclipse.ui.workbench.ACTIVE_TAB_BG_END=255,255,255
+org.eclipse.ui.workbench.ACTIVE_TAB_BG_START=255,255,255
+org.eclipse.ui.workbench.INACTIVE_TAB_BG_START=242,242,242

+ 2 - 0
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.urischeme.prefs

@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+processedSchemes=,eclipse+command,eclipse+mpc

+ 2 - 0
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.springframework.ide.eclipse.boot.dash.prefs

@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+toggle-filters\:enableRegexFilter=false

+ 2 - 0
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.springframework.ide.eclipse.imports.prefs

@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.springframework.ide.eclipse.imports.importStaticsInstanceScope=true

+ 2 - 0
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.springsource.ide.eclipse.commons.frameworks.core.prefs

@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.springsource.ide.eclipse.commons.frameworks.ui.legacyconversion.done=true

+ 2 - 0
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.springsource.ide.eclipse.commons.ui.prefs

@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+egit.pref.fixed.core_autoIgnoreDerivedResources=true

Fișier diff suprimat deoarece este prea mare
+ 215 - 0
.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi


+ 11 - 0
.metadata/.plugins/org.eclipse.egit.core/.org.eclipse.egit.core.cmp/.project

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>.org.eclipse.egit.core.cmp</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>

+ 2 - 0
.metadata/.plugins/org.eclipse.egit.core/.org.eclipse.egit.core.cmp/.settings/org.eclipse.core.resources.prefs

@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8

BIN
.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache


BIN
.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache


+ 1 - 0
.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt

@@ -0,0 +1 @@
+java

BIN
.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache


BIN
.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat


+ 2 - 0
.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml

@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<typeInfoHistroy/>

+ 2 - 0
.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml

@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<qualifiedTypeNameHistroy/>

Fișier diff suprimat deoarece este prea mare
+ 7 - 0
.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml


+ 1 - 0
.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log

@@ -0,0 +1 @@
+2023-11-26 22:59:02,213 [Worker-1: Loading available Gradle versions] INFO  o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.

+ 42 - 0
.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.16.3.20211002-1029.xml

@@ -0,0 +1,42 @@
+<configuration scan="true">
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+      <pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>OFF</level> <!-- change to DEBUG to mimic '-consolelog' behaviour -->
+    </filter>
+  </appender>
+
+  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <File>${org.eclipse.m2e.log.dir}/0.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+      <FileNamePattern>${org.eclipse.m2e.log.dir}/%i.log</FileNamePattern>
+      <MinIndex>1</MinIndex>
+      <MaxIndex>10</MaxIndex>
+    </rollingPolicy>
+    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+      <MaxFileSize>100MB</MaxFileSize>
+    </triggeringPolicy>
+    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+      <pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="EclipseLog" class="org.eclipse.m2e.logback.appender.EclipseLogAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+  </appender>
+
+  <appender name="MavenConsoleLog" class="org.eclipse.m2e.logback.appender.MavenConsoleAppender">
+  </appender>
+        
+  <root level="INFO">
+    <appender-ref ref="FILE" />
+    <appender-ref ref="STDOUT" />
+    <appender-ref ref="EclipseLog" />
+    <appender-ref ref="MavenConsoleLog" />
+  </root>
+<logger name="net.schmizz" level="OFF" />
+</configuration>

+ 2 - 0
.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties

@@ -0,0 +1,2 @@
+#Cached timestamps
+#Sun Nov 26 22:59:15 KST 2023

+ 3 - 0
.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+</section>

+ 6 - 0
.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<workingSetManager>
+<workingSet editPageId="org.eclipse.jdt.internal.ui.DynamicSourcesWorkingSet" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1701007139026_0" label="Java Main Sources" name="Java Main Sources"/>
+<workingSet editPageId="org.eclipse.jdt.internal.ui.DynamicSourcesWorkingSet" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1701007139048_1" label="Java Test Sources" name="Java Test Sources"/>
+<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1701007141278_2" label="Window Working Set" name="Aggregate for window 1701007141277"/>
+</workingSetManager>

+ 3 - 0
.metadata/version.ini

@@ -0,0 +1,3 @@
+#Sun Nov 26 22:58:54 KST 2023
+org.eclipse.core.runtime=2
+org.eclipse.platform=4.24.0.v20220607-0700

+ 37 - 0
.project

@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>nn21</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.common.project.facet.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>

+ 13 - 0
.settings/.jsdtscope

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/webapp"/>
+	<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="target/m2e-wtp/web-resources"/>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
+		<attributes>
+			<attribute name="hide" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
+	<classpathentry kind="output" path=""/>
+</classpath>

+ 4 - 0
.settings/org.eclipse.core.resources.prefs

@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+encoding//src/main/config/spring-mybatis/messages/message_cn.properties=UTF-8
+encoding//src/main/config/spring-mybatis/messages/message_en.properties=UTF-8
+encoding//src/main/config/spring-mybatis/messages/message_ko.properties=UTF-8

+ 2 - 0
.settings/org.eclipse.jdt.apt.core.prefs

@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.apt.aptEnabled=false

+ 12 - 0
.settings/org.eclipse.jdt.core.prefs

@@ -0,0 +1,12 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
+org.eclipse.jdt.core.compiler.processAnnotations=disabled
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8

+ 4 - 0
.settings/org.eclipse.m2e.core.prefs

@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1

+ 39 - 0
.settings/org.eclipse.wst.common.component

@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
+                
+    
+    
+    <wb-module>
+                                
+        
+        
+        <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
+                                
+        
+        
+        <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
+                                
+        
+        
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
+                                
+        
+        
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
+                                
+        
+        
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/target/generated-sources/annotations"/>
+                                
+        
+        
+        <property name="java-output-path" value="/nn21/target/classes"/>
+                
+        <property name="context-root" value="nn21"/>
+                            
+    
+    
+    </wb-module>
+            
+
+
+</project-modules>

+ 7 - 0
.settings/org.eclipse.wst.common.project.facet.core.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+  <fixed facet="wst.jsdt.web"/>
+  <installed facet="wst.jsdt.web" version="1.0"/>
+  <installed facet="java" version="1.8"/>
+  <installed facet="jst.web" version="2.4"/>
+</faceted-project>

+ 1 - 0
.settings/org.eclipse.wst.jsdt.ui.superType.container

@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary

+ 1 - 0
.settings/org.eclipse.wst.jsdt.ui.superType.name

@@ -0,0 +1 @@
+Window

+ 9 - 0
.settings/org.eclipse.wst.validation.prefs

@@ -0,0 +1,9 @@
+DELEGATES_PREFERENCE=delegateValidatorList
+USER_BUILD_PREFERENCE=enabledBuildValidatorList
+USER_MANUAL_PREFERENCE=enabledManualValidatorList
+USER_PREFERENCE=overrideGlobalPreferencesfalse
+disabled=06target
+eclipse.preferences.version=1
+override=false
+suspend=false
+vf.version=3

+ 21 - 0
nn21.iml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4">
+  <component name="AdditionalModuleElements">
+    <content url="file://$MODULE_DIR$" dumb="true">
+      <sourceFolder url="file://$MODULE_DIR$/target/generated-sources/annotations" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/target/generated-test-sources/test-annotations" isTestSource="false" />
+    </content>
+  </component>
+  <component name="EclipseModuleManager">
+    <libelement value="file://$MODULE_DIR$/src/main/config" />
+    <libelement value="file://$MODULE_DIR$/src/main/sql" />
+    <conelement value="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER" />
+    <src_description expected_position="4">
+      <src_folder value="file://$MODULE_DIR$/src/main/java" expected_position="0" />
+      <src_folder value="file://$MODULE_DIR$/src/main/resources" expected_position="1" />
+      <src_folder value="file://$MODULE_DIR$/src/test/java" expected_position="2" />
+      <src_folder value="file://$MODULE_DIR$/target/generated-sources/annotations" expected_position="5" />
+      <src_folder value="file://$MODULE_DIR$/target/generated-test-sources/test-annotations" expected_position="8" />
+    </src_description>
+  </component>
+</module>

+ 354 - 0
pom.xml

@@ -0,0 +1,354 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>com.nn21</groupId>
+  <artifactId>nn21</artifactId>
+  <packaging>war</packaging>
+  <version>0.0.1-SNAPSHOT</version>
+  <name>nn21 Maven Webapp</name>
+  <url>http://maven.apache.org</url>
+  <properties>
+    <maven.compiler.source>1.8</maven.compiler.source>
+    <maven.compiler.target>1.8</maven.compiler.target> 
+    <java.version>1.8</java.version>
+    <!-- Spring Framework Version -->   
+    <org.springframework.version>4.2.3.RELEASE</org.springframework.version>
+  </properties>
+  <repositories>
+    <repository>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <id>central</id>
+      <name>Central Repository</name>
+      <url>https://repo.maven.apache.org/maven2</url>
+    </repository>
+<!--     <repository> -->
+<!--       <id>public</id> -->
+<!--       <url>http://172.20.140.176:9081/nexus/content/groups/public/</url> -->
+<!--     </repository> -->
+  </repositories>
+    <dependencies>
+    <!-- Testing을 위한 JUnit -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <scope>test</scope>
+    </dependency>
+    
+    <!-- Logging을 위한 Log4j -->
+    <dependency>
+	  <groupId>log4j</groupId>
+	  <artifactId>log4j</artifactId> 
+	  <version>1.2.17</version>
+	</dependency>            
+	
+	<dependency>
+		<groupId>org.apache.tomcat</groupId>
+		<artifactId>servlet-api</artifactId>
+		<version>6.0.37</version>
+		<scope>provided</scope>
+	</dependency>
+	
+	<!--  JSTL -->
+	<dependency>
+	  <groupId>javax.servlet</groupId>
+	  <artifactId>jstl</artifactId>
+	  <version>1.2</version>
+	</dependency>
+	
+            	            	
+    <!-- Spring Frame Work 관련  -->
+
+	<dependency>
+	  <groupId>org.springframework</groupId>
+	  <artifactId>spring-core</artifactId>
+	  <version>${org.springframework.version}</version>
+	</dependency>
+
+	<dependency>
+	  <groupId>org.springframework</groupId>
+	  <artifactId>spring-expression</artifactId>
+	  <version>${org.springframework.version}</version>
+	</dependency>
+
+	<dependency>
+	  <groupId>org.springframework</groupId>
+	  <artifactId>spring-beans</artifactId>
+	  <version>${org.springframework.version}</version>
+	</dependency>
+
+	<dependency>
+	  <groupId>org.springframework</groupId>
+	  <artifactId>spring-aop</artifactId>
+	  <version>${org.springframework.version}</version>
+	</dependency>
+
+	<dependency>
+	  <groupId>org.springframework</groupId>
+	  <artifactId>spring-context</artifactId>
+	  <version>${org.springframework.version}</version>
+	</dependency>
+
+	<dependency>
+	  <groupId>org.springframework</groupId>
+	  <artifactId>spring-context-support</artifactId>
+	  <version>${org.springframework.version}</version>
+	</dependency>
+
+	<dependency>
+	  <groupId>org.springframework</groupId>
+	  <artifactId>spring-tx</artifactId>
+	  <version>${org.springframework.version}</version>
+	</dependency>
+
+	<dependency>
+	  <groupId>org.springframework</groupId>
+	  <artifactId>spring-jdbc</artifactId>
+	  <version>${org.springframework.version}</version>
+	</dependency>
+
+	<dependency>
+	  <groupId>org.springframework</groupId>
+	  <artifactId>spring-orm</artifactId>
+	  <version>${org.springframework.version}</version>
+	</dependency>
+
+	<dependency>
+	  <groupId>org.springframework</groupId>
+	  <artifactId>spring-oxm</artifactId>
+	  <version>${org.springframework.version}</version>
+	</dependency>
+
+	<dependency>
+	  <groupId>org.springframework</groupId>
+	  <artifactId>spring-web</artifactId>
+	  <version>${org.springframework.version}</version>
+	</dependency>
+
+	<dependency>
+	  <groupId>org.springframework</groupId>
+	  <artifactId>spring-webmvc</artifactId>
+	  <version>${org.springframework.version}</version>
+	</dependency>
+
+	<dependency>
+	  <groupId>org.springframework</groupId>
+	  <artifactId>spring-webmvc-portlet</artifactId>
+	  <version>${org.springframework.version}</version>
+	</dependency>
+
+	<dependency>
+	  <groupId>org.springframework</groupId>
+	  <artifactId>spring-test</artifactId>
+	  <version>${org.springframework.version}</version>
+	  <scope>test</scope>
+	</dependency>	
+  
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.7.2</version>
+	</dependency>
+	
+	<!-- XML Data 처리를 위한 Jackson -->
+	<dependency>
+	  <groupId>com.fasterxml.jackson.dataformat</groupId>
+	  <artifactId>jackson-dataformat-xml</artifactId>
+	  <version>2.7.2</version>
+	</dependency>
+	            
+	<!-- MyBatis Database Persistence & Spring 연계 모듈-->
+	<dependency>
+	  <groupId>org.mybatis</groupId>
+	  <artifactId>mybatis</artifactId>
+	  <version>3.2.2</version>
+	</dependency>           
+	<dependency>
+	  <groupId>org.mybatis</groupId>
+	  <artifactId>mybatis-spring</artifactId>
+	  <version>1.2.0</version>
+	</dependency>
+	
+	<!-- Excel 처리를 위한 Apache POI -->
+	<dependency>
+	  <groupId>org.apache.poi</groupId>
+	  <artifactId>poi</artifactId>
+	  <version>3.10-FINAL</version>
+	</dependency>
+	<dependency>
+	  <groupId>org.apache.poi</groupId>
+	  <artifactId>poi-ooxml</artifactId>
+	  <version>3.10-FINAL</version>
+	</dependency>
+            	
+	<!-- XML Framework -->
+	<dependency>
+	  <groupId>dom4j</groupId>
+	  <artifactId>dom4j</artifactId>
+	  <version>1.6.1</version>
+	</dependency>
+    <dependency>
+	  <groupId>org.apache.xmlbeans</groupId>
+	  <artifactId>xmlbeans</artifactId>
+	  <version>2.5.0</version>
+	  <exclusions>
+        <exclusion>
+          <groupId>stax</groupId>
+          <artifactId>stax-api</artifactId>
+        </exclusion>
+      </exclusions> 
+	</dependency>
+	
+	<!--  jsch SFTP 처리 -->
+	<dependency>
+		<groupId>com.jcraft</groupId>
+		<artifactId>jsch</artifactId>
+		<version>0.1.50</version>
+	</dependency>
+	
+	<!--  jsch vfs2 처리 -->
+	<dependency>
+		<groupId>org.apache.commons</groupId>
+		<artifactId>commons-vfs2</artifactId>
+		<version>2.0</version>
+	</dependency>
+            
+	<!--Apache Commons-net FTP 처리 -->
+	<dependency>
+	  <groupId>commons-net</groupId>
+	  <artifactId>commons-net</artifactId>
+	  <version>3.3</version>
+	</dependency>
+	
+	<!-- Apache Commons Lang -->
+	<dependency>
+	  <groupId>commons-lang</groupId>
+	  <artifactId>commons-lang</artifactId>
+	  <version>2.6</version>
+    </dependency>
+	
+	<!-- Apache Commons IO -->
+	<dependency>
+	  <groupId>commons-io</groupId>
+	  <artifactId>commons-io</artifactId>
+	  <version>2.4</version>
+	</dependency>
+	
+	<!-- Apache Commons FileUpload -->
+	<dependency>
+	  <groupId>commons-fileupload</groupId>
+	  <artifactId>commons-fileupload</artifactId>
+	  <version>1.3</version>
+	</dependency>
+    
+    <!-- Apache Commons DBCP -->
+	<dependency>
+	  <groupId>commons-dbcp</groupId>
+	  <artifactId>commons-dbcp</artifactId>
+	  <version>1.4</version>
+	</dependency>
+	
+	
+	<!-- Apache Commons Validator -->
+	<dependency>
+	  <groupId>commons-validator</groupId>
+	  <artifactId>commons-validator</artifactId>
+	  <version>1.4.0</version>
+    </dependency>
+            	
+	<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
+	<dependency>
+	    <groupId>org.apache.commons</groupId>
+	    <artifactId>commons-lang3</artifactId>
+	    <version>3.12.0</version>
+	</dependency>
+
+	
+	<dependency>
+	  <groupId>oro</groupId>
+	  <artifactId>oro</artifactId>
+	  <version>2.0.8</version>
+	</dependency>
+	
+	<dependency>
+	  <groupId>org.antlr</groupId>
+	  <artifactId>antlr</artifactId>
+	  <version>3.0.1</version>
+	</dependency>
+
+	<!-- mariaDB -->
+	<dependency>
+		<groupId>org.mariadb.jdbc</groupId>
+		<artifactId>mariadb-java-client</artifactId>
+		<version>3.0.6</version>
+	</dependency>
+	
+	<dependency>
+    	<groupId>com.googlecode.json-simple</groupId>
+    	<artifactId>json-simple</artifactId>
+    	<version>1.1</version>
+	</dependency>
+	
+	<!-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api -->
+	<dependency>
+	    <groupId>javax.annotation</groupId>
+	    <artifactId>javax.annotation-api</artifactId>
+	    <version>1.3.2</version>
+	</dependency>
+
+    </dependencies>
+  <build>
+    <finalName></finalName>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>2.4</version>
+        <configuration>
+          <webResources>
+            <resource>               
+              <directory>src/main/config/spring-mybatis</directory>
+              <targetPath>WEB-INF/classes/spring-mybatis</targetPath>
+            </resource>
+            <resource>              
+              <directory>src/main/lib</directory>
+              <targetPath>WEB-INF/lib</targetPath>
+            </resource>
+            <resource>              
+              <directory>src/main/images</directory>
+              <targetPath>images</targetPath>
+            </resource>
+             <resource>              
+              <directory>src/main/css</directory>
+              <targetPath>css</targetPath>
+            </resource>
+            <resource>              
+              <directory>src/main/jsp</directory>
+              <targetPath>WEB-INF/jsp</targetPath>
+            </resource>
+            <resource>              
+              <directory>src/main/scripts</directory>
+              <targetPath>common</targetPath>
+            </resource>
+            <resource>              
+              <directory>src/main/sql/mappers</directory>
+              <targetPath>WEB-INF/classes/mappers</targetPath>
+            </resource>
+            <resource>              
+              <directory>src/main/webapp/WEB-INF/file</directory>
+              <targetPath>WEB-INF/file</targetPath>
+            </resource>
+
+            <resource>              
+              <directory>src/main/rules</directory>
+              <targetPath>WEB-INF/classes/rules</targetPath>
+            </resource>
+
+          </webResources>
+        </configuration>
+      </plugin>     
+    </plugins>
+  </build>
+</project>

+ 104 - 0
src/main/config/spring-mybatis/config.properties

@@ -0,0 +1,104 @@
+################################################################################
+# Server Basic Configuration
+# prefix : SERVER
+################################################################################
+# 0:local, 1:test server, 2:real server
+SERVER.MODE=0
+
+################################################################################
+# API Server \uad00\ub828 \uc124\uc815
+# prefix : API, HTTP
+################################################################################
+# HTTP URL Connection Connect Timeout
+HTTP.CONNECT_TIMEOUT=5000
+# HTTP URL Connection Read Timeout
+HTTP.READ_TIMEOUT=5000
+
+
+################################################################################
+# File Configuration
+# prefix : FILE
+################################################################################
+#Maximum Upload File Size
+FILE.MAX_UPLOAD_SIZE=5242880
+FILE.USER.UPLOAD_TEMP_DIR=WEB-INF/file/user
+
+
+FILE.ATTACH.ADMINNOTICE=/files/adminnotice
+FILE.ATTACH.NOTICE=/files/notice
+FILE.ATTACH.DOCUMENT=/files/document
+FILE.ATTACH.DOC=/files/doc
+FILE.ATTACH.ORDER.IMPORT=/files/order/import
+FILE.ATTACH.ORDER.EXPORT=/files/order/export
+FILE.ATTACH.TMS=/files/tms
+FILE.ATTACH.MANUAL=/files/manual
+FILE.ATTACH.BUSINESSFORM=/files/businessform
+FILE.ATTACH.BANNER=/files/banner
+
+FILE.ATTACH.CU.TR=/files/cu/tr
+FILE.ATTACH.CU.DC=/files/cu/dc
+FILE.ATTACH.CU.FN=/files/cu/fn
+FILE.ATTACH.CU.CO=/files/cu/co
+FILE.ATTACH.CU.IN=/files/cu/in
+
+FILE.ATTACH.VE.CU=/files/ve/cu
+FILE.ATTACH.VE.LI=/files/ve/li
+FILE.ATTACH.VE.DC=/files/ve/dc
+FILE.ATTACH.VE.FN=/files/ve/fn
+FILE.ATTACH.VE.OR=/files/ve/or
+FILE.ATTACH.VE.IN=/files/ve/in
+FILE.ATTACH.VE.CA=/files/ve/ca
+FILE.ATTACH.VE.WH=/files/ve/wh
+FILE.ATTACH.VE.CC=/files/ve/cc
+FILE.ATTACH.VE.CO=/files/ve/co
+
+FILE.ATTACH.AD.LI=/files/ad/li
+FILE.ATTACH.AD.PR=/files/ad/pr
+FILE.ATTACH.AD.DC=/files/ad/dc
+FILE.ATTACH.AD.SS=/files/ad/ss
+FILE.ATTACH.AD.VE=/files/ad/ve
+FILE.ATTACH.AD.RE=/files/ad/re
+FILE.ATTACH.AD.CU=/files/ad/cu
+FILE.ATTACH.AD.FN=/files/ad/fn
+
+
+################################################################################
+# Image Configuration
+# prefix : IMG
+################################################################################
+#Image Upload Server IPs
+IMG.FTP_SERVERS=172.20.140.103
+#Image Upload Server Ports
+IMG.FTP_PORTS=22
+#Image Upload FTP User Info
+IMG.FTP_USERS=user1
+#Image Upload FTP Password
+IMG.FTP_PASS=rhfvld1!
+#Image Upload FTP TimeOut
+IMG.FTP_TIMEOUT=5000
+# Thumb Size
+THUMBS   = 70,150,500
+THUMBS2  = 70,500
+
+#Image Upload Directory
+IMG.UPLOAD_DIR=/www/image
+#Image Upload Directory
+IMG.UPLOAD_TEMP=++++++++++++++++++++++++++++++
+#IMG_SIZE1
+IMG.PATH1=
+#IMG_SIZE2
+IMG.PATH2=
+#IMG_SIZE3
+IMG.PATH3=
+#IMG_SIZE4
+IMG.PATH4=
+#IMG_SIZE5
+IMG.PATH5=
+
+TLS.VERSION=TLSv1.2
+
+jdbc.driverClass=org.mariadb.jdbc.Driver
+#jdbc.url=jdbc:mariadb://127.0.0.1:3306/api3?useUnicode=true&characterEncoding=utf8
+jdbc.url=jdbc:mariadb://203.245.44.16:3306/api3?useUnicode=true&characterEncoding=utf8
+jdbc.username=api3
+jdbc.password=code1004@@

+ 22 - 0
src/main/config/spring-mybatis/context-aop.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xmlns:aop="http://www.springframework.org/schema/aop"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans 
+		http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
+		http://www.springframework.org/schema/aop 
+		http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">
+
+	<!-- Aspect -->
+	<!-- DAO 수행시간을 출력하는 Aspect -->
+	<!--
+	<bean id="timeAspect" class="com.top.spring.aspect.TimeAspect" />
+	 
+	<aop:config>
+		<aop:aspect ref="timeAspect">
+			<aop:pointcut id="daoAccessTime" expression="bean(*DAO)"/>
+  			<aop:around pointcut-ref="daoAccessTime" method="getExecutionTime"/>
+  		</aop:aspect>
+ 	</aop:config>
+ 	--> 	
+</beans>

+ 41 - 0
src/main/config/spring-mybatis/context-common.xml

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xmlns:context="http://www.springframework.org/schema/context"
+		xmlns:tx="http://www.springframework.org/schema/tx"
+		xmlns:util="http://www.springframework.org/schema/util"
+		xsi:schemaLocation="http://www.springframework.org/schema/beans 
+			http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
+			http://www.springframework.org/schema/context 
+			http://www.springframework.org/schema/context/spring-context-3.2.xsd
+			http://www.springframework.org/schema/util 
+			http://www.springframework.org/schema/util/spring-util-3.2.xsd
+			http://www.springframework.org/schema/tx 
+			http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
+	
+	<context:annotation-config />
+		
+	<!-- Load everything except @Controllers -->
+	<context:component-scan base-package="com">
+	    <context:exclude-filter expression="org.springframework.stereotype.Controller"
+	        type="annotation"/>
+	</context:component-scan>
+	<context:component-scan base-package="sample">
+	    <context:exclude-filter expression="org.springframework.stereotype.Controller"
+	        type="annotation"/>
+	</context:component-scan>
+		
+	<!-- File Upload Module -->	
+	<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
+    	<!-- one of the properties available; the maximum file size in bytes -->
+    	<property name="maxUploadSize" value="${FILE.MAX_UPLOAD_SIZE}"/>
+	</bean>
+	
+
+	
+	<context:property-placeholder properties-ref="conf"/>
+	
+	<!-- Configuration Properties -->
+	<!-- 서버 기본적인 변수 설정 파일 -->
+	<!-- DNS Configuration -->
+	<util:properties id="conf" location="classpath:spring-mybatis/config.properties"/>	
+</beans>

+ 15 - 0
src/main/config/spring-mybatis/context-datasource.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans" 
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://www.springframework.org/schema/beans 
+			http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
+
+	<!-- MariaDB JDBC DataSource -->
+	<bean id="dataSource_maria" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
+		<property name="driverClassName" value="${jdbc.driverClass}"/>
+		<property name="url" value="${jdbc.url}"/>
+		<property name="username" value="${jdbc.username}"/>
+		<property name="password" value="${jdbc.password}"/>
+	</bean>
+
+</beans>

+ 33 - 0
src/main/config/spring-mybatis/context-message.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans" 
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"		
+		xsi:schemaLocation="http://www.springframework.org/schema/beans 
+			http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
+	
+	<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
+    <property name="basenames">
+        <list>
+        	<value>classpath:spring-mybatis/messages/message</value>
+        </list>
+    </property>
+    <property name="cacheSeconds" value="60"/>
+    <property name="defaultEncoding" value="UTF-8" />
+</bean>
+
+<!-- MessageSource를 사용하기 위한 Accessor 설정 -->
+<bean id="messageSourceAccessor" class="org.springframework.context.support.MessageSourceAccessor">
+    <constructor-arg ref="messageSource"/>
+</bean>
+
+<!-- MessageSource를 사용하기위한 MessageUtils 매핑 -->
+    <bean id="message" class="com.nn21.common.MessageUtils">
+        <property name="messageSourceAccessor" ref="messageSourceAccessor"/>
+    </bean>
+
+<!-- Default Location 설정 -->
+<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
+    <property name="defaultLocale" value="ko"></property>
+</bean>
+
+
+</beans>

+ 26 - 0
src/main/config/spring-mybatis/context-mybatis.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans" 
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xmlns:p="http://www.springframework.org/schema/p" 
+		xmlns:context="http://www.springframework.org/schema/context"
+		xsi:schemaLocation="http://www.springframework.org/schema/beans 
+			http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+			http://www.springframework.org/schema/context 
+			http://www.springframework.org/schema/context/spring-context-2.5.xsd">
+	
+	<bean id="sqlSessionFactory_maria" class="org.mybatis.spring.SqlSessionFactoryBean">
+		<property name="dataSource"  ref="dataSource_maria" />		
+		<property name="configLocation" value="classpath:spring-mybatis/mybatis-config.xml" />
+		<!-- 매퍼의 위치가 1곳일 경우 사용 -->
+<!-- 		<property name="mapperLocations" value="classpath*:mappers/maria/*.xml" /> -->
+		<!-- 매퍼의 위치가 폴더별로 하층구분을 한다면 아래의 설정을 사용 -->
+		<property name="mapperLocations" value="classpath*:mappers/maria/**/*.xml" />
+
+	</bean>
+
+
+	<bean id="sqlSession_maria" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
+  		<constructor-arg index="0" ref="sqlSessionFactory_maria" />
+	</bean>	
+
+</beans>	

+ 141 - 0
src/main/config/spring-mybatis/dispatcher-servlet.xml

@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    - DispatcherServlet application context for Application's web tier.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans" 
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xmlns:context="http://www.springframework.org/schema/context"
+		xmlns:p="http://www.springframework.org/schema/p"
+		xmlns:tx="http://www.springframework.org/schema/tx"
+		xmlns:mvc="http://www.springframework.org/schema/mvc"
+		xsi:schemaLocation="http://www.springframework.org/schema/beans 
+			http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
+			http://www.springframework.org/schema/context 
+			http://www.springframework.org/schema/context/spring-context-3.2.xsd
+			http://www.springframework.org/schema/tx 
+			http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
+			http://www.springframework.org/schema/mvc 
+			http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">	
+			
+	<mvc:annotation-driven />	
+	
+	<mvc:resources mapping="/css/**" location="/css/" />
+	<mvc:resources mapping="/fonts/**" location="/fonts/" />
+	<mvc:resources mapping="/js/**" location="/js/" />
+	<mvc:resources mapping="/common/**" location="/common/" />
+	<mvc:resources mapping="/images/**" location="/images/" />
+	<mvc:resources mapping="/files/**" location="/files/" />
+
+			
+    <!--
+        - The controllers are autodetected POJOs labeled with the @Controller annotation.
+    -->
+    <!-- Load @Controllers only -->
+	<context:component-scan base-package="com" use-default-filters="false">
+	    <context:include-filter expression="org.springframework.stereotype.Controller" 
+	        type="annotation"/>
+	</context:component-scan>
+	<context:component-scan base-package="sample" use-default-filters="false">
+	    <context:include-filter expression="org.springframework.stereotype.Controller" 
+	        type="annotation"/>
+	</context:component-scan>
+    
+<!--     <tx:annotation-driven transaction-manager="transactionManager" />	 -->
+<!-- 	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> -->
+<!--  		<property name="dataSource" ref="dataSource" /> -->
+<!-- 	</bean> -->
+    
+<!--     <tx:annotation-driven transaction-manager="transactionManager_mysql" />	 -->
+<!-- 	<bean id="transactionManager_mysql" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> -->
+<!--  		<property name="dataSource" ref="dataSource_mysql" /> -->
+<!-- 	</bean> -->
+	
+	<tx:annotation-driven transaction-manager="transactionManager_maria" />	
+	<bean id="transactionManager_maria" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
+ 		<property name="dataSource" ref="dataSource_maria" />
+	</bean>
+	
+    <!--
+        - The form-based controllers within this application provide @RequestMapping 
+        - annotations at the type level for path mapping URLs and @RequestMapping 
+        - at the method level for request type mappings (e.g., GET and POST). 
+        - In contrast, ClinicController - which is not form-based - provides 
+        - @RequestMapping only at the method level for path mapping URLs.
+        -
+        - DefaultAnnotationHandlerMapping is driven by these annotations and is 
+        - enabled by default with Java 5+.a
+    -->
+    <!--
+        - This bean processes annotated handler methods, applying Application-specific PropertyEditors
+        - for request parameter binding. It overrides the default AnnotationMethodHandlerAdapter.
+     --> 
+    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> 
+    </bean>
+    
+    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
+    <!--
+        - This bean configures the 'prefix' and 'suffix' properties of 
+        - InternalResourceViewResolver, which resolves logical view names 
+        - returned by Controllers. For example, a logical view name of "vets" 
+        - will be mapped to "/WEB-INF/jsp/vets.jsp".
+    -->
+    <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="1" 
+    p:viewClass="org.springframework.web.servlet.view.JstlView" 
+    p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/>
+		
+	<!-- Error Page -->
+<!-- 	<bean id="exceptionResolver" class="com.top.log.ExceptionLogResolver"> -->
+<!--         <property name="exceptionMappings"> -->
+<!--             <props>                               	            	 -->
+<!--                 <prop key="defaultErrorView">/common/error/error</prop> -->
+<!--             </props> -->
+<!--         </property> -->
+<!--     </bean> -->
+	
+	<!-- 로그인 여부 체크 Interceptor -->	
+	<mvc:interceptors>
+		 <mvc:interceptor>
+			<mvc:mapping path="/**" />
+			<mvc:exclude-mapping path="/index.jsp"/>
+			<mvc:exclude-mapping path="/member/login/**"/>
+			<mvc:exclude-mapping path="/common/**"/>
+			<mvc:exclude-mapping path="/css/**"/>
+			<mvc:exclude-mapping path="/js/**"/>
+			<mvc:exclude-mapping path="/images/**"/>
+			<mvc:exclude-mapping path="/join/**"/>
+			<mvc:exclude-mapping path="/interface/product/**"/>
+			<mvc:exclude-mapping path="/interface/order/**"/>
+			<mvc:exclude-mapping path="/interface/board/**"/>
+			<mvc:exclude-mapping path="/interface/partner/**"/>
+			<mvc:exclude-mapping path="/partner/businessKindListJson"/>
+			<mvc:exclude-mapping path="/system/staff/loginIdDupPop"/>
+			<mvc:exclude-mapping path="/system/staff/staffListJson"/>
+			<mvc:exclude-mapping path="/system/staff/staffSnsListJson"/>
+			<mvc:exclude-mapping path="/region/**"/>
+			<mvc:exclude-mapping path="/notice/**"/>
+			
+			<mvc:exclude-mapping path="/order/order/telPaymentProcess.do"/>
+			<bean class="com.nn21.common.LoginCheckInterceptor"/>
+		 </mvc:interceptor>	
+	</mvc:interceptors>	
+
+
+	<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
+		<property name="paramName" value="lang" />
+	</bean>
+
+	<mvc:interceptors>
+	   <ref bean="localeChangeInterceptor"/>
+	 </mvc:interceptors>
+
+	<!-- 응답 Cache 방지 -->
+	<mvc:interceptors>
+	    <bean id="webContentInterceptor" 
+	          class="org.springframework.web.servlet.mvc.WebContentInterceptor">
+	        <property name="cacheSeconds" value="0"/>
+	        <property name="useExpiresHeader" value="true"/>
+	        <property name="useCacheControlHeader" value="true"/>
+	        <property name="useCacheControlNoStore" value="true"/>
+	    </bean>
+	</mvc:interceptors>
+</beans>

+ 5 - 0
src/main/config/spring-mybatis/messages/message.properties

@@ -0,0 +1,5 @@
+site.title=Spring test site
+site.count=This is {0} test site. 
+msg.first=first
+
+

+ 37 - 0
src/main/config/spring-mybatis/messages/message_cn.properties

@@ -0,0 +1,37 @@
+site.title=스프링 테스트 사이트
+site.count={0} 테스트 사이트 입니다.
+msg.first=첫번째
+
+#로그인
+login.tit01=管理员登录
+login.tit02=请输入管理员ID/密码。
+login.tit03=登录网站
+login.tit04=保存用户名
+login.tit05=注册会员
+
+#공통
+top.menu01=个人信息修改
+top.menu02=退出
+
+tit01=公告
+tit02=最新注册帖子
+tit03=海关公告汇率
+tit04=主要国家时间
+
+#지사관련
+ve.menu01=文档管理
+ve.menu02=客户管理
+ve.menu03=合作管理
+ve.menu04=结算管理
+ve.menu05=财务管理
+ve.menu06=信息管理
+
+ve.menu11=预计到达
+ve.menu12=到达现状
+ve.menu13=配送准备
+ve.menu14=配送现状
+ve.menu15=接收情况
+ve.menu16=入库现状
+ve.menu17=发货准备
+ve.menu18=出库现状
+

+ 40 - 0
src/main/config/spring-mybatis/messages/message_en.properties

@@ -0,0 +1,40 @@
+site.title=Spring test site
+site.count=This is {0} test site. 
+msg.first=first
+
+#로그인
+login.tit01=Administrator Login
+login.tit02=Please enter your administrator ID/password
+login.tit03=Login
+login.tit04=Save ID
+login.tit05=join membership
+
+#공통
+top.menu01=update my info
+top.menu02=logout
+
+tit01=Notice
+tit02=Recent Registration Posts
+tit03=Customs Notification Exchange Rate
+tit04=Major Country Time
+
+
+#지사관련
+ve.menu01=Document
+ve.menu02=Customer
+ve.menu03=Cooperative
+ve.menu04=Settlement
+ve.menu05=Financial
+ve.menu06=Information
+
+ve.menu11=Scheduled to arrive
+ve.menu12=Arrival status
+ve.menu13=Delivery preparation
+ve.menu14=Delivery status
+ve.menu15=Reception status
+ve.menu16=Receiving status
+ve.menu17=Preparing to Ship
+ve.menu18=Forwarding status
+
+
+

+ 38 - 0
src/main/config/spring-mybatis/messages/message_ko.properties

@@ -0,0 +1,38 @@
+site.title=스프링 테스트 사이트
+site.count={0} 테스트 사이트 입니다.
+msg.first=첫번째
+
+#로그인
+login.tit01=관리자 로그인
+login.tit02=관리자 아이디/비밀번호를 입력해 주세요
+login.tit03=로그인
+login.tit04=아이디저장
+login.tit05=회원가입
+
+#공통
+top.menu01=개인정보수정
+top.menu02=로그아웃
+
+tit01=공지사항
+tit02=최근 등록 게시물
+tit03=세관환율
+tit04=주요국가 시간
+
+#지사관련
+ve.menu01=문서관리
+ve.menu02=고객관리
+ve.menu03=협력관리
+ve.menu04=정산관리
+ve.menu05=재무관리
+ve.menu06=정보관리
+
+ve.menu11=도착예정
+ve.menu12=도착현황
+ve.menu13=배송준비
+ve.menu14=배송현황
+ve.menu15=접수현황
+ve.menu16=입고현황
+ve.menu17=발송준비
+ve.menu18=출고현황
+
+

+ 9 - 0
src/main/config/spring-mybatis/mybatis-config.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
+<configuration>
+	<settings>		
+		<setting name="logImpl" value="LOG4J"/> 		
+		<setting name="cacheEnabled" value="false"/>
+		<setting name="callSettersOnNulls" value="true"/>		
+	</settings>
+</configuration>

+ 335 - 0
src/main/java/com/ad/bf/controller/ADBF01Controller.java

@@ -0,0 +1,335 @@
+package com.ad.bf.controller;
+
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+
+import com.ad.bf.service.ADBF01Service;
+import com.top.file.FileDownloader;
+import com.top.file.FileUploader;
+
+@Controller
+@RequestMapping("/ad/bf/ADBF01")
+public class ADBF01Controller {
+
+    @Autowired
+    private ADBF01Service service;
+
+	@Value("#{conf['FILE.ATTACH.BUSINESSFORM']}")
+	private String attachFileUploadDir;
+
+	@Autowired
+	private FileUploader fileUploader;
+
+	@Autowired
+	private FileDownloader fileDownloader;
+
+    //리스트 페이지
+	@RequestMapping(value="/page")
+	public String page(@RequestParam HashMap<String,String> params, Model model) {
+		return "ad/bf/ADBF01";
+	}
+
+	//팝업(등록) 페이지
+	@RequestMapping(value="/popup")
+	public String popup(@RequestParam HashMap<String,String> params, Model model) {
+
+		return "ad/bf/ADBF01P";
+	}
+
+	//팝업(조회) 페이지
+	@RequestMapping(value="/popup1")
+	public String popup1(@RequestParam HashMap<String,String> params, Model model, HttpSession session) {
+
+		@SuppressWarnings("unchecked")
+		HashMap<String, String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+		String login_id = staffInfo.get("login_id");
+
+		HashMap<String, String> info = null;
+		List<HashMap<String, String>> attachList = null;
+
+		info = service.selectBusinessFormDetail(params);
+		attachList = service.selectBusinessFormAttachList(params);
+
+		model.addAttribute("login_id", login_id);
+		model.addAttribute("info", info);
+		model.addAttribute("attachList", attachList);
+		model.addAttribute("fileDownloadPath", attachFileUploadDir);
+
+		return "ad/bf/ADBF01P1";
+	}
+
+	//팝업(수정) 페이지
+	@RequestMapping(value="/popup2")
+	public String popup2(@RequestParam HashMap<String,String> params, Model model, HttpSession session) {
+
+		@SuppressWarnings("unchecked")
+		HashMap<String, String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+		String login_id = staffInfo.get("login_id");
+
+		HashMap<String, String> info = null;
+		List<HashMap<String, String>> attachList = null;
+
+		info = service.selectBusinessFormDetail(params);
+		attachList = service.selectBusinessFormAttachList(params);
+
+		model.addAttribute("login_id", login_id);
+		model.addAttribute("info", info);
+		model.addAttribute("attachList", attachList);
+		model.addAttribute("fileDownloadPath", attachFileUploadDir);
+
+		return "ad/bf/ADBF01P2";
+	}
+
+	//리스트 조회
+	@RequestMapping(value = "/selectBusinessFormList", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> getSearch(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		@SuppressWarnings("unchecked")
+		HashMap<String, String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+		String staffId = staffInfo.get("login_id");
+		String vendor_no = staffInfo.get("vendor_no");
+		params.put("vendor_no", vendor_no);
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	List<HashMap<String, String>> list = service.selectBusinessFormList(params);
+    	map.put("rows", list);
+
+		return map;
+	}
+
+	//상세 조회
+	@RequestMapping(value = "/selectBusinessFormDetail", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> searchDtl(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	HashMap<String, String> info = service.selectBusinessFormDetail(params);
+    	map.put("info", info);
+
+		return map;
+	}
+
+	//등록
+	@RequestMapping(value = "/saveBusinessForm", produces = "text/html;charset=UTF-8")
+	@ResponseBody
+	@Transactional
+	public String saveBusinessForm(@RequestParam HashMap<String, String> params, MultipartHttpServletRequest mpreq, HttpSession session) throws Exception {
+
+		@SuppressWarnings("unchecked")
+		HashMap<String, String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+		String staffId = staffInfo.get("login_id");
+		String vendor_no = staffInfo.get("vendor_no");
+
+		Enumeration<String> paramNames =  mpreq.getParameterNames();
+
+		while(paramNames.hasMoreElements()) {
+		       String key = paramNames.nextElement();
+		       String originalValue = mpreq.getParameter(key);
+		       String encodedValue = new String(originalValue.getBytes("ISO-8859-1"), "UTF-8");
+		       //mpreq.setAttribute(key, encodedValue);
+		       params.put(key, encodedValue);
+		}
+
+		/* 1.문서번호 불러오기 */
+		service.getBusinessFormSeq(params);
+
+		/* 2.문서기본정보 저장 */
+		params.put("vendor_no", vendor_no);
+		params.put("reg_id", staffId);
+		params.put("view_cnt", "0");
+		params.put("del_yn", "N");
+		params.put("businessform_typ", "1");
+		service.insertBusinessFormMst(params);
+
+		/* 3.첨부파일 저장 */
+		int fileCnt = 3;	//첨부파일 갯수
+		MultipartFile[] multipartFile = new MultipartFile[fileCnt];
+		boolean[] hasNewAttach = new boolean[fileCnt];
+
+		multipartFile[0] = mpreq.getFile("attachFile0");
+		multipartFile[1] = mpreq.getFile("attachFile1");
+		multipartFile[2] = mpreq.getFile("attachFile2");
+
+
+		for(int i=0; i < fileCnt; i++) {
+
+			// 첨부파일 유무
+			hasNewAttach[i] = multipartFile[i] != null && multipartFile[i].getSize() != 0 ? true : false;
+
+			//첨부파일 확장자 체크
+			if (hasNewAttach[i]) {
+				String fileExt = multipartFile[i].getOriginalFilename().toLowerCase();
+
+				if(!fileExt.endsWith(".ppt") &&	!fileExt.endsWith(".pptx") && !fileExt.endsWith(".xls") && !fileExt.endsWith(".xlsx") && !fileExt.endsWith(".doc") &&
+					!fileExt.endsWith(".docx") && !fileExt.endsWith(".hwp") && !fileExt.endsWith(".jpg") &&	!fileExt.endsWith(".jpeg") && !fileExt.endsWith(".gif") &&
+					!fileExt.endsWith(".png") && !fileExt.endsWith(".bmp") && !fileExt.endsWith(".tif")){
+					return "-1";
+				}
+			}
+
+			// 첨부파일이 있으면
+			if (hasNewAttach[i]) {
+				fileUploader.uploadFile(multipartFile[i], "/api3/fdata", attachFileUploadDir, String.valueOf(System.currentTimeMillis()), false);
+				String encodedFilename = new String(fileUploader.getOraginFileName().getBytes("ISO-8859-1"), "UTF-8");	//파일명
+
+				params.put("filename_txt", encodedFilename);
+				params.put("attachfile_txt", fileUploader.getTargetFileName());
+				params.put("download_cnt", "0");
+				service.insertBusinessFormAttach(params);
+			}
+
+		}
+
+		return "0";
+	}
+
+	//등록
+	@RequestMapping(value="/insertBusinessFormMst", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> insertBusinessFormMst(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		HashMap<String,String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+		params.put("reg_id", staffInfo.get("staff_id") );
+
+		int ret = 0;
+		ret += service.insertBusinessFormMst(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		if(ret > 0)	map.put("msg", "저장에 성공하였습니다.");
+		return map;
+	}
+
+	//등록
+	@RequestMapping(value = "/updateBusinessForm", produces = "text/html;charset=UTF-8")
+	@ResponseBody
+	@Transactional
+	public String updateBusinessForm(@RequestParam HashMap<String, String> params, MultipartHttpServletRequest mpreq, HttpSession session) throws Exception {
+
+		@SuppressWarnings("unchecked")
+		HashMap<String, String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+		String login_id = staffInfo.get("login_id");
+
+		params.put("mod_id",login_id);
+
+		Enumeration<String> paramNames =  mpreq.getParameterNames();
+
+		while(paramNames.hasMoreElements()) {
+		       String key = paramNames.nextElement();
+		       String originalValue = mpreq.getParameter(key);
+		       String encodedValue = new String(originalValue.getBytes("ISO-8859-1"), "UTF-8");
+		       params.put(key, encodedValue);
+		}
+
+		int ret = 0;
+		ret += service.updateBusinessFormMst(params);
+
+
+		/* 3.첨부파일 저장 */
+		int fileCnt = 3;	//첨부파일 갯수
+		MultipartFile[] multipartFile = new MultipartFile[fileCnt];
+		boolean[] hasNewAttach = new boolean[fileCnt];
+
+		multipartFile[0] = mpreq.getFile("attachFile0");
+		multipartFile[1] = mpreq.getFile("attachFile1");
+		multipartFile[2] = mpreq.getFile("attachFile2");
+
+
+		for(int i=0; i < fileCnt; i++) {
+
+			// 첨부파일 유무
+			hasNewAttach[i] = multipartFile[i] != null && multipartFile[i].getSize() != 0 ? true : false;
+
+			//첨부파일 확장자 체크
+			if (hasNewAttach[i]) {
+				String fileExt = multipartFile[i].getOriginalFilename().toLowerCase();
+
+				if(!fileExt.endsWith(".ppt") &&	!fileExt.endsWith(".pptx") && !fileExt.endsWith(".xls") && !fileExt.endsWith(".xlsx") && !fileExt.endsWith(".doc") &&
+					!fileExt.endsWith(".docx") && !fileExt.endsWith(".hwp") && !fileExt.endsWith(".jpg") &&	!fileExt.endsWith(".jpeg") && !fileExt.endsWith(".gif") &&
+					!fileExt.endsWith(".png") && !fileExt.endsWith(".bmp") && !fileExt.endsWith(".tif")){
+					return "-1";
+				}
+			}
+
+			// 첨부파일이 있으면
+			if (hasNewAttach[i]) {
+				fileUploader.uploadFile(multipartFile[i], "/api3/fdata", attachFileUploadDir, String.valueOf(System.currentTimeMillis()), false);
+				String encodedFilename = new String(fileUploader.getOraginFileName().getBytes("ISO-8859-1"), "UTF-8");	//파일명
+
+				params.put("filename_txt", encodedFilename);
+				params.put("attachfile_txt", fileUploader.getTargetFileName());
+				params.put("download_cnt", "0");
+				service.insertBusinessFormAttach(params);
+			}
+
+		}
+
+		return "0";
+	}
+
+	//삭제
+	@RequestMapping(value="/deleteBusinessFormMst", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> deleteBusinessFormMst(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.deleteBusinessFormMst(params);
+		ret += service.deleteBusinessFormAttach(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		if(ret > 0)	map.put("msg", "삭제에 성공하였습니다.");
+		return map;
+	}
+
+	//파일삭제
+	@RequestMapping(value="/deleteBusinessFormAttach", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> deleteBusinessFormAttach(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+
+		HashMap<String, String> attachInfo = service.getBusinessFormAttach(params);
+
+		if(attachInfo != null) {
+
+//			String attachfile_txt = String.valueOf(attachInfo.get("attachfile_txt"));
+//
+//			File file = new File("/api3/fdata" + attachFileUploadDir + attachfile_txt);
+//
+//			if( file.exists() ){
+//				if(file.delete()){
+//					System.out.println("파일삭제 성공");
+//				}else{
+//					System.out.println("파일삭제 실패");
+//				}
+//			}else{
+//				System.out.println("파일이 존재하지 않습니다.");
+//			}
+
+			ret += service.deleteBusinessFormAttach(params);
+		}
+
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		if(ret > 0)	map.put("msg", "삭제에 성공하였습니다.");
+		return map;
+	}
+
+}

+ 88 - 0
src/main/java/com/ad/bf/service/ADBF01Service.java

@@ -0,0 +1,88 @@
+package com.ad.bf.service;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.zcore.dataaccess.CommonDAO;
+
+
+@Service
+public class ADBF01Service {
+
+    @Autowired
+    private CommonDAO commonDao;
+
+
+	public int getBusinessFormSeq(HashMap<String, String> map) {
+		return commonDao.insert("ADBF01Service.getBusinessFormSeq", map);
+	}
+
+    public List<HashMap<String, String>> selectBusinessFormList(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADBF01Service.selectBusinessFormList", params);
+
+        return list;
+    }
+
+    public List<HashMap<String, String>> selectBusinessFormAttachList(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADBF01Service.selectBusinessFormAttachList", params);
+
+        return list;
+    }
+
+    public HashMap<String, String> selectBusinessFormDetail(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADBF01Service.selectBusinessFormDetail", params);
+
+        return info;
+    }
+
+    public HashMap<String, String> getBusinessFormAttach(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADBF01Service.getBusinessFormAttach", params);
+
+        return info;
+    }
+
+    public int insertBusinessFormMst(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADBF01Service.insertBusinessFormMst", params);
+
+        return ret;
+    }
+
+    public int insertBusinessFormAttach(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADBF01Service.insertBusinessFormAttach", params);
+
+        return ret;
+    }
+
+
+
+    public int updateBusinessFormMst(HashMap<String, String> params) {
+
+    	int ret = commonDao.update("ADBF01Service.updateBusinessFormMst", params);
+
+        return ret;
+    }
+
+    public int deleteBusinessFormMst(HashMap<String, String> params) {
+
+    	int ret = commonDao.delete("ADBF01Service.deleteBusinessFormMst", params);
+
+        return ret;
+    }
+
+    public int deleteBusinessFormAttach(HashMap<String, String> params) {
+
+    	int ret = commonDao.delete("ADBF01Service.deleteBusinessFormAttach", params);
+
+        return ret;
+    }
+
+}

+ 101 - 0
src/main/java/com/ad/cc/controller/ADCC01Controller.java

@@ -0,0 +1,101 @@
+package com.ad.cc.controller;
+
+import java.util.HashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.ad.cc.service.ADCC01Service;
+
+@Controller 
+@RequestMapping("/ad/cc/ADCC01")
+public class ADCC01Controller {
+
+    @Autowired
+    private ADCC01Service service;
+
+    //리스트 페이지
+	@RequestMapping(value="/page")
+	public String page(@RequestParam HashMap<String,String> params, Model model) { 
+		return "ad/cc/ADCC01";
+	}
+	
+	//팝업(상세) 페이지
+	@RequestMapping(value="/popup")
+	public String detail(@RequestParam HashMap<String,String> params, Model model) { 
+		return "ad/cc/ADCC01P";
+	}
+
+	//리스트 조회
+	@RequestMapping(value = "/search", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> getSearch(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+    	
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	List<HashMap<String, String>> list = service.getSearch(params);
+    	map.put("rows", list);
+
+		return map;
+	}
+	
+	//상세 조회
+	@RequestMapping(value = "/searchDtl", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> searchDtl(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+    	
+		HashMap<String, Object> map = new HashMap<String, Object>();
+		
+    	HashMap<String, String> info = service.getSearchDtl(params);
+    	map.put("info", info);
+
+		return map;
+	}
+	
+	//등록
+	@RequestMapping(value="/insert", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> insert(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.insert(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+	//수정
+	@RequestMapping(value="/update", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> update(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.update(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+	//삭제
+	@RequestMapping(value="/delete", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> delete(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.delete(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+}

+ 53 - 0
src/main/java/com/ad/cc/service/ADCC01Service.java

@@ -0,0 +1,53 @@
+package com.ad.cc.service;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.zcore.dataaccess.CommonDAO;
+
+
+@Service
+public class ADCC01Service {
+
+    @Autowired
+    private CommonDAO commonDao;
+
+    public List<HashMap<String, String>> getSearch(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADCC01Service.getSearch", params);
+
+        return list;
+    }
+    
+    public HashMap<String, String> getSearchDtl(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADCC01Service.getSearchDtl", params);
+
+        return info;
+    }
+    
+    public int insert(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADCC01Service.insert", params);
+
+        return ret;
+    }
+    
+    public int update(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADCC01Service.update", params);
+
+        return ret;
+    }
+    
+    public int delete(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADCC01Service.delete", params);
+
+        return ret;
+    }
+    
+}

+ 101 - 0
src/main/java/com/ad/cu/controller/ADCU01Controller.java

@@ -0,0 +1,101 @@
+package com.ad.cu.controller;
+
+import java.util.HashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.ad.cu.service.ADCU01Service;
+
+@Controller 
+@RequestMapping("/ad/cu/ADCU01")
+public class ADCU01Controller {
+
+    @Autowired
+    private ADCU01Service service;
+
+    //리스트 페이지
+	@RequestMapping(value="/page")
+	public String page(@RequestParam HashMap<String,String> params, Model model) { 
+		return "ad/cu/ADCU01";
+	}
+	
+	//팝업(상세) 페이지
+	@RequestMapping(value="/popup")
+	public String detail(@RequestParam HashMap<String,String> params, Model model) { 
+		return "ad/cu/ADCU01P";
+	}
+
+	//리스트 조회
+	@RequestMapping(value = "/search", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> getSearch(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+    	
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	List<HashMap<String, String>> list = service.getSearch(params);
+    	map.put("rows", list);
+
+		return map;
+	}
+	
+	//상세 조회
+	@RequestMapping(value = "/searchDtl", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> searchDtl(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+    	
+		HashMap<String, Object> map = new HashMap<String, Object>();
+		
+    	HashMap<String, String> info = service.getSearchDtl(params);
+    	map.put("info", info);
+
+		return map;
+	}
+	
+	//등록
+	@RequestMapping(value="/insert", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> insert(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.insert(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+	//수정
+	@RequestMapping(value="/update", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> update(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.update(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+	//삭제
+	@RequestMapping(value="/delete", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> delete(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.delete(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+}

+ 53 - 0
src/main/java/com/ad/cu/service/ADCU01Service.java

@@ -0,0 +1,53 @@
+package com.ad.cu.service;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.zcore.dataaccess.CommonDAO;
+
+
+@Service
+public class ADCU01Service {
+
+    @Autowired
+    private CommonDAO commonDao;
+
+    public List<HashMap<String, String>> getSearch(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADCU01Service.getSearch", params);
+
+        return list;
+    }
+    
+    public HashMap<String, String> getSearchDtl(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADCU01Service.getSearchDtl", params);
+
+        return info;
+    }
+    
+    public int insert(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADCU01Service.insert", params);
+
+        return ret;
+    }
+    
+    public int update(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADCU01Service.update", params);
+
+        return ret;
+    }
+    
+    public int delete(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADCU01Service.delete", params);
+
+        return ret;
+    }
+    
+}

+ 53 - 0
src/main/java/com/ad/cu/service/ADCU03Service.java

@@ -0,0 +1,53 @@
+package com.ad.cu.service;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.zcore.dataaccess.CommonDAO;
+
+
+@Service
+public class ADCU03Service {
+
+    @Autowired
+    private CommonDAO commonDao;
+
+    public List<HashMap<String, String>> getSearch(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADCU03Service.getSearch", params);
+
+        return list;
+    }
+
+    public HashMap<String, String> getSearchDtl(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADCU03Service.getSearchDtl", params);
+
+        return info;
+    }
+
+    public int insert(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADCU03Service.insert", params);
+
+        return ret;
+    }
+
+    public int update(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADCU03Service.update", params);
+
+        return ret;
+    }
+
+    public int delete(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADCU03Service.delete", params);
+
+        return ret;
+    }
+
+}

+ 100 - 0
src/main/java/com/ad/dc/controller/ADCU03Controller.java

@@ -0,0 +1,100 @@
+package com.ad.dc.controller;
+
+import java.util.HashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.ad.cu.service.ADCU03Service;
+
+@Controller
+@RequestMapping("/ad/cu/ADCU03")
+public class ADCU03Controller {
+
+    @Autowired
+    private ADCU03Service service;
+
+    //리스트 페이지
+	@RequestMapping(value="/page")
+	public String page(@RequestParam HashMap<String,String> params, Model model) {
+		return "ad/cu/ADCU03";
+	}
+
+	//팝업(상세) 페이지
+	@RequestMapping(value="/popup")
+	public String detail(@RequestParam HashMap<String,String> params, Model model) {
+		return "ad/cu/ADCU03P";
+	}
+
+	//리스트 조회
+	@RequestMapping(value = "/search", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> getSearch(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	List<HashMap<String, String>> list = service.getSearch(params);
+    	map.put("rows", list);
+
+		return map;
+	}
+
+	//상세 조회
+	@RequestMapping(value = "/searchDtl", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> searchDtl(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+
+    	HashMap<String, String> info = service.getSearchDtl(params);
+    	map.put("info", info);
+
+		return map;
+	}
+
+	//등록
+	@RequestMapping(value="/insert", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> insert(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.insert(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+
+	//수정
+	@RequestMapping(value="/update", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> update(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.update(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+
+	//삭제
+	@RequestMapping(value="/delete", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> delete(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.delete(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+
+}

+ 101 - 0
src/main/java/com/ad/dc/controller/ADDC01Controller.java

@@ -0,0 +1,101 @@
+package com.ad.dc.controller;
+
+import java.util.HashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.ad.dc.service.ADDC01Service;
+
+@Controller 
+@RequestMapping("/ad/dc/ADDC01")
+public class ADDC01Controller {
+
+    @Autowired
+    private ADDC01Service service;
+
+    //리스트 페이지
+	@RequestMapping(value="/page")
+	public String page(@RequestParam HashMap<String,String> params, Model model) { 
+		return "ad/dc/ADDC01";
+	}
+	
+	//팝업(상세) 페이지
+	@RequestMapping(value="/popup")
+	public String detail(@RequestParam HashMap<String,String> params, Model model) { 
+		return "ad/dc/ADDC01P";
+	}
+
+	//리스트 조회
+	@RequestMapping(value = "/search", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> getSearch(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+    	
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	List<HashMap<String, String>> list = service.getSearch(params);
+    	map.put("rows", list);
+
+		return map;
+	}
+	
+	//상세 조회
+	@RequestMapping(value = "/searchDtl", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> searchDtl(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+    	
+		HashMap<String, Object> map = new HashMap<String, Object>();
+		
+    	HashMap<String, String> info = service.getSearchDtl(params);
+    	map.put("info", info);
+
+		return map;
+	}
+	
+	//등록
+	@RequestMapping(value="/insert", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> insert(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.insert(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+	//수정
+	@RequestMapping(value="/update", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> update(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.update(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+	//삭제
+	@RequestMapping(value="/delete", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> delete(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.delete(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+}

+ 53 - 0
src/main/java/com/ad/dc/service/ADDC01Service.java

@@ -0,0 +1,53 @@
+package com.ad.dc.service;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.zcore.dataaccess.CommonDAO;
+
+
+@Service
+public class ADDC01Service {
+
+    @Autowired
+    private CommonDAO commonDao;
+
+    public List<HashMap<String, String>> getSearch(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADDC01Service.getSearch", params);
+
+        return list;
+    }
+    
+    public HashMap<String, String> getSearchDtl(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADDC01Service.getSearchDtl", params);
+
+        return info;
+    }
+    
+    public int insert(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADDC01Service.insert", params);
+
+        return ret;
+    }
+    
+    public int update(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADDC01Service.update", params);
+
+        return ret;
+    }
+    
+    public int delete(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADDC01Service.delete", params);
+
+        return ret;
+    }
+    
+}

+ 157 - 0
src/main/java/com/ad/ex/controller/ADEX01Controller.java

@@ -0,0 +1,157 @@
+package com.ad.ex.controller;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.ad.ex.service.ADEX01Service;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+@Controller
+@RequestMapping("/ad/ex/ADEX01")
+public class ADEX01Controller {
+
+    @Autowired
+    private ADEX01Service service;
+
+    //리스트 페이지
+	@RequestMapping(value="/page")
+	public String page(@RequestParam HashMap<String,String> params, Model model) {
+
+		String screenId = params.get("menu_id");
+
+		return "ad/ex/ADEX01";
+	}
+
+	//팝업(상세) 페이지
+	@RequestMapping(value="/popup")
+	public String detail(@RequestParam HashMap<String,String> params, Model model) {
+		return "ad/ex/ADEX01P";
+	}
+
+	//리스트 조회
+	@RequestMapping(value = "/search", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> getSearch(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	List<HashMap<String, String>> list = service.getSearch(params);
+    	map.put("rows", list);
+
+		return map;
+	}
+
+	//상세 조회
+	@RequestMapping(value = "/searchDtl", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> searchDtl(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+
+    	HashMap<String, String> info = service.getSearchDtl(params);
+    	map.put("info", info);
+
+		return map;
+	}
+
+	//세관고시환율 조회
+	@RequestMapping(value = "/getRecentCustomsExchangeRate", produces = "application/json;charset=UTF-8")
+	@ResponseBody
+	public HashMap<String, Object> getRecentCustomsExchangeRate(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+
+    	HashMap<String, String> info = service.getRecentCustomsExchangeRate(params);
+    	map.put("info", info);
+
+		return map;
+	}
+
+	//IL기준환율 조회
+	@RequestMapping(value = "/getRecentExchangeRate", produces = "application/json;charset=UTF-8")
+	@ResponseBody
+	public HashMap<String, Object> getRecentExchangeRate(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+
+		Date date = new Date();
+		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+
+		String today = formatter.format(date);
+
+		params.put("app_dt",today);
+
+    	HashMap<String, String> info = service.getRecentExchangeRate(params);
+    	map.put("info", info);
+
+		return map;
+	}
+
+	//등록
+	@RequestMapping(value="/insert", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> insert(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.insert(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		map.put("msg", "정상적으로 저장 되었습니다.");
+		return map;
+	}
+
+	//수정
+	@SuppressWarnings("unchecked")
+	@RequestMapping(value="/update",  method=RequestMethod.POST, produces="application/json;charset=UTF-8")
+	@Transactional
+	public HashMap<String,String> update(@RequestBody String gridValue,HttpSession session) throws Exception {
+		ObjectMapper mapper = new ObjectMapper();
+		List<HashMap<String,String>> gridList = mapper.readValue(gridValue, new TypeReference<List<HashMap<String,String>>>(){});
+		HashMap<String,String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+
+		int ret = 0;
+
+		for(int i=0; i<gridList.size();i++) {
+			HashMap<String, String> param = gridList.get(i);
+			param.put("mod_id", staffInfo.get("staff_id") );
+			ret += service.update(param);
+		}
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		if(ret > 0) {
+			map.put("msg", "정상적으로 저장 되었습니다.");
+		}
+
+		return map;
+	}
+
+	//삭제
+	@RequestMapping(value="/delete", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> delete(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.delete(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+
+}

+ 122 - 0
src/main/java/com/ad/ex/controller/ADEX02Controller.java

@@ -0,0 +1,122 @@
+package com.ad.ex.controller;
+
+import java.util.HashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.ad.ex.service.ADEX02Service;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+@Controller
+@RequestMapping("/ad/ex/ADEX02")
+public class ADEX02Controller {
+
+    @Autowired
+    private ADEX02Service service;
+
+    //리스트 페이지
+	@RequestMapping(value="/page")
+	public String page(@RequestParam HashMap<String,String> params, Model model) {
+
+		String screenId = params.get("menu_id");
+
+		return "ad/ex/ADEX02";
+	}
+
+	//팝업(상세) 페이지
+	@RequestMapping(value="/popup")
+	public String detail(@RequestParam HashMap<String,String> params, Model model) {
+		return "ad/ex/ADEX02P";
+	}
+
+	//리스트 조회
+	@RequestMapping(value = "/search", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> getSearch(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	List<HashMap<String, String>> list = service.getSearch(params);
+    	map.put("rows", list);
+
+		return map;
+	}
+
+	//상세 조회
+	@RequestMapping(value = "/searchDtl", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> searchDtl(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+
+    	HashMap<String, String> info = service.getSearchDtl(params);
+    	map.put("info", info);
+
+		return map;
+	}
+
+	//등록
+	@RequestMapping(value="/insert", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> insert(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.insert(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		map.put("msg", "정상적으로 저장 되었습니다.");
+		return map;
+	}
+
+	//수정
+	@SuppressWarnings("unchecked")
+	@RequestMapping(value="/update",  method=RequestMethod.POST, produces="application/json;charset=UTF-8")
+	@Transactional
+	public HashMap<String,String> update(@RequestBody String gridValue,HttpSession session) throws Exception {
+		ObjectMapper mapper = new ObjectMapper();
+		List<HashMap<String,String>> gridList = mapper.readValue(gridValue, new TypeReference<List<HashMap<String,String>>>(){});
+		HashMap<String,String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+
+		int ret = 0;
+
+		for(int i=0; i<gridList.size();i++) {
+			HashMap<String, String> param = gridList.get(i);
+			param.put("mod_id", staffInfo.get("staff_id") );
+			ret += service.update(param);
+		}
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		if(ret > 0) {
+			map.put("msg", "정상적으로 저장 되었습니다.");
+		}
+
+		return map;
+	}
+
+	//삭제
+	@RequestMapping(value="/delete", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> delete(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.delete(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+
+}

+ 67 - 0
src/main/java/com/ad/ex/service/ADEX01Service.java

@@ -0,0 +1,67 @@
+package com.ad.ex.service;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.zcore.dataaccess.CommonDAO;
+
+
+@Service
+public class ADEX01Service {
+
+    @Autowired
+    private CommonDAO commonDao;
+
+    public List<HashMap<String, String>> getSearch(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADEX01Service.getSearch", params);
+
+        return list;
+    }
+
+    public HashMap<String, String> getSearchDtl(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADEX01Service.getSearchDtl", params);
+
+        return info;
+    }
+
+    public HashMap<String, String> getRecentCustomsExchangeRate(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADEX01Service.getRecentCustomsExchangeRate", params);
+
+        return info;
+    }
+
+    public HashMap<String, String> getRecentExchangeRate(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADEX01Service.getRecentExchangeRate", params);
+
+        return info;
+    }
+
+    public int insert(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADEX01Service.insert", params);
+
+        return ret;
+    }
+
+    public int update(HashMap<String, String> params) {
+
+    	int ret = commonDao.update("ADEX01Service.update", params);
+
+        return ret;
+    }
+
+    public int delete(HashMap<String, String> params) {
+
+    	int ret = commonDao.delete("ADEX01Service.delete", params);
+
+        return ret;
+    }
+
+}

+ 53 - 0
src/main/java/com/ad/ex/service/ADEX02Service.java

@@ -0,0 +1,53 @@
+package com.ad.ex.service;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.zcore.dataaccess.CommonDAO;
+
+
+@Service
+public class ADEX02Service {
+
+    @Autowired
+    private CommonDAO commonDao;
+
+    public List<HashMap<String, String>> getSearch(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADEX02Service.getSearch", params);
+
+        return list;
+    }
+
+    public HashMap<String, String> getSearchDtl(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADEX02Service.getSearchDtl", params);
+
+        return info;
+    }
+
+    public int insert(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADEX02Service.insert", params);
+
+        return ret;
+    }
+
+    public int update(HashMap<String, String> params) {
+
+    	int ret = commonDao.update("ADEX02Service.update", params);
+
+        return ret;
+    }
+
+    public int delete(HashMap<String, String> params) {
+
+    	int ret = commonDao.delete("ADEX02Service.delete", params);
+
+        return ret;
+    }
+
+}

+ 101 - 0
src/main/java/com/ad/fn/controller/ADFN01Controller.java

@@ -0,0 +1,101 @@
+package com.ad.fn.controller;
+
+import java.util.HashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.ad.fn.service.ADFN01Service;
+
+@Controller 
+@RequestMapping("/ad/fn/ADFN01")
+public class ADFN01Controller {
+
+    @Autowired
+    private ADFN01Service service;
+
+    //리스트 페이지
+	@RequestMapping(value="/page")
+	public String page(@RequestParam HashMap<String,String> params, Model model) { 
+		return "ad/fn/ADFN01";
+	}
+	
+	//팝업(상세) 페이지
+	@RequestMapping(value="/popup")
+	public String detail(@RequestParam HashMap<String,String> params, Model model) { 
+		return "ad/fn/ADFN01P";
+	}
+
+	//리스트 조회
+	@RequestMapping(value = "/search", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> getSearch(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+    	
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	List<HashMap<String, String>> list = service.getSearch(params);
+    	map.put("rows", list);
+
+		return map;
+	}
+	
+	//상세 조회
+	@RequestMapping(value = "/searchDtl", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> searchDtl(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+    	
+		HashMap<String, Object> map = new HashMap<String, Object>();
+		
+    	HashMap<String, String> info = service.getSearchDtl(params);
+    	map.put("info", info);
+
+		return map;
+	}
+	
+	//등록
+	@RequestMapping(value="/insert", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> insert(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.insert(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+	//수정
+	@RequestMapping(value="/update", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> update(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.update(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+	//삭제
+	@RequestMapping(value="/delete", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> delete(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.delete(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+}

+ 53 - 0
src/main/java/com/ad/fn/service/ADFN01Service.java

@@ -0,0 +1,53 @@
+package com.ad.fn.service;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.zcore.dataaccess.CommonDAO;
+
+
+@Service
+public class ADFN01Service {
+
+    @Autowired
+    private CommonDAO commonDao;
+
+    public List<HashMap<String, String>> getSearch(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADFN01Service.getSearch", params);
+
+        return list;
+    }
+    
+    public HashMap<String, String> getSearchDtl(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADFN01Service.getSearchDtl", params);
+
+        return info;
+    }
+    
+    public int insert(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADFN01Service.insert", params);
+
+        return ret;
+    }
+    
+    public int update(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADFN01Service.update", params);
+
+        return ret;
+    }
+    
+    public int delete(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADFN01Service.delete", params);
+
+        return ret;
+    }
+    
+}

+ 126 - 0
src/main/java/com/ad/li/controller/ADLI01Controller.java

@@ -0,0 +1,126 @@
+package com.ad.li.controller;
+
+import java.util.HashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.ad.li.service.ADLI01Service;
+
+@Controller
+@RequestMapping("/ad/li/ADLI01")
+public class ADLI01Controller {
+
+    @Autowired
+    private ADLI01Service service;
+
+    //리스트 페이지
+	@RequestMapping(value="/page")
+	public String page(@RequestParam HashMap<String,String> params, Model model) {
+		return "ad/li/ADLI01";
+	}
+
+	//팝업(등록) 페이지
+	@RequestMapping(value="/popup")
+	public String popup(@RequestParam HashMap<String,String> params, Model model) {
+
+		List<HashMap<String, String>> vendorList = service.getVendorList(params);
+		model.addAttribute("vendorList", vendorList);
+
+		return "ad/li/ADLI01P";
+	}
+
+	//팝업(수정) 페이지
+	@RequestMapping(value="/popup2")
+	public String popup2(@RequestParam HashMap<String,String> params, Model model) {
+
+
+		HashMap<String, String> info = service.selectRouteInfo(params);
+		model.addAttribute("info", info);
+
+		List<HashMap<String, String>> vendorList = service.getVendorList(params);
+		model.addAttribute("vendorList", vendorList);
+
+		return "ad/li/ADLI01P2";
+	}
+
+	//리스트 조회
+	@RequestMapping(value = "/search", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> getSearch(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	List<HashMap<String, String>> list = service.getSearch(params);
+    	map.put("rows", list);
+
+		return map;
+	}
+
+	//상세 조회
+	@RequestMapping(value = "/searchDtl", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> searchDtl(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+
+    	HashMap<String, String> info = service.selectRouteInfo(params);
+    	map.put("info", info);
+
+		return map;
+	}
+
+	//등록
+	@RequestMapping(value="/insertRoute", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> insert(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		HashMap<String,String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+		params.put("reg_id", staffInfo.get("staff_id") );
+		params.put("st_cd","12802");
+
+		int ret = 0;
+		ret += service.insertRoute(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		if(ret > 0)	map.put("msg", "저장에 성공하였습니다.");
+		return map;
+	}
+
+
+	//수정
+	@RequestMapping(value="/updateRoute", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> update(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.updateRoute(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		if(ret > 0)	map.put("msg", "저장에 성공하였습니다.");
+		return map;
+	}
+
+	//삭제
+	@RequestMapping(value="/deleteRoute", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> delete(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.deleteRoute(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		if(ret > 0)	map.put("msg", "삭제에 성공하였습니다.");
+		return map;
+	}
+
+}

+ 61 - 0
src/main/java/com/ad/li/service/ADLI01Service.java

@@ -0,0 +1,61 @@
+package com.ad.li.service;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.zcore.dataaccess.CommonDAO;
+
+
+@Service
+public class ADLI01Service {
+
+    @Autowired
+    private CommonDAO commonDao;
+
+    public List<HashMap<String, String>> getSearch(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADLI01Service.getSearch", params);
+
+        return list;
+    }
+
+    public List<HashMap<String, String>> getVendorList(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADLI01Service.getVendorList", params);
+
+        return list;
+    }
+
+
+    public HashMap<String, String> selectRouteInfo(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADLI01Service.selectRouteInfo", params);
+
+        return info;
+    }
+
+    public int insertRoute(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADLI01Service.insertRoute", params);
+
+        return ret;
+    }
+
+    public int updateRoute(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADLI01Service.updateRoute", params);
+
+        return ret;
+    }
+
+    public int deleteRoute(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADLI01Service.deleteRoute", params);
+
+        return ret;
+    }
+
+}

+ 335 - 0
src/main/java/com/ad/mn/controller/ADMN01Controller.java

@@ -0,0 +1,335 @@
+package com.ad.mn.controller;
+
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+
+import com.ad.mn.service.ADMN01Service;
+import com.top.file.FileDownloader;
+import com.top.file.FileUploader;
+
+@Controller
+@RequestMapping("/ad/mn/ADMN01")
+public class ADMN01Controller {
+
+    @Autowired
+    private ADMN01Service service;
+
+	@Value("#{conf['FILE.ATTACH.MANUAL']}")
+	private String attachFileUploadDir;
+
+	@Autowired
+	private FileUploader fileUploader;
+
+	@Autowired
+	private FileDownloader fileDownloader;
+
+    //리스트 페이지
+	@RequestMapping(value="/page")
+	public String page(@RequestParam HashMap<String,String> params, Model model) {
+		return "ad/mn/ADMN01";
+	}
+
+	//팝업(등록) 페이지
+	@RequestMapping(value="/popup")
+	public String popup(@RequestParam HashMap<String,String> params, Model model) {
+
+		return "ad/mn/ADMN01P";
+	}
+
+	//팝업(조회) 페이지
+	@RequestMapping(value="/popup1")
+	public String popup1(@RequestParam HashMap<String,String> params, Model model, HttpSession session) {
+
+		@SuppressWarnings("unchecked")
+		HashMap<String, String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+		String login_id = staffInfo.get("login_id");
+
+		HashMap<String, String> info = null;
+		List<HashMap<String, String>> attachList = null;
+
+		info = service.selectManualDetail(params);
+		attachList = service.selectManualAttachList(params);
+
+		model.addAttribute("login_id", login_id);
+		model.addAttribute("info", info);
+		model.addAttribute("attachList", attachList);
+		model.addAttribute("fileDownloadPath", attachFileUploadDir);
+
+		return "ad/mn/ADMN01P1";
+	}
+
+	//팝업(수정) 페이지
+	@RequestMapping(value="/popup2")
+	public String popup2(@RequestParam HashMap<String,String> params, Model model, HttpSession session) {
+
+		@SuppressWarnings("unchecked")
+		HashMap<String, String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+		String login_id = staffInfo.get("login_id");
+
+		HashMap<String, String> info = null;
+		List<HashMap<String, String>> attachList = null;
+
+		info = service.selectManualDetail(params);
+		attachList = service.selectManualAttachList(params);
+
+		model.addAttribute("login_id", login_id);
+		model.addAttribute("info", info);
+		model.addAttribute("attachList", attachList);
+		model.addAttribute("fileDownloadPath", attachFileUploadDir);
+
+		return "ad/mn/ADMN01P2";
+	}
+
+	//리스트 조회
+	@RequestMapping(value = "/selectManualList", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> getSearch(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		@SuppressWarnings("unchecked")
+		HashMap<String, String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+		String staffId = staffInfo.get("login_id");
+		String vendor_no = staffInfo.get("vendor_no");
+		params.put("vendor_no", vendor_no);
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	List<HashMap<String, String>> list = service.selectManualList(params);
+    	map.put("rows", list);
+
+		return map;
+	}
+
+	//상세 조회
+	@RequestMapping(value = "/selectManualDetail", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> searchDtl(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	HashMap<String, String> info = service.selectManualDetail(params);
+    	map.put("info", info);
+
+		return map;
+	}
+
+	//등록
+	@RequestMapping(value = "/saveManual", produces = "text/html;charset=UTF-8")
+	@ResponseBody
+	@Transactional
+	public String saveManual(@RequestParam HashMap<String, String> params, MultipartHttpServletRequest mpreq, HttpSession session) throws Exception {
+
+		@SuppressWarnings("unchecked")
+		HashMap<String, String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+		String staffId = staffInfo.get("login_id");
+		String vendor_no = staffInfo.get("vendor_no");
+
+		Enumeration<String> paramNames =  mpreq.getParameterNames();
+
+		while(paramNames.hasMoreElements()) {
+		       String key = paramNames.nextElement();
+		       String originalValue = mpreq.getParameter(key);
+		       String encodedValue = new String(originalValue.getBytes("ISO-8859-1"), "UTF-8");
+		       //mpreq.setAttribute(key, encodedValue);
+		       params.put(key, encodedValue);
+		}
+
+		/* 1.문서번호 불러오기 */
+		service.getManualSeq(params);
+
+		/* 2.문서기본정보 저장 */
+		params.put("vendor_no", vendor_no);
+		params.put("reg_id", staffId);
+		params.put("view_cnt", "0");
+		params.put("del_yn", "N");
+		params.put("manual_typ", "1");
+		service.insertManualMst(params);
+
+		/* 3.첨부파일 저장 */
+		int fileCnt = 3;	//첨부파일 갯수
+		MultipartFile[] multipartFile = new MultipartFile[fileCnt];
+		boolean[] hasNewAttach = new boolean[fileCnt];
+
+		multipartFile[0] = mpreq.getFile("attachFile0");
+		multipartFile[1] = mpreq.getFile("attachFile1");
+		multipartFile[2] = mpreq.getFile("attachFile2");
+
+
+		for(int i=0; i < fileCnt; i++) {
+
+			// 첨부파일 유무
+			hasNewAttach[i] = multipartFile[i] != null && multipartFile[i].getSize() != 0 ? true : false;
+
+			//첨부파일 확장자 체크
+			if (hasNewAttach[i]) {
+				String fileExt = multipartFile[i].getOriginalFilename().toLowerCase();
+
+				if(!fileExt.endsWith(".ppt") &&	!fileExt.endsWith(".pptx") && !fileExt.endsWith(".xls") && !fileExt.endsWith(".xlsx") && !fileExt.endsWith(".doc") &&
+					!fileExt.endsWith(".docx") && !fileExt.endsWith(".hwp") && !fileExt.endsWith(".jpg") &&	!fileExt.endsWith(".jpeg") && !fileExt.endsWith(".gif") &&
+					!fileExt.endsWith(".png") && !fileExt.endsWith(".bmp") && !fileExt.endsWith(".tif")){
+					return "-1";
+				}
+			}
+
+			// 첨부파일이 있으면
+			if (hasNewAttach[i]) {
+				fileUploader.uploadFile(multipartFile[i], "/api3/fdata", attachFileUploadDir, String.valueOf(System.currentTimeMillis()), false);
+				String encodedFilename = new String(fileUploader.getOraginFileName().getBytes("ISO-8859-1"), "UTF-8");	//파일명
+
+				params.put("filename_txt", encodedFilename);
+				params.put("attachfile_txt", fileUploader.getTargetFileName());
+				params.put("download_cnt", "0");
+				service.insertManualAttach(params);
+			}
+
+		}
+
+		return "0";
+	}
+
+	//등록
+	@RequestMapping(value="/insertManualMst", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> insertManualMst(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		HashMap<String,String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+		params.put("reg_id", staffInfo.get("staff_id") );
+
+		int ret = 0;
+		ret += service.insertManualMst(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		if(ret > 0)	map.put("msg", "저장에 성공하였습니다.");
+		return map;
+	}
+
+	//등록
+	@RequestMapping(value = "/updateManual", produces = "text/html;charset=UTF-8")
+	@ResponseBody
+	@Transactional
+	public String updateManual(@RequestParam HashMap<String, String> params, MultipartHttpServletRequest mpreq, HttpSession session) throws Exception {
+
+		@SuppressWarnings("unchecked")
+		HashMap<String, String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+		String login_id = staffInfo.get("login_id");
+
+		params.put("mod_id",login_id);
+
+		Enumeration<String> paramNames =  mpreq.getParameterNames();
+
+		while(paramNames.hasMoreElements()) {
+		       String key = paramNames.nextElement();
+		       String originalValue = mpreq.getParameter(key);
+		       String encodedValue = new String(originalValue.getBytes("ISO-8859-1"), "UTF-8");
+		       params.put(key, encodedValue);
+		}
+
+		int ret = 0;
+		ret += service.updateManualMst(params);
+
+
+		/* 3.첨부파일 저장 */
+		int fileCnt = 3;	//첨부파일 갯수
+		MultipartFile[] multipartFile = new MultipartFile[fileCnt];
+		boolean[] hasNewAttach = new boolean[fileCnt];
+
+		multipartFile[0] = mpreq.getFile("attachFile0");
+		multipartFile[1] = mpreq.getFile("attachFile1");
+		multipartFile[2] = mpreq.getFile("attachFile2");
+
+
+		for(int i=0; i < fileCnt; i++) {
+
+			// 첨부파일 유무
+			hasNewAttach[i] = multipartFile[i] != null && multipartFile[i].getSize() != 0 ? true : false;
+
+			//첨부파일 확장자 체크
+			if (hasNewAttach[i]) {
+				String fileExt = multipartFile[i].getOriginalFilename().toLowerCase();
+
+				if(!fileExt.endsWith(".ppt") &&	!fileExt.endsWith(".pptx") && !fileExt.endsWith(".xls") && !fileExt.endsWith(".xlsx") && !fileExt.endsWith(".doc") &&
+					!fileExt.endsWith(".docx") && !fileExt.endsWith(".hwp") && !fileExt.endsWith(".jpg") &&	!fileExt.endsWith(".jpeg") && !fileExt.endsWith(".gif") &&
+					!fileExt.endsWith(".png") && !fileExt.endsWith(".bmp") && !fileExt.endsWith(".tif")){
+					return "-1";
+				}
+			}
+
+			// 첨부파일이 있으면
+			if (hasNewAttach[i]) {
+				fileUploader.uploadFile(multipartFile[i], "/api3/fdata", attachFileUploadDir, String.valueOf(System.currentTimeMillis()), false);
+				String encodedFilename = new String(fileUploader.getOraginFileName().getBytes("ISO-8859-1"), "UTF-8");	//파일명
+
+				params.put("filename_txt", encodedFilename);
+				params.put("attachfile_txt", fileUploader.getTargetFileName());
+				params.put("download_cnt", "0");
+				service.insertManualAttach(params);
+			}
+
+		}
+
+		return "0";
+	}
+
+	//삭제
+	@RequestMapping(value="/deleteManualMst", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> deleteManualMst(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.deleteManualMst(params);
+		ret += service.deleteManualAttach(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		if(ret > 0)	map.put("msg", "삭제에 성공하였습니다.");
+		return map;
+	}
+
+	//파일삭제
+	@RequestMapping(value="/deleteManualAttach", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> deleteManualAttach(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+
+		HashMap<String, String> attachInfo = service.getManualAttach(params);
+
+		if(attachInfo != null) {
+
+//			String attachfile_txt = String.valueOf(attachInfo.get("attachfile_txt"));
+//
+//			File file = new File("/api3/fdata" + attachFileUploadDir + attachfile_txt);
+//
+//			if( file.exists() ){
+//				if(file.delete()){
+//					System.out.println("파일삭제 성공");
+//				}else{
+//					System.out.println("파일삭제 실패");
+//				}
+//			}else{
+//				System.out.println("파일이 존재하지 않습니다.");
+//			}
+
+			ret += service.deleteManualAttach(params);
+		}
+
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		if(ret > 0)	map.put("msg", "삭제에 성공하였습니다.");
+		return map;
+	}
+
+}

+ 87 - 0
src/main/java/com/ad/mn/service/ADMN01Service.java

@@ -0,0 +1,87 @@
+package com.ad.mn.service;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.zcore.dataaccess.CommonDAO;
+
+
+@Service
+public class ADMN01Service {
+
+    @Autowired
+    private CommonDAO commonDao;
+
+	public int getManualSeq(HashMap<String, String> map) {
+		return commonDao.insert("ADMN01Service.getManualSeq", map);
+	}
+
+    public List<HashMap<String, String>> selectManualList(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADMN01Service.selectManualList", params);
+
+        return list;
+    }
+
+    public List<HashMap<String, String>> selectManualAttachList(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADMN01Service.selectManualAttachList", params);
+
+        return list;
+    }
+
+    public HashMap<String, String> selectManualDetail(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADMN01Service.selectManualDetail", params);
+
+        return info;
+    }
+
+    public HashMap<String, String> getManualAttach(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADMN01Service.getManualAttach", params);
+
+        return info;
+    }
+
+    public int insertManualMst(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADMN01Service.insertManualMst", params);
+
+        return ret;
+    }
+
+    public int insertManualAttach(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADMN01Service.insertManualAttach", params);
+
+        return ret;
+    }
+
+
+
+    public int updateManualMst(HashMap<String, String> params) {
+
+    	int ret = commonDao.update("ADMN01Service.updateManualMst", params);
+
+        return ret;
+    }
+
+    public int deleteManualMst(HashMap<String, String> params) {
+
+    	int ret = commonDao.delete("ADMN01Service.deleteManualMst", params);
+
+        return ret;
+    }
+
+    public int deleteManualAttach(HashMap<String, String> params) {
+
+    	int ret = commonDao.delete("ADMN01Service.deleteManualAttach", params);
+
+        return ret;
+    }
+
+}

+ 100 - 0
src/main/java/com/ad/ms/controller/ADMS01Controller.java

@@ -0,0 +1,100 @@
+package com.ad.ms.controller;
+
+import java.util.HashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.ad.ms.service.ADMS01Service;
+
+@Controller
+@RequestMapping("/ad/ms/ADMS01")
+public class ADMS01Controller {
+
+    @Autowired
+    private ADMS01Service service;
+
+    //리스트 페이지
+	@RequestMapping(value="/page")
+	public String page(@RequestParam HashMap<String,String> params, Model model) {
+		return "ad/ms/ADMS01";
+	}
+
+	//팝업(상세) 페이지
+	@RequestMapping(value="/popup")
+	public String detail(@RequestParam HashMap<String,String> params, Model model) {
+		return "ad/ms/ADMS01P";
+	}
+
+	//리스트 조회
+	@RequestMapping(value = "/search", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> getSearch(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	List<HashMap<String, String>> list = service.getSearch(params);
+    	map.put("rows", list);
+
+		return map;
+	}
+
+	//상세 조회
+	@RequestMapping(value = "/searchDtl", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> searchDtl(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+
+    	HashMap<String, String> info = service.getSearchDtl(params);
+    	map.put("info", info);
+
+		return map;
+	}
+
+	//등록
+	@RequestMapping(value="/insert", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> insert(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.insert(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+
+	//수정
+	@RequestMapping(value="/update", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> update(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.update(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+
+	//삭제
+	@RequestMapping(value="/delete", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> delete(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.delete(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+
+}

+ 53 - 0
src/main/java/com/ad/ms/service/ADMS01Service.java

@@ -0,0 +1,53 @@
+package com.ad.ms.service;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.zcore.dataaccess.CommonDAO;
+
+
+@Service
+public class ADMS01Service {
+
+    @Autowired
+    private CommonDAO commonDao;
+
+    public List<HashMap<String, String>> getSearch(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADMS01Service.getSearch", params);
+
+        return list;
+    }
+
+    public HashMap<String, String> getSearchDtl(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADMS01Service.getSearchDtl", params);
+
+        return info;
+    }
+
+    public int insert(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADMS01Service.insert", params);
+
+        return ret;
+    }
+
+    public int update(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADMS01Service.update", params);
+
+        return ret;
+    }
+
+    public int delete(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADMS01Service.delete", params);
+
+        return ret;
+    }
+
+}

+ 102 - 0
src/main/java/com/ad/or/controller/ADOR01Controller.java

@@ -0,0 +1,102 @@
+package com.ad.or.controller;
+
+import java.util.HashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.ad.or.service.ADOR01Service;
+
+
+
+@Controller 
+@RequestMapping("/ad/or/ADOR01")
+public class ADOR01Controller {
+
+    @Autowired
+    private ADOR01Service service;
+
+    //리스트 페이지
+	@RequestMapping(value="/page")
+	public String page(@RequestParam HashMap<String,String> params, Model model) { 
+		return "ad/or/ADOR01";
+	}
+	
+	//팝업(상세) 페이지
+	@RequestMapping(value="/popup")
+	public String detail(@RequestParam HashMap<String,String> params, Model model) { 
+		return "ad/or/ADOR01P";
+	}
+
+	//리스트 조회
+	@RequestMapping(value = "/search", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> getSearch(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+    	
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	List<HashMap<String, String>> list = service.getSearch(params);
+    	map.put("rows", list);
+
+		return map;
+	}
+	
+	//상세 조회
+	@RequestMapping(value = "/searchDtl", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> searchDtl(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+    	
+		HashMap<String, Object> map = new HashMap<String, Object>();
+		
+    	HashMap<String, String> info = service.getSearchDtl(params);
+    	map.put("info", info);
+
+		return map;
+	}
+	
+	//등록
+	@RequestMapping(value="/insert", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> insert(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.insert(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+	//수정
+	@RequestMapping(value="/update", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> update(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.update(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+	//삭제
+	@RequestMapping(value="/delete", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> delete(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.delete(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+}

+ 53 - 0
src/main/java/com/ad/or/service/ADOR01Service.java

@@ -0,0 +1,53 @@
+package com.ad.or.service;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.zcore.dataaccess.CommonDAO;
+
+
+@Service
+public class ADOR01Service {
+
+    @Autowired
+    private CommonDAO commonDao;
+
+    public List<HashMap<String, String>> getSearch(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADOR01Service.getSearch", params);
+
+        return list;
+    }
+    
+    public HashMap<String, String> getSearchDtl(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADOR01Service.getSearchDtl", params);
+
+        return info;
+    }
+    
+    public int insert(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADOR01Service.insert", params);
+
+        return ret;
+    }
+    
+    public int update(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADOR01Service.update", params);
+
+        return ret;
+    }
+    
+    public int delete(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADOR01Service.delete", params);
+
+        return ret;
+    }
+    
+}

+ 133 - 0
src/main/java/com/ad/pr/controller/ADPR01Controller.java

@@ -0,0 +1,133 @@
+package com.ad.pr.controller;
+
+import java.util.HashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.ad.pr.service.ADPR01Service;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+
+
+@Controller
+@RequestMapping("/ad/pr/ADPR01")
+public class ADPR01Controller {
+
+    @Autowired
+    private ADPR01Service service;
+
+	@RequestMapping(value="/page")
+	public String page(@RequestParam HashMap<String,String> params, Model model) {
+		return "ad/pr/ADPR01";
+	}
+
+	//팝업(상세) 페이지
+	@RequestMapping(value="/popup")
+	public String detail(@RequestParam HashMap<String,String> params, Model model) {
+		return "ad/pr/ADPR01P";
+	}
+
+	@RequestMapping(value = "/search", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> getSearch(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	List<HashMap<String, String>> list = service.getSearch(params);
+    	map.put("rows", list);
+
+		return map;
+	}
+
+	//상세 조회
+	@RequestMapping(value = "/searchDtl", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> searchDtl(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+
+		HashMap<String, Object> map = new HashMap<String, Object>();
+
+    	HashMap<String, String> info = service.getSearchDtl(params);
+    	map.put("info", info);
+
+		return map;
+	}
+
+	//등록
+	@RequestMapping(value="/insert", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> insert(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.insert(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+
+
+	//수정
+	@SuppressWarnings("unchecked")
+	@RequestMapping(value="/update", method=RequestMethod.POST, produces="application/json;charset=UTF-8")
+	@Transactional
+	public @ResponseBody HashMap<String,String> update (@RequestBody String gridValue, HttpSession session) throws Exception {
+
+		int ret = 0;
+
+		ObjectMapper mapper = new ObjectMapper();
+		List<HashMap<String,String>> gridList = mapper.readValue(gridValue, new TypeReference<List<HashMap<String,String>>>(){});
+		HashMap<String,String> staffInfo = (HashMap<String, String>) session.getAttribute("STAFFINFORMATION");
+
+		for(int i=0; i<gridList.size();i++) {
+			HashMap<String, String> param = gridList.get(i);
+
+			if("".equals(param.get("pl_no"))) {
+				param.put("reg_id", staffInfo.get("staff_id") );
+				ret += service.insert(param);
+			} else {
+				param.put("mod_id", staffInfo.get("staff_id") );
+				ret += service.update(param);
+			}
+
+		}
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+
+		return map;
+	}
+
+	//삭제
+	@SuppressWarnings("unchecked")
+	@RequestMapping(value="/delete", method=RequestMethod.POST, produces="application/json;charset=UTF-8")
+	@Transactional
+	public @ResponseBody HashMap<String,String> delete (@RequestBody String gridValue, HttpSession session) throws Exception {
+
+		int ret = 0;
+
+		ObjectMapper mapper = new ObjectMapper();
+		List<HashMap<String,String>> gridList = mapper.readValue(gridValue, new TypeReference<List<HashMap<String,String>>>(){});
+
+		for(int i=0; i<gridList.size();i++) {
+			HashMap<String, String> param = gridList.get(i);
+			ret += service.delete(param);
+		}
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+
+		return map;
+	}
+
+}

+ 53 - 0
src/main/java/com/ad/pr/service/ADPR01Service.java

@@ -0,0 +1,53 @@
+package com.ad.pr.service;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.zcore.dataaccess.CommonDAO;
+
+
+@Service
+public class ADPR01Service {
+
+    @Autowired
+    private CommonDAO commonDao;
+
+    public List<HashMap<String, String>> getSearch(HashMap<String, String> params) {
+
+    	List<HashMap<String, String>> list = commonDao.selectList("ADPR01Service.getSearch", params);
+
+        return list;
+    }
+    
+    public HashMap<String, String> getSearchDtl(HashMap<String, String> params) {
+
+    	HashMap<String, String> info = commonDao.selectOne("ADPR01Service.getSearchDtl", params);
+
+        return info;
+    }
+    
+    public int insert(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADPR01Service.insert", params);
+
+        return ret;
+    }
+    
+    public int update(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADPR01Service.update", params);
+
+        return ret;
+    }
+    
+    public int delete(HashMap<String, String> params) {
+
+    	int ret = commonDao.insert("ADPR01Service.delete", params);
+
+        return ret;
+    }
+    
+}

+ 106 - 0
src/main/java/com/ad/re/controller/ADRE01Controller.java

@@ -0,0 +1,106 @@
+package com.ad.re.controller;
+
+import java.util.HashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.ad.re.service.ADRE01Service;
+
+@Controller 
+@RequestMapping("/ad/re/ADRE01")
+public class ADRE01Controller {
+
+    @Autowired
+    private ADRE01Service service;
+
+    //리스트 페이지
+	@RequestMapping(value="/page")
+	public String page(@RequestParam HashMap<String,String> params, Model model) { 
+		
+		
+		
+		
+		
+		return "ad/re/ADRE01";
+	}
+	
+	//팝업(상세) 페이지
+	@RequestMapping(value="/popup")
+	public String detail(@RequestParam HashMap<String,String> params, Model model) { 
+		return "ad/re/ADRE01P";
+	}
+
+	//리스트 조회
+	@RequestMapping(value = "/search", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> getSearch(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+    	
+		HashMap<String, Object> map = new HashMap<String, Object>();
+    	List<HashMap<String, String>> list = service.getSearch(params);
+    	map.put("rows", list);
+
+		return map;
+	}
+	
+	//상세 조회
+	@RequestMapping(value = "/searchDtl", produces = "application/json")
+	@ResponseBody
+	public HashMap<String, Object> searchDtl(@RequestParam HashMap<String, String> params, Model model, HttpSession session) {
+    	
+		HashMap<String, Object> map = new HashMap<String, Object>();
+		
+    	HashMap<String, String> info = service.getSearchDtl(params);
+    	map.put("info", info);
+
+		return map;
+	}
+	
+	//등록
+	@RequestMapping(value="/insert", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> insert(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.insert(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+	//수정
+	@RequestMapping(value="/update", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> update(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.update(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+	//삭제
+	@RequestMapping(value="/delete", produces="application/json")
+	@ResponseBody
+	public HashMap<String,String> delete(HttpSession session, @RequestParam HashMap<String,String> params) throws Exception {
+
+		int ret = 0;
+		ret += service.delete(params);
+
+		HashMap<String, String> map = new HashMap<String, String>();
+		map.put("code", String.valueOf(ret));
+		return map;
+	}
+	
+}

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff