From 1b223ab0cd5f3608a258cb4b7a9df02de1bd05b7 Mon Sep 17 00:00:00 2001 From: jangwonseokicom Date: Wed, 17 May 2023 17:05:15 +0900 Subject: [PATCH] =?UTF-8?q?source=20=EC=9D=B4=EA=B4=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main_vm/.gitignore | 43 + .../.gradle/7.5.1/checksums/checksums.lock | Bin 17 -> 17 bytes .../dependencies-accessors.lock | Bin 17 -> 17 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/7.5.1/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../buildOutputCleanup/cache.properties | 2 +- main_vm/.idea/gradle.xml | 2 +- main_vm/.idea/misc.xml | 2 +- main_vm/.idea/vcs.xml | 2 +- main_vm/build.gradle | 153 + main_vm/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 60756 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + main_vm/gradlew | 240 + main_vm/gradlew.bat | 91 + main_vm/lib/ASRLIB-2.4.0.2.jar | Bin 0 -> 171773 bytes main_vm/lib/pttsnet_class.jar | Bin 0 -> 13799 bytes main_vm/settings.gradle | 1 + .../icomsys/main_vm/MainVmApplication.java | 22 + .../icomsys/main_vm/ServletInitializer.java | 13 + .../main_vm/biz/advice/AdviceHandler.java | 151 + .../main_vm/biz/advice/ErrorResult.java | 15 + .../com/icomsys/main_vm/biz/advice/README.md | 2 + .../excep/CustomBadRequestException.java | 9 + .../excep/CustomNoSuchFieldException.java | 4 + .../advice/excep/CustomNotFoundException.java | 16 + .../advice/excep/CustomRuntimeException.java | 13 + .../common/common/service/ExcelService.java | 140 + .../common/common/service/FileService.java | 119 + .../biz/common/common/service/LogService.java | 52 + .../biz/common/common/service/LogVO.java | 35 + .../common/service/RestTemplateService.java | 212 + .../common/service/SequenceService.java | 28 + .../service/functionnode/FunctionVo.java | 40 + .../functionnode/FunctionWsNashorn.java | 79 + .../ex/WsNotAvailableException.java | 13 + .../controller/DashboardController.java | 66 + .../controller/ErrorPageController.java | 45 + .../login/controller/LoginController.java | 205 + .../biz/common/login/req/LoginReq.java | 25 + .../biz/common/login/req/MainOprReq.java | 16 + .../biz/common/login/req/PwdUpdateReq.java | 29 + .../biz/common/login/res/LoginCheckReq.java | 22 + .../biz/common/login/res/OprmngCodeRes.java | 25 + .../login/res/SelectMainMenuHeadVo.java | 30 + .../biz/common/login/res/ServiceGroupRes.java | 54 + .../common/login/res/UserPolicyListRes.java | 11 + .../main_vm/biz/common/login/res/UserVo.java | 50 + .../service/CustomUserDetailsService.java | 53 + .../common/login/service/LoginService.java | 406 + .../SystemCommoncodeController.java | 57 + .../controller/SystemCustController.java | 146 + .../controller/SystemGroupAuthController.java | 147 + .../SystemPolicyMenuController.java | 40 + .../SystemServiceGroupController.java | 134 + .../controller/SystemUserAdminController.java | 104 + .../controller/SystemUserController.java | 175 + .../service/SystemCommoncodeService.java | 89 + .../system/service/SystemCustService.java | 269 + .../service/SystemGroupAuthService.java | 256 + .../service/SystemPolicyMenuService.java | 91 + .../service/SystemServiceGroupService.java | 204 + .../service/SystemUserAdminService.java | 344 + .../system/service/SystemUserService.java | 358 + .../biz/common/system/vo/DslDataTableRes.java | 41 + .../common/system/vo/SystemBotTtsTagRes.java | 20 + .../common/system/vo/SystemBotTtsTagVo.java | 24 + .../vo/SystemBotUserAuthGroupListRes.java | 25 + .../system/vo/SystemBotUserCustRes.java | 23 + .../vo/SystemBotUserDoubleCheckReq.java | 22 + .../common/system/vo/SystemBotUserReq.java | 25 + .../common/system/vo/SystemBotUserRes.java | 39 + .../system/vo/SystemBotUserSaveReq.java | 82 + .../system/vo/SystemBotUserUpdateReq.java | 44 + .../system/vo/SystemBotUserViewRes.java | 45 + .../system/vo/SystemBotUserViewSubRes.java | 29 + .../system/vo/SystemCommonCodeDeleteReq.java | 28 + .../system/vo/SystemCommoncodeInsertReq.java | 86 + .../common/system/vo/SystemCommoncodeReq.java | 29 + .../common/system/vo/SystemCommoncodeRes.java | 39 + .../system/vo/SystemCommoncodeUpdateReq.java | 49 + .../common/system/vo/SystemCustSaveReq.java | 187 + .../system/vo/SystemCustSaveSubReq.java | 67 + .../common/system/vo/SystemCustSelectRes.java | 40 + .../system/vo/SystemIcsCustInfoReq.java | 24 + .../system/vo/SystemIcsCustInfoRes.java | 51 + .../common/system/vo/SystemPolicyMenuReq.java | 29 + .../common/system/vo/SystemPolicyMenuRes.java | 37 + .../vo/SystemServiceAuthGroupModifyReq.java | 37 + .../system/vo/SystemServiceAuthGroupReq.java | 27 + .../system/vo/SystemServiceAuthGroupRes.java | 33 + .../vo/SystemServiceAuthGroupUpdateRes.java | 48 + .../SystemServiceAuthGroupUserSearchReq.java | 28 + .../SystemServiceAuthGroupUserSearchRes.java | 35 + .../vo/SystemServiceGroupInsertReq.java | 31 + .../system/vo/SystemServiceGroupReq.java | 27 + .../system/vo/SystemServiceGroupRes.java | 35 + .../system/vo/SystemServiceGroupTreeRes.java | 31 + .../vo/SystemServiceGroupUpdateReq.java | 36 + .../system/vo/SystemServiceGroupViewRes.java | 49 + .../vo/SystemServiceGroupViewSubListRes.java | 34 + .../system/vo/SystemServiceGroupViewVo.java | 40 + .../common/system/vo/WisenutInsertReqVo.java | 34 + .../common/system/vo/WisenutInsertResVo.java | 26 + .../common/system/vo/addServiceAuthList.java | 23 + .../ConversationApiNodeController.java | 43 + .../ConversationApiNodeEditController.java | 68 + .../ConversationCmmNodeController.java | 80 + .../ConversationDictionaryController.java | 20 + .../ConversationIntentController.java | 276 + .../ConversationScenarioGUIController.java | 126 + ...ersationScenarioGUINodeEditController.java | 96 + .../ConversationSynonymController.java | 286 + .../ConversationSynonymController.java.rej | 9 + .../ConversationSystemEntityController.java | 71 + .../conversation/dto/IntentRequestDTO.java | 190 + .../conversation/dto/TbIntentExampleDto.java | 21 + .../service/NlpWisenutEntityService.java | 12 + .../service/NlpWisenutIntentService.java | 23 + .../service/NlpWisenutProjectService.java | 10 + .../wisenut/service/NlpWisenutService.java | 23 + .../impl/NlpWisenutEntityServiceImpl.java | 250 + .../impl/NlpWisenutIntentServiceImpl.java | 545 + .../impl/NlpWisenutProjectServiceImpl.java | 128 + .../service/impl/NlpWisenutServiceImpl.java | 290 + .../nlp/wisenut/util/RestTemplateUtil.java | 60 + .../wisenut/vo/InferenceAPIResponseDTO.java | 60 + .../nlp/wisenut/vo/NlpSimulationResult.java | 74 + .../nlp/wisenut/vo/NlpWisenutResult.java | 58 + .../nlp/wisenut/vo/SentenceListVO.java | 24 + .../ConversationApiNodeEditService.java | 145 + .../service/ConversationApiNodeService.java | 69 + .../service/ConversationCmmNodeService.java | 242 + ...onversationScenarioGUINodeEditService.java | 53 + .../ConversationScenarioGUIService.java | 756 + .../ConversationSystemEntityService.java | 117 + .../service/IntentManageService.java | 522 + .../service/NlpSettingService.java | 157 + .../service/SynonymManageService.java | 350 + .../biz/rcp/conversation/vo/CallInfoVO.java | 38 + .../vo/ConversationApiNodeEditReq.java | 29 + .../vo/ConversationApiNodeInfoReq.java | 18 + .../vo/ConversationApiNodeInfoRes.java | 44 + .../vo/ConversationCmmNodeDiagramRes.java | 65 + .../vo/ConversationCmmNodeDiagramVO.java | 64 + .../vo/ConversationCmmNodeEditReq.java | 29 + .../vo/ConversationCmmNodeInfoReq.java | 28 + .../vo/ConversationCmmNodeInfoRes.java | 66 + .../vo/ConversationScenarioDiagramRes.java | 15 + .../vo/ConversationScenarioDiagramVO.java | 15 + .../ConversationScenarioManagerInfoRes.java | 19 + .../vo/ConversationScenarioManagerRes.java | 19 + .../ConversationScenarioManagerSearchReq.java | 17 + .../vo/ConversationScenarioMasterVO.java | 16 + ...versationScenarioRelatedIntentSaveReq.java | 17 + .../ConversationScenarioRelatedIntentVO.java | 14 + .../vo/ConversationScenarioReleaseRes.java | 18 + .../ConversationScenarioWorkHistoryRes.java | 27 + .../conversation/vo/LongtextManagerVO.java | 33 + .../rcp/conversation/vo/NlpSearchListVo.java | 8 + .../rcp/conversation/vo/ProjectSettingVO.java | 81 + .../conversation/vo/RetrieveCustNameVo.java | 9 + .../conversation/vo/SearchIntentListVo.java | 10 + .../conversation/vo/SelectIntentListVo.java | 21 + .../vo/SelectSimilarityCriteriaVO.java | 17 + .../vo/SelectSlotIntentListVo.java | 13 + .../conversation/vo/SynonymWordListVo.java | 8 + .../rcp/conversation/vo/SystemEntityRes.java | 18 + .../conversation/vo/TbBotCommonCodeVo.java | 22 + .../vo/intent/ExcelIntentListVo.java | 32 + .../vo/intent/ExcelIntentListVoEx.java | 19 + .../vo/intent/IntentSearchVo.java | 75 + .../vo/selectIntentEntityNameListVo.java | 9 + .../vo/synonym/ExcelSynonymListVo.java | 11 + .../vo/synonym/SelectSynonymList2Vo.java | 22 + .../vo/synonym/SelectSynonymListVo.java | 44 + .../vo/synonym/SynonymProcess.java | 61 + .../service/IntentAnalysisService.java | 16 + .../impl/IntentAnalysisServiceImpl.java | 42 + .../main_vm/biz/rcp/learningTest/SttCode.java | 27 + .../biz/rcp/learningTest/UploadUtil.java | 80 + .../LearningTestInSttController.java | 112 + .../LearningTestInTtsController.java | 66 + .../LearningTestInferenceController.java | 60 + .../LearningTestSimulatorController.java | 75 + .../service/LearningTestInSttService.java | 316 + .../service/LearningTestInTtsService.java | 113 + .../service/LearningTestInferenceService.java | 246 + .../service/LearningTestSimulatorService.java | 141 + .../vo/LearningTestDummyApiVO.java | 15 + .../learningTest/vo/SelectIntentTestVO.java | 17 + .../vo/SelectProjectSettingInfoVO.java | 22 + .../MonitoringAiengineController.java | 20 + .../MonitoringConsultingController.java | 246 + .../MonitoringConversationMarkController.java | 149 + .../MonitoringIntentAnalysisController.java | 157 + .../MonitoringOutscenarioController.java | 135 + .../MonitoringWorkHistoryController.java | 66 + .../monitoring/req/ConsultingListVoReq.java | 16 + .../req/ConversationMarkListVoReq.java | 17 + .../req/IntentAnalysisListVoReq.java | 17 + .../monitoring/req/OutScenarioListVoReq.java | 17 + .../service/MonitoringConsultingService.java | 27 + .../MonitoringConversationMarkService.java | 21 + .../service/MonitoringOutscenarioService.java | 16 + .../service/MonitoringWorkHistoryService.java | 104 + .../impl/MonitoringConsultingServiceImpl.java | 373 + ...MonitoringConversationMarkServiceImpl.java | 97 + .../MonitoringOutscenarioServiceImpl.java | 53 + .../biz/rcp/monitoring/vo/ConsultingVO.java | 95 + .../rcp/monitoring/vo/ConversationMarkVO.java | 49 + .../monitoring/vo/InsertWorkHstListVo.java | 14 + .../rcp/monitoring/vo/IntentAnalysisVO.java | 58 + .../biz/rcp/monitoring/vo/OutScenarioVO.java | 40 + .../rcp/monitoring/vo/RecordDownloadVO.java | 31 + .../monitoring/vo/RetrieveWorkHstListVo.java | 72 + .../rcp/monitoring/vo/SearchWorkHstVo.java | 21 + .../rcp/oprManage/OprManageBgmController.java | 178 + .../OprManageNlpSettingController.java | 80 + .../oprManage/OprManageTTSTagController.java | 71 + .../main_vm/biz/rcp/oprManage/dto/BgmDto.java | 42 + .../service/OprManageBgmService.java | 21 + .../service/OprManageBgmService2.java | 187 + .../service/OprManageTTSTagService.java | 81 + .../service/impl/OprManageBgmServiceImpl.java | 281 + .../biz/rcp/oprManage/vo/OprManageBgmVO.java | 22 + .../rcp/oprManage/vo/SelectTtsTagInfoVO.java | 17 + .../call/StatisticsAiengineController.java | 20 + .../call/StatisticsCallInfoController.java | 67 + .../call/req/StatisticsCallInfoListReq.java | 16 + .../service/StatisticsCallInfoService.java | 12 + .../impl/StatisticsCallInfoServiceImpl.java | 286 + .../call/vo/StatisticsCallInfoExcelVO.java | 148 + .../service/StatisticsDashboardService.java | 16 + .../impl/StatisticsDashboardServiceImpl.java | 251 + .../intent/StatisticsIntentDayController.java | 67 + .../StatisticsIntentItemController.java | 67 + .../intent/req/IntentAnalysisDayListReq.java | 16 + .../intent/req/IntentAnalysisItemListReq.java | 16 + .../service/StatisticsIntentService.java | 13 + .../impl/StatisticsIntentServiceImpl.java | 173 + .../StatisticsScenarioDayController.java | 67 + .../StatisticsScenarioItemController.java | 67 + .../req/StatisticsScenarioDayListReq.java | 16 + .../req/StatisticsScenarioItemListReq.java | 16 + .../service/StatisticsScenarioService.java | 14 + .../impl/StatisticsScenarioServiceImpl.java | 154 + .../scenario/vo/StatisticsScenarioDayVO.java | 67 + .../scenario/vo/StatisticsScenarioItemVO.java | 76 + .../StatisticsIntentController.java | 20 + .../StatisticsResponseController.java | 20 + .../StatisticsScenarioController.java | 19 + .../statistics/StatisticsUsageController.java | 20 + .../rcp/statistics/use/RecordController.java | 20 + .../biz/rcp/util/ScenarioConverter.java | 474 + .../test/controller/CreateDataController.java | 54 + .../test/controller/CreateDataService.java | 1598 + .../biz/test/controller/FailNodeVO.java | 32 + .../test/controller/TestRestController.java | 335 + .../biz/test/controller/TestRestService.java | 822 + .../biz/test/controller/TestVoUser.java | 16 + .../biz/test/controller/testvo/APINodeVo.java | 23 + .../test/controller/testvo/KeyValueVo.java | 16 + .../main_vm/common/code/EnumToMap.java | 92 + .../main_vm/common/code/MenuCategoryVo.java | 21 + .../icomsys/main_vm/common/code/MenuVo.java | 30 + .../code/code/LongTextManagerColumnCode.java | 16 + .../code/code/LongTextManagerTableCode.java | 19 + .../common/code/code/ServiceStatusType.java | 24 + .../main_vm/common/code/code/UseYNCode.java | 13 + .../code/enumresource/ActionResource.java | 47 + .../code/enumresource/MenuResource.java | 156 + .../code/enumresource/PolicyResource.java | 193 + .../code/enumresource/RoleResource.java | 32 + .../code/enumresource/ScenarioNodeType.java | 34 + .../code/enumresource/SessionResource.java | 13 + .../code/enumresource/SolTypeResource.java | 34 + .../common/code/enumresource/URLResource.java | 29 + .../main_vm/common/config/AWSConfig.java | 41 + .../common/config/ConfigDatasource.java | 203 + .../main_vm/common/config/ConfigFeign.java | 41 + .../main_vm/common/config/ConfigLogging.java | 307 + .../main_vm/common/config/ConfigMessage.java | 34 + .../common/config/ConfigModelMapper.java | 38 + .../main_vm/common/config/ConfigMvc.java | 127 + .../main_vm/common/config/ConfigSecurity.java | 104 + .../main_vm/common/config/ConfigSqlQuery.java | 44 + .../common/config/ConfigWebsocket.java | 35 + .../common/config/CustomErrorDecoder.java | 36 + .../common/filter/HibernateInterceptor.java | 31 + .../main_vm/common/filter/LoginFilter.java | 109 + .../icomsys/main_vm/common/util/ClientIp.java | 52 + .../main_vm/common/util/CustomDialect.java | 23 + .../main_vm/common/util/EgovFileScrty.java | 290 + .../main_vm/common/util/ExcelUtils.java | 59 + .../icomsys/main_vm/common/util/HashUtil.java | 15 + .../com/icomsys/main_vm/common/util/README.md | 1 + .../conversation/TbDictionaryMaster.java | 55 + .../entity/conversation/TbEntityMaster.java | 34 + .../db/jpa/entity/conversation/TbIcsLog.java | 64 + .../entity/conversation/TbIntentExample.java | 69 + .../entity/conversation/TbIntentMaster.java | 53 + .../entity/conversation/TbProjectSetting.java | 83 + .../jpa/entity/conversation/TbSlotMaster.java | 67 + .../entity/conversation/TbSynonymMaster.java | 72 + .../entity/conversation/TbSynonymWord.java | 69 + .../entity/conversation/id/TbIcsLogId.java | 23 + .../conversation/id/TbIntentExampleId.java | 12 + .../conversation/id/TbSynonymWordId.java | 11 + .../jpa/entity/learningTest/TbIntentTest.java | 65 + .../jpa/entity/monitoring/TbCallBotLog.java | 51 + .../jpa/entity/monitoring/TbCallBotRec.java | 41 + .../db/jpa/entity/monitoring/TbCallInfo.java | 84 + .../jpa/entity/monitoring/TbCallUserLog.java | 88 + .../jpa/entity/monitoring/TbCallUserRec.java | 43 + .../monitoring/TbScenarioBreakNode.java | 75 + .../jpa/entity/monitoring/TbTalkBookmark.java | 77 + .../entity/monitoring/id/TbCallBotLogId.java | 15 + .../entity/monitoring/id/TbCallInfoId.java | 16 + .../jpa/entity/monitoring/id/TbCallRecId.java | 16 + .../entity/monitoring/id/TbCallUserLogId.java | 15 + .../db/jpa/entity/oprManage/TbBgmMng.java | 44 + .../db/jpa/entity/oprManage/TbBotTtsTag.java | 53 + .../db/jpa/entity/scenario/TbApiNode.java | 51 + .../db/jpa/entity/scenario/TbCommonNode.java | 50 + .../entity/scenario/TbLongtextManager.java | 45 + .../entity/scenario/TbScenarioHistory.java | 49 + .../jpa/entity/scenario/TbScenarioMaster.java | 51 + .../scenario/TbScenarioRelatedIntent.java | 35 + .../entity/scenario/TbScenarioRelease.java | 47 + .../entity/scenario/TbScenarioTemplate.java | 35 + .../scenario/id/TbLongtextManagerId.java | 20 + .../id/TbScenarioRelatedIntentId.java | 15 + .../db/jpa/entity/system/TbBotCommonCode.java | 130 + .../db/jpa/entity/system/TbBotUser.java | 169 + .../db/jpa/entity/system/TbCustPolicy.java | 38 + .../db/jpa/entity/system/TbIcsCustInfo.java | 69 + .../db/jpa/entity/system/TbIcsOprMngInfo.java | 63 + .../jpa/entity/system/TbServiceAuthGroup.java | 76 + .../db/jpa/entity/system/TbServiceGrouop.java | 105 + .../entity/system/TbServiceGroupPolicy.java | 42 + .../db/jpa/entity/system/TbUserAuthGroup.java | 41 + .../db/jpa/entity/system/TbUserCust.java | 40 + .../entity/system/id/TbBotCommonCodeId.java | 25 + .../jpa/entity/system/id/TbBotTtsTagId.java | 23 + .../db/jpa/entity/system/id/TbBotUserId.java | 16 + .../jpa/entity/system/id/TbCustPolicyId.java | 22 + .../entity/system/id/TbIcsOprMngInfoId.java | 13 + .../system/id/TbServiceAuthGroupId.java | 14 + .../entity/system/id/TbServiceGrouopId.java | 14 + .../system/id/TbServiceGroupPolicyId.java | 23 + .../entity/system/id/TbUserAuthGroupId.java | 24 + .../db/jpa/entity/system/id/TbUserCustId.java | 22 + .../conversation/TbProjectSettingRepo.java | 16 + .../dsl/TbProjectSettingRepoDsl.java | 17 + .../dsl/TbProjectSettingRepoDslImpl.java | 82 + .../repo/learningTest/TbIntentTestRepo.java | 12 + .../learningTest/dsl/TbIntentTestDslRepo.java | 10 + .../dsl/TbIntentTestDslRepoImpl.java | 43 + .../jpa/repo/monitoring/TbCallBotLogRepo.java | 8 + .../jpa/repo/monitoring/TbCallBotRecRepo.java | 8 + .../jpa/repo/monitoring/TbCallInfoRepo.java | 8 + .../repo/monitoring/TbCallUserLogRepo.java | 8 + .../repo/monitoring/TbCallUserRecRepo.java | 9 + .../monitoring/TbScenarioBreakNodeRepo.java | 8 + .../db/jpa/repo/oprManage/TbBgmMngRepo.java | 9 + .../jpa/repo/oprManage/TbBotTtsTagRepo.java | 10 + .../repo/oprManage/dsl/TbBgmMngDslRepo.java | 9 + .../oprManage/dsl/TbBgmMngDslRepoImpl.java | 38 + .../oprManage/dsl/TbBotTtsTagRepoDsl.java | 14 + .../oprManage/dsl/TbBotTtsTagRepoDslImpl.java | 83 + .../db/jpa/repo/scenario/TbApiNodeRepo.java | 14 + .../jpa/repo/scenario/TbCommonNodeRepo.java | 13 + .../jpa/repo/scenario/TbEntityMasterRepo.java | 16 + .../repo/scenario/TbLongtextManagerRepo.java | 15 + .../repo/scenario/TbScenarioHistoryRepo.java | 10 + .../repo/scenario/TbScenarioMasterRepo.java | 13 + .../scenario/TbScenarioRelatedIntentRepo.java | 12 + .../repo/scenario/TbScenarioReleaseRepo.java | 13 + .../repo/scenario/TbScenarioTemplateRepo.java | 7 + .../repo/scenario/dsl/TbApiNodeRepoDsl.java | 18 + .../scenario/dsl/TbApiNodeRepoDslImpl.java | 140 + .../scenario/dsl/TbCommonNodeRepoDsl.java | 20 + .../scenario/dsl/TbCommonNodeRepoDslImpl.java | 127 + .../scenario/dsl/TbLongTextManagerDsl.java | 14 + .../dsl/TbLongTextManagerDslImpl.java | 68 + .../dsl/TbScenarioManagerRepoDsl.java | 11 + .../dsl/TbScenarioManagerRepoDslImpl.java | 122 + .../dsl/TbScenarioRelatedIntentRepoDsl.java | 10 + .../TbScenarioRelatedIntentRepoDslImpl.java | 44 + .../jpa/repo/system/TbBotCommonCodeRepo.java | 22 + .../db/jpa/repo/system/TbBotUserRepo.java | 47 + .../db/jpa/repo/system/TbCustPolicyRepo.java | 24 + .../db/jpa/repo/system/TbIcsCustInfoRepo.java | 14 + .../db/jpa/repo/system/TbIcsLogRepo.java | 9 + .../jpa/repo/system/TbIcsOprMngInfoRepo.java | 11 + .../jpa/repo/system/TbIntentExampleRepo.java | 19 + .../jpa/repo/system/TbIntentMasterRepo.java | 28 + .../repo/system/TbServiceAuthGroupRepo.java | 18 + .../jpa/repo/system/TbServiceGrouopRepo.java | 26 + .../repo/system/TbServiceGroupPolicyRepo.java | 18 + .../jpa/repo/system/TbSynonymMasterRepo.java | 30 + .../db/jpa/repo/system/TbSynonymWordRepo.java | 16 + .../jpa/repo/system/TbUserAuthGroupRepo.java | 25 + .../db/jpa/repo/system/TbUserCustRepo.java | 14 + .../system/dsl/TbBotCommonCodeRepoDsl.java | 11 + .../dsl/TbBotCommonCodeRepoDslImpl.java | 187 + .../jpa/repo/system/dsl/TbBotUserRepoDsl.java | 18 + .../repo/system/dsl/TbBotUserRepoDslImpl.java | 265 + .../repo/system/dsl/TbCustPolicyRepoDsl.java | 13 + .../system/dsl/TbCustPolicyRepoDslImpl.java | 143 + .../repo/system/dsl/TbIcsCustInfoRepoDsl.java | 11 + .../system/dsl/TbIcsCustInfoRepoDslImpl.java | 56 + .../db/jpa/repo/system/dsl/TbIcsLogDsl.java | 13 + .../jpa/repo/system/dsl/TbIcsLogDslImpl.java | 127 + .../system/dsl/TbIcsOprMngInfoRepoDsl.java | 6 + .../dsl/TbIcsOprMngInfoRepoDslImpl.java | 19 + .../system/dsl/TbIntentExamplRepoDslImpl.java | 88 + .../system/dsl/TbIntentExampleRepoDsl.java | 9 + .../system/dsl/TbIntentMasterRepoDsl.java | 21 + .../system/dsl/TbIntentMasterRepoDslImpl.java | 244 + .../system/dsl/TbServiceAuthGroupRepoDsl.java | 11 + .../dsl/TbServiceAuthGroupRepoDslImpl.java | 127 + .../system/dsl/TbServiceGrouopRepoDsl.java | 18 + .../dsl/TbServiceGrouopRepoDslImpl.java | 311 + .../system/dsl/TbSynonymMasterRepoDsl.java | 30 + .../dsl/TbSynonymMasterRepoDslImpl.java | 266 + .../repo/system/dsl/TbSynonymWordRepoDsl.java | 14 + .../system/dsl/TbSynonymWordRepoDslImpl.java | 80 + .../system/dsl/TbUserAuthGroupRepoDsl.java | 15 + .../dsl/TbUserAuthGroupRepoDslImpl.java | 88 + .../db/mybatis/alias/IntentAnalysisDayVO.java | 67 + .../mybatis/alias/IntentAnalysisItemVO.java | 76 + .../main_vm/db/mybatis/alias/LoginVO.java | 93 + .../db/mybatis/alias/MenuManageVO.java | 173 + .../mybatis/alias/MonitoringConsultingVO.java | 188 + .../alias/MonitoringConversationMarkVO.java | 184 + .../alias/MonitoringIntentAnalysisVO.java | 31 + .../alias/MonitoringOutscenarioVO.java | 29 + .../alias/MonitoringScenarioBreakVO.java | 46 + .../db/mybatis/alias/OprManageBgmListVo.java | 16 + .../mybatis/alias/StatisticsCallInfoVO.java | 42 + .../mybatis/alias/StatisticsDashboardVO.java | 24 + .../db/mybatis/mapper/BgmManageMapper.java | 15 + .../db/mybatis/mapper/BotTTSTagMapper.java | 12 + .../mapper/ConversationMarkMapper.java | 20 + .../mybatis/mapper/IntentAnalysisMapper.java | 16 + .../db/mybatis/mapper/IntentManageMapper.java | 42 + .../mapper/MonitoringConsultingMapper.java | 21 + .../mapper/MonitoringOutscenarioMapper.java | 19 + .../mybatis/mapper/NlpWisenutApiMapper.java | 22 + .../mapper/StatisticsCallInfoMapper.java | 12 + .../mapper/StatisticsDashboardMapper.java | 16 + .../mapper/StatisticsIntentMapper.java | 13 + .../mapper/StatisticsScenarioMapper.java | 13 + .../mybatis/mapper/SynonymManageMapper.java | 41 + .../main_vm/db/mybatis/mapper/TestMapper.java | 23 + .../resources/application-create-local.yml | 45 + .../src/main/resources/application-create.yml | 50 + .../src/main/resources/application-dev.yml | 64 + .../src/main/resources/application-devjj.yml | 64 + .../src/main/resources/application-drop.yml | 50 + .../main/resources/application-local-jws.yml | 52 + .../main/resources/application-local-kgw.yml | 50 + .../src/main/resources/application-local.yml | 58 + .../main/resources/application-local_lek.yml | 56 + .../src/main/resources/application-prod.yml | 54 + .../src/main/resources/application-stg.yml | 53 + main_vm/src/main/resources/application.yml | 91 + .../Ourstore_Ai_Manager_User_Manual.pdf | Bin 0 -> 3864204 bytes main_vm/src/main/resources/logback-spring.xml | 42 + .../resources/mapper/test/BgmManage_SQL.xml | 56 + .../resources/mapper/test/BotTTSTag_SQL.xml | 37 + .../mapper/test/ConversationMark_SQL.xml | 229 + .../mapper/test/IntentAnalysis_SQL.xml | 262 + .../mapper/test/IntentManage_SQL.xml | 285 + .../mapper/test/MonitoringConsulting_SQL.xml | 321 + .../mapper/test/MonitoringOutscenario_SQL.xml | 243 + .../mapper/test/NlpWisenutApi_SQL.xml | 111 + .../mapper/test/StatisticsCallInfo_SQL.xml | 47 + .../mapper/test/StatisticsDashboard_SQL.xml | 228 + .../mapper/test/StatisticsIntent_SQL.xml | 119 + .../mapper/test/StatisticsScenario_SQL.xml | 102 + .../mapper/test/SynonymManage_SQL.xml | 198 + .../src/main/resources/mapper/test/Test1.xml | 91 + .../resources/message/messages.properties | 45 + .../resources/message/messages_ko.properties | 46 + .../message/messages_ko_KR.properties | 45 + .../resources/message/validation.properties | 4 + .../message/validation_ko_KR.properties | 4 + main_vm/src/main/webapp/META-INF/MANIFEST.MF | 3 + main_vm/src/main/webapp/META-INF/license | 202 + main_vm/src/main/webapp/META-INF/osslicenses | 1688 + main_vm/src/main/webapp/META-INF/readme | 10 + .../WEB-INF/jsp/adm/common/dashboard.jsp | 146 + .../webapp/WEB-INF/jsp/adm/common/error.jsp | 22 + .../jsp/adm/common/system/A030301.html | 446 + .../jsp/adm/common/system/commoncode.jsp | 734 + .../WEB-INF/jsp/adm/common/system/cust.jsp | 278 + .../jsp/adm/common/system/custInsert.jsp | 662 + .../jsp/adm/common/system/custUpdate.jsp | 812 + .../jsp/adm/common/system/groupAuth.jsp | 572 + .../jsp/adm/common/system/groupAuthUpdate.jsp | 436 + .../common/system/groupAuthUpdatelegacy.jsp | 328 + .../jsp/adm/common/system/policyMenu.jsp | 308 + .../adm/common/system/serviceGroupInsert.jsp | 470 + .../adm/common/system/serviceGroupList.jsp | 332 + .../adm/common/system/serviceGroupView.jsp | 762 + .../WEB-INF/jsp/adm/common/system/user.jsp | 387 + .../jsp/adm/common/system/userAdmin.jsp | 383 + .../jsp/adm/common/system/userAdminInsert.jsp | 738 + .../jsp/adm/common/system/userAdminView.jsp | 700 + .../jsp/adm/common/system/userInsert.jsp | 777 + .../jsp/adm/common/system/userView.jsp | 727 + .../jsp/adm/include/addIntentExample.jsp | 99 + .../jsp/adm/include/bottomScriptTag.jsp | 40 + .../WEB-INF/jsp/adm/include/getLnbMenu.jsp | 79 + .../WEB-INF/jsp/adm/include/getMenuData.jsp | 186 + .../webapp/WEB-INF/jsp/adm/include/header.jsp | 187 + .../WEB-INF/jsp/adm/include/topLinkTag.jsp | 105 + .../jsp/adm/rcp/conversation/apiNode.jsp | 124 + .../jsp/adm/rcp/conversation/apiNodeEdit.jsp | 329 + .../jsp/adm/rcp/conversation/cmmNode.jsp | 121 + .../jsp/adm/rcp/conversation/cmmNodeEdit.jsp | 131 + .../jsp/adm/rcp/conversation/dictionary.jsp | 297 + .../jsp/adm/rcp/conversation/intent.jsp | 1284 + .../jsp/adm/rcp/conversation/scenario.jsp | 232 + .../jsp/adm/rcp/conversation/scenarioGUI.jsp | 345 + .../rcp/conversation/scenarioGUINodeEdit.jsp | 241 + .../adm/rcp/conversation/scenario_list.jsp | 165 + .../WEB-INF/jsp/adm/rcp/conversation/slot.jsp | 473 + .../jsp/adm/rcp/conversation/synonym.jsp | 266 + .../jsp/adm/rcp/conversation/systemEntity.jsp | 204 + .../jsp/adm/rcp/learningTest/inference.jsp | 348 + .../jsp/adm/rcp/learningTest/simulator.jsp | 524 + .../jsp/adm/rcp/learningTest/stttest.jsp | 309 + .../jsp/adm/rcp/learningTest/ttstest.jsp | 258 + .../jsp/adm/rcp/monitoring/aiengine.jsp | 31 + .../jsp/adm/rcp/monitoring/consulting.jsp | 341 + .../adm/rcp/monitoring/conversationMark.jsp | 314 + .../jsp/adm/rcp/monitoring/intentAnalysis.jsp | 367 + .../jsp/adm/rcp/monitoring/outscenario.jsp | 370 + .../jsp/adm/rcp/monitoring/workhistory.jsp | 395 + .../WEB-INF/jsp/adm/rcp/oprmanage/bgm.jsp | 710 + .../jsp/adm/rcp/oprmanage/nlpSetting.jsp | 416 + .../WEB-INF/jsp/adm/rcp/oprmanage/ttstag.jsp | 433 + .../jsp/adm/rcp/statistics/call/aiengine.jsp | 31 + .../jsp/adm/rcp/statistics/call/info.jsp | 218 + .../jsp/adm/rcp/statistics/intent/day.jsp | 197 + .../jsp/adm/rcp/statistics/intent/item.jsp | 229 + .../jsp/adm/rcp/statistics/scenario/day.jsp | 197 + .../jsp/adm/rcp/statistics/scenario/item.jsp | 219 + .../WEB-INF/jsp/adm/signin/changePwd.jsp | 183 + .../webapp/WEB-INF/jsp/adm/signin/signin.jsp | 144 + .../WEB-INF/jsp/adm/system/A050101.html | 587 + .../jsp/adm/system/manageOperation.jsp | 526 + .../WEB-INF/jsp/adm/system/manageUserList.jsp | 696 + .../jsp/adm/system/retrieveAuthList.jsp | 533 + .../jsp/adm/system/retrieveMenuAuth.jsp | 499 + .../webapp/WEB-INF/jsp/sec/accessDenied.jsp | 108 + .../webapp/WEB-INF/lib/META-INF/MANIFEST.MF | 2 + .../icomsys/address/constants/ConstJuso.class | Bin 0 -> 2934 bytes .../address/constants/ConstMajorBuild.class | Bin 0 -> 4233 bytes .../address/constants/ConstNumber.class | Bin 0 -> 1687 bytes .../address/constants/ConstSpecialArea.class | Bin 0 -> 905 bytes .../address/parser/AddressPreProcess.class | Bin 0 -> 2875 bytes .../icomsys/address/parser/CheckAddress.class | Bin 0 -> 6589 bytes .../icomsys/address/parser/EnvLoader.class | Bin 0 -> 8471 bytes .../address/parser/PatternFindBuild.class | Bin 0 -> 5987 bytes .../address/parser/PatternStringAddress.class | Bin 0 -> 11196 bytes .../address/parser/ProcessGoogleSTT.class | Bin 0 -> 11955 bytes .../address/parser/RelocateBunjiData.class | Bin 0 -> 3586 bytes .../address/util/AddressNumberUtil.class | Bin 0 -> 5749 bytes .../address/util/AddressParserUtil.class | Bin 0 -> 10093 bytes .../address/util/AddressStringUtil.class | Bin 0 -> 2320 bytes .../address/util/ExistDoroNameUtil.class | Bin 0 -> 2766 bytes .../com/icomsys/address/util/FileUtil.class | Bin 0 -> 4185 bytes .../com/icomsys/address/util/NumberUtil.class | Bin 0 -> 5428 bytes .../WEB-INF/lib/icomsys-analyze-address.jar | Bin 0 -> 48579 bytes .../src/main/webapp/aajs/addIntentExample.js | 322 + main_vm/src/main/webapp/aajs/consulting.js | 1066 + .../src/main/webapp/aajs/conversationMark.js | 957 + main_vm/src/main/webapp/aajs/dictionary.js | 743 + .../src/main/webapp/aajs/intentAnalysis.js | 1071 + main_vm/src/main/webapp/aajs/outscenario.js | 1011 + main_vm/src/main/webapp/aajs/scenario.js | 711 + main_vm/src/main/webapp/aajs/scenario_list.js | 221 + main_vm/src/main/webapp/aajs/slot.js | 696 + .../main/webapp/aajs/statisticsCallInfo.js | 446 + .../main/webapp/aajs/statisticsDashboard.js | 470 + .../main/webapp/aajs/statisticsIntentDay.js | 282 + .../main/webapp/aajs/statisticsIntentItem.js | 443 + .../main/webapp/aajs/statisticsScenarioDay.js | 278 + .../webapp/aajs/statisticsScenarioItem.js | 384 + main_vm/src/main/webapp/aajs/synonym.js | 628 + main_vm/src/main/webapp/common/error.jsp | 22 + .../src/main/webapp/css/remove/_chat-ui.css | 168 + .../src/main/webapp/css/remove/chat-ui.css | 134 + .../css/remove/egovframework/button.css | 75 + .../webapp/css/remove/egovframework/cal.css | 114 + .../webapp/css/remove/egovframework/com.css | 427 + .../css/remove/egovframework/common.css | 360 + .../webapp/css/remove/egovframework/login.css | 73 + .../webapp/css/remove/egovframework/popup.css | 67 + .../webapp/css/remove/egovframework/zip.css | 381 + .../css/remove/opensource/google-web-stt.css | 32 + .../main/webapp/design/design/lg_cinnamon.fig | Bin 0 -> 1002170 bytes .../design/pub/assets/css/lib/billboard.css | 235 + .../pub/assets/css/lib/billboard.min.css | 9 + .../main/webapp/design/pub/assets/css/new.css | 459 + .../webapp/design/pub/assets/css/new.css.map | 11 + .../pub/assets/images/icon-close-circle.svg | 6 + .../design/pub/assets/images/icon-search.svg | 3 + .../pub/assets/js/lib/billboard.pkgd.min.js | 24 + .../design/pub/assets/scss/_common.scss | 394 + .../design/pub/assets/scss/_content.scss | 244 + .../webapp/design/pub/assets/scss/new.scss | 2 + .../pub/html/addrbot/manageAddrSection.html | 653 + .../pub/html/conversation/dictionary.html | 645 + .../design/pub/html/conversation/intent.html | 830 + .../pub/html/conversation/scenario.html | 895 + .../pub/html/conversation/scenario_list.html | 638 + .../design/pub/html/conversation/slot.html | 684 + .../design/pub/html/conversation/synonym.html | 570 + .../pub/html/conversation/systemEntity.html | 641 + .../main/webapp/design/pub/html/guide.html | 527 + .../main/webapp/design/pub/html/pagelist.html | 285 + .../design/pub/html/statistics/record.html | 588 + .../pub/html/statistics/statistics.html | 695 + .../design/pub/html/system/project.html | 466 + .../design/pub/html/test/inference.html | 559 + .../design/pub/html/test/simulator.html | 556 + .../src/main/webapp/document/dictionary.xlsx | Bin 0 -> 9728 bytes .../src/main/webapp/document/inference.xlsx | Bin 0 -> 10091 bytes main_vm/src/main/webapp/document/intent.xls | Bin 0 -> 27136 bytes main_vm/src/main/webapp/document/intent.xlsx | Bin 0 -> 10325 bytes main_vm/src/main/webapp/document/synonym.xls | Bin 0 -> 26624 bytes main_vm/src/main/webapp/document/synonym.xlsx | Bin 0 -> 10225 bytes main_vm/src/main/webapp/images/loading.gif | Bin 0 -> 3234 bytes .../webapp/images/remove/bg_boardhead.gif | Bin 0 -> 150 bytes .../src/main/webapp/images/remove/bg_h2.gif | Bin 0 -> 102 bytes .../main/webapp/images/remove/bl_circle.gif | Bin 0 -> 332 bytes .../src/main/webapp/images/remove/bl_dot.gif | Bin 0 -> 50 bytes .../main/webapp/images/remove/bl_dotbg.gif | Bin 0 -> 43 bytes .../main/webapp/images/remove/bl_dotblack.gif | Bin 0 -> 51 bytes .../webapp/images/remove/bl_grayarrow.gif | Bin 0 -> 46 bytes .../src/main/webapp/images/remove/bl_h2.gif | Bin 0 -> 321 bytes .../webapp/images/remove/bl_underline.gif | Bin 0 -> 110 bytes .../webapp/images/remove/bl_underline2.gif | Bin 0 -> 121 bytes .../main/webapp/images/remove/blue_arrow.gif | Bin 0 -> 56 bytes .../webapp/images/remove/btn/btn_close.gif | Bin 0 -> 429 bytes .../webapp/images/remove/btn/btn_next.gif | Bin 0 -> 313 bytes .../webapp/images/remove/btn/btn_prev.gif | Bin 0 -> 311 bytes .../webapp/images/remove/btn/bu5_close.gif | Bin 0 -> 400 bytes .../images/remove/btn/icon_aft_month.gif | Bin 0 -> 933 bytes .../images/remove/btn/icon_aft_year.gif | Bin 0 -> 984 bytes .../images/remove/btn/icon_pre_month.gif | Bin 0 -> 999 bytes .../images/remove/btn/icon_pre_year.gif | Bin 0 -> 997 bytes .../images/remove/btn/icon_zip_search.gif | Bin 0 -> 1018 bytes .../main/webapp/images/remove/bu2_left.gif | Bin 0 -> 563 bytes .../main/webapp/images/remove/bu2_right.gif | Bin 0 -> 565 bytes .../main/webapp/images/remove/calendar.gif | Bin 0 -> 1140 bytes .../src/main/webapp/images/remove/cross.png | Bin 0 -> 655 bytes .../src/main/webapp/images/remove/danger.jpg | Bin 0 -> 4556 bytes .../remove/egovframework/com/TAB_01.gif | Bin 0 -> 1521 bytes .../remove/egovframework/com/TAB_01_o.gif | Bin 0 -> 1134 bytes .../remove/egovframework/com/TAB_02.gif | Bin 0 -> 1381 bytes .../remove/egovframework/com/TAB_02_o.gif | Bin 0 -> 1142 bytes .../remove/egovframework/com/TAB_03.gif | Bin 0 -> 1423 bytes .../remove/egovframework/com/TAB_03_o.gif | Bin 0 -> 1145 bytes .../remove/egovframework/com/bg_list_th.gif | Bin 0 -> 157 bytes .../egovframework/com/bg_list_thEnd.gif | Bin 0 -> 573 bytes .../remove/egovframework/com/bottom_bg.gif | Bin 0 -> 99 bytes .../egovframework/com/botttom_address.gif | Bin 0 -> 2456 bytes .../remove/egovframework/com/botttom_logo.gif | Bin 0 -> 2664 bytes .../remove/egovframework/com/btn_kne.gif | Bin 0 -> 329 bytes .../remove/egovframework/com/btn_logout.gif | Bin 0 -> 323 bytes .../egovframework/com/bu_icon_delete.gif | Bin 0 -> 722 bytes .../remove/egovframework/com/cmm/blue_bg.jpg | Bin 0 -> 309 bytes .../remove/egovframework/com/cmm/btn/bu2.jpg | Bin 0 -> 2084 bytes .../egovframework/com/cmm/btn/bu2_bg.gif | Bin 0 -> 148 bytes .../egovframework/com/cmm/btn/bu2_left.gif | Bin 0 -> 563 bytes .../egovframework/com/cmm/btn/bu2_right.gif | Bin 0 -> 565 bytes .../egovframework/com/cmm/button/bu2.jpg | Bin 0 -> 2084 bytes .../egovframework/com/cmm/button/bu2_bg.gif | Bin 0 -> 148 bytes .../egovframework/com/cmm/button/bu2_left.gif | Bin 0 -> 563 bytes .../com/cmm/button/bu2_right.gif | Bin 0 -> 565 bytes .../egovframework/com/cmm/chart/chart1.JPG | Bin 0 -> 633 bytes .../egovframework/com/cmm/chart/chart2.JPG | Bin 0 -> 657 bytes .../egovframework/com/cmm/chart/chart3.JPG | Bin 0 -> 657 bytes .../egovframework/com/cmm/chart/chart4.JPG | Bin 0 -> 633 bytes .../egovframework/com/cmm/chart/chart5.JPG | Bin 0 -> 657 bytes .../egovframework/com/cmm/chart/chart6.JPG | Bin 0 -> 657 bytes .../remove/egovframework/com/cmm/danger.jpg | Bin 0 -> 4556 bytes .../remove/egovframework/com/cmm/er_logo.jpg | Bin 0 -> 18282 bytes .../com/cmm/fms/icon/bu5_close.gif | Bin 0 -> 400 bytes .../com/cmm/fms/icon/bu_icon_delete.gif | Bin 0 -> 722 bytes .../egovframework/com/cmm/go_history.jpg | Bin 0 -> 14332 bytes .../remove/egovframework/com/cmm/go_main.jpg | Bin 0 -> 6477 bytes .../com/cmm/icon/bu_icon_carlendar.gif | Bin 0 -> 243 bytes .../egovframework/com/cmm/icon/icon_next.gif | Bin 0 -> 995 bytes .../com/cmm/icon/icon_nextend.gif | Bin 0 -> 996 bytes .../egovframework/com/cmm/icon/icon_prev.gif | Bin 0 -> 995 bytes .../com/cmm/icon/icon_prevend.gif | Bin 0 -> 996 bytes .../com/cmm/icon/no_required.gif | Bin 0 -> 54 bytes .../com/cmm/icon/reply_arrow.gif | Bin 0 -> 58 bytes .../egovframework/com/cmm/icon/required.gif | Bin 0 -> 66 bytes .../egovframework/com/cmm/icon/search.gif | Bin 0 -> 600 bytes .../egovframework/com/cmm/icon/tit_icon.gif | Bin 0 -> 429 bytes .../com/cmm/icon/tit_icon_pop.gif | Bin 0 -> 87 bytes .../egovframework/com/cmm/img/search2.gif | Bin 0 -> 600 bytes .../remove/egovframework/com/cmm/left_bg.gif | Bin 0 -> 90 bytes .../egovframework/com/cmm/left_menu_bg.gif | Bin 0 -> 99 bytes .../egovframework/com/cmm/main/bg_footer.jpg | Bin 0 -> 381 bytes .../egovframework/com/cmm/main/bg_header.jpg | Bin 0 -> 356 bytes .../egovframework/com/cmm/main/h1_logo.jpg | Bin 0 -> 2452 bytes .../com/cmm/mod/icon/icon_next.gif | Bin 0 -> 995 bytes .../com/cmm/mod/icon/icon_nextend.gif | Bin 0 -> 996 bytes .../com/cmm/mod/icon/icon_prev.gif | Bin 0 -> 995 bytes .../com/cmm/mod/icon/icon_prevend.gif | Bin 0 -> 996 bytes .../remove/egovframework/com/cmm/search2.gif | Bin 0 -> 600 bytes .../com/cmm/uss/umt/bg_list_th.gif | Bin 0 -> 157 bytes .../com/cmm/uss/umt/bg_list_thEnd.gif | Bin 0 -> 573 bytes .../egovframework/com/cmm/uss/umt/btn_kne.gif | Bin 0 -> 329 bytes .../com/cmm/uss/umt/btn_logout.gif | Bin 0 -> 323 bytes .../egovframework/com/cmm/uss/umt/bu2.jpg | Bin 0 -> 2084 bytes .../com/cmm/uss/umt/button/bu2_bg.gif | Bin 0 -> 148 bytes .../com/cmm/uss/umt/button/bu2_left.gif | Bin 0 -> 563 bytes .../com/cmm/uss/umt/button/bu2_right.gif | Bin 0 -> 565 bytes .../com/cmm/uss/umt/contents.jpg | Bin 0 -> 98009 bytes .../com/cmm/uss/umt/icon/icon_next.gif | Bin 0 -> 995 bytes .../com/cmm/uss/umt/icon/icon_nextend.gif | Bin 0 -> 996 bytes .../com/cmm/uss/umt/icon/icon_prev.gif | Bin 0 -> 995 bytes .../com/cmm/uss/umt/icon/icon_prevend.gif | Bin 0 -> 996 bytes .../com/cmm/uss/umt/icon/no_required.gif | Bin 0 -> 54 bytes .../com/cmm/uss/umt/icon/required.gif | Bin 0 -> 66 bytes .../com/cmm/uss/umt/icon/search.gif | Bin 0 -> 600 bytes .../com/cmm/uss/umt/icon/tit_icon.gif | Bin 0 -> 429 bytes .../com/cmm/uss/umt/icon/tit_icon_pop.gif | Bin 0 -> 87 bytes .../com/cmm/uss/umt/index_login.gif | Bin 0 -> 22914 bytes .../com/cmm/uss/umt/index_login.jpg | Bin 0 -> 100754 bytes .../com/cmm/uss/umt/join_btn.gif | Bin 0 -> 1303 bytes .../egovframework/com/cmm/uss/umt/left_bg.gif | Bin 0 -> 90 bytes .../com/cmm/uss/umt/left_menu_bg.gif | Bin 0 -> 639 bytes .../com/cmm/uss/umt/left_menu_btm.gif | Bin 0 -> 551 bytes .../com/cmm/uss/umt/left_menu_top.gif | Bin 0 -> 3099 bytes .../com/cmm/uss/umt/login_bg01.gif | Bin 0 -> 2955 bytes .../com/cmm/uss/umt/login_btn.gif | Bin 0 -> 1653 bytes .../com/cmm/uss/umt/login_id_save.gif | Bin 0 -> 369 bytes .../egovframework/com/cmm/uss/umt/logo.gif | Bin 0 -> 6280 bytes .../egovframework/com/cmm/uss/umt/menu_bg.jpg | Bin 0 -> 30656 bytes .../com/cmm/uss/umt/page_title.gif | Bin 0 -> 616 bytes .../egovframework/com/cmm/utl/btn/bu2.jpg | Bin 0 -> 2084 bytes .../egovframework/com/cmm/utl/menu_base.gif | Bin 0 -> 1040 bytes .../egovframework/com/cmm/utl/menu_cd.gif | Bin 0 -> 239 bytes .../egovframework/com/cmm/utl/menu_empty.gif | Bin 0 -> 62 bytes .../egovframework/com/cmm/utl/menu_folder.gif | Bin 0 -> 372 bytes .../com/cmm/utl/menu_folderopen.gif | Bin 0 -> 376 bytes .../egovframework/com/cmm/utl/menu_globe.gif | Bin 0 -> 1095 bytes .../com/cmm/utl/menu_imgfolder.gif | Bin 0 -> 622 bytes .../egovframework/com/cmm/utl/menu_join.gif | Bin 0 -> 69 bytes .../com/cmm/utl/menu_joinbottom.gif | Bin 0 -> 66 bytes .../egovframework/com/cmm/utl/menu_line.gif | Bin 0 -> 66 bytes .../egovframework/com/cmm/utl/menu_minus.gif | Bin 0 -> 86 bytes .../com/cmm/utl/menu_minusbottom.gif | Bin 0 -> 85 bytes .../com/cmm/utl/menu_musicfolder.gif | Bin 0 -> 633 bytes .../com/cmm/utl/menu_nolines_minus.gif | Bin 0 -> 861 bytes .../com/cmm/utl/menu_nolines_plus.gif | Bin 0 -> 870 bytes .../egovframework/com/cmm/utl/menu_page.gif | Bin 0 -> 582 bytes .../egovframework/com/cmm/utl/menu_plus.gif | Bin 0 -> 89 bytes .../com/cmm/utl/menu_plusbottom.gif | Bin 0 -> 88 bytes .../com/cmm/utl/menu_question.gif | Bin 0 -> 1044 bytes .../egovframework/com/cmm/utl/menu_trash.gif | Bin 0 -> 1051 bytes .../images/remove/egovframework/com/ency.gif | Bin 0 -> 374 bytes .../remove/egovframework/com/icon_next.gif | Bin 0 -> 995 bytes .../remove/egovframework/com/icon_nextend.gif | Bin 0 -> 996 bytes .../remove/egovframework/com/icon_prev.gif | Bin 0 -> 995 bytes .../remove/egovframework/com/icon_prevend.gif | Bin 0 -> 996 bytes .../remove/egovframework/com/index_login.gif | Bin 0 -> 22914 bytes .../remove/egovframework/com/index_login.jpg | Bin 0 -> 100754 bytes .../remove/egovframework/com/join_btn.gif | Bin 0 -> 1303 bytes .../remove/egovframework/com/left_bg.gif | Bin 0 -> 90 bytes .../remove/egovframework/com/left_menu_bg.gif | Bin 0 -> 1265 bytes .../egovframework/com/left_menu_btm.gif | Bin 0 -> 551 bytes .../egovframework/com/left_menu_top.gif | Bin 0 -> 3099 bytes .../remove/egovframework/com/login_bg01.gif | Bin 0 -> 3741 bytes .../remove/egovframework/com/login_btn.gif | Bin 0 -> 1653 bytes .../egovframework/com/login_id_save.gif | Bin 0 -> 369 bytes .../images/remove/egovframework/com/logo.gif | Bin 0 -> 6280 bytes .../remove/egovframework/com/logo_01.gif | Bin 0 -> 8279 bytes .../remove/egovframework/com/logout_btn.gif | Bin 0 -> 169 bytes .../remove/egovframework/com/main_top.gif | Bin 0 -> 43967 bytes .../remove/egovframework/com/main_top02.jpg | Bin 0 -> 23754 bytes .../remove/egovframework/com/menu_bg.jpg | Bin 0 -> 30656 bytes .../remove/egovframework/com/navi_bg.gif | Bin 0 -> 4092 bytes .../remove/egovframework/com/page_title.gif | Bin 0 -> 616 bytes .../remove/egovframework/com/required.gif | Bin 0 -> 66 bytes .../images/remove/egovframework/com/terms.gif | Bin 0 -> 378 bytes .../remove/egovframework/com/tit_icon.gif | Bin 0 -> 429 bytes .../remove/egovframework/com/tit_icon_pop.gif | Bin 0 -> 87 bytes .../remove/egovframework/com/yellow_bull.gif | Bin 0 -> 1197 bytes .../src/main/webapp/images/remove/er_logo.jpg | Bin 0 -> 18282 bytes .../webapp/images/remove/footer/img_mois.png | Bin 0 -> 5069 bytes .../webapp/images/remove/footer/img_nia.png | Bin 0 -> 1976 bytes .../main/webapp/images/remove/go_history.jpg | Bin 0 -> 14332 bytes .../images/remove/header/limg_lt_pas_logo.gif | Bin 0 -> 1965 bytes .../main/webapp/images/remove/header/logo.jpg | Bin 0 -> 3023 bytes .../main/webapp/images/remove/icon_next.gif | Bin 0 -> 995 bytes .../webapp/images/remove/icon_nextend.gif | Bin 0 -> 996 bytes .../main/webapp/images/remove/icon_prev.gif | Bin 0 -> 995 bytes .../webapp/images/remove/icon_prevend.gif | Bin 0 -> 996 bytes .../main/webapp/images/remove/img_search.gif | Bin 0 -> 552 bytes .../webapp/images/remove/index/bg_board01.gif | Bin 0 -> 1878 bytes .../webapp/images/remove/index/bg_board02.gif | Bin 0 -> 2436 bytes .../webapp/images/remove/index/bg_board03.gif | Bin 0 -> 3337 bytes .../webapp/images/remove/index/btn_more.gif | Bin 0 -> 80 bytes .../images/remove/index/img_maintitle.jpg | Bin 0 -> 34958 bytes .../webapp/images/remove/index/img_new.gif | Bin 0 -> 79 bytes .../images/remove/index/img_subtitle01.gif | Bin 0 -> 562 bytes .../images/remove/index/img_subtitle02.gif | Bin 0 -> 414 bytes .../images/remove/index/img_subtitle03.gif | Bin 0 -> 661 bytes .../src/main/webapp/images/remove/left_bg.gif | Bin 0 -> 90 bytes .../images/remove/leftmenu/bl_depth01.gif | Bin 0 -> 61 bytes .../remove/leftmenu/leftmenu_bottom.gif | Bin 0 -> 227 bytes .../remove/leftmenu/leftmenu_repeat.gif | Bin 0 -> 62 bytes .../images/remove/leftmenu/leftmenu_top.gif | Bin 0 -> 227 bytes .../webapp/images/remove/leftmenu/login.jpg | Bin 0 -> 1991 bytes .../webapp/images/remove/leftmenu/logout.jpg | Bin 0 -> 1508 bytes .../webapp/images/remove/login/bg_login.gif | Bin 0 -> 1409 bytes .../images/remove/login/btn_findidpw.gif | Bin 0 -> 1544 bytes .../webapp/images/remove/login/btn_login.gif | Bin 0 -> 2760 bytes .../webapp/images/remove/login/btn_regist.gif | Bin 0 -> 1072 bytes .../webapp/images/remove/login/img_idtext.gif | Bin 0 -> 246 bytes .../images/remove/login/img_logintitle.gif | Bin 0 -> 2711 bytes .../webapp/images/remove/login/img_pwtext.gif | Bin 0 -> 353 bytes .../main/webapp/images/remove/menu_ebt.jpg | Bin 0 -> 150004 bytes .../opensource/google-web-stt/mic-animate.gif | Bin 0 -> 2995 bytes .../opensource/google-web-stt/mic-slash.gif | Bin 0 -> 807 bytes .../remove/opensource/google-web-stt/mic.gif | Bin 0 -> 492 bytes .../main/webapp/images/remove/question.jpg | Bin 0 -> 19067 bytes .../main/webapp/images/remove/reply_arrow.gif | Bin 0 -> 58 bytes .../main/webapp/images/remove/required.gif | Bin 0 -> 66 bytes .../src/main/webapp/images/remove/search.gif | Bin 0 -> 600 bytes .../main/webapp/images/remove/tit_icon.gif | Bin 0 -> 429 bytes .../webapp/images/remove/tree/menu_base.gif | Bin 0 -> 1040 bytes .../webapp/images/remove/tree/menu_cd.gif | Bin 0 -> 239 bytes .../webapp/images/remove/tree/menu_empty.gif | Bin 0 -> 62 bytes .../webapp/images/remove/tree/menu_folder.gif | Bin 0 -> 372 bytes .../images/remove/tree/menu_folderopen.gif | Bin 0 -> 376 bytes .../webapp/images/remove/tree/menu_globe.gif | Bin 0 -> 1095 bytes .../images/remove/tree/menu_imgfolder.gif | Bin 0 -> 622 bytes .../webapp/images/remove/tree/menu_join.gif | Bin 0 -> 69 bytes .../images/remove/tree/menu_joinbottom.gif | Bin 0 -> 66 bytes .../webapp/images/remove/tree/menu_line.gif | Bin 0 -> 66 bytes .../webapp/images/remove/tree/menu_minus.gif | Bin 0 -> 86 bytes .../images/remove/tree/menu_minusbottom.gif | Bin 0 -> 85 bytes .../images/remove/tree/menu_musicfolder.gif | Bin 0 -> 633 bytes .../images/remove/tree/menu_nolines_minus.gif | Bin 0 -> 861 bytes .../images/remove/tree/menu_nolines_plus.gif | Bin 0 -> 870 bytes .../webapp/images/remove/tree/menu_page.gif | Bin 0 -> 582 bytes .../webapp/images/remove/tree/menu_plus.gif | Bin 0 -> 89 bytes .../images/remove/tree/menu_plusbottom.gif | Bin 0 -> 88 bytes .../images/remove/tree/menu_question.gif | Bin 0 -> 1044 bytes .../webapp/images/remove/tree/menu_trash.gif | Bin 0 -> 1051 bytes .../webapp/images/remove/util/menu_base.gif | Bin 0 -> 1040 bytes .../webapp/images/remove/util/menu_cd.gif | Bin 0 -> 239 bytes .../webapp/images/remove/util/menu_empty.gif | Bin 0 -> 62 bytes .../webapp/images/remove/util/menu_folder.gif | Bin 0 -> 372 bytes .../images/remove/util/menu_folderopen.gif | Bin 0 -> 376 bytes .../webapp/images/remove/util/menu_globe.gif | Bin 0 -> 1095 bytes .../images/remove/util/menu_imgfolder.gif | Bin 0 -> 622 bytes .../webapp/images/remove/util/menu_join.gif | Bin 0 -> 69 bytes .../images/remove/util/menu_joinbottom.gif | Bin 0 -> 66 bytes .../webapp/images/remove/util/menu_line.gif | Bin 0 -> 66 bytes .../webapp/images/remove/util/menu_minus.gif | Bin 0 -> 86 bytes .../images/remove/util/menu_minusbottom.gif | Bin 0 -> 85 bytes .../images/remove/util/menu_musicfolder.gif | Bin 0 -> 633 bytes .../images/remove/util/menu_nolines_minus.gif | Bin 0 -> 861 bytes .../images/remove/util/menu_nolines_plus.gif | Bin 0 -> 870 bytes .../webapp/images/remove/util/menu_page.gif | Bin 0 -> 582 bytes .../webapp/images/remove/util/menu_plus.gif | Bin 0 -> 89 bytes .../images/remove/util/menu_plusbottom.gif | Bin 0 -> 88 bytes .../images/remove/util/menu_question.gif | Bin 0 -> 1044 bytes .../webapp/images/remove/util/menu_trash.gif | Bin 0 -> 1051 bytes main_vm/src/main/webapp/index.jsp | 22 + .../webapp/js/adm/rcp/conversation/apiNode.js | 228 + .../js/adm/rcp/conversation/apiNodeEdit.js | 480 + .../webapp/js/adm/rcp/conversation/cmmNode.js | 213 + .../js/adm/rcp/conversation/cmmNodeEdit.js | 1460 + .../webapp/js/adm/rcp/conversation/common.js | 292 + .../js/adm/rcp/conversation/scenarioGUI.js | 773 + .../rcp/conversation/scenarioGUINodeEdit.js | 1859 + .../adm/rcp/conversation/scenarioNodePopup.js | 680 + main_vm/src/main/webapp/js/icomsys-video.js | 143 + .../src/main/webapp/js/lib/crypto-js/aes.js | 35 + .../src/main/webapp/js/remove/EgovBBSMng.js | 30 + .../src/main/webapp/js/remove/EgovMainMenu.js | 177 + .../main/webapp/js/remove/EgovMenuCreat.js | 203 + .../main/webapp/js/remove/EgovMultiFile.js | 140 + .../js/remove/opensource/google-web-stt.js | 99 + .../opensource/jquery/jquery-1.12.4.min.js | 5 + .../main/webapp/js/remove/showModalDialog.js | 81 + .../webapp/js/remove/showModalDialogCallee.js | 68 + main_vm/src/main/webapp/js/utils.js | 354 + .../src/main/webapp/js/zendesk/iframe_top.js | 156 + main_vm/src/main/webapp/js/zendesk/value.js | 4 + main_vm/src/main/webapp/lib/assets/.DS_Store | Bin 0 -> 6148 bytes .../src/main/webapp/lib/assets/css/.DS_Store | Bin 0 -> 6148 bytes .../main/webapp/lib/assets/css/20221212.css | 222 + .../main/webapp/lib/assets/css/20221213.css | 385 + .../lib/assets/css/diagram/dx-diagram.css | 695 + .../assets/css/diagram/dx-diagram2.1.45.css | 790 + .../lib/assets/css/diagram/dx.custom.css | 27280 +++++++++++ .../assets/css/diagram/dx.custom20.2.8.css | 27270 +++++++++++ .../lib/assets/css/diagram/icons/dxicons.ttf | Bin 0 -> 32252 bytes .../lib/assets/css/diagram/icons/dxicons.woff | Bin 0 -> 32328 bytes .../assets/css/diagram/icons/dxicons.woff2 | Bin 0 -> 13296 bytes .../css/diagram/icons/dxiconsmaterial.ttf | Bin 0 -> 30548 bytes .../css/diagram/icons/dxiconsmaterial.woff | Bin 0 -> 30624 bytes .../css/diagram/icons/dxiconsmaterial.woff2 | Bin 0 -> 11504 bytes .../lib/assets/css/diagram/indigo-pink.css | 1 + .../webapp/lib/assets/css/lib/billboard.css | 235 + .../lib/assets/css/lib/billboard.min.css | 9 + .../css/lib/bootstrap-datetimepicker.min.css | 377 + .../assets/css/lib/bootstrap-tagsinput.css | 69 + .../lib/assets/css/lib/bootstrap.min.css | 6670 +++ .../assets/css/lib/dataTables.bootstrap.css | 187 + .../webapp/lib/assets/css/lib/datatables.css | 411 + .../webapp/lib/assets/css/lib/datepicker3.css | 790 + .../assets/css/lib/jquery-ui-timepicker.css | 106 + .../webapp/lib/assets/css/lib/jquery-ui.css | 1312 + .../main/webapp/lib/assets/css/lib/jstree.css | 825 + .../webapp/lib/assets/css/lib/nice-select.css | 175 + .../lib/assets/css/lib/select.dataTables.css | 105 + .../webapp/lib/assets/css/lib/select2.css | 709 + .../main/webapp/lib/assets/css/rcpReport.css | 82 + .../src/main/webapp/lib/assets/css/style.css | 10749 ++++ .../main/webapp/lib/assets/css/style.min.css | 9 + .../main/webapp/lib/assets/css/styleBAK.css | 5129 ++ .../src/main/webapp/lib/assets/css/xeicon.css | 3808 ++ .../webapp/lib/assets/fonts/FontAwesome.otf | Bin 0 -> 75188 bytes .../lib/assets/fonts/fontawesome-webfont.eot | Bin 0 -> 72449 bytes .../lib/assets/fonts/fontawesome-webfont.svg | 504 + .../lib/assets/fonts/fontawesome-webfont.ttf | Bin 0 -> 141564 bytes .../lib/assets/fonts/fontawesome-webfont.woff | Bin 0 -> 83760 bytes .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes .../fonts/glyphicons-halflings-regular.svg | 288 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes .../noto-sans-kr-v12-latin_korean-100.eot | Bin 0 -> 399942 bytes .../noto-sans-kr-v12-latin_korean-100.svg | 1 + .../noto-sans-kr-v12-latin_korean-100.woff | Bin 0 -> 222636 bytes .../noto-sans-kr-v12-latin_korean-100.woff2 | Bin 0 -> 182364 bytes .../noto-sans-kr-v12-latin_korean-300.eot | Bin 0 -> 398602 bytes .../noto-sans-kr-v12-latin_korean-300.svg | 1 + .../noto-sans-kr-v12-latin_korean-300.woff | Bin 0 -> 243004 bytes .../noto-sans-kr-v12-latin_korean-300.woff2 | Bin 0 -> 202664 bytes .../noto-sans-kr-v12-latin_korean-500.eot | Bin 0 -> 394622 bytes .../noto-sans-kr-v12-latin_korean-500.svg | 1 + .../noto-sans-kr-v12-latin_korean-500.woff | Bin 0 -> 253260 bytes .../noto-sans-kr-v12-latin_korean-500.woff2 | Bin 0 -> 214612 bytes .../noto-sans-kr-v12-latin_korean-700.eot | Bin 0 -> 412246 bytes .../noto-sans-kr-v12-latin_korean-700.svg | 1 + .../noto-sans-kr-v12-latin_korean-700.woff | Bin 0 -> 260916 bytes .../noto-sans-kr-v12-latin_korean-700.woff2 | Bin 0 -> 220524 bytes .../noto-sans-kr-v12-latin_korean-900.eot | Bin 0 -> 435002 bytes .../noto-sans-kr-v12-latin_korean-900.svg | 1 + .../noto-sans-kr-v12-latin_korean-900.woff | Bin 0 -> 260096 bytes .../noto-sans-kr-v12-latin_korean-900.woff2 | Bin 0 -> 218048 bytes .../noto-sans-kr-v12-latin_korean-regular.eot | Bin 0 -> 395482 bytes .../noto-sans-kr-v12-latin_korean-regular.svg | 1 + ...noto-sans-kr-v12-latin_korean-regular.woff | Bin 0 -> 251360 bytes ...oto-sans-kr-v12-latin_korean-regular.woff2 | Bin 0 -> 212120 bytes .../lib/assets/fonts/roboto-v20-latin-100.eot | Bin 0 -> 17901 bytes .../lib/assets/fonts/roboto-v20-latin-100.svg | 313 + .../lib/assets/fonts/roboto-v20-latin-100.ttf | Bin 0 -> 37144 bytes .../assets/fonts/roboto-v20-latin-100.woff | Bin 0 -> 20368 bytes .../assets/fonts/roboto-v20-latin-100.woff2 | Bin 0 -> 15808 bytes .../fonts/roboto-v20-latin-100italic.eot | Bin 0 -> 19268 bytes .../fonts/roboto-v20-latin-100italic.svg | 332 + .../fonts/roboto-v20-latin-100italic.ttf | Bin 0 -> 38284 bytes .../fonts/roboto-v20-latin-100italic.woff | Bin 0 -> 21704 bytes .../fonts/roboto-v20-latin-100italic.woff2 | Bin 0 -> 17008 bytes .../lib/assets/fonts/roboto-v20-latin-300.eot | Bin 0 -> 17895 bytes .../lib/assets/fonts/roboto-v20-latin-300.svg | 312 + .../lib/assets/fonts/roboto-v20-latin-300.ttf | Bin 0 -> 36224 bytes .../assets/fonts/roboto-v20-latin-300.woff | Bin 0 -> 20348 bytes .../assets/fonts/roboto-v20-latin-300.woff2 | Bin 0 -> 15784 bytes .../fonts/roboto-v20-latin-300italic.eot | Bin 0 -> 19766 bytes .../fonts/roboto-v20-latin-300italic.svg | 329 + .../fonts/roboto-v20-latin-300italic.ttf | Bin 0 -> 37996 bytes .../fonts/roboto-v20-latin-300italic.woff | Bin 0 -> 22204 bytes .../fonts/roboto-v20-latin-300italic.woff2 | Bin 0 -> 17448 bytes .../lib/assets/fonts/roboto-v20-latin-500.eot | Bin 0 -> 18071 bytes .../lib/assets/fonts/roboto-v20-latin-500.svg | 305 + .../lib/assets/fonts/roboto-v20-latin-500.ttf | Bin 0 -> 36420 bytes .../assets/fonts/roboto-v20-latin-500.woff | Bin 0 -> 20464 bytes .../assets/fonts/roboto-v20-latin-500.woff2 | Bin 0 -> 15872 bytes .../fonts/roboto-v20-latin-500italic.eot | Bin 0 -> 19636 bytes .../fonts/roboto-v20-latin-500italic.svg | 326 + .../fonts/roboto-v20-latin-500italic.ttf | Bin 0 -> 37944 bytes .../fonts/roboto-v20-latin-500italic.woff | Bin 0 -> 22020 bytes .../fonts/roboto-v20-latin-500italic.woff2 | Bin 0 -> 17316 bytes .../lib/assets/fonts/roboto-v20-latin-700.eot | Bin 0 -> 17851 bytes .../lib/assets/fonts/roboto-v20-latin-700.svg | 309 + .../lib/assets/fonts/roboto-v20-latin-700.ttf | Bin 0 -> 36012 bytes .../assets/fonts/roboto-v20-latin-700.woff | Bin 0 -> 20356 bytes .../assets/fonts/roboto-v20-latin-700.woff2 | Bin 0 -> 15816 bytes .../fonts/roboto-v20-latin-700italic.eot | Bin 0 -> 19231 bytes .../fonts/roboto-v20-latin-700italic.svg | 325 + .../fonts/roboto-v20-latin-700italic.ttf | Bin 0 -> 36868 bytes .../fonts/roboto-v20-latin-700italic.woff | Bin 0 -> 21588 bytes .../fonts/roboto-v20-latin-700italic.woff2 | Bin 0 -> 17020 bytes .../lib/assets/fonts/roboto-v20-latin-900.eot | Bin 0 -> 17881 bytes .../lib/assets/fonts/roboto-v20-latin-900.svg | 302 + .../lib/assets/fonts/roboto-v20-latin-900.ttf | Bin 0 -> 35972 bytes .../assets/fonts/roboto-v20-latin-900.woff | Bin 0 -> 20392 bytes .../assets/fonts/roboto-v20-latin-900.woff2 | Bin 0 -> 15712 bytes .../fonts/roboto-v20-latin-900italic.eot | Bin 0 -> 19843 bytes .../fonts/roboto-v20-latin-900italic.svg | 324 + .../fonts/roboto-v20-latin-900italic.ttf | Bin 0 -> 38000 bytes .../fonts/roboto-v20-latin-900italic.woff | Bin 0 -> 22304 bytes .../fonts/roboto-v20-latin-900italic.woff2 | Bin 0 -> 17520 bytes .../assets/fonts/roboto-v20-latin-italic.eot | Bin 0 -> 19572 bytes .../assets/fonts/roboto-v20-latin-italic.svg | 323 + .../assets/fonts/roboto-v20-latin-italic.ttf | Bin 0 -> 37500 bytes .../assets/fonts/roboto-v20-latin-italic.woff | Bin 0 -> 21952 bytes .../fonts/roboto-v20-latin-italic.woff2 | Bin 0 -> 17324 bytes .../assets/fonts/roboto-v20-latin-regular.eot | Bin 0 -> 17854 bytes .../assets/fonts/roboto-v20-latin-regular.svg | 308 + .../assets/fonts/roboto-v20-latin-regular.ttf | Bin 0 -> 36176 bytes .../fonts/roboto-v20-latin-regular.woff | Bin 0 -> 20268 bytes .../fonts/roboto-v20-latin-regular.woff2 | Bin 0 -> 15736 bytes .../main/webapp/lib/assets/images/.DS_Store | Bin 0 -> 14340 bytes .../images/2019-10-31_14-38-34_28ob7r.webm | Bin 0 -> 365911 bytes .../main/webapp/lib/assets/images/32px.png | Bin 0 -> 3609 bytes .../main/webapp/lib/assets/images/40px.png | Bin 0 -> 6055 bytes .../lib/assets/images/CallGate_logo.png | Bin 0 -> 11768 bytes .../webapp/lib/assets/images/FCC_Logo_212.png | Bin 0 -> 15587 bytes .../webapp/lib/assets/images/FCC_Logo_230.png | Bin 0 -> 17546 bytes .../KakaoTalk_Video_20200309_1649_40_885.mp4 | Bin 0 -> 3536733 bytes .../assets/images/MV_201905230922007510.jpg | Bin 0 -> 130953 bytes .../webapp/lib/assets/images/admin-icon.png | Bin 0 -> 1344 bytes .../lib/assets/images/ajax_loader_red_128.gif | Bin 0 -> 10002 bytes .../lib/assets/images/ak_customerservice.png | Bin 0 -> 45558 bytes .../webapp/lib/assets/images/arisys_logo.png | Bin 0 -> 4296 bytes .../lib/assets/images/arrow-btm-color.png | Bin 0 -> 2877 bytes .../webapp/lib/assets/images/arrow-btm.png | Bin 0 -> 1928 bytes .../webapp/lib/assets/images/arrow-top.png | Bin 0 -> 2117 bytes .../webapp/lib/assets/images/audio_stop.png | Bin 0 -> 12825 bytes .../webapp/lib/assets/images/bg_login.png | Bin 0 -> 119486 bytes .../lib/assets/images/btnico-modify.png | Bin 0 -> 1561 bytes .../webapp/lib/assets/images/checked-item.png | Bin 0 -> 2359 bytes .../main/webapp/lib/assets/images/eraser.png | Bin 0 -> 596 bytes .../webapp/lib/assets/images/error_icon.png | Bin 0 -> 2375 bytes .../webapp/lib/assets/images/error_icon02.png | Bin 0 -> 4387 bytes .../webapp/lib/assets/images/iCOMSYS_LOGO.png | Bin 0 -> 137975 bytes .../webapp/lib/assets/images/ico-added-sq.png | Bin 0 -> 2025 bytes .../webapp/lib/assets/images/ico-added.png | Bin 0 -> 1364 bytes .../webapp/lib/assets/images/ico-call.png | Bin 0 -> 1825 bytes .../lib/assets/images/ico-downloader.png | Bin 0 -> 1365 bytes .../lib/assets/images/ico-listening.png | Bin 0 -> 1286 bytes .../lib/assets/images/ico-menual-download.png | Bin 0 -> 1273 bytes .../webapp/lib/assets/images/ico-nagetive.png | Bin 0 -> 1588 bytes .../lib/assets/images/ico-page-tooltip.png | Bin 0 -> 1338 bytes .../webapp/lib/assets/images/ico-positive.png | Bin 0 -> 2359 bytes .../webapp/lib/assets/images/ico-refresh.png | Bin 0 -> 625 bytes .../webapp/lib/assets/images/ico-remove.png | Bin 0 -> 1735 bytes .../lib/assets/images/ico-searchipt.png | Bin 0 -> 1878 bytes .../webapp/lib/assets/images/ico-stopBtn.png | Bin 0 -> 1551 bytes .../lib/assets/images/ico-test-active.png | Bin 0 -> 3663 bytes .../webapp/lib/assets/images/ico-test.png | Bin 0 -> 3659 bytes .../lib/assets/images/ico-variable-active.png | Bin 0 -> 5885 bytes .../webapp/lib/assets/images/ico-variable.png | Bin 0 -> 5924 bytes .../lib/assets/images/icon-close-circle.svg | 6 + .../lib/assets/images/icon-excel-off.png | Bin 0 -> 1836 bytes .../webapp/lib/assets/images/icon-excel.png | Bin 0 -> 1777 bytes .../webapp/lib/assets/images/icon-search.svg | 3 + .../main/webapp/lib/assets/images/img-bot.png | Bin 0 -> 3134 bytes .../lib/assets/images/img-counselor.jpg | Bin 0 -> 25679 bytes .../webapp/lib/assets/images/img-keyboard.png | Bin 0 -> 4018 bytes .../webapp/lib/assets/images/img-user.png | Bin 0 -> 4154 bytes .../assets/images/kido_customerservice.png | Bin 0 -> 16566 bytes .../webapp/lib/assets/images/login_logo.png | Bin 0 -> 5387 bytes .../main/webapp/lib/assets/images/logo.png | Bin 0 -> 3176 bytes .../webapp/lib/assets/images/logo_back.png | Bin 0 -> 4313 bytes .../webapp/lib/assets/images/logo_error.png | Bin 0 -> 24916 bytes .../main/webapp/lib/assets/images/message.png | Bin 0 -> 1003 bytes .../webapp/lib/assets/images/node-black.png | Bin 0 -> 3612 bytes .../webapp/lib/assets/images/node-blue.png | Bin 0 -> 3667 bytes .../webapp/lib/assets/images/node-green.png | Bin 0 -> 3734 bytes .../webapp/lib/assets/images/node-mint.png | Bin 0 -> 3679 bytes .../webapp/lib/assets/images/node-navy.png | Bin 0 -> 3736 bytes .../webapp/lib/assets/images/node-orange.png | Bin 0 -> 3709 bytes .../webapp/lib/assets/images/node-pink.png | Bin 0 -> 3628 bytes .../webapp/lib/assets/images/node-purple.png | Bin 0 -> 3656 bytes .../webapp/lib/assets/images/node-red.png | Bin 0 -> 3745 bytes .../webapp/lib/assets/images/node-yellow.png | Bin 0 -> 3464 bytes .../lib/assets/images/old/login_logo.png | Bin 0 -> 39000 bytes .../assets/images/scenario-icon-call-off.png | Bin 0 -> 1663 bytes .../assets/images/scenario-icon-call-on.png | Bin 0 -> 1685 bytes .../lib/assets/images/scenario-icon-close.png | Bin 0 -> 1363 bytes .../lib/assets/images/scenario-icon-copy.png | Bin 0 -> 1274 bytes .../lib/assets/images/scenario-icon-debug.png | Bin 0 -> 1594 bytes .../assets/images/scenario-icon-debugOn.png | Bin 0 -> 1566 bytes .../lib/assets/images/scenario-icon-demo.png | Bin 0 -> 2604 bytes .../assets/images/scenario-icon-refresh.png | Bin 0 -> 1743 bytes .../assets/images/scenario-icon-window.png | Bin 0 -> 1381 bytes .../webapp/lib/assets/images/sinokor_logo.png | Bin 0 -> 85842 bytes .../webapp/lib/assets/images/sort_asc-min.png | Bin 0 -> 1565 bytes .../webapp/lib/assets/images/sort_asc.png | Bin 0 -> 991 bytes .../lib/assets/images/sort_asc_disabled.png | Bin 0 -> 148 bytes .../webapp/lib/assets/images/sort_both.png | Bin 0 -> 985 bytes .../webapp/lib/assets/images/sort_desc.png | Bin 0 -> 991 bytes .../lib/assets/images/sort_desc_disabled.png | Bin 0 -> 146 bytes .../lib/assets/images/spr_global_icon.png | Bin 0 -> 8070 bytes .../webapp/lib/assets/images/throbber.gif | Bin 0 -> 1849 bytes .../webapp/lib/assets/images/user-icon.png | Bin 0 -> 607 bytes .../src/main/webapp/lib/assets/js/.DS_Store | Bin 0 -> 10244 bytes .../lib/assets/js/diagram/dx-all.min.js | 34 + .../lib/assets/js/diagram/dx-diagram.min.js | 40766 ++++++++++++++++ .../main/webapp/lib/assets/js/lib/.DS_Store | Bin 0 -> 6148 bytes .../lib/assets/js/lib/billboard.pkgd.min.js | 24 + .../lib/assets/js/lib/bootstrap-datepicker.js | 1671 + .../assets/js/lib/bootstrap-datetimepicker.js | 2485 + .../assets/js/lib/bootstrap-fileupload.min.js | 7 + .../lib/assets/js/lib/bootstrap-markdown.js | 1297 + .../assets/js/lib/bootstrap-multiselect.js | 994 + .../lib/assets/js/lib/bootstrap-tagsinput.js | 646 + .../lib/assets/js/lib/bootstrap-timepicker.js | 1097 + .../assets/js/lib/bootstrap-timepicker.min.js | 5 + .../assets/js/lib/bootstrap-timepicker2.js | 1177 + .../webapp/lib/assets/js/lib/bootstrap.js | 2279 + .../webapp/lib/assets/js/lib/bootstrap.min.js | 7 + .../lib/assets/js/lib/buttons.html5.min.js | 28 + .../lib/assets/js/lib/commonConfirmSwal.js | 21 + .../src/main/webapp/lib/assets/js/lib/d3.js | 20618 ++++++++ .../lib/assets/js/lib/dataTables.bootstrap.js | 182 + .../assets/js/lib/dataTables.buttons.min.js | 54 + .../assets/js/lib/dataTables.tableTools.js | 3165 ++ .../js/lib/dataTables.tableTools.min.js | 69 + .../webapp/lib/assets/js/lib/datatables.js | 16740 +++++++ .../main/webapp/lib/assets/js/lib/imgModal.js | 31 + .../lib/assets/js/lib/jquery-2.2.1.min.js | 4 + .../webapp/lib/assets/js/lib/jquery-latest.js | 10308 ++++ .../lib/assets/js/lib/jquery-ui-timepicker.js | 2324 + .../webapp/lib/assets/js/lib/jquery-ui.js | 18706 +++++++ .../lib/assets/js/lib/jquery.MultiFile.js | 931 + .../lib/assets/js/lib/jquery.dataTables.js | 14622 ++++++ .../assets/js/lib/jquery.dataTables.min.js | 184 + .../assets/js/lib/jquery.json-editor.min.js | 1 + .../lib/assets/js/lib/jquery.nice-select.js | 190 + .../lib/assets/js/lib/jquery.placeholder.js | 185 + .../js/lib/jquery.serialize-object.min.js | 8 + .../main/webapp/lib/assets/js/lib/jstree.js | 2067 + .../webapp/lib/assets/js/lib/jszip.min.js | 15 + .../lib/assets/js/lib/magnific-popup.js | 2049 + .../webapp/lib/assets/js/lib/modernizr.js | 480 + .../main/webapp/lib/assets/js/lib/moment.js | 9792 ++++ .../webapp/lib/assets/js/lib/owl.carousel.js | 1512 + .../lib/assets/js/lib/owl.carousel.min.js | 47 + .../lib/assets/js/lib/pnotify.custom.js | 146 + .../lib/assets/js/lib/select.dataTables.js | 38 + .../main/webapp/lib/assets/js/lib/select2.js | 2 + .../webapp/lib/assets/js/lib/sweetalert.js | 1134 + .../webapp/lib/assets/js/lib/sweetalert2.js | 2994 ++ .../lib/assets/js/lib/typeahead.bundle.js | 2451 + .../src/main/webapp/lib/assets/js/scripts.js | 483 + .../main/webapp/lib/assets/js/scripts.min.js | 9 + .../lib/css/DataTables-1.10.20/datatables.css | 318 + .../DataTables-1.10.20/images/sort_asc.png | Bin 0 -> 160 bytes .../images/sort_asc_disabled.png | Bin 0 -> 148 bytes .../DataTables-1.10.20/images/sort_both.png | Bin 0 -> 201 bytes .../DataTables-1.10.20/images/sort_desc.png | Bin 0 -> 158 bytes .../images/sort_desc_disabled.png | Bin 0 -> 146 bytes .../bootstrap/bootstrap-fileupload.min.css | 36 + .../css/bootstrap/bootstrap-markdown.min.css | 1 + .../css/bootstrap/bootstrap-multiselect.css | 1 + .../lib/css/bootstrap/bootstrap-tagsinput.css | 45 + .../lib/css/bootstrap/bootstrap-theme.css | 425 + .../lib/css/bootstrap/bootstrap-theme.min.css | 10 + .../css/bootstrap/bootstrap-timepicker.css | 148 + .../webapp/lib/css/bootstrap/bootstrap.css | 6325 +++ .../lib/css/bootstrap/bootstrap.min.css | 10 + .../css/bootstrap/dataTables.bootstrap.css | 187 + .../webapp/lib/css/bootstrap/datepicker3.css | 790 + .../lib/css/bootstrap/dropdown-submenu.css | 41 + .../main/webapp/lib/css/datatables.min.css | 21 + main_vm/src/main/webapp/lib/css/default.css | 912 + .../lib/css/font-awesome/font-awesome.css | 1566 + .../lib/css/font-awesome/font-awesome.min.css | 4 + main_vm/src/main/webapp/lib/css/imgModal.css | 82 + .../css/jquery-datatables-bs3/datatables.css | 177 + .../main/webapp/lib/css/jquery.tag-editor.css | 45 + .../webapp/lib/css/jstree/themes/style.css | 952 + .../lib/css/magnific-popup/magnific-popup.css | 368 + .../lib/css/owl-carousel/owl.carousel.css | 84 + .../lib/css/owl-carousel/owl.carousel.min.css | 6 + .../webapp/lib/css/owl-carousel/owl.theme.css | 79 + .../webapp/lib/css/pnotify/pnotify.custom.css | 1 + .../css/select-1.3.1/select.dataTables.css | 105 + .../select-1.3.1/select.dataTables.min.css | 1 + .../webapp/lib/css/sweetAlert/sweetalert2.css | 1510 + .../src/main/webapp/lib/css/theme-custom.css | 1 + main_vm/src/main/webapp/lib/css/theme.css | 16895 +++++++ main_vm/src/main/webapp/lib/favicon.ico | Bin 0 -> 39250 bytes .../src/main/webapp/lib/fonts/FontAwesome.otf | Bin 0 -> 75188 bytes .../webapp/lib/fonts/fontawesome-webfont.eot | Bin 0 -> 72449 bytes .../webapp/lib/fonts/fontawesome-webfont.svg | 504 + .../webapp/lib/fonts/fontawesome-webfont.ttf | Bin 0 -> 141564 bytes .../webapp/lib/fonts/fontawesome-webfont.woff | Bin 0 -> 83760 bytes .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | 229 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes main_vm/src/main/webapp/lib/images/32px.png | Bin 0 -> 3121 bytes .../main/webapp/lib/images/CallGate_logo.png | Bin 0 -> 11768 bytes .../src/main/webapp/lib/images/admin-icon.png | Bin 0 -> 1344 bytes .../webapp/lib/images/ak_customerservice.png | Bin 0 -> 45558 bytes main_vm/src/main/webapp/lib/images/eraser.png | Bin 0 -> 596 bytes .../main/webapp/lib/images/iCOMSYS_LOGO.png | Bin 0 -> 137975 bytes .../lib/images/kido_customerservice.png | Bin 0 -> 16566 bytes .../src/main/webapp/lib/images/message.png | Bin 0 -> 1003 bytes .../main/webapp/lib/images/sinokor_logo.png | Bin 0 -> 85842 bytes .../src/main/webapp/lib/images/throbber.gif | Bin 0 -> 1720 bytes .../src/main/webapp/lib/images/user-icon.png | Bin 0 -> 607 bytes .../lib/js/DataTables-1.10.20/datatables.js | 16740 +++++++ .../lib/js/bootstrap/bootstrap-datepicker.js | 1671 + .../js/bootstrap/bootstrap-fileupload.min.js | 7 + .../lib/js/bootstrap/bootstrap-markdown.js | 1297 + .../lib/js/bootstrap/bootstrap-multiselect.js | 994 + .../lib/js/bootstrap/bootstrap-tagsinput.js | 646 + .../lib/js/bootstrap/bootstrap-timepicker.js | 1097 + .../js/bootstrap/bootstrap-timepicker.min.js | 5 + .../lib/js/bootstrap/bootstrap-timepicker2.js | 1177 + .../main/webapp/lib/js/bootstrap/bootstrap.js | 2279 + .../webapp/lib/js/bootstrap/bootstrap.min.js | 12 + .../lib/js/bootstrap/dataTables.bootstrap.js | 182 + .../lib/js/bootstrap/typeahead.bundle.js | 2451 + .../main/webapp/lib/js/commonConfirmSwal.js | 21 + main_vm/src/main/webapp/lib/js/imgModal.js | 31 + .../main/webapp/lib/js/javascripts/json2.js | 530 + .../webapp/lib/js/javascripts/theme.custom.js | 1 + .../webapp/lib/js/javascripts/theme.init.js | 623 + .../main/webapp/lib/js/javascripts/theme.js | 3997 ++ .../jquery.browser.mobile.js | 1 + .../js/jquery-datatables-bs3/datatables.js | 400 + .../dataTables.tableTools.js | 3165 ++ .../dataTables.tableTools.min.js | 69 + .../js/jquery-datatables/jquery.dataTables.js | 14622 ++++++ .../jquery.dataTables.min.js | 184 + .../jquery-placeholder/jquery.placeholder.js | 185 + .../main/webapp/lib/js/jquery/jquery-3.5.1.js | 10872 +++++ .../webapp/lib/js/jquery/jquery.autosize.js | 266 + .../webapp/lib/js/jquery/jquery.caret.min.js | 2 + .../webapp/lib/js/jquery/jquery.form.min.js | 11 + .../src/main/webapp/lib/js/jquery/jquery.js | 9111 ++++ .../webapp/lib/js/jquery/jquery.tag-editor.js | 370 + .../src/main/webapp/lib/js/jstree/jstree.js | 2065 + .../lib/js/magnific-popup/magnific-popup.js | 2049 + .../main/webapp/lib/js/modernizr/modernizr.js | 480 + main_vm/src/main/webapp/lib/js/moment.min.js | 1 + .../lib/js/nanoscroller/nanoscroller.js | 930 + .../lib/js/owl-carousel/owl.carousel.js | 1512 + .../lib/js/owl-carousel/owl.carousel.min.js | 47 + .../webapp/lib/js/pnotify/pnotify.custom.js | 146 + .../lib/js/select-1.3.1/select.dataTables.js | 38 + .../webapp/lib/js/sweetAlert/sweetalert2.js | 2994 ++ .../lib/new/assets/css/lib/billboard.css | 235 + .../lib/new/assets/css/lib/billboard.min.css | 9 + .../main/webapp/lib/new/assets/css/new.css | 3717 ++ .../webapp/lib/new/assets/css/new.css.map | 11 + .../new/assets/images/icon-close-circle.svg | 6 + .../lib/new/assets/images/icon-play.png | Bin 0 -> 526 bytes .../lib/new/assets/images/icon-search.svg | 3 + .../lib/new/assets/images/login_logo.png | Bin 0 -> 5387 bytes .../webapp/lib/new/assets/images/logo.png | Bin 0 -> 3176 bytes .../new/assets/js/lib/billboard.pkgd.min.js | 24 + .../webapp/lib/new/assets/scss/_common.scss | 394 + .../webapp/lib/new/assets/scss/_content.scss | 244 + .../main/webapp/lib/new/assets/scss/new.scss | 2 + .../main_vm/MainVmApplicationTests.java | 13 + 1283 files changed, 467971 insertions(+), 4 deletions(-) create mode 100644 main_vm/.gitignore create mode 100644 main_vm/build.gradle create mode 100644 main_vm/gradle/wrapper/gradle-wrapper.jar create mode 100644 main_vm/gradle/wrapper/gradle-wrapper.properties create mode 100644 main_vm/gradlew create mode 100644 main_vm/gradlew.bat create mode 100644 main_vm/lib/ASRLIB-2.4.0.2.jar create mode 100644 main_vm/lib/pttsnet_class.jar create mode 100644 main_vm/settings.gradle create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/MainVmApplication.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/ServletInitializer.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/advice/AdviceHandler.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/advice/ErrorResult.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/advice/README.md create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomBadRequestException.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomNoSuchFieldException.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomNotFoundException.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomRuntimeException.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/ExcelService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/FileService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/LogService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/LogVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/RestTemplateService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/SequenceService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/functionnode/FunctionVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/functionnode/FunctionWsNashorn.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/functionnode/ex/WsNotAvailableException.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/dashboard/controller/DashboardController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/errorpage/controller/ErrorPageController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/controller/LoginController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/req/LoginReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/req/MainOprReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/req/PwdUpdateReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/LoginCheckReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/OprmngCodeRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/SelectMainMenuHeadVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/ServiceGroupRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/UserPolicyListRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/UserVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/service/CustomUserDetailsService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/service/LoginService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemCommoncodeController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemCustController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemGroupAuthController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemPolicyMenuController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemServiceGroupController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemUserAdminController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemUserController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemCommoncodeService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemCustService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemGroupAuthService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemPolicyMenuService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemServiceGroupService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemUserAdminService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemUserService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/DslDataTableRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotTtsTagRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotTtsTagVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserAuthGroupListRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserCustRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserDoubleCheckReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserSaveReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserUpdateReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserViewRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserViewSubRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommonCodeDeleteReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeInsertReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeUpdateReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCustSaveReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCustSaveSubReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCustSelectRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemIcsCustInfoReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemIcsCustInfoRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemPolicyMenuReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemPolicyMenuRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupModifyReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupUpdateRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupUserSearchReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupUserSearchRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupInsertReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupTreeRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupUpdateReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupViewRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupViewSubListRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupViewVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/WisenutInsertReqVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/WisenutInsertResVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/addServiceAuthList.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationApiNodeController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationApiNodeEditController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationCmmNodeController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationDictionaryController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationIntentController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationScenarioGUIController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationScenarioGUINodeEditController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationSynonymController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationSynonymController.java.rej create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationSystemEntityController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/dto/IntentRequestDTO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/dto/TbIntentExampleDto.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutEntityService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutIntentService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutProjectService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutEntityServiceImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutIntentServiceImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutProjectServiceImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutServiceImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/util/RestTemplateUtil.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/InferenceAPIResponseDTO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/NlpSimulationResult.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/NlpWisenutResult.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/SentenceListVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationApiNodeEditService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationApiNodeService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationCmmNodeService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationScenarioGUINodeEditService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationScenarioGUIService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationSystemEntityService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/IntentManageService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/NlpSettingService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/SynonymManageService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/CallInfoVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationApiNodeEditReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationApiNodeInfoReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationApiNodeInfoRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeDiagramRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeDiagramVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeEditReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeInfoReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeInfoRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioDiagramRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioDiagramVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioManagerInfoRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioManagerRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioManagerSearchReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioMasterVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioRelatedIntentSaveReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioRelatedIntentVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioReleaseRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioWorkHistoryRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/LongtextManagerVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/NlpSearchListVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ProjectSettingVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/RetrieveCustNameVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SearchIntentListVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SelectIntentListVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SelectSimilarityCriteriaVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SelectSlotIntentListVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SynonymWordListVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SystemEntityRes.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/TbBotCommonCodeVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/intent/ExcelIntentListVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/intent/ExcelIntentListVoEx.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/intent/IntentSearchVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/selectIntentEntityNameListVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/ExcelSynonymListVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/SelectSynonymList2Vo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/SelectSynonymListVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/SynonymProcess.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/intentAnalysis/service/IntentAnalysisService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/intentAnalysis/service/impl/IntentAnalysisServiceImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/SttCode.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/UploadUtil.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestInSttController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestInTtsController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestInferenceController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestSimulatorController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestInSttService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestInTtsService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestInferenceService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestSimulatorService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/vo/LearningTestDummyApiVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/vo/SelectIntentTestVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/vo/SelectProjectSettingInfoVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringAiengineController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringConsultingController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringConversationMarkController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringIntentAnalysisController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringOutscenarioController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringWorkHistoryController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/ConsultingListVoReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/ConversationMarkListVoReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/IntentAnalysisListVoReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/OutScenarioListVoReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringConsultingService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringConversationMarkService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringOutscenarioService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringWorkHistoryService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/impl/MonitoringConsultingServiceImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/impl/MonitoringConversationMarkServiceImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/impl/MonitoringOutscenarioServiceImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/ConsultingVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/ConversationMarkVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/InsertWorkHstListVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/IntentAnalysisVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/OutScenarioVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/RecordDownloadVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/RetrieveWorkHstListVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/SearchWorkHstVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/OprManageBgmController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/OprManageNlpSettingController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/OprManageTTSTagController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/dto/BgmDto.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/OprManageBgmService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/OprManageBgmService2.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/OprManageTTSTagService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/impl/OprManageBgmServiceImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/vo/OprManageBgmVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/vo/SelectTtsTagInfoVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/StatisticsAiengineController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/StatisticsCallInfoController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/req/StatisticsCallInfoListReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/service/StatisticsCallInfoService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/service/impl/StatisticsCallInfoServiceImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/vo/StatisticsCallInfoExcelVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/dashboard/service/StatisticsDashboardService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/dashboard/service/impl/StatisticsDashboardServiceImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/StatisticsIntentDayController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/StatisticsIntentItemController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/req/IntentAnalysisDayListReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/req/IntentAnalysisItemListReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/service/StatisticsIntentService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/service/impl/StatisticsIntentServiceImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/StatisticsScenarioDayController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/StatisticsScenarioItemController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/req/StatisticsScenarioDayListReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/req/StatisticsScenarioItemListReq.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/service/StatisticsScenarioService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/service/impl/StatisticsScenarioServiceImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/vo/StatisticsScenarioDayVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/vo/StatisticsScenarioItemVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsIntentController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsResponseController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsScenarioController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsUsageController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/use/RecordController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/util/ScenarioConverter.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/CreateDataController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/CreateDataService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/FailNodeVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/TestRestController.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/TestRestService.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/TestVoUser.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/testvo/APINodeVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/testvo/KeyValueVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/EnumToMap.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/MenuCategoryVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/MenuVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/code/LongTextManagerColumnCode.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/code/LongTextManagerTableCode.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/code/ServiceStatusType.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/code/UseYNCode.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/ActionResource.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/MenuResource.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/PolicyResource.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/RoleResource.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/ScenarioNodeType.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/SessionResource.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/SolTypeResource.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/URLResource.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/config/AWSConfig.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigDatasource.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigFeign.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigLogging.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigMessage.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigModelMapper.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigMvc.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigSecurity.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigSqlQuery.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigWebsocket.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/config/CustomErrorDecoder.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/filter/HibernateInterceptor.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/filter/LoginFilter.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/util/ClientIp.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/util/CustomDialect.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/util/EgovFileScrty.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/util/ExcelUtils.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/util/HashUtil.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/common/util/README.md create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbDictionaryMaster.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbEntityMaster.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbIcsLog.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbIntentExample.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbIntentMaster.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbProjectSetting.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbSlotMaster.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbSynonymMaster.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbSynonymWord.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/id/TbIcsLogId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/id/TbIntentExampleId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/id/TbSynonymWordId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/learningTest/TbIntentTest.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallBotLog.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallBotRec.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallInfo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallUserLog.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallUserRec.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbScenarioBreakNode.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbTalkBookmark.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallBotLogId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallInfoId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallRecId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallUserLogId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/oprManage/TbBgmMng.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/oprManage/TbBotTtsTag.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbApiNode.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbCommonNode.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbLongtextManager.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioHistory.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioMaster.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioRelatedIntent.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioRelease.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioTemplate.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/id/TbLongtextManagerId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/id/TbScenarioRelatedIntentId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbBotCommonCode.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbBotUser.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbCustPolicy.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbIcsCustInfo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbIcsOprMngInfo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbServiceAuthGroup.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbServiceGrouop.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbServiceGroupPolicy.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbUserAuthGroup.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbUserCust.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbBotCommonCodeId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbBotTtsTagId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbBotUserId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbCustPolicyId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbIcsOprMngInfoId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbServiceAuthGroupId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbServiceGrouopId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbServiceGroupPolicyId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbUserAuthGroupId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbUserCustId.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/conversation/TbProjectSettingRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/conversation/dsl/TbProjectSettingRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/conversation/dsl/TbProjectSettingRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/learningTest/TbIntentTestRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/learningTest/dsl/TbIntentTestDslRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/learningTest/dsl/TbIntentTestDslRepoImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallBotLogRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallBotRecRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallInfoRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallUserLogRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallUserRecRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbScenarioBreakNodeRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/TbBgmMngRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/TbBotTtsTagRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBgmMngDslRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBgmMngDslRepoImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBotTtsTagRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBotTtsTagRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbApiNodeRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbCommonNodeRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbEntityMasterRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbLongtextManagerRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioHistoryRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioMasterRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioRelatedIntentRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioReleaseRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioTemplateRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbApiNodeRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbApiNodeRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbCommonNodeRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbCommonNodeRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbLongTextManagerDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbLongTextManagerDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioManagerRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioManagerRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioRelatedIntentRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioRelatedIntentRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbBotCommonCodeRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbBotUserRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbCustPolicyRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIcsCustInfoRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIcsLogRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIcsOprMngInfoRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIntentExampleRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIntentMasterRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbServiceAuthGroupRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbServiceGrouopRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbServiceGroupPolicyRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbSynonymMasterRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbSynonymWordRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbUserAuthGroupRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbUserCustRepo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotCommonCodeRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotCommonCodeRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotUserRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotUserRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbCustPolicyRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbCustPolicyRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsCustInfoRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsCustInfoRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsLogDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsLogDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsOprMngInfoRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsOprMngInfoRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentExamplRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentExampleRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentMasterRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentMasterRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceAuthGroupRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceAuthGroupRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceGrouopRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceGrouopRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymMasterRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymMasterRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymWordRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymWordRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbUserAuthGroupRepoDsl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbUserAuthGroupRepoDslImpl.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/IntentAnalysisDayVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/IntentAnalysisItemVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/LoginVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MenuManageVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringConsultingVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringConversationMarkVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringIntentAnalysisVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringOutscenarioVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringScenarioBreakVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/OprManageBgmListVo.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/StatisticsCallInfoVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/StatisticsDashboardVO.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/BgmManageMapper.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/BotTTSTagMapper.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/ConversationMarkMapper.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/IntentAnalysisMapper.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/IntentManageMapper.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/MonitoringConsultingMapper.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/MonitoringOutscenarioMapper.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/NlpWisenutApiMapper.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsCallInfoMapper.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsDashboardMapper.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsIntentMapper.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsScenarioMapper.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/SynonymManageMapper.java create mode 100644 main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/TestMapper.java create mode 100644 main_vm/src/main/resources/application-create-local.yml create mode 100644 main_vm/src/main/resources/application-create.yml create mode 100644 main_vm/src/main/resources/application-dev.yml create mode 100644 main_vm/src/main/resources/application-devjj.yml create mode 100644 main_vm/src/main/resources/application-drop.yml create mode 100644 main_vm/src/main/resources/application-local-jws.yml create mode 100644 main_vm/src/main/resources/application-local-kgw.yml create mode 100644 main_vm/src/main/resources/application-local.yml create mode 100644 main_vm/src/main/resources/application-local_lek.yml create mode 100644 main_vm/src/main/resources/application-prod.yml create mode 100644 main_vm/src/main/resources/application-stg.yml create mode 100644 main_vm/src/main/resources/application.yml create mode 100644 main_vm/src/main/resources/document/Ourstore_Ai_Manager_User_Manual.pdf create mode 100644 main_vm/src/main/resources/logback-spring.xml create mode 100644 main_vm/src/main/resources/mapper/test/BgmManage_SQL.xml create mode 100644 main_vm/src/main/resources/mapper/test/BotTTSTag_SQL.xml create mode 100644 main_vm/src/main/resources/mapper/test/ConversationMark_SQL.xml create mode 100644 main_vm/src/main/resources/mapper/test/IntentAnalysis_SQL.xml create mode 100644 main_vm/src/main/resources/mapper/test/IntentManage_SQL.xml create mode 100644 main_vm/src/main/resources/mapper/test/MonitoringConsulting_SQL.xml create mode 100644 main_vm/src/main/resources/mapper/test/MonitoringOutscenario_SQL.xml create mode 100644 main_vm/src/main/resources/mapper/test/NlpWisenutApi_SQL.xml create mode 100644 main_vm/src/main/resources/mapper/test/StatisticsCallInfo_SQL.xml create mode 100644 main_vm/src/main/resources/mapper/test/StatisticsDashboard_SQL.xml create mode 100644 main_vm/src/main/resources/mapper/test/StatisticsIntent_SQL.xml create mode 100644 main_vm/src/main/resources/mapper/test/StatisticsScenario_SQL.xml create mode 100644 main_vm/src/main/resources/mapper/test/SynonymManage_SQL.xml create mode 100644 main_vm/src/main/resources/mapper/test/Test1.xml create mode 100644 main_vm/src/main/resources/message/messages.properties create mode 100644 main_vm/src/main/resources/message/messages_ko.properties create mode 100644 main_vm/src/main/resources/message/messages_ko_KR.properties create mode 100644 main_vm/src/main/resources/message/validation.properties create mode 100644 main_vm/src/main/resources/message/validation_ko_KR.properties create mode 100644 main_vm/src/main/webapp/META-INF/MANIFEST.MF create mode 100644 main_vm/src/main/webapp/META-INF/license create mode 100644 main_vm/src/main/webapp/META-INF/osslicenses create mode 100644 main_vm/src/main/webapp/META-INF/readme create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/dashboard.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/error.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/A030301.html create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/commoncode.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/cust.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/custInsert.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/custUpdate.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/groupAuth.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/groupAuthUpdate.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/groupAuthUpdatelegacy.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/policyMenu.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/serviceGroupInsert.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/serviceGroupList.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/serviceGroupView.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/user.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/userAdmin.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/userAdminInsert.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/userAdminView.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/userInsert.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/userView.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/include/addIntentExample.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/include/bottomScriptTag.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/include/getLnbMenu.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/include/getMenuData.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/include/header.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/include/topLinkTag.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/conversation/apiNode.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/conversation/apiNodeEdit.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/conversation/cmmNode.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/conversation/cmmNodeEdit.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/conversation/dictionary.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/conversation/intent.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/conversation/scenario.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/conversation/scenarioGUI.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/conversation/scenarioGUINodeEdit.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/conversation/scenario_list.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/conversation/slot.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/conversation/synonym.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/conversation/systemEntity.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/learningTest/inference.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/learningTest/simulator.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/learningTest/stttest.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/learningTest/ttstest.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/monitoring/aiengine.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/monitoring/consulting.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/monitoring/conversationMark.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/monitoring/intentAnalysis.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/monitoring/outscenario.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/monitoring/workhistory.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/oprmanage/bgm.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/oprmanage/nlpSetting.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/oprmanage/ttstag.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/statistics/call/aiengine.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/statistics/call/info.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/statistics/intent/day.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/statistics/intent/item.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/statistics/scenario/day.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/rcp/statistics/scenario/item.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/signin/changePwd.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/signin/signin.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/system/A050101.html create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/system/manageOperation.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/system/manageUserList.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/system/retrieveAuthList.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/adm/system/retrieveMenuAuth.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/jsp/sec/accessDenied.jsp create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/META-INF/MANIFEST.MF create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/constants/ConstJuso.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/constants/ConstMajorBuild.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/constants/ConstNumber.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/constants/ConstSpecialArea.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/parser/AddressPreProcess.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/parser/CheckAddress.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/parser/EnvLoader.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/parser/PatternFindBuild.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/parser/PatternStringAddress.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/parser/ProcessGoogleSTT.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/parser/RelocateBunjiData.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/util/AddressNumberUtil.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/util/AddressParserUtil.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/util/AddressStringUtil.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/util/ExistDoroNameUtil.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/util/FileUtil.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/com/icomsys/address/util/NumberUtil.class create mode 100644 main_vm/src/main/webapp/WEB-INF/lib/icomsys-analyze-address.jar create mode 100644 main_vm/src/main/webapp/aajs/addIntentExample.js create mode 100644 main_vm/src/main/webapp/aajs/consulting.js create mode 100644 main_vm/src/main/webapp/aajs/conversationMark.js create mode 100644 main_vm/src/main/webapp/aajs/dictionary.js create mode 100644 main_vm/src/main/webapp/aajs/intentAnalysis.js create mode 100644 main_vm/src/main/webapp/aajs/outscenario.js create mode 100644 main_vm/src/main/webapp/aajs/scenario.js create mode 100644 main_vm/src/main/webapp/aajs/scenario_list.js create mode 100644 main_vm/src/main/webapp/aajs/slot.js create mode 100644 main_vm/src/main/webapp/aajs/statisticsCallInfo.js create mode 100644 main_vm/src/main/webapp/aajs/statisticsDashboard.js create mode 100644 main_vm/src/main/webapp/aajs/statisticsIntentDay.js create mode 100644 main_vm/src/main/webapp/aajs/statisticsIntentItem.js create mode 100644 main_vm/src/main/webapp/aajs/statisticsScenarioDay.js create mode 100644 main_vm/src/main/webapp/aajs/statisticsScenarioItem.js create mode 100644 main_vm/src/main/webapp/aajs/synonym.js create mode 100644 main_vm/src/main/webapp/common/error.jsp create mode 100644 main_vm/src/main/webapp/css/remove/_chat-ui.css create mode 100644 main_vm/src/main/webapp/css/remove/chat-ui.css create mode 100644 main_vm/src/main/webapp/css/remove/egovframework/button.css create mode 100644 main_vm/src/main/webapp/css/remove/egovframework/cal.css create mode 100644 main_vm/src/main/webapp/css/remove/egovframework/com.css create mode 100644 main_vm/src/main/webapp/css/remove/egovframework/common.css create mode 100644 main_vm/src/main/webapp/css/remove/egovframework/login.css create mode 100644 main_vm/src/main/webapp/css/remove/egovframework/popup.css create mode 100644 main_vm/src/main/webapp/css/remove/egovframework/zip.css create mode 100644 main_vm/src/main/webapp/css/remove/opensource/google-web-stt.css create mode 100644 main_vm/src/main/webapp/design/design/lg_cinnamon.fig create mode 100644 main_vm/src/main/webapp/design/pub/assets/css/lib/billboard.css create mode 100644 main_vm/src/main/webapp/design/pub/assets/css/lib/billboard.min.css create mode 100644 main_vm/src/main/webapp/design/pub/assets/css/new.css create mode 100644 main_vm/src/main/webapp/design/pub/assets/css/new.css.map create mode 100644 main_vm/src/main/webapp/design/pub/assets/images/icon-close-circle.svg create mode 100644 main_vm/src/main/webapp/design/pub/assets/images/icon-search.svg create mode 100644 main_vm/src/main/webapp/design/pub/assets/js/lib/billboard.pkgd.min.js create mode 100644 main_vm/src/main/webapp/design/pub/assets/scss/_common.scss create mode 100644 main_vm/src/main/webapp/design/pub/assets/scss/_content.scss create mode 100644 main_vm/src/main/webapp/design/pub/assets/scss/new.scss create mode 100644 main_vm/src/main/webapp/design/pub/html/addrbot/manageAddrSection.html create mode 100644 main_vm/src/main/webapp/design/pub/html/conversation/dictionary.html create mode 100644 main_vm/src/main/webapp/design/pub/html/conversation/intent.html create mode 100644 main_vm/src/main/webapp/design/pub/html/conversation/scenario.html create mode 100644 main_vm/src/main/webapp/design/pub/html/conversation/scenario_list.html create mode 100644 main_vm/src/main/webapp/design/pub/html/conversation/slot.html create mode 100644 main_vm/src/main/webapp/design/pub/html/conversation/synonym.html create mode 100644 main_vm/src/main/webapp/design/pub/html/conversation/systemEntity.html create mode 100644 main_vm/src/main/webapp/design/pub/html/guide.html create mode 100644 main_vm/src/main/webapp/design/pub/html/pagelist.html create mode 100644 main_vm/src/main/webapp/design/pub/html/statistics/record.html create mode 100644 main_vm/src/main/webapp/design/pub/html/statistics/statistics.html create mode 100644 main_vm/src/main/webapp/design/pub/html/system/project.html create mode 100644 main_vm/src/main/webapp/design/pub/html/test/inference.html create mode 100644 main_vm/src/main/webapp/design/pub/html/test/simulator.html create mode 100644 main_vm/src/main/webapp/document/dictionary.xlsx create mode 100644 main_vm/src/main/webapp/document/inference.xlsx create mode 100644 main_vm/src/main/webapp/document/intent.xls create mode 100644 main_vm/src/main/webapp/document/intent.xlsx create mode 100644 main_vm/src/main/webapp/document/synonym.xls create mode 100644 main_vm/src/main/webapp/document/synonym.xlsx create mode 100644 main_vm/src/main/webapp/images/loading.gif create mode 100644 main_vm/src/main/webapp/images/remove/bg_boardhead.gif create mode 100644 main_vm/src/main/webapp/images/remove/bg_h2.gif create mode 100644 main_vm/src/main/webapp/images/remove/bl_circle.gif create mode 100644 main_vm/src/main/webapp/images/remove/bl_dot.gif create mode 100644 main_vm/src/main/webapp/images/remove/bl_dotbg.gif create mode 100644 main_vm/src/main/webapp/images/remove/bl_dotblack.gif create mode 100644 main_vm/src/main/webapp/images/remove/bl_grayarrow.gif create mode 100644 main_vm/src/main/webapp/images/remove/bl_h2.gif create mode 100644 main_vm/src/main/webapp/images/remove/bl_underline.gif create mode 100644 main_vm/src/main/webapp/images/remove/bl_underline2.gif create mode 100644 main_vm/src/main/webapp/images/remove/blue_arrow.gif create mode 100644 main_vm/src/main/webapp/images/remove/btn/btn_close.gif create mode 100644 main_vm/src/main/webapp/images/remove/btn/btn_next.gif create mode 100644 main_vm/src/main/webapp/images/remove/btn/btn_prev.gif create mode 100644 main_vm/src/main/webapp/images/remove/btn/bu5_close.gif create mode 100644 main_vm/src/main/webapp/images/remove/btn/icon_aft_month.gif create mode 100644 main_vm/src/main/webapp/images/remove/btn/icon_aft_year.gif create mode 100644 main_vm/src/main/webapp/images/remove/btn/icon_pre_month.gif create mode 100644 main_vm/src/main/webapp/images/remove/btn/icon_pre_year.gif create mode 100644 main_vm/src/main/webapp/images/remove/btn/icon_zip_search.gif create mode 100644 main_vm/src/main/webapp/images/remove/bu2_left.gif create mode 100644 main_vm/src/main/webapp/images/remove/bu2_right.gif create mode 100644 main_vm/src/main/webapp/images/remove/calendar.gif create mode 100644 main_vm/src/main/webapp/images/remove/cross.png create mode 100644 main_vm/src/main/webapp/images/remove/danger.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/TAB_01.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/TAB_01_o.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/TAB_02.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/TAB_02_o.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/TAB_03.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/TAB_03_o.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/bg_list_th.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/bg_list_thEnd.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/bottom_bg.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/botttom_address.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/botttom_logo.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/btn_kne.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/btn_logout.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/bu_icon_delete.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/blue_bg.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/btn/bu2.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/btn/bu2_bg.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/btn/bu2_left.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/btn/bu2_right.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/button/bu2.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/button/bu2_bg.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/button/bu2_left.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/button/bu2_right.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/chart/chart1.JPG create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/chart/chart2.JPG create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/chart/chart3.JPG create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/chart/chart4.JPG create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/chart/chart5.JPG create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/chart/chart6.JPG create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/danger.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/er_logo.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/fms/icon/bu5_close.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/fms/icon/bu_icon_delete.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/go_history.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/go_main.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/icon/bu_icon_carlendar.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/icon/icon_next.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/icon/icon_nextend.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/icon/icon_prev.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/icon/icon_prevend.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/icon/no_required.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/icon/reply_arrow.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/icon/required.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/icon/search.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/icon/tit_icon.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/icon/tit_icon_pop.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/img/search2.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/left_bg.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/left_menu_bg.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/main/bg_footer.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/main/bg_header.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/main/h1_logo.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/mod/icon/icon_next.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/mod/icon/icon_nextend.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/mod/icon/icon_prev.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/mod/icon/icon_prevend.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/search2.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/bg_list_th.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/bg_list_thEnd.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/btn_kne.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/btn_logout.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/bu2.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/button/bu2_bg.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/button/bu2_left.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/button/bu2_right.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/contents.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/icon/icon_next.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/icon/icon_nextend.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/icon/icon_prev.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/icon/icon_prevend.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/icon/no_required.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/icon/required.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/icon/search.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/icon/tit_icon.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/icon/tit_icon_pop.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/index_login.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/index_login.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/join_btn.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/left_bg.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/left_menu_bg.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/left_menu_btm.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/left_menu_top.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/login_bg01.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/login_btn.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/login_id_save.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/logo.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/menu_bg.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/uss/umt/page_title.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/btn/bu2.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_base.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_cd.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_empty.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_folder.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_folderopen.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_globe.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_imgfolder.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_join.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_joinbottom.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_line.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_minus.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_minusbottom.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_musicfolder.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_nolines_minus.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_nolines_plus.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_page.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_plus.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_plusbottom.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_question.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/cmm/utl/menu_trash.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/ency.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/icon_next.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/icon_nextend.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/icon_prev.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/icon_prevend.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/index_login.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/index_login.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/join_btn.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/left_bg.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/left_menu_bg.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/left_menu_btm.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/left_menu_top.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/login_bg01.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/login_btn.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/login_id_save.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/logo.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/logo_01.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/logout_btn.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/main_top.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/main_top02.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/menu_bg.jpg create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/navi_bg.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/page_title.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/required.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/terms.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/tit_icon.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/tit_icon_pop.gif create mode 100644 main_vm/src/main/webapp/images/remove/egovframework/com/yellow_bull.gif create mode 100644 main_vm/src/main/webapp/images/remove/er_logo.jpg create mode 100644 main_vm/src/main/webapp/images/remove/footer/img_mois.png create mode 100644 main_vm/src/main/webapp/images/remove/footer/img_nia.png create mode 100644 main_vm/src/main/webapp/images/remove/go_history.jpg create mode 100644 main_vm/src/main/webapp/images/remove/header/limg_lt_pas_logo.gif create mode 100644 main_vm/src/main/webapp/images/remove/header/logo.jpg create mode 100644 main_vm/src/main/webapp/images/remove/icon_next.gif create mode 100644 main_vm/src/main/webapp/images/remove/icon_nextend.gif create mode 100644 main_vm/src/main/webapp/images/remove/icon_prev.gif create mode 100644 main_vm/src/main/webapp/images/remove/icon_prevend.gif create mode 100644 main_vm/src/main/webapp/images/remove/img_search.gif create mode 100644 main_vm/src/main/webapp/images/remove/index/bg_board01.gif create mode 100644 main_vm/src/main/webapp/images/remove/index/bg_board02.gif create mode 100644 main_vm/src/main/webapp/images/remove/index/bg_board03.gif create mode 100644 main_vm/src/main/webapp/images/remove/index/btn_more.gif create mode 100644 main_vm/src/main/webapp/images/remove/index/img_maintitle.jpg create mode 100644 main_vm/src/main/webapp/images/remove/index/img_new.gif create mode 100644 main_vm/src/main/webapp/images/remove/index/img_subtitle01.gif create mode 100644 main_vm/src/main/webapp/images/remove/index/img_subtitle02.gif create mode 100644 main_vm/src/main/webapp/images/remove/index/img_subtitle03.gif create mode 100644 main_vm/src/main/webapp/images/remove/left_bg.gif create mode 100644 main_vm/src/main/webapp/images/remove/leftmenu/bl_depth01.gif create mode 100644 main_vm/src/main/webapp/images/remove/leftmenu/leftmenu_bottom.gif create mode 100644 main_vm/src/main/webapp/images/remove/leftmenu/leftmenu_repeat.gif create mode 100644 main_vm/src/main/webapp/images/remove/leftmenu/leftmenu_top.gif create mode 100644 main_vm/src/main/webapp/images/remove/leftmenu/login.jpg create mode 100644 main_vm/src/main/webapp/images/remove/leftmenu/logout.jpg create mode 100644 main_vm/src/main/webapp/images/remove/login/bg_login.gif create mode 100644 main_vm/src/main/webapp/images/remove/login/btn_findidpw.gif create mode 100644 main_vm/src/main/webapp/images/remove/login/btn_login.gif create mode 100644 main_vm/src/main/webapp/images/remove/login/btn_regist.gif create mode 100644 main_vm/src/main/webapp/images/remove/login/img_idtext.gif create mode 100644 main_vm/src/main/webapp/images/remove/login/img_logintitle.gif create mode 100644 main_vm/src/main/webapp/images/remove/login/img_pwtext.gif create mode 100644 main_vm/src/main/webapp/images/remove/menu_ebt.jpg create mode 100644 main_vm/src/main/webapp/images/remove/opensource/google-web-stt/mic-animate.gif create mode 100644 main_vm/src/main/webapp/images/remove/opensource/google-web-stt/mic-slash.gif create mode 100644 main_vm/src/main/webapp/images/remove/opensource/google-web-stt/mic.gif create mode 100644 main_vm/src/main/webapp/images/remove/question.jpg create mode 100644 main_vm/src/main/webapp/images/remove/reply_arrow.gif create mode 100644 main_vm/src/main/webapp/images/remove/required.gif create mode 100644 main_vm/src/main/webapp/images/remove/search.gif create mode 100644 main_vm/src/main/webapp/images/remove/tit_icon.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_base.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_cd.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_empty.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_folder.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_folderopen.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_globe.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_imgfolder.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_join.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_joinbottom.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_line.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_minus.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_minusbottom.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_musicfolder.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_nolines_minus.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_nolines_plus.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_page.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_plus.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_plusbottom.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_question.gif create mode 100644 main_vm/src/main/webapp/images/remove/tree/menu_trash.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_base.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_cd.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_empty.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_folder.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_folderopen.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_globe.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_imgfolder.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_join.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_joinbottom.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_line.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_minus.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_minusbottom.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_musicfolder.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_nolines_minus.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_nolines_plus.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_page.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_plus.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_plusbottom.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_question.gif create mode 100644 main_vm/src/main/webapp/images/remove/util/menu_trash.gif create mode 100644 main_vm/src/main/webapp/index.jsp create mode 100644 main_vm/src/main/webapp/js/adm/rcp/conversation/apiNode.js create mode 100644 main_vm/src/main/webapp/js/adm/rcp/conversation/apiNodeEdit.js create mode 100644 main_vm/src/main/webapp/js/adm/rcp/conversation/cmmNode.js create mode 100644 main_vm/src/main/webapp/js/adm/rcp/conversation/cmmNodeEdit.js create mode 100644 main_vm/src/main/webapp/js/adm/rcp/conversation/common.js create mode 100644 main_vm/src/main/webapp/js/adm/rcp/conversation/scenarioGUI.js create mode 100644 main_vm/src/main/webapp/js/adm/rcp/conversation/scenarioGUINodeEdit.js create mode 100644 main_vm/src/main/webapp/js/adm/rcp/conversation/scenarioNodePopup.js create mode 100644 main_vm/src/main/webapp/js/icomsys-video.js create mode 100644 main_vm/src/main/webapp/js/lib/crypto-js/aes.js create mode 100644 main_vm/src/main/webapp/js/remove/EgovBBSMng.js create mode 100644 main_vm/src/main/webapp/js/remove/EgovMainMenu.js create mode 100644 main_vm/src/main/webapp/js/remove/EgovMenuCreat.js create mode 100644 main_vm/src/main/webapp/js/remove/EgovMultiFile.js create mode 100644 main_vm/src/main/webapp/js/remove/opensource/google-web-stt.js create mode 100644 main_vm/src/main/webapp/js/remove/opensource/jquery/jquery-1.12.4.min.js create mode 100644 main_vm/src/main/webapp/js/remove/showModalDialog.js create mode 100644 main_vm/src/main/webapp/js/remove/showModalDialogCallee.js create mode 100644 main_vm/src/main/webapp/js/utils.js create mode 100644 main_vm/src/main/webapp/js/zendesk/iframe_top.js create mode 100644 main_vm/src/main/webapp/js/zendesk/value.js create mode 100644 main_vm/src/main/webapp/lib/assets/.DS_Store create mode 100644 main_vm/src/main/webapp/lib/assets/css/.DS_Store create mode 100644 main_vm/src/main/webapp/lib/assets/css/20221212.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/20221213.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/diagram/dx-diagram.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/diagram/dx-diagram2.1.45.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/diagram/dx.custom.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/diagram/dx.custom20.2.8.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/diagram/icons/dxicons.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/css/diagram/icons/dxicons.woff create mode 100644 main_vm/src/main/webapp/lib/assets/css/diagram/icons/dxicons.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/css/diagram/icons/dxiconsmaterial.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/css/diagram/icons/dxiconsmaterial.woff create mode 100644 main_vm/src/main/webapp/lib/assets/css/diagram/icons/dxiconsmaterial.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/css/diagram/indigo-pink.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/lib/billboard.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/lib/billboard.min.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/lib/bootstrap-datetimepicker.min.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/lib/bootstrap-tagsinput.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/lib/bootstrap.min.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/lib/dataTables.bootstrap.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/lib/datatables.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/lib/datepicker3.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/lib/jquery-ui-timepicker.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/lib/jquery-ui.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/lib/jstree.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/lib/nice-select.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/lib/select.dataTables.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/lib/select2.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/rcpReport.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/style.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/style.min.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/styleBAK.css create mode 100644 main_vm/src/main/webapp/lib/assets/css/xeicon.css create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/FontAwesome.otf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/fontawesome-webfont.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/fontawesome-webfont.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/fontawesome-webfont.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/fontawesome-webfont.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/glyphicons-halflings-regular.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/glyphicons-halflings-regular.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/glyphicons-halflings-regular.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/glyphicons-halflings-regular.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/glyphicons-halflings-regular.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-100.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-100.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-100.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-100.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-300.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-300.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-300.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-300.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-500.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-500.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-500.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-500.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-700.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-700.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-700.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-700.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-900.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-900.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-900.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-900.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-regular.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-regular.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-regular.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/noto-sans-kr-v12-latin_korean-regular.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-100.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-100.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-100.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-100.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-100.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-100italic.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-100italic.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-100italic.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-100italic.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-100italic.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-300.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-300.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-300.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-300.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-300.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-300italic.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-300italic.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-300italic.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-300italic.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-300italic.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-500.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-500.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-500.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-500.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-500.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-500italic.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-500italic.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-500italic.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-500italic.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-500italic.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-700.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-700.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-700.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-700.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-700.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-700italic.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-700italic.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-700italic.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-700italic.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-700italic.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-900.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-900.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-900.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-900.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-900.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-900italic.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-900italic.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-900italic.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-900italic.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-900italic.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-italic.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-italic.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-italic.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-italic.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-italic.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-regular.eot create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-regular.svg create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-regular.ttf create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-regular.woff create mode 100644 main_vm/src/main/webapp/lib/assets/fonts/roboto-v20-latin-regular.woff2 create mode 100644 main_vm/src/main/webapp/lib/assets/images/.DS_Store create mode 100644 main_vm/src/main/webapp/lib/assets/images/2019-10-31_14-38-34_28ob7r.webm create mode 100644 main_vm/src/main/webapp/lib/assets/images/32px.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/40px.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/CallGate_logo.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/FCC_Logo_212.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/FCC_Logo_230.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/KakaoTalk_Video_20200309_1649_40_885.mp4 create mode 100644 main_vm/src/main/webapp/lib/assets/images/MV_201905230922007510.jpg create mode 100644 main_vm/src/main/webapp/lib/assets/images/admin-icon.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ajax_loader_red_128.gif create mode 100644 main_vm/src/main/webapp/lib/assets/images/ak_customerservice.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/arisys_logo.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/arrow-btm-color.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/arrow-btm.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/arrow-top.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/audio_stop.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/bg_login.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/btnico-modify.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/checked-item.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/eraser.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/error_icon.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/error_icon02.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/iCOMSYS_LOGO.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-added-sq.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-added.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-call.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-downloader.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-listening.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-menual-download.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-nagetive.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-page-tooltip.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-positive.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-refresh.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-remove.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-searchipt.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-stopBtn.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-test-active.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-test.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-variable-active.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/ico-variable.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/icon-close-circle.svg create mode 100644 main_vm/src/main/webapp/lib/assets/images/icon-excel-off.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/icon-excel.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/icon-search.svg create mode 100644 main_vm/src/main/webapp/lib/assets/images/img-bot.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/img-counselor.jpg create mode 100644 main_vm/src/main/webapp/lib/assets/images/img-keyboard.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/img-user.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/kido_customerservice.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/login_logo.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/logo.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/logo_back.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/logo_error.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/message.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/node-black.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/node-blue.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/node-green.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/node-mint.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/node-navy.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/node-orange.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/node-pink.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/node-purple.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/node-red.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/node-yellow.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/old/login_logo.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/scenario-icon-call-off.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/scenario-icon-call-on.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/scenario-icon-close.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/scenario-icon-copy.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/scenario-icon-debug.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/scenario-icon-debugOn.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/scenario-icon-demo.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/scenario-icon-refresh.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/scenario-icon-window.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/sinokor_logo.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/sort_asc-min.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/sort_asc.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/sort_asc_disabled.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/sort_both.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/sort_desc.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/sort_desc_disabled.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/spr_global_icon.png create mode 100644 main_vm/src/main/webapp/lib/assets/images/throbber.gif create mode 100644 main_vm/src/main/webapp/lib/assets/images/user-icon.png create mode 100644 main_vm/src/main/webapp/lib/assets/js/.DS_Store create mode 100644 main_vm/src/main/webapp/lib/assets/js/diagram/dx-all.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/diagram/dx-diagram.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/.DS_Store create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/billboard.pkgd.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/bootstrap-datepicker.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/bootstrap-datetimepicker.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/bootstrap-fileupload.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/bootstrap-markdown.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/bootstrap-multiselect.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/bootstrap-tagsinput.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/bootstrap-timepicker.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/bootstrap-timepicker.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/bootstrap-timepicker2.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/bootstrap.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/bootstrap.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/buttons.html5.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/commonConfirmSwal.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/d3.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/dataTables.bootstrap.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/dataTables.buttons.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/dataTables.tableTools.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/dataTables.tableTools.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/datatables.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/imgModal.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/jquery-2.2.1.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/jquery-latest.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/jquery-ui-timepicker.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/jquery-ui.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/jquery.MultiFile.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/jquery.dataTables.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/jquery.dataTables.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/jquery.json-editor.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/jquery.nice-select.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/jquery.placeholder.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/jquery.serialize-object.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/jstree.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/jszip.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/magnific-popup.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/modernizr.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/moment.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/owl.carousel.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/owl.carousel.min.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/pnotify.custom.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/select.dataTables.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/select2.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/sweetalert.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/sweetalert2.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/lib/typeahead.bundle.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/scripts.js create mode 100644 main_vm/src/main/webapp/lib/assets/js/scripts.min.js create mode 100644 main_vm/src/main/webapp/lib/css/DataTables-1.10.20/datatables.css create mode 100644 main_vm/src/main/webapp/lib/css/DataTables-1.10.20/images/sort_asc.png create mode 100644 main_vm/src/main/webapp/lib/css/DataTables-1.10.20/images/sort_asc_disabled.png create mode 100644 main_vm/src/main/webapp/lib/css/DataTables-1.10.20/images/sort_both.png create mode 100644 main_vm/src/main/webapp/lib/css/DataTables-1.10.20/images/sort_desc.png create mode 100644 main_vm/src/main/webapp/lib/css/DataTables-1.10.20/images/sort_desc_disabled.png create mode 100644 main_vm/src/main/webapp/lib/css/bootstrap/bootstrap-fileupload.min.css create mode 100644 main_vm/src/main/webapp/lib/css/bootstrap/bootstrap-markdown.min.css create mode 100644 main_vm/src/main/webapp/lib/css/bootstrap/bootstrap-multiselect.css create mode 100644 main_vm/src/main/webapp/lib/css/bootstrap/bootstrap-tagsinput.css create mode 100644 main_vm/src/main/webapp/lib/css/bootstrap/bootstrap-theme.css create mode 100644 main_vm/src/main/webapp/lib/css/bootstrap/bootstrap-theme.min.css create mode 100644 main_vm/src/main/webapp/lib/css/bootstrap/bootstrap-timepicker.css create mode 100644 main_vm/src/main/webapp/lib/css/bootstrap/bootstrap.css create mode 100644 main_vm/src/main/webapp/lib/css/bootstrap/bootstrap.min.css create mode 100644 main_vm/src/main/webapp/lib/css/bootstrap/dataTables.bootstrap.css create mode 100644 main_vm/src/main/webapp/lib/css/bootstrap/datepicker3.css create mode 100644 main_vm/src/main/webapp/lib/css/bootstrap/dropdown-submenu.css create mode 100644 main_vm/src/main/webapp/lib/css/datatables.min.css create mode 100644 main_vm/src/main/webapp/lib/css/default.css create mode 100644 main_vm/src/main/webapp/lib/css/font-awesome/font-awesome.css create mode 100644 main_vm/src/main/webapp/lib/css/font-awesome/font-awesome.min.css create mode 100644 main_vm/src/main/webapp/lib/css/imgModal.css create mode 100644 main_vm/src/main/webapp/lib/css/jquery-datatables-bs3/datatables.css create mode 100644 main_vm/src/main/webapp/lib/css/jquery.tag-editor.css create mode 100644 main_vm/src/main/webapp/lib/css/jstree/themes/style.css create mode 100644 main_vm/src/main/webapp/lib/css/magnific-popup/magnific-popup.css create mode 100644 main_vm/src/main/webapp/lib/css/owl-carousel/owl.carousel.css create mode 100644 main_vm/src/main/webapp/lib/css/owl-carousel/owl.carousel.min.css create mode 100644 main_vm/src/main/webapp/lib/css/owl-carousel/owl.theme.css create mode 100644 main_vm/src/main/webapp/lib/css/pnotify/pnotify.custom.css create mode 100644 main_vm/src/main/webapp/lib/css/select-1.3.1/select.dataTables.css create mode 100644 main_vm/src/main/webapp/lib/css/select-1.3.1/select.dataTables.min.css create mode 100644 main_vm/src/main/webapp/lib/css/sweetAlert/sweetalert2.css create mode 100644 main_vm/src/main/webapp/lib/css/theme-custom.css create mode 100644 main_vm/src/main/webapp/lib/css/theme.css create mode 100644 main_vm/src/main/webapp/lib/favicon.ico create mode 100644 main_vm/src/main/webapp/lib/fonts/FontAwesome.otf create mode 100644 main_vm/src/main/webapp/lib/fonts/fontawesome-webfont.eot create mode 100644 main_vm/src/main/webapp/lib/fonts/fontawesome-webfont.svg create mode 100644 main_vm/src/main/webapp/lib/fonts/fontawesome-webfont.ttf create mode 100644 main_vm/src/main/webapp/lib/fonts/fontawesome-webfont.woff create mode 100644 main_vm/src/main/webapp/lib/fonts/glyphicons-halflings-regular.eot create mode 100644 main_vm/src/main/webapp/lib/fonts/glyphicons-halflings-regular.svg create mode 100644 main_vm/src/main/webapp/lib/fonts/glyphicons-halflings-regular.ttf create mode 100644 main_vm/src/main/webapp/lib/fonts/glyphicons-halflings-regular.woff create mode 100644 main_vm/src/main/webapp/lib/images/32px.png create mode 100644 main_vm/src/main/webapp/lib/images/CallGate_logo.png create mode 100644 main_vm/src/main/webapp/lib/images/admin-icon.png create mode 100644 main_vm/src/main/webapp/lib/images/ak_customerservice.png create mode 100644 main_vm/src/main/webapp/lib/images/eraser.png create mode 100644 main_vm/src/main/webapp/lib/images/iCOMSYS_LOGO.png create mode 100644 main_vm/src/main/webapp/lib/images/kido_customerservice.png create mode 100644 main_vm/src/main/webapp/lib/images/message.png create mode 100644 main_vm/src/main/webapp/lib/images/sinokor_logo.png create mode 100644 main_vm/src/main/webapp/lib/images/throbber.gif create mode 100644 main_vm/src/main/webapp/lib/images/user-icon.png create mode 100644 main_vm/src/main/webapp/lib/js/DataTables-1.10.20/datatables.js create mode 100644 main_vm/src/main/webapp/lib/js/bootstrap/bootstrap-datepicker.js create mode 100644 main_vm/src/main/webapp/lib/js/bootstrap/bootstrap-fileupload.min.js create mode 100644 main_vm/src/main/webapp/lib/js/bootstrap/bootstrap-markdown.js create mode 100644 main_vm/src/main/webapp/lib/js/bootstrap/bootstrap-multiselect.js create mode 100644 main_vm/src/main/webapp/lib/js/bootstrap/bootstrap-tagsinput.js create mode 100644 main_vm/src/main/webapp/lib/js/bootstrap/bootstrap-timepicker.js create mode 100644 main_vm/src/main/webapp/lib/js/bootstrap/bootstrap-timepicker.min.js create mode 100644 main_vm/src/main/webapp/lib/js/bootstrap/bootstrap-timepicker2.js create mode 100644 main_vm/src/main/webapp/lib/js/bootstrap/bootstrap.js create mode 100644 main_vm/src/main/webapp/lib/js/bootstrap/bootstrap.min.js create mode 100644 main_vm/src/main/webapp/lib/js/bootstrap/dataTables.bootstrap.js create mode 100644 main_vm/src/main/webapp/lib/js/bootstrap/typeahead.bundle.js create mode 100644 main_vm/src/main/webapp/lib/js/commonConfirmSwal.js create mode 100644 main_vm/src/main/webapp/lib/js/imgModal.js create mode 100644 main_vm/src/main/webapp/lib/js/javascripts/json2.js create mode 100644 main_vm/src/main/webapp/lib/js/javascripts/theme.custom.js create mode 100644 main_vm/src/main/webapp/lib/js/javascripts/theme.init.js create mode 100644 main_vm/src/main/webapp/lib/js/javascripts/theme.js create mode 100644 main_vm/src/main/webapp/lib/js/jquery-browser-mobile/jquery.browser.mobile.js create mode 100644 main_vm/src/main/webapp/lib/js/jquery-datatables-bs3/datatables.js create mode 100644 main_vm/src/main/webapp/lib/js/jquery-datatables/dataTables.tableTools.js create mode 100644 main_vm/src/main/webapp/lib/js/jquery-datatables/dataTables.tableTools.min.js create mode 100644 main_vm/src/main/webapp/lib/js/jquery-datatables/jquery.dataTables.js create mode 100644 main_vm/src/main/webapp/lib/js/jquery-datatables/jquery.dataTables.min.js create mode 100644 main_vm/src/main/webapp/lib/js/jquery-placeholder/jquery.placeholder.js create mode 100644 main_vm/src/main/webapp/lib/js/jquery/jquery-3.5.1.js create mode 100644 main_vm/src/main/webapp/lib/js/jquery/jquery.autosize.js create mode 100644 main_vm/src/main/webapp/lib/js/jquery/jquery.caret.min.js create mode 100644 main_vm/src/main/webapp/lib/js/jquery/jquery.form.min.js create mode 100644 main_vm/src/main/webapp/lib/js/jquery/jquery.js create mode 100644 main_vm/src/main/webapp/lib/js/jquery/jquery.tag-editor.js create mode 100644 main_vm/src/main/webapp/lib/js/jstree/jstree.js create mode 100644 main_vm/src/main/webapp/lib/js/magnific-popup/magnific-popup.js create mode 100644 main_vm/src/main/webapp/lib/js/modernizr/modernizr.js create mode 100644 main_vm/src/main/webapp/lib/js/moment.min.js create mode 100644 main_vm/src/main/webapp/lib/js/nanoscroller/nanoscroller.js create mode 100644 main_vm/src/main/webapp/lib/js/owl-carousel/owl.carousel.js create mode 100644 main_vm/src/main/webapp/lib/js/owl-carousel/owl.carousel.min.js create mode 100644 main_vm/src/main/webapp/lib/js/pnotify/pnotify.custom.js create mode 100644 main_vm/src/main/webapp/lib/js/select-1.3.1/select.dataTables.js create mode 100644 main_vm/src/main/webapp/lib/js/sweetAlert/sweetalert2.js create mode 100644 main_vm/src/main/webapp/lib/new/assets/css/lib/billboard.css create mode 100644 main_vm/src/main/webapp/lib/new/assets/css/lib/billboard.min.css create mode 100644 main_vm/src/main/webapp/lib/new/assets/css/new.css create mode 100644 main_vm/src/main/webapp/lib/new/assets/css/new.css.map create mode 100644 main_vm/src/main/webapp/lib/new/assets/images/icon-close-circle.svg create mode 100644 main_vm/src/main/webapp/lib/new/assets/images/icon-play.png create mode 100644 main_vm/src/main/webapp/lib/new/assets/images/icon-search.svg create mode 100644 main_vm/src/main/webapp/lib/new/assets/images/login_logo.png create mode 100644 main_vm/src/main/webapp/lib/new/assets/images/logo.png create mode 100644 main_vm/src/main/webapp/lib/new/assets/js/lib/billboard.pkgd.min.js create mode 100644 main_vm/src/main/webapp/lib/new/assets/scss/_common.scss create mode 100644 main_vm/src/main/webapp/lib/new/assets/scss/_content.scss create mode 100644 main_vm/src/main/webapp/lib/new/assets/scss/new.scss create mode 100644 main_vm/src/test/java/com/icomsys/main_vm/MainVmApplicationTests.java diff --git a/main_vm/.gitignore b/main_vm/.gitignore new file mode 100644 index 0000000..7814793 --- /dev/null +++ b/main_vm/.gitignore @@ -0,0 +1,43 @@ +HELP.md +.gradle +.idea +build/ +**/.gradle +**/.idea +**/build + +!gradle/wrapper/gradle-wrapper.jar +!**/src/main/**/build/ +!**/src/test/**/build/ + +### STS ### +.apt_generated +.classpath +.factorypath + +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ diff --git a/main_vm/.gradle/7.5.1/checksums/checksums.lock b/main_vm/.gradle/7.5.1/checksums/checksums.lock index d90ea805d932ff7af559ce12333285645bc7db5b..6b1831793cdd02f81413da8461974d811c5c5fd8 100644 GIT binary patch literal 17 VcmZR!FRQ7!$;mmH0SuVt0RSlI1J3{e literal 17 ScmZQB)@uC{x>rM)0SW*tdINU= diff --git a/main_vm/.gradle/7.5.1/dependencies-accessors/dependencies-accessors.lock b/main_vm/.gradle/7.5.1/dependencies-accessors/dependencies-accessors.lock index 967e1aed59353f2c037f05e5191aa60ba1897cce..3680f4ed7998b3b003c43d9c57a41abbb011eab0 100644 GIT binary patch literal 17 TcmZSHntAuKM$nB61}FdkItB!c literal 17 TcmZQ(d1!5QX#O631}FdkEXxC` diff --git a/main_vm/.gradle/7.5.1/executionHistory/executionHistory.lock b/main_vm/.gradle/7.5.1/executionHistory/executionHistory.lock index 2ab0ff2c758ed8ff5e93a4f566ddffa9d5f1fbf8..8a054e455a86948175c3c9956d68a37ee45e62a6 100644 GIT binary patch literal 17 ScmZQh-Z86DJvQ8p0SW*scB=ax0~j#w0RS(21e^c> diff --git a/main_vm/.gradle/7.5.1/fileHashes/fileHashes.lock b/main_vm/.gradle/7.5.1/fileHashes/fileHashes.lock index 4e8e072ad65d5d3b681dfc8f1590ff08b8bd0566..5e37d14c5b9a6b8ae313691cb1989e4303a87725 100644 GIT binary patch literal 17 ScmZS9J)F?AJ&jw00SW*pa|03p literal 17 VcmZRcIAvO9=jYh%3}9eh1OPi%1z`XH diff --git a/main_vm/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/main_vm/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 42daddbee80b868cc0e4e4a1828ca2e828a03847..3c95fdd4ee26a87586f71838586c969b288288d8 100644 GIT binary patch literal 17 UcmZR+=e_ammCbjaGC%+$07{1j6aWAK literal 17 VcmZRMxwKqzDNo1&1~6du0{|~o1PA~C diff --git a/main_vm/.gradle/buildOutputCleanup/cache.properties b/main_vm/.gradle/buildOutputCleanup/cache.properties index 29447a6..61a3eab 100644 --- a/main_vm/.gradle/buildOutputCleanup/cache.properties +++ b/main_vm/.gradle/buildOutputCleanup/cache.properties @@ -1,2 +1,2 @@ -#Wed Mar 29 10:55:16 KST 2023 +#Wed May 17 16:48:27 KST 2023 gradle.version=7.5.1 diff --git a/main_vm/.idea/gradle.xml b/main_vm/.idea/gradle.xml index 611e7c8..77e9972 100644 --- a/main_vm/.idea/gradle.xml +++ b/main_vm/.idea/gradle.xml @@ -1,11 +1,11 @@ - \ No newline at end of file diff --git a/main_vm/.idea/vcs.xml b/main_vm/.idea/vcs.xml index 6c0b863..b2bdec2 100644 --- a/main_vm/.idea/vcs.xml +++ b/main_vm/.idea/vcs.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/main_vm/build.gradle b/main_vm/build.gradle new file mode 100644 index 0000000..2d57736 --- /dev/null +++ b/main_vm/build.gradle @@ -0,0 +1,153 @@ +plugins { + id 'org.springframework.boot' version '2.7.6' + id "org.sonarqube" version "2.7" + id 'io.spring.dependency-management' version '1.0.14.RELEASE' + id 'java' + id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10' +} + +group = 'com.icom' +version = '0.0.1-SNAPSHOT' +sourceCompatibility = '11' +//sourceCompatibility = '1.8' +apply plugin: 'war' +configurations { + compileOnly { + extendsFrom annotationProcessor + } + all{ + exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j-impl' + } +} + +repositories { + mavenCentral() + maven { url "https://maven.egovframe.go.kr/maven/" } // egovframe maven 원격 저장소 + maven { + url "https://maven.egovframe.go.kr/maven/" + metadataSources { + artifact() + } + } +} + +//repositories { +// mavenCentral() +// maven { url "https://maven.egovframe.go.kr/maven/" } // egovframe maven 원격 저장소 +//} + + +ext { + set('springCloudVersion', "2021.0.4") + set('log4j2.version', "2.17.1") // log4j 보안 패치 +} + +dependencies { + implementation 'org.egovframe.cloud:module-common:0.1' + implementation('org.egovframe.rte:org.egovframe.rte.fdl.cmmn:4.0.0') { + exclude group: 'org.egovframe.rte', module: 'org.egovframe.rte.fdl.logging' + } + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' + implementation 'org.springframework.boot:spring-boot-starter-security' + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'org.springframework.boot:spring-boot-starter-validation' + + implementation 'org.springframework.cloud:spring-cloud-starter-openfeign' + implementation 'org.springframework.boot:spring-boot-starter-actuator' + implementation 'org.springframework.boot:spring-boot-starter-websocket' + + implementation 'com.googlecode.json-simple:json-simple:1.1.1' + implementation 'com.google.code.gson:gson:2.9.1' + implementation 'com.googlecode.log4jdbc:log4jdbc:1.2' + // https://mvnrepository.com/artifact/com.google.guava/guava + implementation 'com.google.guava:guava:20.0' + implementation 'org.json:json:20210307' + implementation 'org.modelmapper:modelmapper:2.4.4' + + implementation "com.querydsl:querydsl-jpa:5.0.0" + implementation 'com.querydsl:querydsl-apt:5.0.0' + implementation 'com.querydsl:querydsl-core:5.0.0' + implementation 'com.querydsl:querydsl-sql:5.0.0' + implementation 'com.querydsl:querydsl-sql-spring:5.0.0' + implementation 'com.querydsl:querydsl-sql-codegen:5.0.0' + + implementation 'org.apache.tomcat:tomcat-jdbc:10.1.1' + implementation 'javax.servlet:javax.servlet-api' + implementation 'com.fasterxml.jackson.core:jackson-databind' + + implementation 'org.apache.poi:poi:5.2.2' + implementation 'org.apache.poi:poi-ooxml:5.2.2' + + implementation 'software.amazon.awssdk:s3:2.16.1' + + + //전자정부의존성 + implementation 'commons-codec:commons-codec:1.15' +// implementation group: 'commons-logging', name: 'commons-logging', version: '1.2' +// implementation group: 'ch.qos.logback', name: 'logback-core', version: '1.4.5' +// testImplementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.4.5' +// implementation group: 'org.slf4j', name: 'jcl-over-slf4j', version: '2.0.6' + + + + + //jsp의존성 + implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' + implementation 'javax.servlet:jstl' + providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' + testImplementation 'org.springframework.boot:spring-boot-starter-test' + testImplementation 'org.springframework.security:spring-security-test' + implementation 'net.jodah:expiringmap:0.5.9' + // https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient + implementation 'org.apache.httpcomponents:httpclient:4.5.14' + + + compileOnly 'org.projectlombok:lombok' + developmentOnly 'org.springframework.boot:spring-boot-devtools' + +// runtimeOnly 'com.oracle.database.jdbc:ojdbc8' + implementation 'mysql:mysql-connector-java:5.1.49' + implementation 'com.oracle.database.jdbc:ojdbc8:21.7.0.0' + +// implementation 'org.mybatis:mybatis:3.5.11' +// implementation 'org.mybatis:mybatis-spring:2.0.7' + implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2' + + annotationProcessor 'org.projectlombok:lombok' + + implementation("com.jayway.jsonpath:json-path:2.5.0") + + implementation files("lib/ASRLIB-2.4.0.2.jar") + implementation files("lib/pttsnet_class.jar") +} + +tasks.named('test') { + useJUnitPlatform() +} + + +dependencyManagement { + imports { + mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" + } +} + +// querydsl 추가 시작 +def querydslDir = "$buildDir/generated/querydsl" +//def querydslDir = "src/main/qfile" +//def querydslDir = "src/main/java/egovframework/example/jpa/qfile" +querydsl { + library = 'com.querydsl:querydsl-apt:5.0.0' + jpa = true + querydslSourcesDir = querydslDir +} +sourceSets { + main.java.srcDir querydslDir +} +configurations { + querydsl.extendsFrom compileClasspath +} +compileQuerydsl { + options.annotationProcessorPath = configurations.querydsl +} +// querydsl 추가 끝 diff --git a/main_vm/gradle/wrapper/gradle-wrapper.jar b/main_vm/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..249e5832f090a2944b7473328c07c9755baa3196 GIT binary patch literal 60756 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 '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +APP_NAME="Gradle" +APP_BASE_NAME=${0##*/} + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/main_vm/gradlew.bat b/main_vm/gradlew.bat new file mode 100644 index 0000000..f127cfd --- /dev/null +++ b/main_vm/gradlew.bat @@ -0,0 +1,91 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/main_vm/lib/ASRLIB-2.4.0.2.jar b/main_vm/lib/ASRLIB-2.4.0.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..55951d4a7750908ac789a2f01d12ead70701fb85 GIT binary patch literal 171773 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

Rqx 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

`G$;^BbqL6~;MirEv*c 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 literal 0 HcmV?d00001 diff --git a/main_vm/lib/pttsnet_class.jar b/main_vm/lib/pttsnet_class.jar new file mode 100644 index 0000000000000000000000000000000000000000..5c32852ccb0afff0fd817aa897d6aeb5e8e7c86b GIT binary patch literal 13799 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 literal 0 HcmV?d00001 diff --git a/main_vm/settings.gradle b/main_vm/settings.gradle new file mode 100644 index 0000000..7a88422 --- /dev/null +++ b/main_vm/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'main_vm' diff --git a/main_vm/src/main/java/com/icomsys/main_vm/MainVmApplication.java b/main_vm/src/main/java/com/icomsys/main_vm/MainVmApplication.java new file mode 100644 index 0000000..e0a20ee --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/MainVmApplication.java @@ -0,0 +1,22 @@ +package com.icomsys.main_vm; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; + +@SpringBootApplication +@EnableFeignClients +@EnableWebMvc +public class MainVmApplication extends SpringBootServletInitializer { + + public static void main(String[] args) { + SpringApplication.run(MainVmApplication.class, args); + } + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(MainVmApplication.class); + }} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/ServletInitializer.java b/main_vm/src/main/java/com/icomsys/main_vm/ServletInitializer.java new file mode 100644 index 0000000..d97bbaa --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/ServletInitializer.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +public class ServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(MainVmApplication.class); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/AdviceHandler.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/AdviceHandler.java new file mode 100644 index 0000000..7046934 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/AdviceHandler.java @@ -0,0 +1,151 @@ +package com.icomsys.main_vm.biz.advice; + +import com.icomsys.main_vm.biz.advice.excep.CustomNoSuchFieldException; +import com.icomsys.main_vm.biz.advice.excep.CustomRuntimeException; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.MessageSource; +import org.springframework.context.NoSuchMessageException; +import org.springframework.context.i18n.LocaleContextHolder; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.BindException; +import org.springframework.validation.ObjectError; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.server.ResponseStatusException; +import org.springframework.web.servlet.NoHandlerFoundException; + +import java.util.Arrays; +import java.util.List; +import java.util.Locale; +import java.util.Objects; + +@ControllerAdvice +@RequiredArgsConstructor +@Slf4j +public class AdviceHandler { + + private final MessageSource messageSource; + + @ExceptionHandler + public String noHandlerFoundHandle(RuntimeException e) { + log.error(e.getMessage()); + return "cmm/error/error"; + } + + @ExceptionHandler + public ResponseEntity CustomRuntime(CustomRuntimeException e) { + ErrorResult er = new ErrorResult(); + er.setCode(String.valueOf(HttpStatus.INTERNAL_SERVER_ERROR.value())); + er.setMessage(e.getMessage()); + log.info("excep - {}", e); + return new ResponseEntity(er, HttpStatus.INTERNAL_SERVER_ERROR); + } + +// @ExceptionHandler +// public ResponseEntity DefaultNotFound(NotFoundException e) { +// ErrorResult er = new ErrorResult(); +// er.setCode(String.valueOf(HttpStatus.NOT_FOUND.value())); +// er.setMessage(messageSource.getMessage("info.nodata.msg", null, Locale.getDefault())); +// log.info("excep - {}", messageSource.getMessage("info.nodata.msg", null, Locale.getDefault())); +// return new ResponseEntity(er, HttpStatus.NOT_FOUND); +// } + + @ExceptionHandler + @ResponseBody + public ResponseEntity DefaultNotFound(IllegalArgumentException e) { + ErrorResult er = new ErrorResult(); + er.setCode(String.valueOf(HttpStatus.NOT_FOUND.value())); + er.setMessage(messageSource.getMessage("info.nodata.msg", null, Locale.getDefault())); + log.info("excep - {} {}", messageSource.getMessage("info.nodata.msg", null, Locale.getDefault()),e.getMessage()); + return new ResponseEntity(er, HttpStatus.NOT_FOUND); + } + + @ExceptionHandler + public ResponseEntity CustomNotFound(CustomNotFoundException e) { + ErrorResult er = new ErrorResult(); + er.setCode(String.valueOf(HttpStatus.NOT_FOUND.value())); + er.setMessage(e.getMessage()); + log.info("excep - {}", e.getMessage()); + return new ResponseEntity(er, HttpStatus.NOT_FOUND); + } + + @ExceptionHandler + public ResponseEntity CustomBadRequest(CustomBadRequestException e) { + ErrorResult er = new ErrorResult(); + er.setCode(String.valueOf(HttpStatus.BAD_REQUEST.value())); + er.setMessage(e.getMessage()); + log.info("excep - {}", e.getMessage()); + return new ResponseEntity(er, HttpStatus.BAD_REQUEST); + } + + @ExceptionHandler + public ResponseEntity CustomBadRequest(IllegalAccessException e) { + ErrorResult er = new ErrorResult(); + er.setCode(String.valueOf(HttpStatus.BAD_REQUEST.value())); + er.setMessage(messageSource.getMessage("fail.common.bad", null, Locale.getDefault())); + log.info("excep - {}", messageSource.getMessage("fail.common.bad", null, Locale.getDefault())); + return new ResponseEntity(er, HttpStatus.BAD_REQUEST); + } + + @ExceptionHandler + public ResponseEntity CustomBindEx(BindException ex) { + ErrorResult er = new ErrorResult(); + log.info("bind 들어옴"); + String message = null; + List allErrors = ex.getBindingResult().getAllErrors(); + for (ObjectError error : allErrors) { + message = Arrays.stream(Objects.requireNonNull(error.getCodes())) + .map(c -> { + Object[] arguments = error.getArguments(); + Locale locale = LocaleContextHolder.getLocale(); + try { + return messageSource.getMessage(c, arguments, locale); + } catch (NoSuchMessageException e) { + return null; + } + }).filter(Objects::nonNull) + .findFirst() + .orElse(error.getDefaultMessage()); + } + log.error("error message: {}", message); + er.setMessage(message); + er.setCode(String.valueOf(HttpStatus.BAD_REQUEST.value())); + return new ResponseEntity(er, HttpStatus.BAD_REQUEST); + } + + @ExceptionHandler + public ResponseEntity CustomNoSuchMessage(NoSuchMessageException e) { + ErrorResult er = new ErrorResult(); + er.setCode(String.valueOf(HttpStatus.NOT_FOUND.value())); + er.setMessage(e.getMessage()); + log.info("excep - {}", e.getMessage()); + return new ResponseEntity(er, HttpStatus.NOT_FOUND); + } + + @ExceptionHandler + public String CustomNoSuchFieldException(NoSuchFieldException e) { + return "adm/signin/signin"; + } + + @ExceptionHandler + public String CustomNoSuchFieldException(CustomNoSuchFieldException e) { + return "adm/signin/signin"; + } + + @ExceptionHandler(NoHandlerFoundException.class) + public String noHandlerFoundHandle(NoHandlerFoundException e) { + return "cmm/error/egovError"; + } + + @ExceptionHandler + public ResponseEntity responseStatusException(ResponseStatusException e) { + return ResponseEntity.status(e.getStatus()).build(); + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/ErrorResult.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/ErrorResult.java new file mode 100644 index 0000000..beb5f1d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/ErrorResult.java @@ -0,0 +1,15 @@ +package com.icomsys.main_vm.biz.advice; + +import lombok.*; + +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class ErrorResult { + + private String code; + private String message; + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/README.md b/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/README.md new file mode 100644 index 0000000..7674e71 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/README.md @@ -0,0 +1,2 @@ +전자정부의 경우 익셉션을 종류별로 잡기가 힘들어 +스프링부분으로 커스터마이징 diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomBadRequestException.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomBadRequestException.java new file mode 100644 index 0000000..b0ebe13 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomBadRequestException.java @@ -0,0 +1,9 @@ +package com.icomsys.main_vm.biz.advice.excep; + +public class CustomBadRequestException extends Exception { + public CustomBadRequestException(){super("400Default");} + public CustomBadRequestException(String message){super(message);} + public CustomBadRequestException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomNoSuchFieldException.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomNoSuchFieldException.java new file mode 100644 index 0000000..89b3a2d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomNoSuchFieldException.java @@ -0,0 +1,4 @@ +package com.icomsys.main_vm.biz.advice.excep; + +public class CustomNoSuchFieldException extends Exception{ +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomNotFoundException.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomNotFoundException.java new file mode 100644 index 0000000..e72729d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomNotFoundException.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.biz.advice.excep; + +import org.apache.ibatis.javassist.NotFoundException; + +public class CustomNotFoundException extends NotFoundException { + public CustomNotFoundException() { + super("404Default"); + } + public CustomNotFoundException(String msg) { + super(msg); + } + public CustomNotFoundException(String msg, Exception e) { + super(msg, e); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomRuntimeException.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomRuntimeException.java new file mode 100644 index 0000000..1e9674f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/advice/excep/CustomRuntimeException.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm.biz.advice.excep; + + +public class CustomRuntimeException extends RuntimeException{ + + public CustomRuntimeException(){super("Default");} + public CustomRuntimeException(String message){super(message);} + public CustomRuntimeException(String message, Throwable cause) { + super(message, cause); + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/ExcelService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/ExcelService.java new file mode 100644 index 0000000..90de2e0 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/ExcelService.java @@ -0,0 +1,140 @@ +package com.icomsys.main_vm.biz.common.common.service; + +import com.google.gson.Gson; +import com.google.gson.JsonDeserializer; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.*; +import org.json.JSONObject; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.lang.reflect.Field; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +@Service +@RequiredArgsConstructor +@Slf4j +public class ExcelService { + + private final HttpServletRequest httpServletRequest; + private final HttpServletResponse httpServletResponse; + + public void ExcelDownload(String fileName, List data) throws IOException { + List title = new ArrayList<>(); + for (Field e : data.get(0).getClass().getDeclaredFields()) { + title.add(e.getName()); + } + ExcelDownload(fileName, data, title); + } + public void ExcelDownload(String fileName, List data, List title) throws IOException { + Workbook wb = new HSSFWorkbook(); + Sheet sheet = wb.createSheet("data"); + CreationHelper createHelper = wb.getCreationHelper(); + Row row = sheet.createRow(0); + CellStyle cellStyle1 = wb.createCellStyle(); + cellStyle1.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); + applyCellStyle(cellStyle1); + CellStyle cellStyle2 = wb.createCellStyle(); + cellStyle2.setFillForegroundColor(IndexedColors.WHITE.getIndex()); + cellStyle2.setWrapText(true); + applyCellStyle(cellStyle2); + AtomicInteger ai = new AtomicInteger(); + List keySet = new ArrayList<>(); + for (String e : title) { + Cell c = row.createCell(ai.getAndIncrement()); + c.setCellValue(e); + c.setCellStyle(cellStyle1); + } + sheet.autoSizeColumn(0); + for (Field e : data.get(0).getClass().getDeclaredFields()) { + keySet.add(e.getName()); + } + row.setHeight((short) 500); + AtomicInteger ai1 = new AtomicInteger(); + for (Object e : data) { + Row row1 = sheet.createRow(ai1.incrementAndGet()); + AtomicInteger ai2 = new AtomicInteger(); + JSONObject obj = new JSONObject(e); + for (String f : keySet) { + int rowNum = ai2.getAndIncrement(); + if (obj.names().toList().contains(f)) { + Cell c = row1.createCell(rowNum); + c.setCellValue(createHelper.createRichTextString(obj.get(f).toString())); + c.setCellStyle(cellStyle2); + } else { + Cell c = row1.createCell(rowNum); + c.setCellValue(createHelper.createRichTextString("")); + c.setCellStyle(cellStyle2); + } + sheet.autoSizeColumn(rowNum); + //sheet.setColumnWidth(rowNum, (sheet.getColumnWidth(rowNum))+1024 ); + sheet.setColumnWidth(rowNum, Math.min(255 * 100, sheet.getColumnWidth(rowNum) + 1200)); + row1.setHeight((short) 500); + } + } + try (ServletOutputStream fileOut = httpServletResponse.getOutputStream())/*new FileOutputStream("base.xls"))*/ { + wb.write(fileOut); + httpServletResponse.setContentType("application/vnd.ms-excel; charset=EUC-KR"); + httpServletResponse.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls; charset=EUC-KR"); + wb.write(httpServletResponse.getOutputStream()); + } + } + + private void applyCellStyle(CellStyle cellStyle) { + cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); + cellStyle.setAlignment(HorizontalAlignment.CENTER); + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + cellStyle.setBorderLeft(BorderStyle.THIN); + cellStyle.setBorderTop(BorderStyle.THIN); + cellStyle.setBorderRight(BorderStyle.THIN); + cellStyle.setBorderBottom(BorderStyle.THIN); + } + + //엑셀파일을 List로 컨버팅해줌 + public List ExcelUploadConvert(MultipartFile excel, Class base) throws IOException { + List baseVarName = new ArrayList<>(); + List objs = new ArrayList<>(); + for (Field e : base.getDeclaredFields()) { + baseVarName.add(e.getName()); + } + Workbook wb = new HSSFWorkbook(excel.getInputStream()); + Sheet sheet = wb.getSheetAt(0); + for (int i = 1; i < sheet.getLastRowNum() + 1; i++) { + int celSize = sheet.getRow(i).getLastCellNum(); + JSONObject obj = new JSONObject(); + for (int j = 0; j < celSize; j++) { + obj.put(baseVarName.get(j), sheet.getRow(i).getCell(j)); + } + objs.add(obj); + } + return objs.stream().map(e -> new Gson() + .newBuilder() + .registerTypeAdapter(LocalDateTime.class, (JsonDeserializer) (json, typeOfT, context) + -> LocalDateTime.parse(json.getAsString(), DateTimeFormatter.ISO_LOCAL_DATE_TIME)) + .registerTypeAdapter(LocalDate.class, (JsonDeserializer) (json, typeOfT, context) + -> LocalDate.parse(json.getAsString(), DateTimeFormatter.ofPattern("yyyy-MM-dd"))) + .registerTypeAdapter(LocalTime.class, (JsonDeserializer) (json, typeOfT, context) + -> LocalTime.parse(json.getAsString(), DateTimeFormatter.ofPattern("HH:mm:ss"))) + .create() + .fromJson(String.valueOf(e), base)) + .collect(Collectors.toList()); + } + + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/FileService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/FileService.java new file mode 100644 index 0000000..94625a3 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/FileService.java @@ -0,0 +1,119 @@ +package com.icomsys.main_vm.biz.common.common.service; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.MessageSource; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.FileSystemResource; +import org.springframework.core.io.InputStreamResource; +import org.springframework.http.*; +import org.springframework.stereotype.Service; +import org.springframework.util.Assert; +import org.springframework.util.StringUtils; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.core.io.Resource; + +import javax.servlet.http.HttpServletRequest; +import java.io.*; +import java.net.InetAddress; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +@Service +@RequiredArgsConstructor +@Slf4j +public class FileService { + @Value("${Server.port}") + private String port; + @Value("${file.path}") + private String filePath; + private static String col = ":"; + private final MessageSource messageSource; + private final HttpServletRequest request; + + public List FileSaveService(MultipartFile[] uploadfile) throws IllegalStateException, IOException { + List ll = new ArrayList<>(); + String nn = ""; + String[] url = request.getRequestURI().split("/"); + log.info("test14 - {}", new Gson().toJson(url)); + int size = url.length; + log.info("test14 - {}", size); + + for (MultipartFile mf : uploadfile) { + if (!mf.isEmpty()) { + nn = UUID.randomUUID().toString(); + File newFileName = new File(nn + "_" + mf.getOriginalFilename()); + log.info("path - - {}", newFileName.getPath()); + Path directory = Paths.get(filePath + "/" + url[size - 1]).toAbsolutePath().normalize(); + // directory 해당 경로까지 디렉토리를 모두 만든다. + Files.createDirectories(directory); + // 파일명을 바르게 수정한다. + String fileName = StringUtils.cleanPath(nn + "_" + mf.getOriginalFilename()).replaceAll(" ", ""); + // 파일명에 '..' 문자가 들어 있다면 오류를 발생하고 아니라면 진행(해킹및 오류방지) + Assert.state(!fileName.contains(".."), "Name of file cannot contain '..'"); + // 파일을 저장할 경로를 Path 객체로 받는다. + Path targetPath = directory.resolve(fileName).normalize(); + // 파일이 이미 존재하는지 확인하여 존재한다면 오류를 발생하고 없다면 저장한다. + Assert.state(!Files.exists(targetPath), fileName + " File alerdy exists."); + mf.transferTo(targetPath); +// ll.add("http://192.168.0.42:9506/admin/img/"+boardName+"/"+fileName); + ll.add(InetAddress.getLocalHost().getHostAddress() + col + port + "/" + url[size - 1] + "/" + fileName); + log.info("upload file -{}", new Gson().toJson(ll)); + } + } + return ll; + } + + public ResponseEntity imgGetService(String imgPath) throws IOException { + String basepath = filePath; +// String basepath = ""; + Resource recorce = new FileSystemResource(basepath + imgPath); + if (!recorce.exists()) { + log.info("notfound"); + return new ResponseEntity(HttpStatus.NOT_FOUND); + } + HttpHeaders header = new HttpHeaders(); + Path filePath = null; + try { + filePath = Paths.get(basepath + imgPath); + header.add("Content-Type", Files.probeContentType(filePath)); + } catch (IOException e) { + e.printStackTrace(); + } + return new ResponseEntity(recorce, header, HttpStatus.OK); + } + + + public ResponseEntity PdfDownload(String name) throws IOException, CustomNotFoundException { + ClassPathResource cpr = new ClassPathResource("/document/"+name); + InputStreamResource r = new InputStreamResource(cpr.getInputStream()); + ContentDisposition cd = ContentDisposition.builder("inline") + .filename(name) + .name(name) + .build(); + HttpHeaders haHttpHeaders = new HttpHeaders(); + haHttpHeaders.setContentDisposition(cd); + return ResponseEntity.ok() +// .contentType(MediaType.APPLICATION_OCTET_STREAM) + .contentType(MediaType.valueOf(MediaType.APPLICATION_PDF_VALUE)) + .cacheControl(CacheControl.noCache()) + .headers(haHttpHeaders) + .body(r); + } + + +} + + + + + + + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/LogService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/LogService.java new file mode 100644 index 0000000..698f5f2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/LogService.java @@ -0,0 +1,52 @@ +package com.icomsys.main_vm.biz.common.common.service; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.common.util.ClientIp; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbIcsLog; +import com.icomsys.main_vm.db.jpa.repo.system.TbIcsLogRepo; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.time.LocalDateTime; + +@Service +@Slf4j +@RequiredArgsConstructor +public class LogService { + + private final TbIcsLogRepo tbIcsLogRepo; + private final LoginService loginService; + private final ClientIp clientIp; + private final HttpServletRequest request; + + public void LogSave(LogVO lv) { + log.info("vo chk - {}", new Gson().toJson(lv)); + TbIcsLog til = new TbIcsLog(); + til.setUserId(loginService.getUserVo().getUserId()); +// til.setUserId("sysadmin"); + til.setIp(clientIp.getClientIp()); + til.setActionCode(lv.getActionCode().toLowerCase()); + til.setMenuAuth(lv.getMenuAuth().getName()); + til.setRemark(lv.getRemark()); + til.setServiceGroup(lv.getServiceGroup()); + til.setAttribute1(lv.getAttribute1()); + til.setAttribute2(lv.getAttribute2()); + til.setAttribute3(lv.getAttribute3()); + til.setAttribute4(lv.getAttribute4()); + + if (lv.getRegistDate() == null) { + til.setRegistDate(LocalDateTime.now()); + } else { + til.setRegistDate(lv.getRegistDate()); + } + + tbIcsLogRepo.save(til); + + + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/LogVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/LogVO.java new file mode 100644 index 0000000..2f79b87 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/LogVO.java @@ -0,0 +1,35 @@ +package com.icomsys.main_vm.biz.common.common.service; + +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import lombok.*; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class LogVO { + + private LocalDateTime registDate; + private String actionCode; + private MenuResource menuAuth; + private String remark; + private String serviceGroup; + private String attribute1; + private String attribute2; + private String attribute3; + private String attribute4; + + @Builder + public LogVO(LocalDateTime registDate, String actionCode, MenuResource menuAuth, String remark, String serviceGroup, String attribute1, String attribute2, String attribute3, String attribute4) { + this.registDate = registDate; + this.actionCode = actionCode; + this.menuAuth = menuAuth; + this.remark = remark; + this.serviceGroup = serviceGroup; + this.attribute1 = attribute1; + this.attribute2 = attribute2; + this.attribute3 = attribute3; + this.attribute4 = attribute4; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/RestTemplateService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/RestTemplateService.java new file mode 100644 index 0000000..392eecb --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/RestTemplateService.java @@ -0,0 +1,212 @@ +package com.icomsys.main_vm.biz.common.common.service; + +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.test.controller.testvo.APINodeVo; +import com.icomsys.main_vm.biz.test.controller.testvo.KeyValueVo; +import com.jayway.jsonpath.JsonPath; +import com.jayway.jsonpath.spi.json.JsonSmartJsonProvider; +import lombok.RequiredArgsConstructor; +import lombok.Value; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.formula.functions.T; +import org.json.JSONArray; +import org.json.JSONObject; +import org.springframework.http.*; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.util.UriComponents; +import org.springframework.web.util.UriComponentsBuilder; + +import java.lang.reflect.Method; +import java.net.URI; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +@Slf4j +@RequiredArgsConstructor +public class RestTemplateService { + + private final RestTemplate restTemplate; + + /** + * @Name Get Api 호출 공통 모듈 + * @Description Get Call 공통화 모듈 + * @Author JangWonSeok + * @CreateDate 2023. 03. 14. + */ + public ResponseEntity GetCall(UriComponents uri, HttpHeaders headers) { + return restTemplate + .exchange(uri.toUriString(), HttpMethod.GET, new HttpEntity<>(headers), String.class); + } + + /** + * @Name POST Api 호출 공통 모듈 + * @Description POST Api 호출 공통 모듈 + * @Author JangWonSeok + * @CreateDate 2023. 03. 14. + */ + public ResponseEntity PostCall(UriComponents uri, HttpHeaders headers) { + HttpEntity en = new HttpEntity<>(headers); + return restTemplate + .postForEntity(uri.toUriString(), en, String.class); + } + + /** + * @Name POST Api 호출 공통 모듈 + * @Description POST Api 호출 공통 모듈 + * @Author JangWonSeok + * @CreateDate 2023. 03. 14. + */ + public ResponseEntity PostCall(UriComponents uri, HttpHeaders headers, String body) { + HttpEntity en = new HttpEntity<>(body, headers); + return restTemplate + .postForEntity(uri.toUriString(), en, String.class); + } + + /** + * @Name API NODE + * @Description API NODE 의기능 구현 + * init data로 통신후 response 요청값 리턴 + * @Author JangWonSeok + * @CreateDate 2023. 03. 14. + */ + public Map APINode(Map apiReqParam, Map serviceParam, String s) throws CustomBadRequestException, NoSuchMethodException { + ResponseEntity res = null; + APINodeVo vo = new Gson().fromJson(s, APINodeVo.class); + HttpHeaders headers = ConvertHttpHeaders(vo.getHeader()); + UriComponents uriComponents = GetURI(vo.getParam(), apiReqParam, serviceParam, UriComponentsBuilder.newInstance().uri(CreateURI(vo.getURL(), apiReqParam, serviceParam))); + if (vo.getUrlType().toUpperCase().equals(RequestMethod.GET.name())) { + res = GetCall(uriComponents, headers); + } else if (vo.getUrlType().toUpperCase().equals(RequestMethod.POST.name())) { + if (vo.getBody() == null || vo.getBody().equals("")) { + res = PostCall(uriComponents, headers); + } else { + String repBody = vo.getBody(); + log.info("post call using body - {}", repBody); + repBody.replaceAll("/r", ""); + repBody.replaceAll("/n", ""); + log.info("post call using body - {}", repBody); + + for (Object e : apiReqParam.keySet()) { + if (repBody.contains(e.toString())) { + repBody.replaceAll("#\\{" + e.toString() + "}", apiReqParam.get(e).toString()); + repBody.replaceAll("#\\[" + e.toString() + "]", apiReqParam.get(e).toString()); + } + } + res = PostCall(uriComponents, headers, repBody); + } + } else { + throw new NoSuchMethodException("MethodType Mismatch"); + } + + if (res.getStatusCodeValue() != 200) { + throw new CustomBadRequestException("Network server error"); + } + //기존 시나리오에 합쳐주는 로직 삭제 +// return APINodeResultMap(apiReqParam, responseJsonPath(vo.getResponse(), res.getBody())); + //새 맵으로 리턴 + return responseJsonPath(vo.getResponse(), res.getBody()); + } + + /** + * @Name API NODE용 메소드 + * @Description 요청값을 헤더로 컨버팅함. + * @Author JangWonSeok + * @CreateDate 2023. 03. 14. + */ + private HttpHeaders ConvertHttpHeaders(List dto) { + HttpHeaders headers = new HttpHeaders(); + for (KeyValueVo e : dto) { + headers.setContentType(new MediaType(MediaType.valueOf(e.getValue()))); + } + return headers; + } + + /** + * @Name API NODE TEST 용 메소드 (사용안함) + * @Description 요청값을 URI param으로 컨버팅함 + * @Author JangWonSeok + * @CreateDate 2023. 03. 14. + */ + private Map ConvertParam(List dto) { + Map paramMap = new HashMap<>(); + for (KeyValueVo e : dto) { + paramMap.put("#{" + e.getValue() + "}", e.getDesc()); + } + return paramMap; + } + + private URI CreateURI(String uri, Map apiReqParam, Map serviceParam) { + for (Object e : apiReqParam.keySet()) { + if (uri.contains(e.toString())) { + uri.replaceAll(e.toString(), apiReqParam.get(e).toString()); + } + } + for (Object e : serviceParam.keySet()) { + if (uri.contains(e.toString())) { + uri.replaceAll(e.toString(), serviceParam.get(e).toString()); + } + } + return URI.create(uri); + } + + /** + * @Name API NODE용 메소드 + * @Description 요청값을 URI 로 완성시킴 + * @Author JangWonSeok + * @CreateDate 2023. 03. 14. + */ + private UriComponents GetURI(List dto, Map apiReqParam, Map serviceParam, UriComponentsBuilder builder) { + for (KeyValueVo e : dto) { + if (apiReqParam.containsKey(e.getValue())) { + builder.queryParam(e.getKey(), apiReqParam.get(e.getValue())); + } else { + builder.queryParam(e.getKey(), e.getValue()); + } + if (serviceParam.containsKey(e.getValue())) { + builder.queryParam(e.getKey(), serviceParam.get(e.getValue())); + } else { + builder.queryParam(e.getKey(), e.getValue()); + } + } + log.info("uri - {}", builder.build().toUriString()); + return builder.build(); + } + + /** + * @Name API NODE용 메소드 + * @Description Call 완료값을 갖고 요청값을 찾아 리턴함. + * @Author JangWonSeok + * @CreateDate 2023. 03. 14. + */ + private Map responseJsonPath(List dto, Object body) { + Map result = new HashMap(); + for (KeyValueVo e : dto) { + String[] key = e.getValue().toString().split("\\."); + result.put(key[key.length - 1], (Object) JsonPath.read(new JsonSmartJsonProvider().parse(body.toString()), e.getValue())); + } + return result; + } + + /** + * @Name API NODE용 메소드 + * @Description 결과값을 맵타입으로 컨버팅함 + * @Author JangWonSeok + * @CreateDate 2023. 03. 14. + */ + private Map APINodeResultMap(Map origin, Map jsonPath) { + for (Object e : jsonPath.keySet()) { + origin.put(e, jsonPath.get(e)); + } + return origin; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/SequenceService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/SequenceService.java new file mode 100644 index 0000000..0b9d79a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/SequenceService.java @@ -0,0 +1,28 @@ +package com.icomsys.main_vm.biz.common.common.service; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +@Slf4j +public class SequenceService { +// +// private final TbKeyGenerateRepo tbKeyGenerateRepo; +// +// @Transactional +// public Long UserSeqNext(){ +// return tbKeyGenerateRepo.findById("TB_BOT_USER") +// .orElseThrow(() -> new IllegalArgumentException()) +// .nextSeq(); +// } +// +// @Transactional +// public Long ServiceAuthGroupSeqNext(){ +// return tbKeyGenerateRepo.findById("TB_SERVICE_AUTH_GROUP") +// .orElseThrow(() -> new IllegalArgumentException()) +// .nextSeq(); +// } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/functionnode/FunctionVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/functionnode/FunctionVo.java new file mode 100644 index 0000000..5d582dc --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/functionnode/FunctionVo.java @@ -0,0 +1,40 @@ +package com.icomsys.main_vm.biz.common.common.service.functionnode; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.HashMap; +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class FunctionVo { + + /** + * @Name 펑션노드 + * @Description 펀션노드 스크립트엔진 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + * varList: functionNode 의 fParam[0], fParam[1] 값을 받는곳 + * callData: 콜봇이 유지하고있는 데이터 + * initSctipt: 자바스크립트 + */ + + private List varList; + private HashMap callData; + private String initSctipt; + private int timeOut; + + @Builder + public FunctionVo(List varList, HashMap callData, String initSctipt, int timeOut) { + this.varList = varList; + this.callData = callData; + this.initSctipt = initSctipt; + this.timeOut = timeOut; + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/functionnode/FunctionWsNashorn.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/functionnode/FunctionWsNashorn.java new file mode 100644 index 0000000..da5b88b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/functionnode/FunctionWsNashorn.java @@ -0,0 +1,79 @@ +package com.icomsys.main_vm.biz.common.common.service.functionnode; + +import com.icomsys.main_vm.biz.common.common.service.functionnode.ex.WsNotAvailableException; + +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; + +public class FunctionWsNashorn { + + /** + * @Name 펑션노드 + * @Description 펀션노드 스크립트엔진 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + * varList: functionNode 의 fParam[0], fParam[1] 값을 받는곳 + * callData: 콜봇이 유지하고있는 데이터 + * initSctipt: 자바스크립트 + */ + + private List varList; + private HashMap callData = new HashMap<>(); + private String initSctipt; + private List reservesWord = Arrays.asList("while", "sleep", "timeout", "interval", "$("); + + public static FunctionWsNashorn builder(int timeMilli) throws ExecutionException, InterruptedException, TimeoutException { + int time = 5000; + if (timeMilli > 0 && timeMilli < time) time = timeMilli; + return Executors.newSingleThreadExecutor().submit(FunctionWsNashorn::new).get(time, TimeUnit.MILLISECONDS); + } + + public FunctionWsNashorn create(FunctionVo dto) { + if (dto.getInitSctipt().length() < 5) throw new WsNotAvailableException("코드길이가 너무 적습니다."); + if (dto.getVarList().size() < 1) throw new WsNotAvailableException("파라미터가 없습니다."); + if (dto.getCallData().size() < 1) throw new WsNotAvailableException("콜데이터가 없습니다."); + this.varList = dto.getVarList(); + this.initSctipt = dto.getInitSctipt(); + this.callData = dto.getCallData(); + return this; + } + + public Map build() throws ScriptException { + ScriptEngine se = new ScriptEngineManager().getEngineByName("nashorn"); + for (String e : varList) { + if (callData.containsKey(e)) { + se.put(e, callData.get(e)); + } else { + se.put(e, ""); + } + } + se.eval(this.initSctipt); + for (String e : varList) { + callData.put(e, se.get(e)); + } + return this.callData; + } + + public FunctionWsNashorn noTag() { + if (this.initSctipt.matches("<.+?>")) throw new WsNotAvailableException("HTML TAG는 입력 할 수 없습니다."); + return this; + } + + public FunctionWsNashorn CheckBlackList() { + String copy = this.initSctipt; + for (String e : reservesWord) { + if (copy.toLowerCase().contains(e)) throw new WsNotAvailableException("JAVASCRIPT만 사용해주세요."); + } + return this; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/functionnode/ex/WsNotAvailableException.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/functionnode/ex/WsNotAvailableException.java new file mode 100644 index 0000000..2a60f45 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/common/service/functionnode/ex/WsNotAvailableException.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm.biz.common.common.service.functionnode.ex; + +public class WsNotAvailableException extends RuntimeException{ + + + public WsNotAvailableException() { + super("잘못된 코드를 입력했습니다."); + } + public WsNotAvailableException(String msg) { + super(msg); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/dashboard/controller/DashboardController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/dashboard/controller/DashboardController.java new file mode 100644 index 0000000..2eaf4ba --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/dashboard/controller/DashboardController.java @@ -0,0 +1,66 @@ +package com.icomsys.main_vm.biz.common.dashboard.controller; + +import com.icomsys.main_vm.biz.rcp.statistics.dashboard.service.StatisticsDashboardService; +import com.icomsys.main_vm.db.mybatis.alias.StatisticsDashboardVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; +import java.util.List; + +@Controller +@RequiredArgsConstructor +@RequestMapping("/admin/common/dashboard") +@Slf4j +public class DashboardController { + + private final StatisticsDashboardService statisticsDashboardService; + + @GetMapping("/manage.do") + public String DashboardView(){ + return "/adm/common/dashboard"; + } + + @RequestMapping(value = "/callinfolist.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List selectStatCallInfoList(@RequestBody StatisticsDashboardVO vo) { + List result = statisticsDashboardService.selectStatCallInfo(vo); + + return result; + } + + @RequestMapping(value = "/intentlist.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List selectStatIntentList(@RequestBody StatisticsDashboardVO vo) { + List result = statisticsDashboardService.selectStatIntent(vo); + + return result; + } + + @RequestMapping(value = "/scenariolist.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List selectStatScenarioList(@RequestBody StatisticsDashboardVO vo) { + List result = statisticsDashboardService.selectStatScenario(vo); + + return result; + } + + @RequestMapping(value = "/callcntlist.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List selectTodayCallCntList(@RequestBody StatisticsDashboardVO vo) { + List result = statisticsDashboardService.selectCallCntByToday(vo); + + return result; + } + + @RequestMapping(value = "/curcallcnt.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public int selectCurCallCnt(@RequestBody StatisticsDashboardVO vo) { + int result = statisticsDashboardService.selectCurCallCnt(vo); + + return result; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/errorpage/controller/ErrorPageController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/errorpage/controller/ErrorPageController.java new file mode 100644 index 0000000..e05de1e --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/errorpage/controller/ErrorPageController.java @@ -0,0 +1,45 @@ +package com.icomsys.main_vm.biz.common.errorpage.controller; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.web.servlet.error.ErrorController; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +import javax.servlet.RequestDispatcher; +import javax.servlet.http.HttpServletRequest; + +@Controller +@Slf4j +@RequiredArgsConstructor +public class ErrorPageController implements ErrorController { + + private final HttpServletRequest httpServletRequest; + + @GetMapping("/error") + public String error(){ + log.info("error page init"); + Object status = httpServletRequest.getAttribute(RequestDispatcher.ERROR_STATUS_CODE); + log.info("error status - {}", status.toString()); + + if(status.equals("490")){ + return "adm/signin/signin"; + } + if(status.toString().equals("491")){ + return "adm/signin/changePwd"; + } +// ModelMap mm = new ModelMap(); +// ErrorResult er = new ErrorResult(); +// er.setCode(status.toString()); +// mm.addAttribute("errorResult", "aaa"); +// return "adm/common/error"; + return "adm/signin/signin"; + } +} + + + + + + + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/controller/LoginController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/controller/LoginController.java new file mode 100644 index 0000000..645f34e --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/controller/LoginController.java @@ -0,0 +1,205 @@ +package com.icomsys.main_vm.biz.common.login.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNoSuchFieldException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.common.service.FileService; +import com.icomsys.main_vm.biz.common.login.req.LoginReq; +import com.icomsys.main_vm.biz.common.login.req.MainOprReq; +import com.icomsys.main_vm.biz.common.login.req.PwdUpdateReq; +import com.icomsys.main_vm.biz.common.login.res.LoginCheckReq; +import com.icomsys.main_vm.biz.common.login.res.OprmngCodeRes; +import com.icomsys.main_vm.biz.common.login.res.ServiceGroupRes; +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.common.code.MenuVo; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; +import org.springframework.http.ResponseEntity; +import org.springframework.security.core.userdetails.User; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; +import java.io.IOException; +import java.util.*; + +@Controller +@Slf4j +@RequiredArgsConstructor +public class LoginController { + /** + * 메인 컨트롤러 + */ + private final LoginService loginService; + private final FileService fileService; + private final HttpServletRequest httpServletRequest; + + @GetMapping(value = {"/adm/main/egovLoginUsr.do", "/"}) + public String loginUsrView() { + loginService.Logout(); + return "adm/signin/signin"; + } + + @GetMapping(value = "/adm/main/changePwd") + public String changePwd() { + return "adm/signin/changePwd"; + } + + @PostMapping(value = "/adm/main/pwd/update") + public ResponseEntity PwdUpdate(@RequestBody PwdUpdateReq dto) throws CustomNotFoundException, CustomBadRequestException { + return loginService.PwdUpdate(dto); + } + + + @PostMapping("/adm/main/check") + @ResponseBody + public ResponseEntity loginCheck(@RequestBody LoginCheckReq dto) throws CustomNotFoundException, CustomBadRequestException { + return loginService.loginCheck(dto); + } + + @RequestMapping(value = "/adm/main/actionSecurityLogin.do") + public String actionSecurityLogin(@Valid LoginReq loginReq, ModelMap model) { + return loginService.LoginValidService(loginReq, model); + } + + @RequestMapping(value = "/adm/main/actionMain.do") + public String actionMain(ModelMap model) { + return loginService.actionMain(model); + } + + @GetMapping("/adm/main/actionLogout.do") + public String Logout() { + loginService.Logout(); + return "adm/signin/signin"; + } + + @GetMapping(value = "/adm/menu/getLnbMenu.do") + public String selectMainMenuLeft(ModelMap model) { + if (loginService.getUserVo() == null) { + return "adm/signin/signin"; + } + List menuVoList = loginService.selectMainMenuLeft(); + model.addAttribute("list_menulist", menuVoList); + return "adm/include/getLnbMenu"; + } + + @GetMapping("/adm/menu/serviceGroup") + public List getServiceGroup() throws CustomNoSuchFieldException { + if (loginService.getUserVo() == null) { + throw new CustomNoSuchFieldException(); + } + return loginService.getServiceGroup(); + } + + @PostMapping("/adm/menu/serviceGroup/update") + public void LastUserServiceGroupUpdate(Long userSeq, String updateService) throws CustomNotFoundException, CustomNoSuchFieldException { + if (loginService.getUserVo() == null) { + throw new CustomNoSuchFieldException(); + } + loginService.LastUserServiceGroupUpdate(userSeq, updateService); + } + + /** + * 멀티서치용 oprMngCode + * 내가가지고있는 서비스그룹을보여줌 + * + * @param serviceType + * @return + * @throws CustomNoSuchFieldException + */ + @GetMapping("/adm/menu/oprmng") + @ResponseBody + public List getOprmngCode(@RequestParam(name = "serviceType", required = false) String serviceType, + @RequestParam(name = "menuval", required = false) String menuval) throws CustomNoSuchFieldException { + if (loginService.getUserVo() == null) { + throw new CustomNoSuchFieldException(); + } + log.info("getOPR INIT"); + return loginService.getOprmngCode(serviceType, menuval); + } + + /** + * 어드민용 oprMngCode + * 서비스그룹생성용 + * 해당서비스그룹의 코드를 보여줌 + * + * @param serviceType + * @return + * @throws CustomNoSuchFieldException + */ + @GetMapping("/adm/menu/oprmng/admin") + @ResponseBody + public List getOprmngCodeAdmin(@RequestParam(name = "serviceType", required = false) String serviceType) throws CustomNoSuchFieldException { + if (loginService.getUserVo() == null) { + throw new CustomNoSuchFieldException(); + } + log.info("getOPR INIT"); + return loginService.getOprmngCodeAdmin(serviceType); + } + + @GetMapping("/adm/menu/main/oprmng") + @ResponseBody + public ResponseEntity getMainOprmngCode() throws CustomNoSuchFieldException, NoSuchFieldException { + //List + + if (httpServletRequest.getSession() == null) { + log.info("SESSION NULL"); + return ResponseEntity.badRequest().build(); + } + if (loginService.getUserVo() == null) { + log.info("getMainOprmngCode NULL"); + return ResponseEntity.badRequest().build(); + } + log.info("getOPR INIT"); + return ResponseEntity.ok(loginService.getMainOprmngCode()); + } + + @PostMapping("/adm/menu/main/oprmng/update") + @ResponseBody + public void getMainOprmngCodeUpdate(@RequestBody MainOprReq dto) throws CustomNoSuchFieldException, CustomNotFoundException { + if (loginService.getUserVo() == null) { + throw new CustomNoSuchFieldException(); + } + log.info("getOPR INIT - {}", new Gson().toJson(dto)); + loginService.getMainOprmngCodeUpdate(dto); + } + + + @GetMapping("/adm/menu/jstree/policy/parent") + @ResponseBody + public Map jstreeParentConvertToPolicy() { + return loginService.jstreeParentConvertToPolicy(); + } + + @GetMapping("/adm/menu/role") + @ResponseBody + public String getRole() { + return loginService.getUserVo().getRoleVal(); + } + + + @GetMapping("/adm/main/pdfdownload") + @ResponseBody + public ResponseEntity ResourceDownload(@RequestParam(name = "name") String name) throws IOException, CustomNotFoundException { + return fileService.PdfDownload(name); + } + + @GetMapping("/adm/main/uv") + @ResponseBody + public UserVo getUserVo() throws CustomNoSuchFieldException { + if (loginService.getUserVo() == null) { + throw new CustomNoSuchFieldException(); + } else { + return loginService.getUserVo(); + } + } + +} + + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/req/LoginReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/req/LoginReq.java new file mode 100644 index 0000000..0ed2d0b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/req/LoginReq.java @@ -0,0 +1,25 @@ +package com.icomsys.main_vm.biz.common.login.req; + + +import lombok.Data; +import org.springframework.security.crypto.password.PasswordEncoder; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; + +@Data +public class LoginReq { + + @NotBlank + @Size(min = 1, max = 50, message = "아이디는 1글자 이상 50글자 이하여야합니다.") + private String userId; + + @NotBlank + @Size(min = 1, max = 15, message = "비밀번호는 1글자 이상 15글자 이하여야합니다.") + private String password; + + public boolean ofValid(PasswordEncoder passwordEncoder, String dbPass) { + return passwordEncoder.matches(this.password, dbPass); + } +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/req/MainOprReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/req/MainOprReq.java new file mode 100644 index 0000000..b9b88f2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/req/MainOprReq.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.biz.common.login.req; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class MainOprReq { + + + private String serviceGroup; + private Long userSeq; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/req/PwdUpdateReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/req/PwdUpdateReq.java new file mode 100644 index 0000000..21eb8df --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/req/PwdUpdateReq.java @@ -0,0 +1,29 @@ +package com.icomsys.main_vm.biz.common.login.req; + + +import lombok.*; +import org.springframework.security.crypto.password.PasswordEncoder; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; + + +@Getter +@Setter +@NoArgsConstructor +public class PwdUpdateReq { + + private String id; + private String pw0; + private String pw1; + private String pw2; + + @Builder + public PwdUpdateReq(String id, String pw0, String pw1, String pw2) { + this.id = id; + this.pw0 = pw0; + this.pw1 = pw1; + this.pw2 = pw2; + } +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/LoginCheckReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/LoginCheckReq.java new file mode 100644 index 0000000..bcd1e5e --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/LoginCheckReq.java @@ -0,0 +1,22 @@ +package com.icomsys.main_vm.biz.common.login.res; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class LoginCheckReq { + + private String userId; + private String password; + + @Builder + public LoginCheckReq(String userId, String password) { + this.userId = userId; + this.password = password; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/OprmngCodeRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/OprmngCodeRes.java new file mode 100644 index 0000000..3129a0b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/OprmngCodeRes.java @@ -0,0 +1,25 @@ +package com.icomsys.main_vm.biz.common.login.res; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class OprmngCodeRes { + + private String custCode; + private String serviceGroup; + private String serviceGroupName; + private String serviceGroupUpper; + + @Builder + public OprmngCodeRes(String custCode, String serviceGroup, String serviceGroupName, String serviceGroupUpper) { + this.custCode = custCode; + this.serviceGroup = serviceGroup; + this.serviceGroupName = serviceGroupName; + this.serviceGroupUpper = serviceGroupUpper; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/SelectMainMenuHeadVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/SelectMainMenuHeadVo.java new file mode 100644 index 0000000..0e19568 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/SelectMainMenuHeadVo.java @@ -0,0 +1,30 @@ +package com.icomsys.main_vm.biz.common.login.res; + + +import lombok.Builder; +import lombok.Data; + +@Data +public class SelectMainMenuHeadVo { + + private String treeItem; + private int level; + private int nextLevel; + private int menuNo; + private String menuName; + private int upperMenuNo; + private String menuDesc; + private String urlPath; + + @Builder + public SelectMainMenuHeadVo(String treeItem, int level, int nextLevel, int menuNo, String menuName, int upperMenuNo, String menuDesc, String urlPath) { + this.treeItem = treeItem; + this.level = level; + this.nextLevel = nextLevel; + this.menuNo = menuNo; + this.menuName = menuName; + this.upperMenuNo = upperMenuNo; + this.menuDesc = menuDesc; + this.urlPath = urlPath; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/ServiceGroupRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/ServiceGroupRes.java new file mode 100644 index 0000000..6870622 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/ServiceGroupRes.java @@ -0,0 +1,54 @@ +package com.icomsys.main_vm.biz.common.login.res; + +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGrouop; +import lombok.*; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class ServiceGroupRes { + private String serviceGroup; + private String serviceGroupUpper; + private String custCode; + private String serviceType; + private String serviceGroupName; + private String serviceGroupDesc; + private String useYn; + private String registId; + private LocalDateTime registDate; + private String updateId; + private LocalDateTime updateDate; + + @Builder + public ServiceGroupRes(String serviceGroup, String serviceGroupUpper, String custCode, String serviceType, String serviceGroupName, String serviceGroupDesc, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.serviceGroup = serviceGroup; + this.serviceGroupUpper = serviceGroupUpper; + this.custCode = custCode; + this.serviceType = serviceType; + this.serviceGroupName = serviceGroupName; + this.serviceGroupDesc = serviceGroupDesc; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } + + public ServiceGroupRes toServiceGrouopRes(TbServiceGrouop dto) { + this.serviceGroup = dto.getServiceGroup(); + this.serviceGroupUpper = dto.getServiceGroupUpper(); + this.custCode = dto.getCustCode(); + this.serviceType = dto.getServiceType(); + this.serviceGroupName = dto.getServiceGroupName(); + this.serviceGroupDesc = dto.getServiceGroupDesc(); + this.useYn = dto.getUseYn(); + this.registId = dto.getRegistId(); + this.registDate = dto.getRegistDate(); + this.updateId = dto.getUpdateId(); + this.updateDate = dto.getUpdateDate(); + return this; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/UserPolicyListRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/UserPolicyListRes.java new file mode 100644 index 0000000..27f3dc1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/UserPolicyListRes.java @@ -0,0 +1,11 @@ +package com.icomsys.main_vm.biz.common.login.res; + +import lombok.Data; + +@Data +public class UserPolicyListRes { + + private Long userSeq; + private String policyVal; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/UserVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/UserVo.java new file mode 100644 index 0000000..9919495 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/res/UserVo.java @@ -0,0 +1,50 @@ +package com.icomsys.main_vm.biz.common.login.res; + + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class UserVo { + + private Long userSeq; + private String custCode; + private String lastUseServiceGroup; + private String roleVal; + private String userId; + // private String password; + private String userName; + private String eMail; + private String mobileNo; + private int loginCheck; + private String useYn; + private String registId; + private LocalDateTime registDate; + private String updateId; + private LocalDateTime updateDate; + + @Builder + public UserVo(Long userSeq, String custCode, String lastUseServiceGroup, String roleVal, String userId, String userName, String eMail, String mobileNo, int loginCheck, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.userSeq = userSeq; + this.custCode = custCode; + this.lastUseServiceGroup = lastUseServiceGroup; + this.roleVal = roleVal; + this.userId = userId; + this.userName = userName; + this.eMail = eMail; + this.mobileNo = mobileNo; + this.loginCheck = loginCheck; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/service/CustomUserDetailsService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/service/CustomUserDetailsService.java new file mode 100644 index 0000000..f15a3b4 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/service/CustomUserDetailsService.java @@ -0,0 +1,53 @@ +package com.icomsys.main_vm.biz.common.login.service; + +import com.google.gson.Gson; +import com.icomsys.main_vm.db.jpa.entity.system.TbBotUser; +import com.icomsys.main_vm.db.jpa.repo.system.TbBotUserRepo; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.userdetails.User; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +@Service +@Slf4j +@RequiredArgsConstructor +public class CustomUserDetailsService implements UserDetailsService { + + private final TbBotUserRepo tbBotUserRepo; + + //솔루션이 다르고 아이디가 같은경우 서비스 로직에서 솔루션 구별후 로그인 시행 + //기본적으로 솔루션 상관없이 아이디 안겹치게해주는게 좋을듯. + @Override + public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { + UserDetails a = tbBotUserRepo.findByUserIdAndUseYn(username, "Y") + .map(this::createUserDetail) + .orElseThrow(() -> new UsernameNotFoundException(username + " -> 데이터베이스에서 찾을 수 없습니다.")); + return a; + } + + //시큐리티에 올려놓고 검사하는경우. 동적처리가 안되서 제외시켜야할듯. + //권한 수정시 즉시반영이 SOE 시나몬 솔루션 정책이라고함. + //로그인 용도로만 사용해야할듯. + //나중엔 정책으로 변경. + private UserDetails createUserDetail(TbBotUser dto) { + //시스템 전체관리자인경우 권한이 여러개일수 있어 리스트로 구현 + List authList = new ArrayList<>(); + authList.add(dto.getRoleVal()); + log.info("authList - {}", new Gson().toJson(authList)); + List permission = authList.stream() + .map(SimpleGrantedAuthority::new) + .collect(Collectors.toList()); + return new User(String.valueOf(dto.getUserId()), dto.getPassword(), permission) + ; + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/service/LoginService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/service/LoginService.java new file mode 100644 index 0000000..b203596 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/login/service/LoginService.java @@ -0,0 +1,406 @@ +package com.icomsys.main_vm.biz.common.login.service; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.common.login.req.LoginReq; +import com.icomsys.main_vm.biz.common.login.req.MainOprReq; +import com.icomsys.main_vm.biz.common.login.req.PwdUpdateReq; +import com.icomsys.main_vm.biz.common.login.res.LoginCheckReq; +import com.icomsys.main_vm.biz.common.login.res.OprmngCodeRes; +import com.icomsys.main_vm.biz.common.login.res.ServiceGroupRes; +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.common.code.EnumToMap; +import com.icomsys.main_vm.common.code.MenuVo; +import com.icomsys.main_vm.common.code.enumresource.*; +import com.icomsys.main_vm.common.util.ClientIp; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbIcsLog; +import com.icomsys.main_vm.db.jpa.entity.system.TbBotUser; +import com.icomsys.main_vm.db.jpa.repo.system.*; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.MessageSource; +import org.springframework.data.jpa.repository.config.EnableJpaAuditing; +import org.springframework.http.ResponseEntity; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContext; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.ui.ModelMap; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.time.LocalDateTime; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +@Service +@Slf4j +@RequiredArgsConstructor +/** + * LoginVo는 천천히 거둬낼것 + * UserVo로 변환 + */ +public class LoginService { + + private final AuthenticationManagerBuilder authenticationManagerBuilder; + private final AuthenticationManager authenticationManager; + private final PasswordEncoder passwordEncoder; + private final HttpServletRequest httpServletRequest; + private final HttpServletResponse httpServletResponse; + private final MessageSource messageSource; + private final TbBotUserRepo tbBotUserRepo; + private final TbUserAuthGroupRepo tbUserAuthGroupRepo; + private final TbServiceGrouopRepo tbServiceGrouopRepo; + private final TbUserCustRepo tbUserCustRepo; +// private final LogService logService; + + private final TbIcsLogRepo tbIcsLogRepo; + + private final ClientIp clientIp; + + //LoginVo의 경우 Egov 레거시매퍼의존성이 잡혀있어. req에 분리 불가능 + @Transactional + public String LoginValidService(LoginReq dto, ModelMap model) { + //기본 리턴은 로그인페이지 + String result = "adm/signin/signin"; + TbBotUser userSelect = null; + + TbBotUser user = tbBotUserRepo.findByUserIdAndUseYn(dto.getUserId(), "Y") + .orElseThrow(() -> new UsernameNotFoundException("로그인 실패")); + + //전자정부 +// if (tbBotUserRepo.existsByUserIdAndPasswordAndUseFlagAndSolutionCode(dto.getUserId(), EgovFileScrty.encryptPassword(dto.getPassword(), dto.getUserId()), "Y", "vm")) { +// userSelect = tbBotUserRepo.findByUserIdAndPasswordAndUseFlagAndSolutionCode( +// dto.getUserId(), EgovFileScrty.encryptPassword(dto.getPassword(), dto.getUserId()), "Y", "vm" +// ).get(); + + //스프링 + if (dto.ofValid(passwordEncoder, user.getPassword())) { + Authentication authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(dto.getUserId(), dto.getPassword())); + SecurityContextHolder.getContext().setAuthentication(authentication); + SecurityContext securityContext = SecurityContextHolder.getContext(); + securityContext.setAuthentication(authentication); + + sessionSetting(user); + + LoginVO userResult = user.toLoginVO(); + return "forward:/adm/main/actionMain.do"; + } else { + log.info("Fail!"); + } + return result; + } + + private void sessionSetting(TbBotUser tbu) { + HttpSession session = httpServletRequest.getSession(); + session.setAttribute(SessionResource.LoginVO.getName(), tbu.toLoginVO()); + session.setAttribute(SessionResource.PolicyList.getName(), tbUserAuthGroupRepo.userPolicyListSelect(tbu.getUserSeq(), tbu.getLastUseServiceGroup())); + session.setAttribute(SessionResource.UserVO.getName(), tbu.toUserVO()); + session.setMaxInactiveInterval(60 * 60); +// session.setMaxInactiveInterval(30); + + } + + + public String actionMain(ModelMap model) { + + log.info("action main init "); + +// MenuManageVO menuManageVO = new MenuManageVO(); + List menuVos = new ArrayList<>(); + String url = ""; +// LoginVO loginVO = (LoginVO) httpServletRequest.getSession().getAttribute(SessionResource.LoginVO.getName()); + UserVo userVo = (UserVo) httpServletRequest.getSession().getAttribute(SessionResource.UserVO.getName()); + log.info("action main session uservo- {}", new Gson().toJson(userVo)); +// if (loginVO != null && loginVO.getUserId() != null && !loginVO.getUserId().equals("")) { + if (userVo != null && userVo.getUserId() != null && !userVo.getUserId().equals("")) { + menuVos = authToMenuList(getUserPolicyList(userVo.getUserSeq(), userVo.getLastUseServiceGroup()), RoleResource.valueOf(userVo.getRoleVal()).getRoleValSeq().intValue()) + .stream() + .sorted(Comparator.comparing(MenuVo::getSeq)) + .distinct() + .collect(Collectors.toList()); + //윈도우 함수 쓰지않고 처리한 쿼리. + for (MenuVo e : menuVos) { + if (e.getUrl() != null && !e.getUrl().equals("") && !e.getUrl().equals("0")) { + url = "redirect:" + e.getUrl(); + break; + } + } + } else { + // 로그인 세션이 없는 경우 오류(접근 불가) 화면으로 이동 + model.addAttribute("message", messageSource.getMessage("fail.common.login", null, Locale.getDefault())); + Logout(); + url = "adm/signin/signin"; + } + log.info("return url - {}", new Gson().toJson(url)); + return url; + } + + public LoginVO getLoginVo() { + LoginVO user = (LoginVO) httpServletRequest.getSession().getAttribute(SessionResource.LoginVO.getName()); + if (user == null || user.equals("")) { + httpServletResponse.setStatus(401); + } + return user; + } + + public UserVo getUserVo() { + UserVo user = (UserVo) httpServletRequest.getSession().getAttribute(SessionResource.UserVO.getName()); +// if (user == null || user.equals("")) { +// httpServletResponse.setStatus(401); +// } + return user; + } + + public List getSessionPolicy() { + return (ArrayList) httpServletRequest.getSession().getAttribute(SessionResource.PolicyList.getName()); + } + + @Transactional + public List getUserPolicyList(Long seq, String lastService) { + return tbUserAuthGroupRepo.userPolicyListSelect(seq, lastService); + } + + public void Logout() { + HttpSession session = httpServletRequest.getSession(); + session.setAttribute(SessionResource.LoginVO.getName(), null); + session.setAttribute(SessionResource.PolicyList.getName(), null); + session.setAttribute(SessionResource.UserVO.getName(), null); + } + + public List authToAuthList(List authList, int roleValSeq) { + return authList.stream().map(e -> { + log.info(e); + if (PolicyResource.valueOf(e).getMenu() != MenuResource.root && PolicyResource.valueOf(e).getRoleValSeq() < roleValSeq) { + log.info(PolicyResource.valueOf(e).getMenu().getMenuName()); + return MenuVo.builder() + .seq(PolicyResource.valueOf(e).getMenu().getMenuSeq()) + .seqUpper(PolicyResource.valueOf(e).getMenu().getMenuSeqUpper()) + .menuName(EnumToMap.spaceMap.get(PolicyResource.valueOf(e).getMenu().getLevel()) + PolicyResource.valueOf(e).getPolicyName()) + .authName(PolicyResource.valueOf(e).getName()) + .level(PolicyResource.valueOf(e).getMenu().getLevel()) + .url(PolicyResource.valueOf(e).getMenu().getMenuUrl()) + .build(); + } else { + return MenuVo.builder().seq(PolicyResource.rootRead.getMenu().getMenuSeq()) + .seqUpper(PolicyResource.rootRead.getMenu().getMenuSeqUpper()) + .menuName(PolicyResource.valueOf(e).getPolicyName()) + .authName(e) + .level(PolicyResource.rootRead.getMenu().getLevel()) + .url(PolicyResource.rootRead.getMenu().getMenuUrl()) + .build(); + } + + } + ) + .sorted(Comparator.comparing(MenuVo::getSeq)) + .collect(Collectors.toList()) + ; + } + + public List authToMenuList(List authList, int roleValSeq) { + Map menuList = authList.stream().map(e -> { + if (PolicyResource.valueOf(e).getMenu() != MenuResource.root && PolicyResource.valueOf(e).getRoleValSeq() < roleValSeq) { + return MenuVo.builder() + .seq(PolicyResource.valueOf(e).getMenu().getMenuSeq()) + .seqUpper(PolicyResource.valueOf(e).getMenu().getMenuSeqUpper()) + .menuName(EnumToMap.spaceMap.get(PolicyResource.valueOf(e).getMenu().getLevel()) + PolicyResource.valueOf(e).getMenu().getMenuName()) + .authName("") + .level(PolicyResource.valueOf(e).getMenu().getLevel()) + .url(PolicyResource.valueOf(e).getMenu().getMenuUrl()) + .build(); + } else { + return MenuVo.builder().seq(PolicyResource.rootRead.getMenu().getMenuSeq()) + .seqUpper(PolicyResource.rootRead.getMenu().getMenuSeqUpper()) + .menuName(EnumToMap.spaceMap.get(PolicyResource.rootRead.getMenu().getLevel()) + PolicyResource.rootRead.getMenu().getMenuName()) + .authName("") + .level(PolicyResource.rootRead.getMenu().getLevel()) + .url(PolicyResource.rootRead.getMenu().getMenuUrl()) + .build(); + } + } + ) + .collect(Collectors.toMap(menuVo -> menuVo.getSeq(), menuVo -> menuVo, (o, o2) -> o)); + + List result = new ArrayList<>(); + List next = new ArrayList<>(); + for (Long e : menuList.keySet().stream().sorted().collect(Collectors.toList())) { + result.add(menuList.get(e)); + next.add(menuList.get(e).getLevel()); + } + int temp = next.get(0); + next.remove(0); + next.add(temp); + AtomicInteger index = new AtomicInteger(); + result.stream().forEach(menuVo -> + menuVo.setNextLevel(next.get(index.getAndIncrement())) + ) + ; + return result; + } + + @Transactional + public List selectMainMenuLeft() { + //동적처리 +// return authToMenuList(getUserPolicyList(getUserVo().getUserSeq(), getUserVo().getLastUseServiceGroup()), RoleResource.valueOf(getUserVo().getRoleVal()).getRoleValSeq().intValue()) + //세션처리 + return authToMenuList(getSessionPolicy(), RoleResource.valueOf(getUserVo().getRoleVal()).getRoleValSeq().intValue()) + ; + } + + //Test용 + + @Transactional + public List selectMainMenuLeft(Long seq, String lastService, String role) { + return authToMenuList(getUserPolicyList(seq, lastService), RoleResource.valueOf(role).getRoleValSeq().intValue()); + } + + @Transactional + public List getServiceGroup() { + UserVo uv = getUserVo(); + List result = tbServiceGrouopRepo.findByServiceGroupInAndServiceGroupUpper(tbUserCustRepo.findByUserSeq(uv.getUserSeq()) + .stream().map(e -> e.getServiceGroup()) + .collect(Collectors.toList()), uv.getLastUseServiceGroup()) + .stream().map(f -> new ServiceGroupRes().toServiceGrouopRes(f)) + .collect(Collectors.toList()); + return result; + } + + @Transactional + public void LastUserServiceGroupUpdate(Long userSeq, String updateService) throws CustomNotFoundException { + tbBotUserRepo.findById(userSeq) + .orElseThrow(() -> new CustomNotFoundException()) + .updateLastService(updateService) + ; + } + + @Transactional + public List getOprmngCode(String serviceType, String menuval) { + List result = tbServiceGrouopRepo.getOprmngCode(getUserVo(), serviceType, menuval); + log.info("result - {}", new Gson().toJson(result)); + return result; + } + + @Transactional + public List getMainOprmngCode() { +// List result = tbServiceGrouopRepo.getMainOprmngCode(getUserVo()); + + List resultMainOpr = new ArrayList<>(); + + if (getUserVo().getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) { + resultMainOpr = tbServiceGrouopRepo.findByServiceType("M").stream().map(e -> OprmngCodeRes.builder() + .serviceGroup(e.getServiceGroup()) + .serviceGroupName(e.getServiceGroupName()) + .build()) + .collect(Collectors.toList()); + } else { + + List serviceResult = tbUserCustRepo.findByUserSeq(getUserVo().getUserSeq()) + .stream().map(e -> e.getServiceGroup()).collect(Collectors.toList()); + + List myMainService = tbServiceGrouopRepo.findByServiceGroupIn(serviceResult) + .stream().map(e -> e.getServiceGroupUpper()) + .distinct() + .collect(Collectors.toList()); + + resultMainOpr = tbServiceGrouopRepo.findByServiceGroupIn(myMainService) + .stream().map(e -> OprmngCodeRes.builder() + .serviceGroup(e.getServiceGroup()) + .serviceGroupName(e.getServiceGroupName()) + .build()) + .collect(Collectors.toList()); + } + + log.info("resultMainOpr - {}", new Gson().toJson(resultMainOpr)); + +// log.info("result - {}", new Gson().toJson(result)); + return resultMainOpr; + } + + @Transactional + public void getMainOprmngCodeUpdate(MainOprReq dto) throws CustomNotFoundException { + TbBotUser result = tbBotUserRepo.findById(dto.getUserSeq()).orElseThrow(() -> new CustomNotFoundException()) + .updateLastService(dto.getServiceGroup()); + log.info("getMainOprmngCodeUpdate - {}", new Gson().toJson(result)); +// httpServletRequest.getSession().setAttribute(SessionResource.UserVO.getName(), null); +// httpServletRequest.getSession().setAttribute(SessionResource.UserVO.getName(), result.toUserVO()); + sessionSetting(result); + } + + public Map jstreeParentConvertToPolicy() { + return EnumToMap.PolicyToParentMap; + } + + public List getOprmngCodeAdmin(String serviceType) { + + List result = tbServiceGrouopRepo.getOprmngCodeAdmin(getUserVo(), serviceType); + log.info("result - {}", new Gson().toJson(result)); + return result; + } + + @Transactional + public ResponseEntity loginCheck(LoginCheckReq dto) throws CustomNotFoundException, CustomBadRequestException { + TbBotUser user = tbBotUserRepo.findByUserId(dto.getUserId()).orElseThrow(() -> new CustomNotFoundException()); + if (user.getLoginCheck() >= 5) { + throw new CustomBadRequestException(); + } + if (user.getUseYn().equals("N")) { + throw new CustomBadRequestException(); + } + if (LocalDateTime.now().isAfter(user.getUpdateDate().plusDays(90))) { + return ResponseEntity.status(401).build(); + } + if (!passwordEncoder.matches(dto.getPassword(), user.getPassword())) { + user.loginFailCheck(); + throw new CustomNotFoundException(); + } else { +// logService.LogSave(LogVO.builder() +// .menuAuth(MenuResource.commonsystemusermanage) +// .actionCode(String.valueOf((ActionResource.login))) +// .serviceGroup("OURSTOREAI") +// .build()); + + tbIcsLogRepo.save(TbIcsLog.builder() + .registDate(LocalDateTime.now()) + .userId(user.getUserId()) + .actionCode(ActionResource.login.name()) + .menuAuth(MenuResource.commonsystemusermanage.name()) + .ip(clientIp.getClientIp()) + .serviceGroup(user.getLastUseServiceGroup()) + .build() + ); + + user.resetLoginFailCheck(); + } + return ResponseEntity.ok().build(); + } + + + @Transactional + public ResponseEntity PwdUpdate(PwdUpdateReq dto) throws CustomNotFoundException, CustomBadRequestException { + TbBotUser user = tbBotUserRepo.findByUserId(dto.getId()).orElseThrow(() -> new CustomNotFoundException()); + if (user.getLoginCheck() >= 5) { + throw new CustomBadRequestException(); + } + if (!passwordEncoder.matches(dto.getPw0(), user.getPassword())) { + user.loginFailCheck(); + throw new CustomNotFoundException(); + } else { + user.updatePassword(passwordEncoder.encode(dto.getPw1())); + } + + return ResponseEntity.ok().build(); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemCommoncodeController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemCommoncodeController.java new file mode 100644 index 0000000..807420d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemCommoncodeController.java @@ -0,0 +1,57 @@ +package com.icomsys.main_vm.biz.common.system.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.common.system.service.SystemCommoncodeService; +import com.icomsys.main_vm.biz.common.system.vo.*; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/common/system") +public class SystemCommoncodeController { + + private final SystemCommoncodeService systemOprmngcodeService; + + + @GetMapping("/oprmngcode/manage.do") + public String OprmngcodeView() { + return "/adm/common/system/commoncode"; + } + + @PostMapping("/oprmngcode/list") + @ResponseBody + public DslDataTableRes SystemCommoncodeList(@RequestBody SystemCommoncodeReq dto) { + QueryResults result = systemOprmngcodeService.SystemCommoncodeList(dto); + return new DslDataTableRes(result); + } + + @PostMapping("/oprmngcode/insert") + @ResponseBody + public void SystemCommoncodeInsert(@RequestBody SystemCommoncodeInsertReq dto) throws CustomBadRequestException, CustomNotFoundException { + systemOprmngcodeService.SystemCommoncodeInsert(dto); + } + + @PostMapping("/oprmngcode/update") + @ResponseBody + public void SystemCommoncodeUpdate(@RequestBody SystemCommoncodeUpdateReq dto) throws CustomNotFoundException { + systemOprmngcodeService.SystemCommoncodeUpdate(dto); + } + + @PostMapping("/oprmngcode/delete") + @ResponseBody + public void SystemCommoncodeDelete(@RequestBody SystemCommonCodeDeleteReq dto) throws CustomNotFoundException { + systemOprmngcodeService.SystemCommoncodeDelete(dto); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemCustController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemCustController.java new file mode 100644 index 0000000..1934f53 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemCustController.java @@ -0,0 +1,146 @@ +package com.icomsys.main_vm.biz.common.system.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.system.service.SystemCustService; +import com.icomsys.main_vm.biz.common.system.vo.*; +import com.icomsys.main_vm.common.code.MenuVo; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/common/system") +@CrossOrigin("*") +public class SystemCustController { + + private final SystemCustService custService; + + /** + * @Name 고객사관리 JSP 페이지 랜더링 + * @Description 고객사관리 JSP 랜더링하는 컨트롤러 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/cust/manage.do") + public String CustListView() { + return "/adm/common/system/cust"; + } + + /** + * @Name 고객사 리스트를 조회하는 API + * @Description 고객사리스트를 조회하는 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @PostMapping("/cust/list") + @ResponseBody + public DslDataTableRes CustList(@RequestBody SystemIcsCustInfoReq dto) { + log.info("list dto = {}", new Gson().toJson(dto)); + QueryResults result = custService.CustList(dto); + return new DslDataTableRes(result); + } + + /** + * @Name 고객사정보를 업데이트하는 API + * @Description 고객사정보를 업데이트하는 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/cust/update") + public String custUpdate(@RequestParam(name = "custCode", required = true) String custCode) { + return "/adm/common/system/custUpdate"; + } + + /** + * @Name 고객사 조회 + * @Description 고객사정보를 상세보기 페이지의 데이터를 조히하는 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/cust/select") + @ResponseBody + public SystemCustSelectRes custSelect(@RequestParam(name = "custCode", required = true) String custCode) throws CustomNotFoundException { + log.info("view Controller - {}", custCode); + return custService.custSelect(custCode); + } + + /** + * @Name 고객사 생성 + * @Description 고객사를 생성하는 페이지 랜더링 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/cust/insert") + public String CustInsert() { + log.info("CustInsert Controller"); + return "/adm/common/system/custInsert"; + } + + /** + * @Name 고객사 생성시 줄수있는 권한그룹의 리스트 + * @Description 고객사에게 줄수있는 권한그룹의 리스트 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/cust/policybase") + @ResponseBody + public List CustPolicyBase(){ + return custService.CustPolicyBase(); + } + + /** + * @Name 고객사 코드 조회 + * @Description 고객사 코드가 중복되는지 확인하는 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/cust/doubleCheck") + @ResponseBody + public String CustDoubleCheck(@RequestParam(name = "custCode")String custCode){ + return custService.CustDoubleCheck(custCode); + } + + /** + * @Name 고객사의 메인 서비스그룹 생성 + * @Description 고객사를 생성할때 메인서비스그룹을 생성해줄때 중복체크 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/cust/service/doubleCheck") + @ResponseBody + public String CustServiceDoubleCheck(@RequestParam(name = "serviceGroup")String serviceGroup){ + return custService.CustServiceDoubleCheck(serviceGroup); + } + + /** + * @Name 고객사 생성 정보 저장 + * @Description 고객사를 생성하는 정보를 저장 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @PostMapping("/cust/save") + @ResponseBody + public void CustSave(@RequestBody SystemCustSaveReq dto) throws CustomNotFoundException { + custService.CustSave(dto); + } + + /** + * @Name 고객사 생성 정보 업데이트 + * @Description 고객사를 정보를 업데이트하는 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @PostMapping("/cust/modify") + @ResponseBody + public void CustModify(@RequestBody SystemCustSaveReq dto) throws CustomNotFoundException { + custService.CustModify(dto); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemGroupAuthController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemGroupAuthController.java new file mode 100644 index 0000000..e0457e8 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemGroupAuthController.java @@ -0,0 +1,147 @@ +package com.icomsys.main_vm.biz.common.system.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.login.res.OprmngCodeRes; +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.common.system.service.SystemGroupAuthService; +import com.icomsys.main_vm.biz.common.system.vo.*; +import com.icomsys.main_vm.common.code.enumresource.RoleResource; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import oracle.jdbc.proxy.annotation.Post; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.stream.Collectors; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/common/system") +public class SystemGroupAuthController { + + private final SystemGroupAuthService groupAuthService; + + /** + * @Name 권한그룹의 페이지랜딩 컨트롤러 + * @Description 권한그룹의 페이지를 랜딩함 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/groupAuth/manage.do") + public String GroupAuthView() { + log.info("group Auth View controller"); + return "/adm/common/system/groupAuth"; + } + + /** + * @Name 리스트페이지의 API + * @Description 권한그룹 리스트의 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @PostMapping("/groupAuth/list") + @ResponseBody + public DslDataTableRes GroupAuthList(@RequestBody SystemServiceAuthGroupReq dto) { + log.info("list dto = {}", new Gson().toJson(dto)); + QueryResults result = groupAuthService.GroupAuthList(dto); + return new DslDataTableRes(result); + } + + /** + * @Name 권한그룹의 상세내역 조회페이지 랜더링 + * @Description 권한그룹 상세보기 JSP를 랜더링함. + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/groupAuth/view") + public String GroupAuthView(@RequestParam(name = "custCode", required = true) String custCode) { + log.info("view Controller - {}", custCode); + return "/adm/common/system/groupAuthView"; + } + + /** + * @Name 권한그룹 권한데이터 + * @Description 권한그룹의 데이터를 트리구조로 뿌려주는 데이터를 조회함 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/groupAuth/newTree") + @ResponseBody + public SystemServiceGroupTreeRes GroupAuthNewTree(@RequestParam(name = "serviceGroup", required = true)String serviceGroup) { + return groupAuthService.GroupAuthNewTree(serviceGroup); + } + + /** + * @Name 권한그룹을 생성 &저장하는 API + * @Description + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @PostMapping("/groupAuth/insert") + @ResponseBody + public void GroupAuthInsert(@RequestBody SystemServiceGroupInsertReq dto) { + groupAuthService.GroupAuthUpdateInsert(dto); + } + + /** + * @Name 권한그룹을 업데이트페이지 랜더링 + * @Description 권한그룹 업데이트 JSP페이지 랜더링 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/groupAuth/update") + public String GroupAuthUpdate() { + log.info("GroupAuthUpdate Controller"); + return "/adm/common/system/groupAuthUpdate"; + } + + /** + * @Name 권한그룹을 업데이트페이지의 데이터조회 + * @Description 권한그룹 업데이트 페이지의 데이터를 조회하는 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/groupAuth/update/select") + @ResponseBody + public SystemServiceAuthGroupUpdateRes GroupAuthUpdateData(@RequestParam(name = "authGroupSeq") Long authGroupSeq) throws CustomNotFoundException { + log.info("GroupAuthUpdateData Controller" + authGroupSeq); + return groupAuthService.GroupAuthUpdateData(authGroupSeq); + } + + /** + * @Name 권한그룹에 소속시킬 유저를 검색하는 API + * @Description 권한그룹에 소속시킬 유저를 검색하는 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @PostMapping("/groupAuth/userSearch") + @ResponseBody + public List GroupAuthUpdateDataUserSearch(@RequestParam(name = "authGroupSeq") Long authGroupSeq, @RequestBody SystemServiceAuthGroupUserSearchReq dto) throws CustomNotFoundException { + return groupAuthService.GroupAuthUpdateDataUserSearch(authGroupSeq, dto); + } + + /** + * @Name 권한그룹에 을 업데이트 하는 API + * @Description 권한그룹을 업데이트하는 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @PostMapping("/groupAuth/modify/update") + @ResponseBody + public void GroupAuthModityUpdate(@RequestBody SystemServiceAuthGroupModifyReq dto) throws CustomNotFoundException { + log.info("GroupAuthModityUpdate Controller" + dto); + groupAuthService.GroupAuthModityUpdate(dto); + } + + @GetMapping("/groupAuth/insert/opr") + @ResponseBody + public List GroupInsertOpr() { + return groupAuthService.GroupInsertOpr(); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemPolicyMenuController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemPolicyMenuController.java new file mode 100644 index 0000000..473274a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemPolicyMenuController.java @@ -0,0 +1,40 @@ +package com.icomsys.main_vm.biz.common.system.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.common.system.service.SystemPolicyMenuService; +import com.icomsys.main_vm.biz.common.system.vo.*; +import com.icomsys.main_vm.common.code.MenuVo; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/common/system") +public class SystemPolicyMenuController { + + private final SystemPolicyMenuService systemPolicyMenuService; + /** + * 삭제한 메뉴입니다 + */ + + @GetMapping("/policyMenu/manage.do") + public String PolicyMenuView(){ + return "/adm/common/system/policyMenu"; + } + + @PostMapping("/policyMenu/list") + @ResponseBody + public DslDataTableRes PolicyMenuList(@RequestBody SystemPolicyMenuReq dto) { + DslDataTableRes result = systemPolicyMenuService.PolicyMenuList(dto); + log.info("PolicyMenuList result = {}", new Gson().toJson(result)); + return result; + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemServiceGroupController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemServiceGroupController.java new file mode 100644 index 0000000..f1cad13 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemServiceGroupController.java @@ -0,0 +1,134 @@ +package com.icomsys.main_vm.biz.common.system.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.common.system.service.SystemServiceGroupService; +import com.icomsys.main_vm.biz.common.system.vo.*; +import com.icomsys.main_vm.common.code.enumresource.RoleResource; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/common/system") +public class SystemServiceGroupController { + + private final LoginService loginService; + private final SystemServiceGroupService systemServiceGroupService; + + /** + * @Name 서비스그룹 랜딩페이지 + * @Description 시스템운영자는 고객사리스트 -> 상위서비스리스트, 유저어드민은, 현재 사용중인 메인 서비스의 상세페이지 랜더링 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/serviceGroup/manage.do") + public String ServiceGroupView() { + UserVo uv = loginService.getUserVo(); + if (uv.getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) { + return "/adm/common/system/serviceGroupList"; + } else { + return "/adm/common/system/serviceGroupView"; + } + } + + /** + * @Name 서비스그룹 리스트 + * @Description 시스템운영자는 고객사리스트 -> 상위서비스리스트 데이터 조회 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @PostMapping("/serviceGroup/list") + @ResponseBody + public DslDataTableRes ServiceGroupList(@RequestBody SystemServiceGroupReq dto) { + QueryResults result = systemServiceGroupService.ServiceGroupList(dto); + return new DslDataTableRes(result); + } + + /** + * @Name 서비스그룹 리스트 + * @Description 시스템운영자는 고객사리스트 -> 상위서비스리스트 데이터 조회 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/serviceGroup/view") + public String ServiceGroupView(@RequestParam(name = "serviceGroup", required = false) String serviceGroup) { + return "/adm/common/system/serviceGroupView"; + } + + /** + * @Name 시나리오그룹 추가 버튼 API + * @Description 추가할수있는 서비스그룹 검색 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/serviceGroup/select") + @ResponseBody + public SystemServiceGroupViewRes ServiceGroupSelect(@RequestParam(name = "serviceGroup", required = false) String serviceGroup) { + if(serviceGroup ==null || serviceGroup.equals("")){ + return systemServiceGroupService.ServiceGroupSelect(); + } + else{ + return systemServiceGroupService.ServiceGroupSelect(serviceGroup); + } + } + + /** + * @Name 선택된 시나리오그룹의 권한 + * @Description 선택된 서비스그룹의 권한리스트 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/serviceGroup/selectPolicy") + @ResponseBody + public List ServiceGroupSelectPolicy(@RequestParam(name = "serviceGroup", required = true) String serviceGroup) { + return systemServiceGroupService.SelectPolicy(serviceGroup); + } + + /** + * @Name 시나리오그룹의 변경값 업데이트 + * @Description 수정된 서비스그룹의 데이터를 업데이트함 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @PostMapping("/serviceGroup/update") + @ResponseBody + public void ServiceGroupUpdate(@RequestBody SystemServiceGroupUpdateReq dto) throws CustomNotFoundException { + systemServiceGroupService.ServiceGroupUpdate(dto); + } + + /** + * @Name 시나리오그룹추가 저장 API + * @Description 시나리오 그룹의 저장 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @PostMapping("/serviceGroup/insert") + @ResponseBody + public void ServiceGroupInsert(@RequestBody SystemServiceGroupUpdateReq dto) throws CustomNotFoundException { + systemServiceGroupService.ServiceGroupInsert(dto); + } + + /** + * @Name 서비스그룹 중복확인버튼 + * @Description 해당 서비스그룹을 저장할수 있는지 확인하는 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @PostMapping("/serviceGroup/doubleCheck") + @ResponseBody + public String ServiceGroupDoubleCheck(@RequestBody SystemServiceGroupUpdateReq dto) { + log.info("ServiceGroupDoubleCheck Controller - {}", new Gson().toJson(dto)); + return systemServiceGroupService.ServiceGroupDoubleCheck(dto); + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemUserAdminController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemUserAdminController.java new file mode 100644 index 0000000..c7b6fb7 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemUserAdminController.java @@ -0,0 +1,104 @@ +package com.icomsys.main_vm.biz.common.system.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.login.res.OprmngCodeRes; +import com.icomsys.main_vm.biz.common.system.service.SystemUserAdminService; +import com.icomsys.main_vm.biz.common.system.service.SystemUserService; +import com.icomsys.main_vm.biz.common.system.vo.*; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/common/system") +public class SystemUserAdminController { + + private final SystemUserAdminService systemUserAdminService; + + /** + * @Name 어드민 시스템관리 운영자 관리 + * @Description 사용자 관리와 코멘트 같음. + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/userAdmin/manage.do") + public String UserAdminView() { + return "/adm/common/system/userAdmin"; + } + + @PostMapping("/userAdmin/list") + @ResponseBody + public DslDataTableRes userAdminList(@RequestBody SystemBotUserReq dto) { + log.info("list dto = {}", new Gson().toJson(dto)); + DslDataTableRes result = systemUserAdminService.SystemUserAdminList(dto); + return result; + } + + @GetMapping("/userAdmin/view") + public String userAdminDetailView(@RequestParam(name = "userSeq", required = true) String userSeq) { + log.info("view Controller - {}", userSeq); + return "/adm/common/system/userAdminView"; + } + + + @GetMapping("/userAdmin/insert") + public String ServiceGroupInsert() { + log.info("user insert Controller"); + return "/adm/common/system/userAdminInsert"; + } + + @PostMapping("/userAdmin/save") + @ResponseBody + public void userAdminSave(@RequestBody SystemBotUserSaveReq dto) throws CustomNotFoundException { + log.info("save Dto = {}", new Gson().toJson(dto)); + systemUserAdminService.userAdminSave(dto); + } + + @PostMapping("/userAdmin/update") + @ResponseBody + public void userAdminUpdate(@RequestBody SystemBotUserUpdateReq dto) throws CustomNotFoundException { + log.info("userUpdatee Dto = {}", new Gson().toJson(dto)); + systemUserAdminService.userAdminUpdate(dto); + } + + @GetMapping("/userAdmin/authlist") + @ResponseBody + public List UserAdminAuthGroupList(@RequestParam(name = "serviceGroup", required = true) String serviceGroup) { + log.info("UserAuthGroupList=========" + serviceGroup); + return systemUserAdminService.UserAdminAuthGroupList(serviceGroup); + } + + @GetMapping("/userAdmin/doubleCheck") + @ResponseBody + public String UserAdminDoubleCheck(@RequestParam(name = "userId") String userId) { + return systemUserAdminService.UserDoubleCheck(userId); + } + + @GetMapping("/userAdmin/viewData") + @ResponseBody + public SystemBotUserViewRes UserAdminViewData(@RequestParam(name = "userSeq", required = true) Long userSeq) throws CustomNotFoundException { + log.info("UserViewData=========" + userSeq); + return systemUserAdminService.UserAdminViewData(userSeq); + } + + @GetMapping("/userAdmin/cust/select") + @ResponseBody + public List UserAdminCustList() throws CustomNotFoundException { + + return systemUserAdminService.UserAdminCustList(); + } + + @GetMapping("/userAdmin/service/select") + @ResponseBody + public List UserAdminServiceList(@RequestParam(name = "custCode", required = true)String cust) throws CustomNotFoundException { + return systemUserAdminService.UserAdminServiceList(cust); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemUserController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemUserController.java new file mode 100644 index 0000000..50cad82 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/controller/SystemUserController.java @@ -0,0 +1,175 @@ +package com.icomsys.main_vm.biz.common.system.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.login.res.OprmngCodeRes; +import com.icomsys.main_vm.biz.common.system.service.SystemUserService; +import com.icomsys.main_vm.biz.common.system.vo.*; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/common/system") +public class SystemUserController { + + private final SystemUserService systemUserService; + + /** + * @Name 유저리스트페이지 + * @Description 어드민 시스템관리 유저관리 JSP랜딩페이지 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/user/manage.do") + public String UserView() { + return "/adm/common/system/user"; + } + + /** + * @Name 유저리스트페이지 리스트 Data SEARCH API + * @Description 어드민 시스템관리 유저관리 DATA LIST + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @PostMapping("/user/list") + @ResponseBody + public DslDataTableRes userList(@RequestBody SystemBotUserReq dto) { + log.info("list dto = {}", new Gson().toJson(dto)); + QueryResults result = systemUserService.SystemUserList(dto); + return new DslDataTableRes(result); + } + + /** + * @Name 유저리스트에서 더블클릭해서 보는 유저 상세페이지 + * @Description 어드민 시스템관리 유저 DATA + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/user/view") + public String userDetailView(@RequestParam(name = "userSeq", required = true) String userSeq) { + log.info("view Controller - {}", userSeq); + return "/adm/common/system/userView"; + } + + /** + * @Name 유저리스트에서 유저를 생성페이지 랜더링 + * @Description 어드민 시스템관리 유저생성하는 페이지랜더링 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/user/insert") + public String ServiceGroupInsert() { + log.info("user insert Controller"); + return "/adm/common/system/userInsert"; + } + + /** + * @Name 유저리스트에서 유저를 생성API + * @Description 어드민 시스템관리 유저생성하는 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @PostMapping("/user/save") + @ResponseBody + public void userSave(@RequestBody SystemBotUserSaveReq dto) throws CustomNotFoundException { + log.info("save Dto = {}", new Gson().toJson(dto)); + systemUserService.userSave(dto); + } + + /** + * @Name 유저리스트에서 유저정보를 업데이트 + * @Description 어드민 시스템관리 유저정보를 업데이트하는 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @PostMapping("/user/update") + @ResponseBody + public void userUpdate(@RequestBody SystemBotUserUpdateReq dto) throws CustomNotFoundException { + log.info("userUpdatee Dto = {}", new Gson().toJson(dto)); + systemUserService.userUpdate(dto); + } + + /** + * @Name 유저 권한그룹 리스트 + * @Description 시나리오그룹이 가지고있는 권한리스트를 조회함 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/user/authlist") + @ResponseBody + public List UserAuthGroupList(@RequestParam(name = "serviceGroup", required = true) String serviceGroup) { + log.info("UserAuthGroupList=========" + serviceGroup); + return systemUserService.UserAuthGroupList(serviceGroup); + } + + /** + * @Name 유저 중복체크 + * @Description 유저 아이디 중복체크 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/user/doubleCheck") + @ResponseBody + public String UserDoubleCheck(@RequestParam(name = "userId") String userId) { + return systemUserService.UserDoubleCheck(userId); + } + + /** + * @Name 유저 상세보기 데이터 + * @Description 유저를 더블클링 했을시 필요한 데이터 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/user/viewData") + @ResponseBody + public SystemBotUserViewRes UserViewData(@RequestParam(name = "userSeq", required = true) Long userSeq) throws CustomNotFoundException { + log.info("UserViewData=========" + userSeq); + return systemUserService.UserViewData(userSeq); + } + + /** + * @Name 유저 생성시 소속시킬 고객사 검색 + * @Description 유저를 더블클링 했을시 필요한 데이터 API + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/user/cust/select") + @ResponseBody + public List UserCustList() throws CustomNotFoundException { + return systemUserService.UserCustList(); + } + + /** + * @Name 해당 서비스그룹 검색 + * @Description 해당유저를 생성할때 사용할 수 있는 서비스 그룹 검색 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/user/service/select") + @ResponseBody + public List UserServiceList(@RequestParam(name = "custCode", required = true) String cust) throws CustomNotFoundException { + return systemUserService.UserServiceList(cust); + } + + /** + * @Name 비밀번호 오류회수 초기화 + * @Description 비밀번호 오류회수를 초기화시킴 + * @Author JangWonSeok + * @CreateDate 2023. 03. 09. + */ + @GetMapping("/user/chk/reset") + public ResponseEntity UserCheckReset(@RequestParam(name = "userSeq") Long userSeq) throws CustomNotFoundException { + log.info("failreset - {}", userSeq); + systemUserService.UserCheckReset(userSeq); + return ResponseEntity.ok().build(); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemCommoncodeService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemCommoncodeService.java new file mode 100644 index 0000000..de87775 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemCommoncodeService.java @@ -0,0 +1,89 @@ +package com.icomsys.main_vm.biz.common.system.service; + + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.common.system.vo.*; +import com.icomsys.main_vm.db.jpa.entity.system.TbBotCommonCode; +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGrouop; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbBotCommonCodeId; +import com.icomsys.main_vm.db.jpa.repo.system.TbBotCommonCodeRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbServiceGrouopRepo; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.math3.analysis.function.Add; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +@Slf4j +@RequiredArgsConstructor +public class SystemCommoncodeService { + + private final LoginService loginService; + private final TbBotCommonCodeRepo tbBotCommonCodeRepo; + private final TbServiceGrouopRepo tbServiceGrouopRepo; + + @Transactional(readOnly = true) + public QueryResults SystemCommoncodeList(SystemCommoncodeReq dto) { + QueryResults result = tbBotCommonCodeRepo + .SystemCommoncodeList(dto.ofUserVo(loginService.getUserVo())); + return result; + } + + @Transactional + public void SystemCommoncodeInsert(SystemCommoncodeInsertReq dto) throws CustomBadRequestException, CustomNotFoundException { + + log.info("insert - {}", new Gson().toJson(dto)); + + TbServiceGrouop service = tbServiceGrouopRepo.findByServiceGroup(dto.getServiceGroup()) + .orElseThrow(() -> new CustomNotFoundException()); + if (tbBotCommonCodeRepo.existsByOprMngCodeAndMajorCodeAndMinorCode(dto.getOpr(loginService.getUserVo()), dto.getMajor(), dto.getMinor())) { + throw new CustomBadRequestException(); + } else { +// if (dto.getCodeType().equals("C_CD")) { + tbBotCommonCodeRepo.save(dto.ofSave(loginService.getUserVo(), service.getCustCode(), service.getServiceGroup())); +// tbBotCommonCodeRepo.saveAll(dto.ofSaveAll(loginService.getUserVo(), tbServiceGrouopRepo.findByServiceGroupUpperAndServiceType(tbServiceGrouopRepo +// .findByServiceGroup(dto.getServiceGroup()).orElseThrow(() -> new CustomNotFoundException()).getServiceGroupUpper(), "S") +// .stream().map(f -> f.getServiceGroup()).collect(Collectors.toList()))); +// } else { +// tbBotCommonCodeRepo.save(dto.ofSave(loginService.getUserVo(), service.getCustCode())); + } + } + + @Transactional + public void SystemCommoncodeUpdate(SystemCommoncodeUpdateReq dto) throws CustomNotFoundException { + + log.info("update - {}", new Gson().toJson(dto)); + +// if (dto.getCodeType().equals("C_CD")) { +// for (TbBotCommonCodeId f : tbServiceGrouopRepo.findByServiceGroupUpperAndServiceType(tbServiceGrouopRepo.findByServiceGroup(dto.getServiceGroup()) +// .orElseThrow(() -> new CustomNotFoundException()).getServiceGroupUpper(), "S") +// .stream() +// .map(e -> TbBotCommonCodeId.builder().oprMngCode(e.getCustCode() + "_RCP_" + e.getServiceGroup()) +// .majorCode(dto.getMajorCode()).minorCode(dto.getMinorCode()).build()).collect(Collectors.toList())) { +// tbBotCommonCodeRepo.findById(f) +// .orElseThrow(() -> new CustomNotFoundException()) +// .toUpdate(dto, loginService.getUserVo()); +// } +// } else { + tbBotCommonCodeRepo.findById(dto.toId()) + .orElseThrow(() -> new CustomNotFoundException()) + .toUpdate(dto, loginService.getUserVo()); +// } + } + + public void SystemCommoncodeDelete(@RequestBody SystemCommonCodeDeleteReq dto) { + + tbBotCommonCodeRepo.deleteById(dto.delId()); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemCustService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemCustService.java new file mode 100644 index 0000000..a0769a4 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemCustService.java @@ -0,0 +1,269 @@ +package com.icomsys.main_vm.biz.common.system.service; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.common.service.RestTemplateService; +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.common.system.vo.*; +import com.icomsys.main_vm.common.code.MenuVo; +import com.icomsys.main_vm.common.code.enumresource.PolicyResource; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbProjectSetting; +import com.icomsys.main_vm.db.jpa.entity.system.*; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbCustPolicyId; +import com.icomsys.main_vm.db.jpa.repo.conversation.TbProjectSettingRepo; +import com.icomsys.main_vm.db.jpa.repo.system.*; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.stream.Streams; +import org.apache.el.lang.FunctionMapperImpl; +import org.apache.http.conn.HttpHostConnectException; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.HttpRequestMethodNotSupportedException; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.util.UriComponentsBuilder; + +import java.net.URI; +import java.time.LocalDateTime; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Function; +import java.util.stream.Collectors; + +@Service +@Slf4j +@RequiredArgsConstructor +public class SystemCustService { + private final LoginService loginService; + private final TbIcsCustInfoRepo tbIcsCustInfoRepo; + private final TbServiceGrouopRepo tbServiceGrouopRepo; + private final TbIcsOprMngInfoRepo tbIcsOprMngInfoRepo; + private final TbCustPolicyRepo tbCustPolicyRepo; + private final TbUserCustRepo tbUserCustRepo; + private final TbServiceGroupPolicyRepo tbServiceGroupPolicyRepo; + private final RestTemplateService restTemplateService; + private final TbProjectSettingRepo tbProjectSettingRepo; + @Value("${feign.url.nlp}") + private String wisepath; + + + public QueryResults CustList(SystemIcsCustInfoReq dto) { +// return tbIcsCustInfoRepo.findAll().stream().map(e -> new SystemIcsCustInfoRes().toIcsCustInfoRes(e)).collect(Collectors.toList()); + return tbIcsCustInfoRepo.SelectCustInfo(dto); + } + + public List CustPolicyBase() { + List result = loginService.authToAuthList( + PolicyResource.ALL.stream().map(e -> e.getName()).collect(Collectors.toList()), 10000000); + return result; + } + + public String CustDoubleCheck(String custCode) { + String result = "N"; + + if (tbIcsCustInfoRepo.existsByCustCode(custCode)) { + return result; + } else { + return "Y"; + } + } + + public String CustServiceDoubleCheck(String serviceGroup) { + String result = "N"; + if (tbServiceGrouopRepo.existsByServiceGroup(serviceGroup)) { + return result; + } else { + return "Y"; + } + } + + @Transactional + public void CustSave(SystemCustSaveReq dto) throws CustomNotFoundException { + log.info("CustSave dto - {}", new Gson().toJson(dto)); + UserVo uv = loginService.getUserVo(); + tbIcsCustInfoRepo.save(dto.otCust(uv)); + tbServiceGrouopRepo.saveAll(dto.toServiceGroup(uv)); + tbIcsOprMngInfoRepo.saveAll(dto.toOpr(uv)); + tbCustPolicyRepo.saveAll(dto.toPolicy()); + tbUserCustRepo.saveAll(dto.toSystemAdmin(uv)); + tbProjectSettingRepo.saveAll(WisenutInsert(dto.toWisenutInsert())); + } + + public List WisenutInsert(List dto) throws CustomNotFoundException { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + List projectSettins = new ArrayList<>(); + UserVo uv = loginService.getUserVo(); + log.info("===================WisenutInsert==============="); +// log.info("data ===== {}", new Gson().toJson(dto)); + + ResponseEntity callRes = null; + for (WisenutInsertReqVo e : dto) { + callRes = Optional.of(restTemplateService + .PostCall(UriComponentsBuilder.newInstance().uri(URI.create(wisepath + "/proj/insert")) + .build(), headers, new Gson().toJson(e))) + .orElseThrow(() -> new CustomNotFoundException("Wisenut 연결에 실패하였습니다.")) + ; + if (callRes.getStatusCode().equals(HttpStatus.OK)) { + WisenutInsertResVo callVo = new Gson().fromJson(callRes.getBody().toString(), WisenutInsertResVo.class); + projectSettins.add(TbProjectSetting.builder() + .ifMappingId(callVo.getProjectId()) + .oprMngCode(e.getName()) + .similarityCriteria(e.getSimThreshold()) + .classCriteria(e.getConfidentThreshold()) + .classResultCriteria(e.getConfidentThresholdGap()) + .registId(uv.getUserId()) + .updateId(uv.getUserId()) + .registDate(LocalDateTime.now()) + .updateDate(LocalDateTime.now()) + .build()); + + } else { + throw new CustomNotFoundException("Wisenut 연결에 실패하였습니다."); + } + } + + return projectSettins; + } + + @Transactional(readOnly = true) + public SystemCustSelectRes custSelect(String custCode) throws CustomNotFoundException { + + TbIcsCustInfo custResult = tbIcsCustInfoRepo.findById(custCode) + .orElseThrow(() -> new CustomNotFoundException()); + + Map> polMap = new HashMap<>(); + List systemCustSaveSubReqs = tbServiceGrouopRepo.findByCustCodeAndServiceType(custCode, "M").stream().map(e -> { + polMap.put(e.getServiceGroup(), new ArrayList<>()); + return SystemCustSaveSubReq.builder() + .addServiceGroupName(e.getServiceGroupName()) + .addServiceGroup(e.getServiceGroup()) + .addOprMngCode(custCode + "_RCP_" + e.getServiceGroup()) + .addServiceGroupDesc(e.getServiceGroupDesc()) + .addUseYn(e.getUseYn()) + .build(); + } + ).distinct() + .collect(Collectors.toList()); + + tbCustPolicyRepo.findByServiceGroupIn(polMap.keySet().stream().collect(Collectors.toList())) + .stream().map(e -> { + List addpol = polMap.get(e.getServiceGroup()); + addpol.add(e.getPolicyVal()); + polMap.put(e.getServiceGroup(), addpol); + return false; + } + ).collect(Collectors.toList()); + + SystemCustSelectRes result = SystemCustSelectRes.builder() + .custName(custResult.getCustName()) + .custCode(custResult.getCustCode()) + .custUseYn(custResult.getUseYn()) + .addServiceAuthList(systemCustSaveSubReqs) + .servicePol(polMap) + .mainMenu(loginService.authToAuthList(PolicyResource.ALL.stream().map(e -> e.getName()).collect(Collectors.toList()), 10000000)) + .policyParent(loginService.jstreeParentConvertToPolicy()) + .build(); + return result; + } + + @Transactional + public void CustModify(SystemCustSaveReq dto) throws CustomNotFoundException { + log.info("CustSave dto - {}", new Gson().toJson(dto)); + + UserVo uv = loginService.getUserVo(); + TbIcsCustInfo custResult = tbIcsCustInfoRepo.findById(dto.getCustCode()) + .orElseThrow(() -> new CustomNotFoundException()) + .UpdateCust(dto, loginService.getUserVo()); + Map> custPolBase = tbCustPolicyRepo.findByServiceGroupIn(tbServiceGrouopRepo + .findByCustCodeAndServiceType(dto.getCustCode(), "M") + .stream() + .map(e -> e.getServiceGroup()) + .collect(Collectors.toList())) + .stream() + .collect(Collectors.groupingBy(TbCustPolicy::getServiceGroup)); + + List saveService = new ArrayList<>(); + List saveOpr = new ArrayList<>(); + + List insertPol = new ArrayList<>(); + Map, List> delUpperVal = new HashMap<>(); + for (SystemCustSaveSubReq e : dto.getAddServiceAuthList()) { + List delVal = new ArrayList<>(); + String serviceGroup = e.getAddServiceGroup(); + List beforPol = custPolBase.get(serviceGroup); + List insertVal = e.getAuthList(); + + //수정할 데이터 + if (custPolBase.keySet().stream().collect(Collectors.toList()).contains(e.getAddServiceGroup())) { + TbServiceGrouop tsg = tbServiceGrouopRepo.findByServiceGroup(serviceGroup) + .orElseThrow(() -> new CustomNotFoundException()) + .toUpdateMainService(e, uv); + for (TbCustPolicy f : beforPol) { + if (e.getAuthList().contains(f.getPolicyVal())) { + insertVal.remove(f.getPolicyVal()); + } else { + delVal.add(f.getPolicyVal()); + } + } + if (delVal.size() > 0) { + delUpperVal.put( + tbServiceGrouopRepo.findByServiceGroupUpper(e.getAddServiceGroup()) + .stream().map(g -> g.getServiceGroup()) + .distinct() + .collect(Collectors.toList()), delVal); + } + for (String h : insertVal) { + insertPol.add(TbCustPolicy.builder() + .custCode(dto.getCustCode()) + .serviceGroup(e.getAddServiceGroup()) + .policyVal(h) + .build()); + } + } + //저장할 데이터 + else { + for (String h : e.getAuthList()) { + insertPol.add(TbCustPolicy.builder() + .custCode(custResult.getCustCode()) + .serviceGroup(e.getAddServiceGroup()) + .policyVal(h) + .build()); + } + saveService.add(e.toService(custResult.getCustCode(), uv)); + saveOpr.add(e.toOprmngCode(custResult.getCustCode(), uv)); + } + } + + for (List e : delUpperVal.keySet().stream().collect(Collectors.toList())) { + tbCustPolicyRepo.deleteByServiceGroupInAndPolicyValIn(e, delUpperVal.get(e)); + tbServiceGroupPolicyRepo.deleteByServiceGroupInAndPolicyValIn(e, delUpperVal.get(e)); + } + + tbCustPolicyRepo.saveAll(insertPol); + tbServiceGrouopRepo.saveAll(saveService); + tbIcsOprMngInfoRepo.saveAll(saveOpr); + //프로젝트세팅 테이블이 저장되어야 해야된다해서 나중에 추가된 코드 + //1차에선 데이터를 DB에서 SQL로 인서트했다고함. + if (saveService.size() > 0) { + List saveProject = new ArrayList<>(); + for (TbServiceGrouop e : saveService) { + saveProject.add(WisenutInsertReqVo.builder() + .oprMngCode(e.getCustCode() + "_RCP_" + e.getServiceGroup()) + .serviceGroupDesc(e.getServiceGroupDesc()) + .build()); + } + tbProjectSettingRepo.saveAll(WisenutInsert(saveProject)); + } + + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemGroupAuthService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemGroupAuthService.java new file mode 100644 index 0000000..519a566 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemGroupAuthService.java @@ -0,0 +1,256 @@ +package com.icomsys.main_vm.biz.common.system.service; + + +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.common.service.SequenceService; +import com.icomsys.main_vm.biz.common.login.res.OprmngCodeRes; +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.common.system.vo.*; +import com.icomsys.main_vm.common.code.EnumToMap; +import com.icomsys.main_vm.common.code.enumresource.RoleResource; +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceAuthGroup; +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGroupPolicy; +import com.icomsys.main_vm.db.jpa.entity.system.TbUserAuthGroup; +import com.icomsys.main_vm.db.jpa.entity.system.TbUserCust; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbServiceGroupPolicyId; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbUserCustId; +import com.icomsys.main_vm.db.jpa.repo.system.*; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +@Service +@Slf4j +@RequiredArgsConstructor +public class SystemGroupAuthService { + + private final LoginService loginService; + private final TbServiceAuthGroupRepo tbServiceAuthGroupRepo; + private final TbCustPolicyRepo tbCustPolicyRepo; + private final TbServiceGrouopRepo tbServiceGrouopRepo; + private final SequenceService sequenceService; + private final TbServiceGroupPolicyRepo tbServiceGroupPolicyRepo; + private final TbBotUserRepo tbBotUserRepo; + private final TbUserAuthGroupRepo tbUserAuthGroupRepo; + private final TbUserCustRepo tbUserCustRepo; + + @Transactional + public QueryResults GroupAuthList(SystemServiceAuthGroupReq dto) { + return tbServiceAuthGroupRepo.ServiceAuthGroupListView(dto.ofUserVo(loginService.getUserVo())); + } + + @Transactional + public SystemServiceGroupTreeRes GroupAuthNewTree(String serviceGroup) { + +// UserVo uv = loginService.getUserVo(); + + List pol = tbCustPolicyRepo.findByServiceGroup(serviceGroup).stream() + .map(f -> f.getPolicyVal()).collect(Collectors.toList()); + + return SystemServiceGroupTreeRes.builder() + .custCode(tbServiceGrouopRepo.findByServiceGroup(serviceGroup).stream().findFirst().map(e -> e.getCustCode()).get()) + .mainPolicyVal(pol) + .mainMenu(loginService.authToAuthList(pol, 10000000)) + .policyParent(loginService.jstreeParentConvertToPolicy()) + .build(); + } + + @Transactional + public void GroupAuthUpdateInsert(SystemServiceGroupInsertReq dto) { + UserVo uv = loginService.getUserVo(); + String custCode = tbServiceGrouopRepo.findByServiceGroup(dto.getInsertServiceGroup()).stream().findFirst().map(e -> e.getCustCode()).get(); + TbServiceAuthGroup saveResult = tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() +// .authGroupSeq(sequenceService.ServiceAuthGroupSeqNext()) + .serviceGroup(dto.getInsertServiceGroup()) + .custCode(custCode) + .policyGroupName(dto.getInsertGroupName()) + .policyGroupDesc(dto.getInsertGroupDesc()) + .useYn(dto.getSubUseYn()) + .registId(uv.getUserId()) + .registDate(LocalDateTime.now()) + .updateId(uv.getUserId()) + .updateDate(LocalDateTime.now()) + .build()); + + List policyList = new ArrayList<>(); + + for (String e : dto.getSubPolicyVal()) { + policyList.add(TbServiceGroupPolicy.builder() + .authGroupSeq(saveResult.getAuthGroupSeq()) + .serviceGroup(dto.getInsertServiceGroup()) + .policyVal(e) + .custCode(custCode) + .build()); + if (!EnumToMap.PolicyToParentMap.get(e).equals("#")) { + policyList.add(TbServiceGroupPolicy.builder() + .authGroupSeq(saveResult.getAuthGroupSeq()) + .serviceGroup(dto.getInsertServiceGroup()) + .policyVal(EnumToMap.PolicyToParentMap.get(e)) + .custCode(custCode) + .build()); + } + } + + tbServiceGroupPolicyRepo.saveAll(policyList); + + } + + @Transactional + public SystemServiceAuthGroupUpdateRes GroupAuthUpdateData(Long authGroupSeq) throws CustomNotFoundException { + + TbServiceAuthGroup tsag = tbServiceAuthGroupRepo.findByAuthGroupSeq(authGroupSeq) + .orElseThrow(() -> new CustomNotFoundException()); + List pol = tbCustPolicyRepo.findByServiceGroup(tsag.getServiceGroup()).stream() + .map(f -> f.getPolicyVal()).collect(Collectors.toList()); + List userRes = new ArrayList<>(); + if (tbUserAuthGroupRepo.existsByAuthGroupSeq(authGroupSeq)) { + userRes = tbBotUserRepo.AuthGroupUserList(authGroupSeq); + } + List authVal = tbServiceGroupPolicyRepo.findByAuthGroupSeq(authGroupSeq).stream().map(e -> e.getPolicyVal()).collect(Collectors.toList()); + SystemServiceAuthGroupUpdateRes result = SystemServiceAuthGroupUpdateRes.builder() + .authGroupSeq(tsag.getAuthGroupSeq()) + .serviceGroup(tsag.getServiceGroup()) + .custCode(tsag.getCustCode()) + .policyGroupName(tsag.getPolicyGroupName()) + .policyGroupDesc(tsag.getPolicyGroupDesc()) + .userList(userRes) + .policyVal(pol) + .authPolicyVal(authVal) + .mainMenu(loginService.authToAuthList(pol, 10000000)) + .policyParent(loginService.jstreeParentConvertToPolicy()) + .build(); + return result; + } + + + @Transactional + public List GroupAuthUpdateDataUserSearch(Long authGroupSeq, SystemServiceAuthGroupUserSearchReq dto) throws CustomNotFoundException { + List result = new ArrayList<>(); + dto.setAuthGroupSeq(authGroupSeq); + result = tbBotUserRepo.GroupAuthUpdateDataUserSearch(dto); + return result; + } + + @Transactional + public void GroupAuthModityUpdate(SystemServiceAuthGroupModifyReq dto) throws CustomNotFoundException { + UserVo uv = loginService.getUserVo(); + TbServiceAuthGroup tbServiceAuthGroup = tbServiceAuthGroupRepo.findByAuthGroupSeq(dto.getAuthGroupSeq()).orElseThrow(() -> new CustomNotFoundException()); + String serviceGroup = tbServiceAuthGroup.getServiceGroup(); + tbServiceAuthGroup.TbServiceAuthGroupModify(TbServiceAuthGroup.builder() + .authGroupSeq(dto.getAuthGroupSeq()) + .serviceGroup(serviceGroup) + .custCode(dto.getCustCode()) + .policyGroupName(dto.getPolicyGroupName()) + .policyGroupDesc(dto.getPolicyGroupDesc()) + .updateId(uv.getUserId()) + .updateDate(LocalDateTime.now()) + .build()); + + //소속사용자는 다저장 + tbUserAuthGroupRepo.saveAll(dto.getTheUser().stream().map(e -> TbUserAuthGroup.builder() + .userSeq(e) + .authGroupSeq(dto.getAuthGroupSeq()) + .serviceGroup(serviceGroup) + .custCode(dto.getCustCode()) + .build()).collect(Collectors.toList()) + ); + + //소속제외 사용자는 다 삭제 + tbUserAuthGroupRepo.deleteAll(dto.getDelUser().stream().map(e -> TbUserAuthGroup.builder() + .userSeq(e) + .authGroupSeq(dto.getAuthGroupSeq()) + .serviceGroup(serviceGroup) + .custCode(dto.getCustCode()) + .build()).collect(Collectors.toList()) + ); + + //소속되면 유저커스트에도 추가해줘야함. + tbUserCustRepo.saveAll(dto.getTheUser().stream().map(e -> TbUserCust.builder() + .custCode(tbServiceAuthGroup.getCustCode()) + .serviceGroup(tbServiceAuthGroup.getServiceGroup()) + .userSeq(e) + .build()).collect(Collectors.toList())); + + //소속제외되면 유저커스트에 삭제를 시켜야하는데. 다른 권한그룹에 같은 서비스그룹이 있는지 판단해야함. + List delUserCust = new ArrayList<>(); + for (Long e : dto.getDelUser()) { + if (!tbUserAuthGroupRepo.existsByServiceGroupAndUserSeqAndAuthGroupSeqNot(serviceGroup, e, dto.getAuthGroupSeq())) { + delUserCust.add(TbUserCustId.builder() + .custCode(tbServiceAuthGroup.getCustCode()) + .serviceGroup(serviceGroup) + .userSeq(e) + .build()); + } + } + tbUserCustRepo.deleteAllById(delUserCust); + + //js트리 처리 + List befor = tbServiceGroupPolicyRepo.findByAuthGroupSeq(dto.getAuthGroupSeq()).stream().map(e -> e.getPolicyVal()).collect(Collectors.toList()); + List base = new ArrayList<>(); + List insertVal = new ArrayList<>(); + List deleteId = new ArrayList<>(); + List deleteVal = new ArrayList<>(); + List insertId = new ArrayList<>(); + base = dto.getThePolicy(); + insertVal = dto.getThePolicy(); + + for (String e : befor) { + if (base.contains(e)) { + insertVal.remove(e); + } else { + deleteVal.add(e); + deleteId.add(TbServiceGroupPolicyId + .builder() + .authGroupSeq(dto.getAuthGroupSeq()) + .serviceGroup(serviceGroup) + .policyVal(e) + .custCode(dto.getCustCode()) + .build()); + } + } + for (String e : insertVal) { + insertId.add(TbServiceGroupPolicy.builder() + .authGroupSeq(dto.getAuthGroupSeq()) + .serviceGroup(serviceGroup) + .policyVal(e) + .custCode(dto.getCustCode()) + .build()); + //jquery jstree 상위메뉴가없어질경우 방어로직. + if (!EnumToMap.PolicyToParentMap.get(e).equals("#")) { + insertId.add(TbServiceGroupPolicy.builder() + .authGroupSeq(dto.getAuthGroupSeq()) + .serviceGroup(serviceGroup) + .policyVal(EnumToMap.PolicyToParentMap.get(e)) + .custCode(dto.getCustCode()) + .build()); + } + } + tbServiceGroupPolicyRepo.deleteByAuthGroupSeqAndPolicyValIn(dto.getAuthGroupSeq(), deleteVal); + tbServiceGroupPolicyRepo.saveAll(insertId); + } + + @Transactional + public List GroupInsertOpr() { + UserVo uv = loginService.getUserVo(); + if (uv.getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) { + return tbServiceGrouopRepo.findAll().stream().map(e -> OprmngCodeRes.builder() + .serviceGroup(e.getServiceGroup()) + .serviceGroupName(e.getServiceGroupName()) + .build()).collect(Collectors.toList()); + } else { + return tbServiceGrouopRepo.findByServiceGroupUpper(uv.getLastUseServiceGroup()).stream().map(e -> OprmngCodeRes.builder() + .serviceGroup(e.getServiceGroup()) + .serviceGroupName(e.getServiceGroupName()) + .build()).collect(Collectors.toList()); + } + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemPolicyMenuService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemPolicyMenuService.java new file mode 100644 index 0000000..5a0b21b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemPolicyMenuService.java @@ -0,0 +1,91 @@ +package com.icomsys.main_vm.biz.common.system.service; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemPolicyMenuReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemPolicyMenuRes; +import com.icomsys.main_vm.common.code.enumresource.PolicyResource; +import com.icomsys.main_vm.db.jpa.repo.system.TbCustPolicyRepo; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + +@Service +@Slf4j +@RequiredArgsConstructor +public class SystemPolicyMenuService { + + private final LoginService loginService; + private final TbCustPolicyRepo tbCustPolicyRepo; + + public DslDataTableRes PolicyMenuList(SystemPolicyMenuReq dto) { + List result = tbCustPolicyRepo.PolicyMenuListQueryList(dto.ofUserVo(loginService.getUserVo())); + + List filtering = result.stream().map(e -> + SystemPolicyMenuRes.builder() + .custCode(e.getCustCode()) + .custName(e.getCustName()) + .serviceGroup(e.getServiceGroup()) + .serviceGroupName(e.getServiceGroupName()) + .policyVal(e.getPolicyVal()) + .policyName(PolicyResource.valueOf(e.getPolicyVal()).getPolicyName()) + .menuName(PolicyResource.valueOf(e.getPolicyVal()).getMenu().getMenuName()) + .menuSeq(PolicyResource.valueOf(e.getPolicyVal()).getMenu().getMenuSeq()) + .build() + ) + .filter(h -> { + if (dto.getServiceGroup() != null && !dto.getServiceGroup().equals("") && !dto.getServiceGroup().equals("ALL")) { + if (h.getServiceGroup().equals(dto.getServiceGroup())) { + return true; + } else { + return false; + } + } + return true; + }) + .filter(f -> { + if (dto.getCodeText1() != null && !dto.getCodeText1().equals("") + ) { + if (f.getPolicyVal().toUpperCase().contains(dto.getCodeText1().trim().toUpperCase())) { + return true; + } else { + return false; + } + } + if (dto.getCodeText2() != null && !dto.getCodeText2().equals("") + ) { + if (f.getPolicyName().toUpperCase().contains(dto.getCodeText2().trim().toUpperCase())) { + return true; + } else { + return false; + } + } + if (dto.getCodeText3() != null && !dto.getCodeText3().equals("") + ) { + if (f.getMenuName().toUpperCase().contains(dto.getCodeText3().trim().toUpperCase())) { + return true; + } else { + return false; + } + } + return true; + }) + .collect(Collectors.toList()); + + return new DslDataTableRes( + filtering.stream().skip(dto.getSize() * dto.getPage()) + .limit(dto.getSize()) + .sorted(Comparator.comparing(SystemPolicyMenuRes::getMenuSeq) + ).collect(Collectors.toList()) + , Long.parseLong(String.valueOf(filtering.size())) + , Long.parseLong(String.valueOf(dto.getSize())) + , Long.parseLong(String.valueOf(dto.getSize() * dto.getPage()))); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemServiceGroupService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemServiceGroupService.java new file mode 100644 index 0000000..86a3e93 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemServiceGroupService.java @@ -0,0 +1,204 @@ +package com.icomsys.main_vm.biz.common.system.service; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.common.system.vo.*; +import com.icomsys.main_vm.common.code.MenuVo; +import com.icomsys.main_vm.common.code.code.UseYNCode; +import com.icomsys.main_vm.db.jpa.entity.system.TbCustPolicy; +import com.icomsys.main_vm.db.jpa.entity.system.TbIcsOprMngInfo; +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGrouop; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbCustPolicyId; +import com.icomsys.main_vm.db.jpa.repo.conversation.TbProjectSettingRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbCustPolicyRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbIcsOprMngInfoRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbServiceGrouopRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbServiceGroupPolicyRepo; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +@RequiredArgsConstructor +@Slf4j +public class SystemServiceGroupService { + private final TbServiceGrouopRepo tbServiceGrouopRepo; + private final TbCustPolicyRepo tbCustPolicyRepo; + private final LoginService loginService; + private final TbIcsOprMngInfoRepo tbIcsOprMngInfoRepo; + private final TbServiceGroupPolicyRepo tbServiceGroupPolicyRepo; + private final TbProjectSettingRepo tbProjectSettingRepo; + private final SystemCustService systemCustService; + + + @Transactional(readOnly = true) + public QueryResults ServiceGroupList(SystemServiceGroupReq dto) { + QueryResults result = tbServiceGrouopRepo.ServiceGroupList(dto); + return result; + } + + public SystemServiceGroupViewRes ServiceGroupSelect() { + return ServiceGroupSelect(loginService.getUserVo().getLastUseServiceGroup()); + } + + @Transactional(readOnly = true) + public SystemServiceGroupViewRes ServiceGroupSelect(String serviceGroup) { + + SystemServiceGroupViewRes result = new SystemServiceGroupViewRes(); + List sub = new ArrayList<>(); + List selectService = tbServiceGrouopRepo.getServiceGroupView(serviceGroup); + + for (SystemServiceGroupViewVo e : selectService) { + if (e.getServiceType().equals("M")) { + List pol = tbCustPolicyRepo.findByServiceGroup(e.getServiceGroup()).stream() + .map(f -> f.getPolicyVal()).collect(Collectors.toList()); + result.setPolicyParent(loginService.jstreeParentConvertToPolicy()); + result.setMainPolicyVal(pol); + result.setMainMenu(loginService.authToAuthList(pol, 10000000)); + result.setCustCode(e.getCustCode()); + result.setMainServiceGroup(e.getServiceGroup()); + result.setMainServiceGroupName(e.getServiceGroupName()); + result.setMainServiceGroupDesc(e.getServiceGroupDesc()); + result.setMainUseYn(e.getUseYn()); + result.setMainOprMngCode(e.getOprMngCode()); + } +// else { + sub.add(SystemServiceGroupViewSubListRes + .builder() + .subServiceGroup(e.getServiceGroup()) + .subServiceGroupName(e.getServiceGroupName()) + .subServiceGroupDesc(e.getServiceGroupDesc()) + .subUseYn(e.getUseYn()) + .subOprMngCode(e.getOprMngCode()) + .subPolicyVal(tbCustPolicyRepo.findByServiceGroup(e.getServiceGroup()).stream() + .map(f -> f.getPolicyVal()).collect(Collectors.toList())) + .build()); +// } + } + + + result.setSubService(sub); +// log.info(" servicegroup - {} ", new Gson().toJson(result)); + return result; + } + + @Transactional(readOnly = true) + public List SelectPolicy(String serviceGroup) { + return tbCustPolicyRepo.findByServiceGroup(serviceGroup).stream().map(e -> e.getPolicyVal()).collect(Collectors.toList()); + } + + @Transactional + public void ServiceGroupUpdate(SystemServiceGroupUpdateReq dto) throws CustomNotFoundException { + List modifySubVal = new ArrayList<>(); + List insertSubVal = new ArrayList<>(); + List delVal = new ArrayList<>(); + List deleId = new ArrayList<>(); + List insertId = new ArrayList<>(); + modifySubVal = dto.getSubPolicyVal(); + insertSubVal = dto.getSubPolicyVal(); + + log.info("system/serviceGroup/update - {}",new Gson().toJson(dto)); + + TbServiceGrouop tsg = tbServiceGrouopRepo.findByServiceGroup(dto.getSubServiceGroup()).orElseThrow(() -> new CustomNotFoundException()).toUpdateSubService(dto, loginService.getUserVo()); + + List beforVal = tbCustPolicyRepo.findByServiceGroup(dto.getSubServiceGroup()) + .stream() + .map(f -> f.getPolicyVal()) + .collect(Collectors.toList()); + + for (String e : beforVal) { + if (modifySubVal.contains(e)) { + insertSubVal.remove(e); + } else { + delVal.add(e); + deleId.add(TbCustPolicyId.builder() + .custCode(dto.getCustCode()) + .serviceGroup(dto.getSubServiceGroup()) + .policyVal(e) + .build()); + } + } + + if (insertSubVal.size() > 0) { + for (String e : insertSubVal) { + insertId.add(TbCustPolicy.builder() + .custCode(dto.getCustCode()) + .serviceGroup(dto.getSubServiceGroup()) + .policyVal(e) + .build()); + } + } + tbCustPolicyRepo.deleteAllById(deleId); + tbCustPolicyRepo.saveAll(insertId); + tbServiceGroupPolicyRepo.deleteByServiceGroupAndPolicyValIn(dto.getSubServiceGroup(), delVal); + } + + @Transactional + public void ServiceGroupInsert(SystemServiceGroupUpdateReq dto) throws CustomNotFoundException { + log.info("ServiceGroupInsert - {}", new Gson().toJson(dto)); + UserVo uv = loginService.getUserVo(); + tbServiceGrouopRepo.save(TbServiceGrouop.builder() + .serviceGroup(dto.getSubServiceGroup().toUpperCase()) + .serviceGroupUpper(dto.getMainServiceGroup().toUpperCase()) + .custCode(dto.getCustCode()) + .serviceType("S") + .serviceGroupName(dto.getSubServiceGroupName()) + .serviceGroupDesc(dto.getSubServiceGroupDesc()) + .useYn(dto.getSubUseYn()) + .registId(uv.getUserId()) + .registDate(LocalDateTime.now()) + .updateId(uv.getUserId()) + .updateDate(LocalDateTime.now()) + .build()); + tbCustPolicyRepo.saveAll(dto.getSubPolicyVal().stream() + .map(e -> TbCustPolicy.builder() + .custCode(dto.getCustCode()) + .serviceGroup(dto.getSubServiceGroup().toUpperCase()) + .policyVal(e) + .build()) + .collect(Collectors.toList())); + tbIcsOprMngInfoRepo.save(TbIcsOprMngInfo.builder() + .custCode(dto.getCustCode()) + .serviceGroup(dto.getSubServiceGroup().toUpperCase()) + .oprMngCode(dto.getCustCode()+"_RCP_"+dto.getSubServiceGroup().toUpperCase()) + .solVal("RCP") + .routeUrl("") + .useYn(dto.getSubUseYn()) + .registId(uv.getUserId()) + .registDate(LocalDateTime.now()) + .updateId(uv.getUserId()) + .updateDate(LocalDateTime.now()) + .build()); + List proSet = new ArrayList<>(); + proSet.add(WisenutInsertReqVo.builder() + .oprMngCode(dto.getCustCode()+"_RCP_"+dto.getSubServiceGroup()) + .serviceGroupDesc(dto.getSubServiceGroupDesc()) + .build()); + tbProjectSettingRepo.saveAll(systemCustService.WisenutInsert(proSet)); + } + + + public String ServiceGroupDoubleCheck(SystemServiceGroupUpdateReq dto) { + log.info("ServiceGroupDoubleCheck - {}", new Gson().toJson(dto)); + if (tbServiceGrouopRepo.existsByCustCodeAndServiceGroup(dto.getCustCode(), dto.getSubServiceGroup().toUpperCase())) { + return UseYNCode.N.name(); + } else { + return UseYNCode.Y.name(); + } + } + + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemUserAdminService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemUserAdminService.java new file mode 100644 index 0000000..d0eddda --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemUserAdminService.java @@ -0,0 +1,344 @@ +package com.icomsys.main_vm.biz.common.system.service; + + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.common.service.SequenceService; +import com.icomsys.main_vm.biz.common.login.res.OprmngCodeRes; +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.common.system.vo.*; +import com.icomsys.main_vm.common.code.enumresource.RoleResource; +import com.icomsys.main_vm.db.jpa.entity.system.*; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbUserAuthGroupId; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbUserCustId; +import com.icomsys.main_vm.db.jpa.repo.system.*; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +@Service +@Slf4j +@RequiredArgsConstructor +public class SystemUserAdminService { + + private final LoginService loginService; + private final TbBotUserRepo tbBotUserRepo; + private final TbServiceAuthGroupRepo tbServiceAuthGroupRepo; + private final TbServiceGrouopRepo tbServiceGrouopRepo; + private final PasswordEncoder passwordEncoder; + private final SequenceService sequenceService; + private final TbUserAuthGroupRepo tbUserAuthGroupRepo; + private final TbUserCustRepo tbUserCustRepo; + private final TbServiceGroupPolicyRepo tbServiceGroupPolicyRepo; + private final TbIcsCustInfoRepo tbIcsCustInfoRepo; + + public DslDataTableRes SystemUserAdminList(SystemBotUserReq dto) { + DslDataTableRes result = new DslDataTableRes(tbBotUserRepo.SystemUserList(dto.ofUserVo(loginService.getUserVo()), RoleResource.USERADMIN.getName())); + return result; + } + + public List UserAdminAuthGroupList(String serviceGroup) { + return tbServiceAuthGroupRepo.findByServiceGroup(serviceGroup).stream().map(e -> + SystemBotUserAuthGroupListRes.builder().authGroupSeq(e.getAuthGroupSeq()).policyGroupName(e.getPolicyGroupName()).build() + ).collect(Collectors.toList()); + } + + public String UserDoubleCheck(String userId) { + String useYn = "N"; + if (tbBotUserRepo.existsByUserId(userId)) { + return useYn; + } else { + return useYn = "Y"; + } + } + + @Transactional + public void userAdminSave(SystemBotUserSaveReq dto) throws CustomNotFoundException { + TbServiceGrouop result = tbServiceGrouopRepo.findByServiceGroup(dto.getAddServiceAuthList().get(0).getAddService()) + .stream().findFirst().orElseThrow(() -> new CustomNotFoundException()); + + String custCode = result.getCustCode(); + String upper = result.getServiceGroupUpper(); + +// TbBotUser userSaveResult = tbBotUserRepo.save(dto.toUserCreateSave(loginService.getUserVo(), passwordEncoder, +// custCode, sequenceService.UserSeqNext(), upper)); + + + TbBotUser userSaveResult = tbBotUserRepo.save(dto.toUserCreateSave(loginService.getUserVo(), passwordEncoder, + custCode, upper)); + + //유저어드민 저장시에 유저 커스트와 유저오쓰그룹을 추가해줘야함. + //유저어드민 자동생성해줘야할것 TB_USER_AUTH_GROUP, TB_SERVICE_AUTH_GROUP, TB_SERVICE_GROUP_POLICY, TB_USER_CUST + + List authList = new ArrayList<>(); + List userCusts = new ArrayList<>(); + for (addServiceAuthList e : dto.getAddServiceAuthList()) { + userCusts.add(TbUserCust.builder() + .custCode(custCode) + .userSeq(userSaveResult.getUserSeq()) + .serviceGroup(e.getAddService()) + .build()); + for (Long f : e.getAuthList()) { + authList.add(TbUserAuthGroup.builder() + .userSeq(userSaveResult.getUserSeq()) + .authGroupSeq(f) + .serviceGroup(e.getAddService()) + .custCode(custCode) + .build()); + } + } + log.info("authList saves - {}", new Gson().toJson(authList)); + tbUserAuthGroupRepo.saveAll(authList); + tbUserCustRepo.saveAll(userCusts); + + + } + + @Transactional + public SystemBotUserViewRes UserAdminViewData(Long userSeq) throws CustomNotFoundException { + + + TbBotUser tbu = tbBotUserRepo.findByUserSeqAndUseYn(userSeq, "Y").orElseThrow(() -> new CustomNotFoundException()); + + SystemBotUserViewRes result = new SystemBotUserViewRes(); + List resultSub = new ArrayList<>(); + List baseAuth = new ArrayList<>(); + List useAuth = new ArrayList<>(); + + + result.setUserSeq(tbu.getUserSeq()); + result.setUserId(tbu.getUserId()); + result.setUserName(tbu.getUserName()); + result.setEMail(tbu.getEMail()); + result.setMobileNo(tbu.getMobileNo()); + result.setUseYn(tbu.getUseYn()); + result.setLoginCheck(tbu.getLoginCheck()); + result.setLastUseServiceGroup(tbu.getLastUseServiceGroup()); + result.setRoleVal(tbu.getRoleVal()); + result.setUseAuthSeq(tbUserAuthGroupRepo.findByUserSeq(userSeq).stream().map(f -> f.getAuthGroupSeq()).collect(Collectors.toList())); +// List base = tbUserAuthGroupRepo.userUseAuthGroup(userSeq); + List base = tbUserAuthGroupRepo.findByUserSeq(userSeq).stream().map(e -> e.getServiceGroup()) + .distinct() + .sorted() + .collect(Collectors.toList()); + + for (String e : base) { + //그룹네임 + TbServiceGrouop sr = tbServiceGrouopRepo.findByServiceGroup(e).orElseThrow(() -> new CustomNotFoundException()); + List baseData = tbServiceAuthGroupRepo.findByServiceGroup(e) + .stream() + .map(f -> SystemBotUserAuthGroupListRes.builder() + .authGroupSeq(f.getAuthGroupSeq()) + .policyGroupName(f.getPolicyGroupName()) + .build()) + .distinct() + .collect(Collectors.toList()); + List baseSeqData = new ArrayList<>(); + for (SystemBotUserAuthGroupListRes g : baseData) { + baseSeqData.add(g.getAuthGroupSeq()); + } + resultSub.add(SystemBotUserViewSubRes.builder() + .serviceGroup(sr.getServiceGroup()) + .serviceName(sr.getServiceGroupName()) + .baseAuthGroup(baseData) + .baseSeq(baseSeqData) + .build() + ); + } + + result.setUseServiceGroup(resultSub); + return result; + + } + + + @Transactional + public void userAdminUpdate(SystemBotUserUpdateReq dto) throws CustomNotFoundException { + /* + TbBotUser result = tbBotUserRepo.findById(dto.getUserSeq()).orElseThrow(() -> new CustomNotFoundException()).toUpdate(dto, loginService.getUserVo(), passwordEncoder); + List beforService = new ArrayList<>(); + List baseService = new ArrayList<>(); + List insertService = new ArrayList<>(); + List delService = new ArrayList<>(); + List delCust = new ArrayList<>(); + List insertCust = new ArrayList<>(); + List insertAuth = new ArrayList<>(); + List authSave = new ArrayList<>(); + Map> ServiceAuthSeqMap = new HashMap<>(); + //초기화 + beforService = tbUserAuthGroupRepo.findByUserSeq(dto.getUserSeq()).stream().map(e -> e.getServiceGroup()) + .distinct() + .collect(Collectors.toList()); + //가지고있던 서비스그룹. + for (addServiceAuthList e : dto.getAddServiceAuthList()) { + //맵초기화 + ServiceAuthSeqMap.put(e.getAddService(), new ArrayList<>(e.getAuthList())); + baseService.add(e.getAddService()); + insertService.add(e.getAddService()); + } + log.info("ServiceAuthSeqMap map data - {}", new Gson().toJson(ServiceAuthSeqMap)); + log.info("baseService - {}", new Gson().toJson(baseService)); + log.info("beforService map data - {}", new Gson().toJson(beforService)); + //서비스그룹의 수량변화가 있는지 확인한다. + for (String e : baseService) { + //비교해서 인서트 리스트에 남는건 새로추가한목록. + if (beforService.contains(e)) { + insertService.remove(e); + List authBase = new ArrayList<>(); + List authInsert = new ArrayList<>(); + authInsert = ServiceAuthSeqMap.get(e); + authBase = ServiceAuthSeqMap.get(e); + //해당 서비스의 그룹권한의 시퀀스가 변했는지 확인한다. + List authBefor = tbUserAuthGroupRepo.findByUserSeqAndServiceGroupAndCustCode(result.getUserSeq(), e, result.getCustCode()) + .stream().map(f -> f.getAuthGroupSeq()) + .collect(Collectors.toList()); + log.info("authBefor 검사 기존값 = {}", new Gson().toJson(authBefor)); + for (Long g : authBase) { + if (authBefor.contains(e)) { + authInsert.remove(g); + } else { + log.info("다 델리트로 들어가니?" + e); + delService.add(TbUserAuthGroupId.builder() + .userSeq(dto.getUserSeq()) + .authGroupSeq(g) + .serviceGroup(e) + .custCode(result.getCustCode()) + .build()); + } + } + authInsert.removeAll(authBefor); + log.info("authInsert 지워진값확인 = {}", new Gson().toJson(authInsert)); + for (Long h : authInsert) { + log.info("추가 권한" + h); + authSave.add(TbUserAuthGroup.builder() + .userSeq(dto.getUserSeq()) + .authGroupSeq(h) + .serviceGroup(e) + .custCode(result.getCustCode()) + .build()); + } + } else { + //없는건 삭제리스트 + List delAuthSeq = tbUserAuthGroupRepo.findByUserSeqAndServiceGroupAndCustCode(result.getUserSeq(), e, result.getCustCode()); + log.info("delAuthSeq - {}", new Gson().toJson(delAuthSeq)); + for (TbUserAuthGroup f : delAuthSeq) { + log.info("삭제 권한" + f); + delService.add(TbUserAuthGroupId.builder() + .userSeq(dto.getUserSeq()) + .authGroupSeq(f.getAuthGroupSeq()) + .serviceGroup(e) + .custCode(result.getCustCode()) + .build()); + } + log.info("삭제 커스트" + e); + delCust.add(TbUserCustId.builder() + .custCode(result.getCustCode()) + .userSeq(dto.getUserSeq()) + .serviceGroup(e) + .build()); + } + } + //인서트 서비스와 권한을 추가해준다. + for (String e : insertService) { + insertCust.add(TbUserCust.builder() + .custCode(result.getCustCode()) + .serviceGroup(e) + .userSeq(dto.getUserSeq()) + .build()); + log.info("추가 유저 커스트" + e); + for (Long f : ServiceAuthSeqMap.get(e)) { + log.info("추가 유저 권한그룹" + f); + authSave.add(TbUserAuthGroup.builder() + .userSeq(dto.getUserSeq()) + .authGroupSeq(f) + .serviceGroup(e) + .custCode(result.getCustCode()) + .build()); + } + } + log.info("authSaveList - {}", new Gson().toJson(authSave)); + log.info("delServiceList - {}", new Gson().toJson(delService)); + tbUserCustRepo.saveAll(insertCust); + tbUserCustRepo.deleteAllById(delCust); + tbUserAuthGroupRepo.deleteAllById(delService); + tbUserAuthGroupRepo.saveAll(authSave); +*/ + + TbBotUser result = tbBotUserRepo.findById(dto.getUserSeq()).orElseThrow(() -> new CustomNotFoundException()).toUpdate(dto, loginService.getUserVo(), passwordEncoder); + List delCustList = tbUserCustRepo.findByUserSeq(dto.getUserSeq()).stream() + .map(e -> TbUserCustId.builder() + .custCode(e.getCustCode()) + .serviceGroup(e.getServiceGroup()) + .userSeq(e.getUserSeq()) + .build()) + .collect(Collectors.toList()); + + List delAuthGroupList = tbUserAuthGroupRepo.findByUserSeq(dto.getUserSeq()).stream() + .map(e -> TbUserAuthGroupId.builder() + .userSeq(e.getUserSeq()) + .authGroupSeq(e.getAuthGroupSeq()) + .serviceGroup(e.getServiceGroup()) + .custCode(e.getCustCode()) + .build()) + .collect(Collectors.toList()); + + List insertCustList = new ArrayList<>(); + List insertAuthGorupList = new ArrayList<>(); + for (addServiceAuthList e : dto.getAddServiceAuthList()) { + insertCustList.add(TbUserCust.builder() + .custCode(result.getCustCode()) + .serviceGroup(e.getAddService()) + .userSeq(dto.getUserSeq()) + .build()); + for (Long f : e.getAuthList()) { + insertAuthGorupList.add(TbUserAuthGroup.builder() + .userSeq(dto.getUserSeq()) + .authGroupSeq(f) + .serviceGroup(e.getAddService()) + .custCode(result.getCustCode()) + .build()); + } + } + + tbUserCustRepo.deleteAllById(delCustList); + tbUserAuthGroupRepo.deleteAllById(delAuthGroupList); + tbUserCustRepo.saveAll(insertCustList); + tbUserAuthGroupRepo.saveAll(insertAuthGorupList); + } + + public List UserAdminCustList() throws CustomNotFoundException { + UserVo uv = loginService.getUserVo(); + List result = new ArrayList<>(); + if (uv.getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) { + return result = tbIcsCustInfoRepo.findAll().stream().map(e -> SystemBotUserCustRes.builder() + .custCode(e.getCustCode()) + .custName(e.getCustName()) + .build()) + .collect(Collectors.toList()); + } else { + TbIcsCustInfo adminresult = tbIcsCustInfoRepo.findById(uv.getCustCode()).orElseThrow(() -> new CustomNotFoundException()); + result.add(SystemBotUserCustRes.builder() + .custCode(adminresult.getCustCode()) + .custName(adminresult.getCustName()) + .build()); + return result; + } + } + + public List UserAdminServiceList(String cust) { + return tbServiceGrouopRepo.findByCustCodeAndServiceType(cust, "M").stream().map(e -> OprmngCodeRes.builder() + .serviceGroup(e.getServiceGroup()) + .serviceGroupName(e.getServiceGroupName()) + .build()).collect(Collectors.toList()); + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemUserService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemUserService.java new file mode 100644 index 0000000..2e48be1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/service/SystemUserService.java @@ -0,0 +1,358 @@ +package com.icomsys.main_vm.biz.common.system.service; + + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.common.service.SequenceService; +import com.icomsys.main_vm.biz.common.login.res.OprmngCodeRes; +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.common.system.vo.*; +import com.icomsys.main_vm.common.code.enumresource.RoleResource; +import com.icomsys.main_vm.db.jpa.entity.system.*; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbUserAuthGroupId; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbUserCustId; +import com.icomsys.main_vm.db.jpa.repo.system.*; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.core.parameters.P; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +@Service +@Slf4j +@RequiredArgsConstructor +public class SystemUserService { + + private final LoginService loginService; + private final TbBotUserRepo tbBotUserRepo; + private final TbServiceAuthGroupRepo tbServiceAuthGroupRepo; + private final TbServiceGrouopRepo tbServiceGrouopRepo; + private final PasswordEncoder passwordEncoder; + private final SequenceService sequenceService; + private final TbUserAuthGroupRepo tbUserAuthGroupRepo; + private final TbUserCustRepo tbUserCustRepo; + private final TbServiceGroupPolicyRepo tbServiceGroupPolicyRepo; + private final TbIcsCustInfoRepo tbIcsCustInfoRepo; + + @Transactional(readOnly = true) + public QueryResults SystemUserList(SystemBotUserReq dto) { + log.info("SystemUserList uv - {}", new Gson().toJson(loginService.getUserVo())); + QueryResults result = tbBotUserRepo.SystemUserList(dto.ofUserVo(loginService.getUserVo()), RoleResource.USER.getName()); + return result; + } + + @Transactional(readOnly = true) + public List UserAuthGroupList(String serviceGroup) { + return tbServiceAuthGroupRepo.findByServiceGroup(serviceGroup).stream().map(e -> + SystemBotUserAuthGroupListRes.builder().authGroupSeq(e.getAuthGroupSeq()).policyGroupName(e.getPolicyGroupName()).build() + ).collect(Collectors.toList()); + } + + @Transactional(readOnly = true) + public String UserDoubleCheck(String userId) { + String useYn = "N"; + if (tbBotUserRepo.existsByUserId(userId)) { + return useYn; + } else { + return useYn = "Y"; + } + } + + @Transactional + public void userSave(SystemBotUserSaveReq dto) throws CustomNotFoundException { + TbServiceGrouop result = tbServiceGrouopRepo.findByServiceGroup(dto.getAddServiceAuthList().get(0).getAddService()) + .stream().findFirst().orElseThrow(() -> new CustomNotFoundException()); + + String custCode = result.getCustCode(); + String upper = result.getServiceGroupUpper(); + + TbBotUser userSaveResult = tbBotUserRepo.save(dto.toUserCreateSave(loginService.getUserVo(), passwordEncoder, + custCode, upper)); + + List authList = new ArrayList<>(); + List userCusts = new ArrayList<>(); + for (addServiceAuthList e : dto.getAddServiceAuthList()) { + userCusts.add(TbUserCust.builder() + .custCode(custCode) + .userSeq(userSaveResult.getUserSeq()) + .serviceGroup(e.getAddService()) + .build()); + for (Long f : e.getAuthList()) { + authList.add(TbUserAuthGroup.builder() + .userSeq(userSaveResult.getUserSeq()) + .authGroupSeq(f) + .serviceGroup(e.getAddService()) + .custCode(custCode) + .build()); + } + } + + log.info("authList saves - {}", new Gson().toJson(authList)); + tbUserAuthGroupRepo.saveAll(authList); + tbUserCustRepo.saveAll(userCusts); + + + } + + @Transactional + public SystemBotUserViewRes UserViewData(Long userSeq) throws CustomNotFoundException { + + + TbBotUser tbu = tbBotUserRepo.findByUserSeq(userSeq).orElseThrow(() -> new CustomNotFoundException()); + + SystemBotUserViewRes result = new SystemBotUserViewRes(); + List resultSub = new ArrayList<>(); + List baseAuth = new ArrayList<>(); + List useAuth = new ArrayList<>(); + + + result.setUserSeq(tbu.getUserSeq()); + result.setUserId(tbu.getUserId()); + result.setUserName(tbu.getUserName()); + result.setEMail(tbu.getEMail()); + result.setMobileNo(tbu.getMobileNo()); + result.setUseYn(tbu.getUseYn()); + result.setLoginCheck(tbu.getLoginCheck()); + result.setLastUseServiceGroup(tbu.getLastUseServiceGroup()); + result.setRoleVal(tbu.getRoleVal()); + result.setUseAuthSeq(tbUserAuthGroupRepo.findByUserSeq(userSeq).stream().map(f -> f.getAuthGroupSeq()).collect(Collectors.toList())); +// List base = tbUserAuthGroupRepo.userUseAuthGroup(userSeq); + List base = tbUserAuthGroupRepo.findByUserSeq(userSeq).stream().map(e -> e.getServiceGroup()) + .distinct() + .sorted() + .collect(Collectors.toList()); + + for (String e : base) { + //그룹네임 + TbServiceGrouop sr = tbServiceGrouopRepo.findByServiceGroup(e).orElseThrow(() -> new CustomNotFoundException()); + List baseData = tbServiceAuthGroupRepo.findByServiceGroup(e) + .stream() + .map(f -> SystemBotUserAuthGroupListRes.builder() + .authGroupSeq(f.getAuthGroupSeq()) + .policyGroupName(f.getPolicyGroupName()) + .build()) + .distinct() + .collect(Collectors.toList()); + List baseSeqData = new ArrayList<>(); + for (SystemBotUserAuthGroupListRes g : baseData) { + baseSeqData.add(g.getAuthGroupSeq()); + } + resultSub.add(SystemBotUserViewSubRes.builder() + .serviceGroup(sr.getServiceGroup()) + .serviceName(sr.getServiceGroupName()) + .baseAuthGroup(baseData) + .baseSeq(baseSeqData) + .build() + ); + } + + result.setUseServiceGroup(resultSub); + return result; + + } + + + @Transactional + public void userUpdate(SystemBotUserUpdateReq dto) throws CustomNotFoundException { + /* + TbBotUser result = tbBotUserRepo.findById(dto.getUserSeq()).orElseThrow(() -> new CustomNotFoundException()).toUpdate(dto, loginService.getUserVo(), passwordEncoder); + List beforService = new ArrayList<>(); + List baseService = new ArrayList<>(); + List insertService = new ArrayList<>(); + List delService = new ArrayList<>(); + List delCust = new ArrayList<>(); + List insertCust = new ArrayList<>(); + List insertAuth = new ArrayList<>(); + List authSave = new ArrayList<>(); + Map> ServiceAuthSeqMap = new HashMap<>(); + //초기화 + beforService = tbUserAuthGroupRepo.findByUserSeq(dto.getUserSeq()).stream().map(e -> e.getServiceGroup()) + .distinct() + .collect(Collectors.toList()); + //가지고있던 서비스그룹. + for (addServiceAuthList e : dto.getAddServiceAuthList()) { + //맵초기화 + ServiceAuthSeqMap.put(e.getAddService(), new ArrayList<>(e.getAuthList())); + baseService.add(e.getAddService()); + insertService.add(e.getAddService()); + } + log.info("ServiceAuthSeqMap map data - {}", new Gson().toJson(ServiceAuthSeqMap)); + log.info("baseService - {}", new Gson().toJson(baseService)); + log.info("beforService map data - {}", new Gson().toJson(beforService)); + //서비스그룹의 수량변화가 있는지 확인한다. + for (String e : baseService) { + //비교해서 인서트 리스트에 남는건 새로추가한목록. + if (beforService.contains(e)) { + insertService.remove(e); + List authBase = new ArrayList<>(); + List authInsert = new ArrayList<>(); + authInsert = ServiceAuthSeqMap.get(e); + authBase = ServiceAuthSeqMap.get(e); + //해당 서비스의 그룹권한의 시퀀스가 변했는지 확인한다. + List authBefor = tbUserAuthGroupRepo.findByUserSeqAndServiceGroupAndCustCode(result.getUserSeq(), e, result.getCustCode()) + .stream().map(f -> f.getAuthGroupSeq()) + .collect(Collectors.toList()); + log.info("authBefor 검사 기존값 = {}", new Gson().toJson(authBefor)); + for (Long g : authBase) { + if (authBefor.contains(e)) { + authInsert.remove(g); + } else { + log.info("다 델리트로 들어가니?" + e); + delService.add(TbUserAuthGroupId.builder() + .userSeq(dto.getUserSeq()) + .authGroupSeq(g) + .serviceGroup(e) + .custCode(result.getCustCode()) + .build()); + } + } + authInsert.removeAll(authBefor); + log.info("authInsert 지워진값확인 = {}", new Gson().toJson(authInsert)); + for (Long h : authInsert) { + log.info("추가 권한" + h); + authSave.add(TbUserAuthGroup.builder() + .userSeq(dto.getUserSeq()) + .authGroupSeq(h) + .serviceGroup(e) + .custCode(result.getCustCode()) + .build()); + } + } else { + //없는건 삭제리스트 + List delAuthSeq = tbUserAuthGroupRepo.findByUserSeqAndServiceGroupAndCustCode(result.getUserSeq(), e, result.getCustCode()); + log.info("delAuthSeq - {}", new Gson().toJson(delAuthSeq)); + for (TbUserAuthGroup f : delAuthSeq) { + log.info("삭제 권한" + f); + delService.add(TbUserAuthGroupId.builder() + .userSeq(dto.getUserSeq()) + .authGroupSeq(f.getAuthGroupSeq()) + .serviceGroup(e) + .custCode(result.getCustCode()) + .build()); + } + log.info("삭제 커스트" + e); + delCust.add(TbUserCustId.builder() + .custCode(result.getCustCode()) + .userSeq(dto.getUserSeq()) + .serviceGroup(e) + .build()); + } + } + //인서트 서비스와 권한을 추가해준다. + for (String e : insertService) { + insertCust.add(TbUserCust.builder() + .custCode(result.getCustCode()) + .serviceGroup(e) + .userSeq(dto.getUserSeq()) + .build()); + log.info("추가 유저 커스트" + e); + for (Long f : ServiceAuthSeqMap.get(e)) { + log.info("추가 유저 권한그룹" + f); + authSave.add(TbUserAuthGroup.builder() + .userSeq(dto.getUserSeq()) + .authGroupSeq(f) + .serviceGroup(e) + .custCode(result.getCustCode()) + .build()); + } + } + log.info("authSaveList - {}", new Gson().toJson(authSave)); + log.info("delServiceList - {}", new Gson().toJson(delService)); + tbUserCustRepo.saveAll(insertCust); + tbUserCustRepo.deleteAllById(delCust); + tbUserAuthGroupRepo.deleteAllById(delService); + tbUserAuthGroupRepo.saveAll(authSave); +*/ + + TbBotUser result = tbBotUserRepo.findById(dto.getUserSeq()).orElseThrow(() -> new CustomNotFoundException()).toUpdate(dto, loginService.getUserVo(), passwordEncoder); + List delCustList = tbUserCustRepo.findByUserSeq(dto.getUserSeq()).stream() + .map(e -> TbUserCustId.builder() + .custCode(e.getCustCode()) + .serviceGroup(e.getServiceGroup()) + .userSeq(e.getUserSeq()) + .build()) + .collect(Collectors.toList()); + + List delAuthGroupList = tbUserAuthGroupRepo.findByUserSeq(dto.getUserSeq()).stream() + .map(e -> TbUserAuthGroupId.builder() + .userSeq(e.getUserSeq()) + .authGroupSeq(e.getAuthGroupSeq()) + .serviceGroup(e.getServiceGroup()) + .custCode(e.getCustCode()) + .build()) + .collect(Collectors.toList()); + + List insertCustList = new ArrayList<>(); + List insertAuthGorupList = new ArrayList<>(); + for (addServiceAuthList e : dto.getAddServiceAuthList()) { + insertCustList.add(TbUserCust.builder() + .custCode(result.getCustCode()) + .serviceGroup(e.getAddService()) + .userSeq(dto.getUserSeq()) + .build()); + for (Long f : e.getAuthList()) { + insertAuthGorupList.add(TbUserAuthGroup.builder() + .userSeq(dto.getUserSeq()) + .authGroupSeq(f) + .serviceGroup(e.getAddService()) + .custCode(result.getCustCode()) + .build()); + } + } + + tbUserCustRepo.deleteAllById(delCustList); + tbUserAuthGroupRepo.deleteAllById(delAuthGroupList); + tbUserCustRepo.saveAll(insertCustList); + tbUserAuthGroupRepo.saveAll(insertAuthGorupList); + } + + @Transactional(readOnly = true) + public List UserCustList() throws CustomNotFoundException { + UserVo uv = loginService.getUserVo(); + List result = new ArrayList<>(); + if (uv.getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) { + result = tbIcsCustInfoRepo.findAll().stream().map(e -> SystemBotUserCustRes.builder() + .custCode(e.getCustCode()) + .custName(e.getCustName()) + .build()) + .collect(Collectors.toList()); + return result; + } else { + TbIcsCustInfo adminresult = tbIcsCustInfoRepo.findById(uv.getCustCode()).orElseThrow(() -> new CustomNotFoundException()); + result.add(SystemBotUserCustRes.builder() + .custCode(adminresult.getCustCode()) + .custName(adminresult.getCustName()) + .build()); + return result; + } + } + + @Transactional(readOnly = true) + public List UserServiceList(String cust) { + +// return tbServiceGrouopRepo.findByCustCodeAndServiceType(cust, "S").stream().map(e -> OprmngCodeRes.builder() +// .serviceGroup(e.getServiceGroup()) +// .serviceGroupName(e.getServiceGroupName()) +// .build()).collect(Collectors.toList()); + return tbServiceGrouopRepo.findByCustCode(cust).stream().map(e -> OprmngCodeRes.builder() + .serviceGroup(e.getServiceGroup()) + .serviceGroupName(e.getServiceGroupName()) + .build()).collect(Collectors.toList()); + } + + @Transactional + public void UserCheckReset(Long userSeq) throws CustomNotFoundException { + TbBotUser tub = tbBotUserRepo.findByUserSeq(userSeq) + .orElseThrow(()-> new CustomNotFoundException()) + .resetLoginFailCheck(); + + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/DslDataTableRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/DslDataTableRes.java new file mode 100644 index 0000000..3d53201 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/DslDataTableRes.java @@ -0,0 +1,41 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import com.querydsl.core.QueryResults; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class DslDataTableRes { + + private List getList; + private Long getTotal; + private Long getLimit; + private Long getOffset; + + public DslDataTableRes(QueryResults dslResult) { +// this.dslResult = dslResult; + this.getList = dslResult.getResults(); + this.getTotal = dslResult.getTotal(); + this.getLimit = dslResult.getLimit(); + this.getOffset = dslResult.getOffset(); + } + + public DslDataTableRes(QueryResults dslResult, List data) { + this.getList = data; + this.getTotal = dslResult.getTotal(); + this.getLimit = dslResult.getLimit(); + this.getOffset = dslResult.getOffset(); + } + + public DslDataTableRes(List data, Long total, Long limit, Long offset ) { + this.getList = data; + this.getTotal = total; + this.getLimit = limit; + this.getOffset = offset; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotTtsTagRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotTtsTagRes.java new file mode 100644 index 0000000..0547cb1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotTtsTagRes.java @@ -0,0 +1,20 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import java.time.LocalDateTime; + +public class SystemBotTtsTagRes { + + private String codeName; + private String attribute1; + private String attribute2; + + private String ttsProdCode; + private String tagCode; + private String ttsStartTag; + private String ttsEndTag; + private String registId; + private LocalDateTime registDate; + private String updateId; + private LocalDateTime updateDate; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotTtsTagVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotTtsTagVo.java new file mode 100644 index 0000000..1f2513c --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotTtsTagVo.java @@ -0,0 +1,24 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class SystemBotTtsTagVo { + + private String ttsProdCode; + private String tagCode; + private String ttsStartTag; + private String ttsEndTag; + private String registId; + private LocalDateTime registDate; + private String updateId; + private LocalDateTime updateDate; + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserAuthGroupListRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserAuthGroupListRes.java new file mode 100644 index 0000000..494a765 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserAuthGroupListRes.java @@ -0,0 +1,25 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class SystemBotUserAuthGroupListRes { + + + private Long authGroupSeq; + private String policyGroupName; + + @Builder + public SystemBotUserAuthGroupListRes(Long authGroupSeq, String policyGroupName) { + this.authGroupSeq = authGroupSeq; + this.policyGroupName = policyGroupName; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserCustRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserCustRes.java new file mode 100644 index 0000000..fadc29d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserCustRes.java @@ -0,0 +1,23 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class SystemBotUserCustRes { + + private String custCode; + private String custName; + + @Builder + public SystemBotUserCustRes(String custCode, String custName) { + this.custCode = custCode; + this.custName = custName; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserDoubleCheckReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserDoubleCheckReq.java new file mode 100644 index 0000000..b87cb72 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserDoubleCheckReq.java @@ -0,0 +1,22 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class SystemBotUserDoubleCheckReq { + + private String serviceGroup; + private String userId; + + @Builder + public SystemBotUserDoubleCheckReq(String serviceGroup, String userId) { + this.serviceGroup = serviceGroup; + this.userId = userId; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserReq.java new file mode 100644 index 0000000..7a81a81 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserReq.java @@ -0,0 +1,25 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class SystemBotUserReq { + + private int size; + private int page; + private String custCode; + private String codeType; + private String codeText; + private UserVo userVo; + + public SystemBotUserReq ofUserVo(UserVo userVo){ + this.userVo = userVo; + return this; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserRes.java new file mode 100644 index 0000000..5ef4f20 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserRes.java @@ -0,0 +1,39 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class SystemBotUserRes { + + private String custCode; + private String custName; +// private String serviceGroup; +// private String serviceGroupName; + private Long userSeq; + private String userId; + private String userName; + private String eMail; + private String mobileNo; + private String useYn; + private LocalDateTime registDate; + + @Builder + public SystemBotUserRes(String custCode, String custName, Long userSeq, String userId, String userName, String eMail, String mobileNo, String useYn, LocalDateTime registDate) { + this.custCode = custCode; + this.custName = custName; + this.userSeq = userSeq; + this.userId = userId; + this.userName = userName; + this.eMail = eMail; + this.mobileNo = mobileNo; + this.useYn = useYn; + this.registDate = registDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserSaveReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserSaveReq.java new file mode 100644 index 0000000..cb1a677 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserSaveReq.java @@ -0,0 +1,82 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.db.jpa.entity.system.TbBotUser; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.springframework.security.crypto.password.PasswordEncoder; + +import java.time.LocalDateTime; +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class SystemBotUserSaveReq { + + private String lastUseServiceGroup; + private String userId; + private String pass; + private String userName; + private String useYn; + private String userMail; + private String userMobile; + private String roleVal; + private List addServiceAuthList; + + @Builder + public SystemBotUserSaveReq(String lastUseServiceGroup, String userId, String pass, String userName, String useYn, String userMail, String userMobile, String roleVal, List addServiceAuthList) { + this.lastUseServiceGroup = lastUseServiceGroup; + this.userId = userId; + this.pass = pass; + this.userName = userName; + this.useYn = useYn; + this.userMail = userMail; + this.userMobile = userMobile; + this.roleVal = roleVal; + this.addServiceAuthList = addServiceAuthList; + } + +// public TbBotUser toUserCreateSave(UserVo uv, PasswordEncoder pe, String custCode, Long seq, String upper) { +// return TbBotUser.builder() +// .userSeq(seq) +// .custCode(custCode) +// .lastUseServiceGroup(upper) +// .roleVal(this.roleVal) +// .userId(this.userId) +// .password(pe.encode(this.pass)) +// .userName(this.userName) +// .eMail(this.userMail) +// .mobileNo(this.userMobile) +// .loginCheck(0) +// .useYn(this.useYn) +// .registId(uv.getUserId()) +// .registDate(LocalDateTime.now()) +// .updateId(uv.getUserId()) +// .updateDate(LocalDateTime.now()) +// .build(); +// +// } + + public TbBotUser toUserCreateSave(UserVo uv, PasswordEncoder pe, String custCode, String upper) { + return TbBotUser.builder() + .custCode(custCode) + .lastUseServiceGroup(upper) + .roleVal(this.roleVal) + .userId(this.userId) + .password(pe.encode(this.pass)) + .userName(this.userName) + .eMail(this.userMail) + .mobileNo(this.userMobile) + .loginCheck(0) + .useYn(this.useYn) + .registId(uv.getUserId()) + .registDate(LocalDateTime.now()) + .updateId(uv.getUserId()) + .updateDate(LocalDateTime.now()) + .build(); + + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserUpdateReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserUpdateReq.java new file mode 100644 index 0000000..6dcb176 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserUpdateReq.java @@ -0,0 +1,44 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.db.jpa.entity.system.TbBotUser; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.springframework.security.crypto.password.PasswordEncoder; + +import java.time.LocalDateTime; +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class SystemBotUserUpdateReq { + + private Long userSeq; + private String userId; + private String userName; + private String userPass; + private String mobileNo; + private String useYn; + private int loginCheck; + private String email; + private String roleVal; + private List addServiceAuthList; + + @Builder + public SystemBotUserUpdateReq(Long userSeq, String userId, String userName, String mobileNo, String useYn, int loginCheck, String email, String roleVal, List addServiceAuthList) { + this.userSeq = userSeq; + this.userId = userId; + this.userName = userName; + this.mobileNo = mobileNo; + this.useYn = useYn; + this.loginCheck = loginCheck; + this.email = email; + this.roleVal = roleVal; + this.addServiceAuthList = addServiceAuthList; + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserViewRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserViewRes.java new file mode 100644 index 0000000..1cef6ed --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserViewRes.java @@ -0,0 +1,45 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class SystemBotUserViewRes { + +// private String custCode; +// private String custName; + private Long userSeq; + private String userId; + private String userName; + private String eMail; + private String mobileNo; + private String useYn; + private int loginCheck; + private String lastUseServiceGroup; + private String roleVal; + private List useServiceGroup; + private List useAuthSeq; + + + + @Builder + public SystemBotUserViewRes(Long userSeq, String userId, String userName, String eMail, String mobileNo, String useYn, int loginCheck, String lastUseServiceGroup, String roleVal, List useServiceGroup) { + this.userSeq = userSeq; + this.userId = userId; + this.userName = userName; + this.eMail = eMail; + this.mobileNo = mobileNo; + this.useYn = useYn; + this.loginCheck = loginCheck; + this.lastUseServiceGroup = lastUseServiceGroup; + this.roleVal = roleVal; + this.useServiceGroup = useServiceGroup; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserViewSubRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserViewSubRes.java new file mode 100644 index 0000000..499586d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemBotUserViewSubRes.java @@ -0,0 +1,29 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class SystemBotUserViewSubRes { + + private String serviceGroup; + private String serviceName; + private List baseAuthGroup; + private List baseSeq; + + + @Builder + public SystemBotUserViewSubRes(String serviceGroup, String serviceName, List baseAuthGroup, List baseSeq) { + this.serviceGroup = serviceGroup; + this.serviceName = serviceName; + this.baseAuthGroup = baseAuthGroup; + this.baseSeq = baseSeq; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommonCodeDeleteReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommonCodeDeleteReq.java new file mode 100644 index 0000000..a570e69 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommonCodeDeleteReq.java @@ -0,0 +1,28 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.db.jpa.entity.system.id.TbBotCommonCodeId; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class SystemCommonCodeDeleteReq { + + private String custCode; + private String serviceGroup; + private String minorCode; + private String majorCode; + + + public TbBotCommonCodeId delId(){ + return TbBotCommonCodeId.builder() + .custCode(this.custCode) + .oprMngCode(this.custCode+"_RCP_"+this.serviceGroup) + .majorCode(this.majorCode) + .minorCode(this.minorCode) + .build(); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeInsertReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeInsertReq.java new file mode 100644 index 0000000..5c926d0 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeInsertReq.java @@ -0,0 +1,86 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.db.jpa.entity.system.TbBotCommonCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class SystemCommoncodeInsertReq { + private String serviceGroup; + private String major; + private String minor; + private String codeName; + private String attribute1; + private String attribute2; + private String attribute3; + + public TbBotCommonCode ofSave(UserVo userVo, String custCode) { + return TbBotCommonCode.builder() + .custCode(custCode) + .minorCode(this.minor) + .majorCode(this.major) + .oprMngCode(userVo.getCustCode() + "_RCP_" + this.serviceGroup) + .codeName(this.codeName) + .attribute1(this.attribute1) + .attribute2(this.attribute2) + .attribute3(this.attribute3) + .registId(userVo.getUserId()) + .registDate(LocalDateTime.now()) + .updateId(userVo.getUserId()) + .updateDate(LocalDateTime.now()) + .build(); + } + + public TbBotCommonCode ofSave(UserVo userVo, String custCode, String mainServiceGroup) { + return TbBotCommonCode.builder() + .custCode(custCode) + .minorCode(this.minor) + .majorCode(this.major) + .oprMngCode(userVo.getCustCode() + "_RCP_" + mainServiceGroup) + .codeName(this.codeName) + .attribute1(this.attribute1) + .attribute2(this.attribute2) + .attribute3(this.attribute3) + .registId(userVo.getUserId()) + .registDate(LocalDateTime.now()) + .updateId(userVo.getUserId()) + .updateDate(LocalDateTime.now()) + .build(); + } + + + public List ofSaveAll(UserVo userVo, List services) { + List result = new ArrayList<>(); + for (String e : services) { + result.add(TbBotCommonCode.builder() + .minorCode(this.minor) + .majorCode(this.major) + .oprMngCode(userVo.getCustCode() + "_" + "RCP_" + e) + .codeName(this.codeName) + .attribute1(this.attribute1) + .attribute2(this.attribute2) + .attribute3(this.attribute3) + .registId(userVo.getUserId()) + .registDate(LocalDateTime.now()) + .updateId(userVo.getUserId()) + .updateDate(LocalDateTime.now()) + .build()); + } + return result; + } + + public String getOpr(UserVo userVo) { + return userVo.getCustCode() + "_" + "RCP_" + this.serviceGroup; + } + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeReq.java new file mode 100644 index 0000000..5bafac1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeReq.java @@ -0,0 +1,29 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.db.jpa.entity.system.TbBotCommonCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class SystemCommoncodeReq { + + //조회용 + private int size; + private int page; + private String oprmngCode; + private String serviceGroup; + private String codeType; + private String codeText; + private UserVo userVo; + + public SystemCommoncodeReq ofUserVo(UserVo userVo){ + this.userVo = userVo; + return this; + } +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeRes.java new file mode 100644 index 0000000..3b55258 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeRes.java @@ -0,0 +1,39 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class SystemCommoncodeRes { + + private String custCode; + private String serviceGroupName; + private String serviceGroup; + private String oprMngCode; + private String minorCode; + private String majorCode; + private String codeName; + private String attribute1; + private String attribute2; + private String attribute3; + + @Builder + public SystemCommoncodeRes(String custCode, String serviceGroupName, String serviceGroup, String oprMngCode, String minorCode, String majorCode, String codeName, String attribute1, String attribute2, String attribute3) { + this.custCode = custCode; + this.serviceGroupName = serviceGroupName; + this.serviceGroup = serviceGroup; + this.oprMngCode = oprMngCode; + this.minorCode = minorCode; + this.majorCode = majorCode; + this.codeName = codeName; + this.attribute1 = attribute1; + this.attribute2 = attribute2; + this.attribute3 = attribute3; + } +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeUpdateReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeUpdateReq.java new file mode 100644 index 0000000..a184861 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCommoncodeUpdateReq.java @@ -0,0 +1,49 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.db.jpa.entity.system.TbBotCommonCode; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbBotCommonCodeId; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class SystemCommoncodeUpdateReq { + + private String custCode; + private String serviceGroupName; + private String serviceGroup; + private String oprMngCode; + private String minorCode; + private String majorCode; + private String codeName; + private String attribute1; + private String attribute2; + private String attribute3; + + public SystemCommoncodeUpdateReq(String custCode, String serviceGroupName, String serviceGroup, String oprMngCode, String minorCode, String majorCode, String codeName, String attribute1, String attribute2, String attribute3) { + this.custCode = custCode; + this.serviceGroupName = serviceGroupName; + this.serviceGroup = serviceGroup; + this.oprMngCode = oprMngCode; + this.minorCode = minorCode; + this.majorCode = majorCode; + this.codeName = codeName; + this.attribute1 = attribute1; + this.attribute2 = attribute2; + this.attribute3 = attribute3; + } + + public TbBotCommonCodeId toId() { + return TbBotCommonCodeId.builder() + .custCode(this.custCode) + .oprMngCode(this.oprMngCode) + .majorCode(this.majorCode) + .minorCode(this.minorCode) + .build(); + } + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCustSaveReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCustSaveReq.java new file mode 100644 index 0000000..e2c9310 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCustSaveReq.java @@ -0,0 +1,187 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.db.jpa.entity.system.*; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class SystemCustSaveReq { + + private String custName; + private String custCode; + private String custCodeDoubleCheck; + private String custUseYn; + private List addServiceAuthList; + + @Builder + public SystemCustSaveReq(String custName, String custCode, String custCodeDoubleCheck, String custUseYn, List addServiceAuthList) { + this.custName = custName; + this.custCode = custCode; + this.custCodeDoubleCheck = custCodeDoubleCheck; + this.custUseYn = custUseYn; + this.addServiceAuthList = addServiceAuthList; + } + + + + public TbIcsCustInfo otCust(UserVo uv) { + TbIcsCustInfo custSave = TbIcsCustInfo.builder() + .custCode(this.custCode) + .custName(this.custName) +// .custTel() +// .custServiceMent() + .useYn(this.custUseYn) + .registId(uv.getUserId()) + .registDate(LocalDateTime.now()) + .updateId(uv.getUserId()) + .updateDate(LocalDateTime.now()) + .build(); + return custSave; + } + + public List toServiceGroup(UserVo uv) { + List serviceGroupSave = new ArrayList<>(); + + for (SystemCustSaveSubReq e : this.addServiceAuthList) { + serviceGroupSave.add(TbServiceGrouop.builder() + .serviceGroup(e.getAddServiceGroup()) + .serviceGroupUpper(e.getAddServiceGroup()) + .custCode(this.custCode) + .serviceType("M") + .serviceGroupName(e.getAddServiceGroupName()) + .serviceGroupDesc(e.getAddServiceGroupDesc()) + .useYn("Y") + .registId(uv.getUserId()) + .registDate(LocalDateTime.now()) + .updateId(uv.getUserId()) + .updateDate(LocalDateTime.now()) + .build()); + } + return serviceGroupSave; + } + + public List toWisenutInsert(){ + List ret = new ArrayList<>(); + for (SystemCustSaveSubReq e : this.addServiceAuthList) { + ret.add(WisenutInsertReqVo.builder() + .oprMngCode(this.custCode+"_RCP_"+e.getAddServiceGroup()) + .serviceGroupDesc(e.getAddServiceGroupDesc()) + .build()); + } + return ret; + } + + public List toOpr(UserVo uv) { + List oprSave = new ArrayList<>(); + for (SystemCustSaveSubReq e : this.addServiceAuthList) { + oprSave.add(TbIcsOprMngInfo.builder() + .custCode(this.custCode) + .serviceGroup(e.getAddServiceGroup()) + .oprMngCode(e.getAddOprMngCode()) + .solVal("RCP") +// .dtmf() +// .routeUrl() + .useYn("Y") + .registId(uv.getUserId()) + .registDate(LocalDateTime.now()) + .updateId(uv.getUserId()) + .updateDate(LocalDateTime.now()) + .build()); + } + return oprSave; + } + + public List toPolicy() { + List custPolicySave = new ArrayList<>(); + + for (SystemCustSaveSubReq e : this.addServiceAuthList) { + for (String f : e.getAuthList()) { + custPolicySave.add(TbCustPolicy.builder() + .serviceGroup(e.getAddServiceGroup()) + .policyVal(f) + .custCode(this.custCode) + .build()); + } + } + return custPolicySave; + } + + public List toSystemAdmin(UserVo uv) { + List result = new ArrayList<>(); + for (SystemCustSaveSubReq e : this.addServiceAuthList) { + result.add(TbUserCust.builder() + .custCode(this.custCode) + .serviceGroup(e.getAddServiceGroup()) + .userSeq(uv.getUserSeq()) + .build()); + } + return result; + } + + + public TbIcsCustInfo ModiCust(UserVo uv) { + TbIcsCustInfo custSave = TbIcsCustInfo.builder() + .custCode(this.custCode) + .custName(this.custName) +// .custTel() +// .custServiceMent() + .useYn(this.custUseYn) +// .registId(uv.getUserId()) +// .registDate(LocalDateTime.now()) + .updateId(uv.getUserId()) + .updateDate(LocalDateTime.now()) + .build(); + return custSave; + } + + public List ModiServiceGroup(UserVo uv) { + List serviceGroupSave = new ArrayList<>(); + + for (SystemCustSaveSubReq e : this.addServiceAuthList) { + serviceGroupSave.add(TbServiceGrouop.builder() + .serviceGroup(e.getAddServiceGroup()) + .serviceGroupUpper(e.getAddServiceGroup()) + .custCode(this.custCode) + .serviceType("M") + .serviceGroupName(e.getAddServiceGroupName()) + .serviceGroupDesc(e.getAddServiceGroupDesc()) + .useYn("Y") +// .registId(uv.getUserId()) +// .registDate(LocalDateTime.now()) + .updateId(uv.getUserId()) + .updateDate(LocalDateTime.now()) + .build()); + } + return serviceGroupSave; + } + + public List ModiOpr(UserVo uv) { + List oprSave = new ArrayList<>(); + for (SystemCustSaveSubReq e : this.addServiceAuthList) { + oprSave.add(TbIcsOprMngInfo.builder() + .custCode(this.custCode) + .serviceGroup(e.getAddServiceGroup()) + .oprMngCode(e.getAddOprMngCode()) + .solVal("RCP") +// .dtmf() +// .routeUrl() + .useYn("Y") +// .registId(uv.getUserId()) +// .registDate(LocalDateTime.now()) + .updateId(uv.getUserId()) + .updateDate(LocalDateTime.now()) + .build()); + } + return oprSave; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCustSaveSubReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCustSaveSubReq.java new file mode 100644 index 0000000..9c8db33 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCustSaveSubReq.java @@ -0,0 +1,67 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.db.jpa.entity.system.TbIcsOprMngInfo; +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGrouop; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class SystemCustSaveSubReq { + + private String addServiceGroupName; + private String addServiceGroup; + private String addOprMngCode; + private String addServiceGroupDesc; + private String addUseYn; + private List authList; + + @Builder + public SystemCustSaveSubReq(String addServiceGroupName, String addServiceGroup, String addOprMngCode, String addServiceGroupDesc, String addUseYn, List authList) { + this.addServiceGroupName = addServiceGroupName; + this.addServiceGroup = addServiceGroup; + this.addOprMngCode = addOprMngCode; + this.addServiceGroupDesc = addServiceGroupDesc; + this.addUseYn = addUseYn; + this.authList = authList; + } + + public TbServiceGrouop toService(String custCode, UserVo uv) { + return TbServiceGrouop.builder() + .serviceGroup(this.addServiceGroup.toUpperCase()) + .serviceGroupUpper(this.addServiceGroup) + .custCode(custCode) + .serviceType("M") + .serviceGroupName(this.addServiceGroupName) + .serviceGroupDesc(this.addServiceGroupDesc) + .useYn(this.addUseYn) + .registId(uv.getUserId()) + .registDate(LocalDateTime.now()) + .updateId(uv.getUserId()) + .updateDate(LocalDateTime.now()) + .build(); + } + + public TbIcsOprMngInfo toOprmngCode(String custCode, UserVo uv) { + return TbIcsOprMngInfo.builder() + .custCode(custCode) + .serviceGroup(this.addServiceGroup) + .oprMngCode(custCode+"_RCP_"+this.addServiceGroup.toUpperCase()) + .solVal("RCP") + .useYn(this.addUseYn) + .registId(uv.getUserId()) + .registDate(LocalDateTime.now()) + .updateId(uv.getUserId()) + .updateDate(LocalDateTime.now()) + .build(); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCustSelectRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCustSelectRes.java new file mode 100644 index 0000000..c216151 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemCustSelectRes.java @@ -0,0 +1,40 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.common.code.MenuVo; +import com.icomsys.main_vm.db.jpa.entity.system.*; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.awt.*; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Getter +@Setter +@NoArgsConstructor +public class SystemCustSelectRes { + + private String custName; + private String custCode; + private String custUseYn; + private List addServiceAuthList; + private Map> servicePol; + private List mainMenu; + private Map policyParent; + + @Builder + public SystemCustSelectRes(String custName, String custCode, String custUseYn, List addServiceAuthList, Map> servicePol, List mainMenu, Map policyParent) { + this.custName = custName; + this.custCode = custCode; + this.custUseYn = custUseYn; + this.addServiceAuthList = addServiceAuthList; + this.servicePol = servicePol; + this.mainMenu = mainMenu; + this.policyParent = policyParent; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemIcsCustInfoReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemIcsCustInfoReq.java new file mode 100644 index 0000000..d6e3d83 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemIcsCustInfoReq.java @@ -0,0 +1,24 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class SystemIcsCustInfoReq { + + private int size; + private int page; + private String codeText; + + @Builder + public SystemIcsCustInfoReq(int size, int page, String codeText) { + this.size = size; + this.page = page; + this.codeText = codeText; + } +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemIcsCustInfoRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemIcsCustInfoRes.java new file mode 100644 index 0000000..9b650ab --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemIcsCustInfoRes.java @@ -0,0 +1,51 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.db.jpa.entity.system.TbIcsCustInfo; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class SystemIcsCustInfoRes { + + private String custCode; + private String custName; + private String custTel; + private String custServiceMent; + private String useYn; + private String registId; + private LocalDateTime registDate; + private String updateId; + private LocalDateTime updateDate; + + @Builder + public SystemIcsCustInfoRes(String custCode, String custName, String custTel, String custServiceMent, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.custCode = custCode; + this.custName = custName; + this.custTel = custTel; + this.custServiceMent = custServiceMent; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } + + public SystemIcsCustInfoRes toIcsCustInfoRes(TbIcsCustInfo dto){ + this.custCode = dto.getCustCode(); + this.custName = dto.getCustName(); + this.custTel = dto.getCustTel(); + this.custServiceMent = dto.getCustServiceMent(); + this.useYn = dto.getUseYn(); + this.registId = dto.getRegistId(); + this.registDate = dto.getRegistDate(); + this.updateId = dto.getUpdateId(); + this.updateDate = dto.getUpdateDate(); + return this; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemPolicyMenuReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemPolicyMenuReq.java new file mode 100644 index 0000000..6f722a9 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemPolicyMenuReq.java @@ -0,0 +1,29 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class SystemPolicyMenuReq { + + private int size; + private int page; + private String serviceGroup; + private String codeType; + private String codeText1; + private String codeText2; + private String codeText3; + private UserVo userVo; + + public SystemPolicyMenuReq ofUserVo(UserVo userVo){ + this.userVo = userVo; + return this; + } + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemPolicyMenuRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemPolicyMenuRes.java new file mode 100644 index 0000000..e6e8ae7 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemPolicyMenuRes.java @@ -0,0 +1,37 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class SystemPolicyMenuRes { + private String custCode; + private String custName; + private String serviceGroup; + private String serviceGroupName; + private String policyVal; + private String policyName; + private String menuName; + private Long menuSeq; + + @Builder + public SystemPolicyMenuRes(String custCode, String custName, String serviceGroup, String serviceGroupName, String policyVal, String policyName, String menuName, Long menuSeq) { + this.custCode = custCode; + this.custName = custName; + this.serviceGroup = serviceGroup; + this.serviceGroupName = serviceGroupName; + this.policyVal = policyVal; + this.policyName = policyName; + this.menuName = menuName; + this.menuSeq = menuSeq; + } +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupModifyReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupModifyReq.java new file mode 100644 index 0000000..e3fafaf --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupModifyReq.java @@ -0,0 +1,37 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class SystemServiceAuthGroupModifyReq { + + private String custCode; + private Long authGroupSeq; + private String policyGroupName; + private String policyGroupDesc; + private List theUser; + private List delUser; + private List thePolicy; + + @Builder + public SystemServiceAuthGroupModifyReq(String custCode, Long authGroupSeq, String policyGroupName, String policyGroupDesc, List theUser, List delUser, List thePolicy) { + this.custCode = custCode; + this.authGroupSeq = authGroupSeq; + this.policyGroupName = policyGroupName; + this.policyGroupDesc = policyGroupDesc; + this.theUser = theUser; + this.delUser = delUser; + this.thePolicy = thePolicy; + } + + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupReq.java new file mode 100644 index 0000000..d0ad67b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupReq.java @@ -0,0 +1,27 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class SystemServiceAuthGroupReq { + + private int size; + private int page; + private String custCode; + private String serviceGroup; + private String codeText; + private UserVo userVo; + + public SystemServiceAuthGroupReq ofUserVo(UserVo userVo){ + this.userVo = userVo; + return this; + } + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupRes.java new file mode 100644 index 0000000..0f80ea1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupRes.java @@ -0,0 +1,33 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + + +@Getter +@Setter +@NoArgsConstructor +public class SystemServiceAuthGroupRes { + private String serviceGroup; + private String serviceGroupName; + private Long authGroupSeq; + private String policyGroupName; + private String policyGroupDesc; + private String custCode; + private LocalDateTime registDate; + + @Builder + public SystemServiceAuthGroupRes(String serviceGroup, String serviceGroupName, Long authGroupSeq, String policyGroupName, String policyGroupDesc, String custCode, LocalDateTime registDate) { + this.serviceGroup = serviceGroup; + this.serviceGroupName = serviceGroupName; + this.authGroupSeq = authGroupSeq; + this.policyGroupName = policyGroupName; + this.policyGroupDesc = policyGroupDesc; + this.custCode = custCode; + this.registDate = registDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupUpdateRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupUpdateRes.java new file mode 100644 index 0000000..90431e1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupUpdateRes.java @@ -0,0 +1,48 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.common.code.MenuVo; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.Column; +import javax.persistence.Id; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Getter +@Setter +@NoArgsConstructor +public class SystemServiceAuthGroupUpdateRes { + + private Long authGroupSeq; + private String serviceGroup; + private String custCode; + private String policyGroupName; + private String policyGroupDesc; + private List userList; + private List mainMenu; + private List policyVal; + private List authPolicyVal; + private Map policyParent; + + @Builder + + public SystemServiceAuthGroupUpdateRes(Long authGroupSeq, String serviceGroup, String custCode, String policyGroupName, String policyGroupDesc, List userList, List mainMenu, List policyVal, List authPolicyVal, Map policyParent) { + this.authGroupSeq = authGroupSeq; + this.serviceGroup = serviceGroup; + this.custCode = custCode; + this.policyGroupName = policyGroupName; + this.policyGroupDesc = policyGroupDesc; + this.userList = userList; + this.mainMenu = mainMenu; + this.policyVal = policyVal; + this.authPolicyVal = authPolicyVal; + this.policyParent = policyParent; + } +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupUserSearchReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupUserSearchReq.java new file mode 100644 index 0000000..89da153 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupUserSearchReq.java @@ -0,0 +1,28 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class SystemServiceAuthGroupUserSearchReq { + + + private String userSearchText; + private Long authGroupSeq; + + + @Builder + public SystemServiceAuthGroupUserSearchReq(String userSearchText, Long authGroupSeq) { + this.userSearchText = userSearchText; + this.authGroupSeq = authGroupSeq; + } + + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupUserSearchRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupUserSearchRes.java new file mode 100644 index 0000000..08db5ea --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceAuthGroupUserSearchRes.java @@ -0,0 +1,35 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.*; + +import javax.persistence.Column; +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class SystemServiceAuthGroupUserSearchRes { + + private Long userSeq; + private String custCode; + private String lastUseServiceGroup; + private String roleVal; + private String userId; + private String userName; + private String eMail; + private String mobileNo; + private String useYn; + + @Builder + public SystemServiceAuthGroupUserSearchRes(Long userSeq, String custCode, String lastUseServiceGroup, String roleVal, String userId, String userName, String eMail, String mobileNo, String useYn) { + this.userSeq = userSeq; + this.custCode = custCode; + this.lastUseServiceGroup = lastUseServiceGroup; + this.roleVal = roleVal; + this.userId = userId; + this.userName = userName; + this.eMail = eMail; + this.mobileNo = mobileNo; + this.useYn = useYn; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupInsertReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupInsertReq.java new file mode 100644 index 0000000..f4a9156 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupInsertReq.java @@ -0,0 +1,31 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class SystemServiceGroupInsertReq { + + private String insertServiceGroup; + private String insertGroupName; + private String insertGroupDesc; + private String subUseYn; + private List subPolicyVal; + + @Builder + public SystemServiceGroupInsertReq(String insertServiceGroup, String insertGroupName, String insertGroupDesc, String subUseYn, List subPolicyVal) { + this.insertServiceGroup = insertServiceGroup; + this.insertGroupName = insertGroupName; + this.insertGroupDesc = insertGroupDesc; + this.subUseYn = subUseYn; + this.subPolicyVal = subPolicyVal; + } +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupReq.java new file mode 100644 index 0000000..9449b68 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupReq.java @@ -0,0 +1,27 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class SystemServiceGroupReq { + + private int size; + private int page; + private String serviceGroup; + private String codeType; + private String codeText; + private UserVo userVo; + + public SystemServiceGroupReq ofUserVo(UserVo userVo){ + this.userVo = userVo; + return this; + } + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupRes.java new file mode 100644 index 0000000..86149f5 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupRes.java @@ -0,0 +1,35 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class SystemServiceGroupRes { + + private String custCode; + private String custName; + private String serviceGroup; + private String serviceGroupName; + private String serviceType; + private String useYn; + private LocalDateTime registDate; + + @Builder + public SystemServiceGroupRes(String custCode, String custName, String serviceGroup, String serviceGroupName, String serviceType, String useYn, LocalDateTime registDate) { + this.custCode = custCode; + this.custName = custName; + this.serviceGroup = serviceGroup; + this.serviceGroupName = serviceGroupName; + this.serviceType = serviceType; + this.useYn = useYn; + this.registDate = registDate; + } +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupTreeRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupTreeRes.java new file mode 100644 index 0000000..c49ed8d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupTreeRes.java @@ -0,0 +1,31 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.common.code.MenuVo; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; +import java.util.Map; + +@Getter +@Setter +@NoArgsConstructor +public class SystemServiceGroupTreeRes { + + private String custCode; + private List mainMenu; + private List mainPolicyVal; + private Map policyParent; + + @Builder + public SystemServiceGroupTreeRes(String custCode, List mainMenu, List mainPolicyVal, Map policyParent) { + this.custCode = custCode; + this.mainMenu = mainMenu; + this.mainPolicyVal = mainPolicyVal; + this.policyParent = policyParent; + } +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupUpdateReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupUpdateReq.java new file mode 100644 index 0000000..2c2e0e6 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupUpdateReq.java @@ -0,0 +1,36 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.common.code.MenuVo; +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGrouop; +import lombok.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Getter +@Setter +@NoArgsConstructor +public class SystemServiceGroupUpdateReq { + + private String custCode; + private String mainServiceGroup; + private String subServiceGroup; + private String subServiceGroupName; + private String subServiceGroupDesc; + private String subUseYn; + private List subPolicyVal; + + @Builder + public SystemServiceGroupUpdateReq(String custCode, String mainServiceGroup, String subServiceGroup, String subServiceGroupName, String subServiceGroupDesc, String subUseYn, List subPolicyVal) { + this.custCode = custCode; + this.mainServiceGroup = mainServiceGroup; + this.subServiceGroup = subServiceGroup; + this.subServiceGroupName = subServiceGroupName; + this.subServiceGroupDesc = subServiceGroupDesc; + this.subUseYn = subUseYn; + this.subPolicyVal = subPolicyVal; + } +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupViewRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupViewRes.java new file mode 100644 index 0000000..6bd1235 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupViewRes.java @@ -0,0 +1,49 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.common.code.MenuVo; +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGrouop; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Getter +@Setter +@NoArgsConstructor +public class SystemServiceGroupViewRes { + + private String custCode; + private String mainServiceGroup; + private String mainServiceGroupName; + private String mainServiceGroupDesc; + private String mainUseYn; + private String mainOprMngCode; + private List mainMenu; + private List mainPolicyVal; + private Map policyParent; + private List subService; + + @Builder + public SystemServiceGroupViewRes(String custCode, String mainServiceGroup, String mainServiceGroupName, String mainServiceGroupDesc, String mainUseYn, String mainOprMngCode, List mainMenu, List mainPolicyVal, Map policyParent, List subService) { + this.custCode = custCode; + this.mainServiceGroup = mainServiceGroup; + this.mainServiceGroupName = mainServiceGroupName; + this.mainServiceGroupDesc = mainServiceGroupDesc; + this.mainUseYn = mainUseYn; + this.mainOprMngCode = mainOprMngCode; + this.mainMenu = mainMenu; + this.mainPolicyVal = mainPolicyVal; + this.policyParent = policyParent; + this.subService = subService; + } + + + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupViewSubListRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupViewSubListRes.java new file mode 100644 index 0000000..95d2af2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupViewSubListRes.java @@ -0,0 +1,34 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.common.code.MenuVo; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class SystemServiceGroupViewSubListRes { + + private String subServiceGroup; + private String subServiceGroupName; + private String subServiceGroupDesc; + private String subUseYn; + private String subOprMngCode; + private List subPolicyVal; + + @Builder + public SystemServiceGroupViewSubListRes(String subServiceGroup, String subServiceGroupName, String subServiceGroupDesc, String subUseYn, String subOprMngCode, List subPolicyVal) { + this.subServiceGroup = subServiceGroup; + this.subServiceGroupName = subServiceGroupName; + this.subServiceGroupDesc = subServiceGroupDesc; + this.subUseYn = subUseYn; + this.subOprMngCode = subOprMngCode; + this.subPolicyVal = subPolicyVal; + } +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupViewVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupViewVo.java new file mode 100644 index 0000000..40172dd --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/SystemServiceGroupViewVo.java @@ -0,0 +1,40 @@ + +package com.icomsys.main_vm.biz.common.system.vo; + +import com.icomsys.main_vm.common.code.MenuVo; +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGrouop; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Getter +@Setter +@NoArgsConstructor +public class SystemServiceGroupViewVo { + private String custCode; + private String serviceGroup; + private String serviceGroupName; + private String serviceGroupDesc; + private String useYn; + private String serviceType; + private String oprMngCode; + private List policyVal; + + @Builder + public SystemServiceGroupViewVo(String custCode, String serviceGroup, String serviceGroupName, String serviceGroupDesc, String useYn, String serviceType, String oprMngCode, List policyVal) { + this.custCode = custCode; + this.serviceGroup = serviceGroup; + this.serviceGroupName = serviceGroupName; + this.serviceGroupDesc = serviceGroupDesc; + this.useYn = useYn; + this.serviceType = serviceType; + this.oprMngCode = oprMngCode; + this.policyVal = policyVal; + } +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/WisenutInsertReqVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/WisenutInsertReqVo.java new file mode 100644 index 0000000..9903805 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/WisenutInsertReqVo.java @@ -0,0 +1,34 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class WisenutInsertReqVo { + + private String name; + private String summary; + private double simThreshold; + private double confidentThreshold; + private double confidentThresholdGap; + private List fallbackMessages; + private List greetingMessages; + private String channelCode; + private String messages; + + @Builder + public WisenutInsertReqVo(String oprMngCode, String serviceGroupDesc) { + this.name = oprMngCode; + this.summary = serviceGroupDesc; + this.simThreshold = 0.85; + this.confidentThreshold = 0.2; + this.confidentThresholdGap = 0.05; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/WisenutInsertResVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/WisenutInsertResVo.java new file mode 100644 index 0000000..7ad1155 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/WisenutInsertResVo.java @@ -0,0 +1,26 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class WisenutInsertResVo { + + private String returnCode; + private String returnMsg; + private Long projectId; + + @Builder + public WisenutInsertResVo(String returnCode, String returnMsg, Long projectId) { + this.returnCode = returnCode; + this.returnMsg = returnMsg; + this.projectId = projectId; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/addServiceAuthList.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/addServiceAuthList.java new file mode 100644 index 0000000..d494ae7 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/common/system/vo/addServiceAuthList.java @@ -0,0 +1,23 @@ +package com.icomsys.main_vm.biz.common.system.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class addServiceAuthList { + + private String addService; + private List authList; + + @Builder + public addServiceAuthList(String addService, List authList) { + this.addService = addService; + this.authList = authList; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationApiNodeController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationApiNodeController.java new file mode 100644 index 0000000..20ac4fa --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationApiNodeController.java @@ -0,0 +1,43 @@ +package com.icomsys.main_vm.biz.rcp.conversation.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.rcp.conversation.service.ConversationApiNodeService; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationApiNodeInfoReq; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationApiNodeInfoRes; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/conversation") +public class ConversationApiNodeController { + + private final ConversationApiNodeService conversationApiNodeService; + + @GetMapping("/apiNode/manage.do") + public String ApiNodeView(){ + return "/adm/rcp/conversation/apiNode"; + } + + @PostMapping(value="/selectApiNodeList") + @ResponseBody + public DslDataTableRes searchApiNodeList(@RequestBody ConversationApiNodeInfoReq dto) throws CustomNotFoundException { + log.info("dto -> {} ", new Gson().toJson(dto)); + return conversationApiNodeService.searchApiNodeList(dto); + } + + @PostMapping("/deleteApiNode") + @ResponseBody + public int deleteApiNode(@RequestBody HashMap map){ + log.info("deleteApiNode -> {} " , new Gson().toJson(map)); + return conversationApiNodeService.deleteApiNode(map); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationApiNodeEditController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationApiNodeEditController.java new file mode 100644 index 0000000..20178a1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationApiNodeEditController.java @@ -0,0 +1,68 @@ +package com.icomsys.main_vm.biz.rcp.conversation.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.rcp.conversation.service.ConversationApiNodeEditService; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationApiNodeEditReq; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import java.util.HashMap; + +/** + * Name : ConversationApiNodeEdit + * date : 2023-02-02 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-02 Mong 최초 생성 + */ + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/conversation") +public class ConversationApiNodeEditController { + + private final ConversationApiNodeEditService conversationApiNodeEditService; + @GetMapping("/apiNodeEdit/manage.do") + public ModelAndView apiNodeEditManage(@RequestParam(required = false) String url, @RequestParam(required = false) String seq, @RequestParam(required = false) String serviceGroup){ + log.info("url -> {} ", url); + log.info("seq -> {} ", seq); + log.info("serviceGroup -> {} ", serviceGroup); + ModelAndView mv = new ModelAndView(); + mv.setViewName("/adm/rcp/conversation/apiNodeEdit"); + mv.addObject("url", url); + mv.addObject("serviceGroup", serviceGroup); + mv.addObject("seq", seq); + return mv; + } + + @PostMapping("/insertApiNode") + @ResponseBody + public int insertApiNode(@RequestBody ConversationApiNodeEditReq dto) throws CustomBadRequestException{ + log.info("data -> {} " , new Gson().toJson(dto)); +// return 0; + return conversationApiNodeEditService.insertApiNode(dto); + } + + @PostMapping("/updateApiNode") + @ResponseBody + public int updateApiNode(@RequestBody ConversationApiNodeEditReq dto) throws CustomBadRequestException { + log.info("updateData -> {} " , new Gson().toJson(dto)); + return conversationApiNodeEditService.updateApiNode(dto); + } + + @PostMapping("/selectApiNode") + @ResponseBody + public HashMap selectApiNode(@RequestBody HashMap map){ + log.info("selectApiNode -> {} " , map); + return conversationApiNodeEditService.selectApiNode(map); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationCmmNodeController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationCmmNodeController.java new file mode 100644 index 0000000..070a3b8 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationCmmNodeController.java @@ -0,0 +1,80 @@ +package com.icomsys.main_vm.biz.rcp.conversation.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.rcp.conversation.service.ConversationCmmNodeService; +import com.icomsys.main_vm.biz.rcp.conversation.vo.*; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import java.util.HashMap; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/conversation") +public class ConversationCmmNodeController { + + private final ConversationCmmNodeService conversationCmmNodeService; + + @GetMapping("/cmmNode/manage.do") + public String CmmNodeView(){ + return "/adm/rcp/conversation/cmmNode"; + } + + @GetMapping("/cmmNode/cmmNodeEdit.do") + public ModelAndView cmmNodeEdit(@RequestParam(required = false) String url + , @RequestParam(required = false) String seq + , @RequestParam(required = false) String serviceGroup){ + log.info("url -> {} ", url); + log.info("seq -> {} ", seq); + log.info("serviceGroup -> {} ", serviceGroup); + ModelAndView mv = new ModelAndView(); + mv.setViewName("/adm/rcp/conversation/cmmNodeEdit"); + mv.addObject("url", url); + mv.addObject("serviceGroup", serviceGroup); + mv.addObject("seq", seq); + return mv; + } + + @PostMapping(value="/selectCmmNodeList") + @ResponseBody + public DslDataTableRes selectCmmNodeList(@RequestBody ConversationCmmNodeInfoReq dto) throws CustomNotFoundException { + log.info("dto -> {} ", new Gson().toJson(dto)); + return conversationCmmNodeService.selectCmmNodeList(dto); + } + + @PostMapping(value = "/selectCmmNode") + @ResponseBody + public ConversationCmmNodeDiagramVO selectCmmNode(@RequestBody ConversationCmmNodeEditReq dto) throws CustomNotFoundException { + log.info("dto -> {} ", new Gson().toJson(dto)); + return conversationCmmNodeService.selectCmmNode(dto); + } + + @PostMapping(value = "/saveCmmNode") + @ResponseBody + public int saveCmmNode(@RequestBody ConversationCmmNodeEditReq dto) throws CustomBadRequestException { + log.info("dto -> {} ", new Gson().toJson(dto)); + return conversationCmmNodeService.saveCmmNode(dto); + } + + @PostMapping(value = "/updateCmmNode") + @ResponseBody + public int updateCmmNode(@RequestBody ConversationCmmNodeEditReq dto) throws CustomBadRequestException, CustomNotFoundException { + log.info("dto -> {} ", new Gson().toJson(dto)); + return conversationCmmNodeService.updateCmmNode(dto); + } + + @PostMapping("/deleteCmmNode") + @ResponseBody + public int deleteApiNode(@RequestBody HashMap map){ + log.info("deleteCmmNode -> {} " , new Gson().toJson(map)); + return conversationCmmNodeService.deleteCmmNode(map); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationDictionaryController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationDictionaryController.java new file mode 100644 index 0000000..7d94f1a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationDictionaryController.java @@ -0,0 +1,20 @@ +package com.icomsys.main_vm.biz.rcp.conversation.controller; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/conversation") +public class ConversationDictionaryController { + + @GetMapping("/dictionary/manage.do") + public String DictionaryView(){ + return "/adm/rcp/conversation/dictionary"; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationIntentController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationIntentController.java new file mode 100644 index 0000000..4be1223 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationIntentController.java @@ -0,0 +1,276 @@ +package com.icomsys.main_vm.biz.rcp.conversation.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.advice.excep.CustomRuntimeException; +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.rcp.conversation.dto.IntentRequestDTO; +import com.icomsys.main_vm.biz.rcp.conversation.service.IntentManageService; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SelectIntentListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.intent.ExcelIntentListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.intent.IntentSearchVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.synonym.SelectSynonymListVo; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.jpa.repo.system.TbIntentMasterRepo; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.*; +import org.springframework.dao.DuplicateKeyException; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/conversation") +public class ConversationIntentController { + + private final TbIntentMasterRepo tbIntentMasterRepo; + @Resource + MappingJackson2JsonView ajaxMainView; + //private final HttpServletRequest request; + + private final IntentManageService intentManageService; + + private final ExcelService excelService; + + @GetMapping("/intent/manage.do") + public String ScenarioView(){ + return "/adm/rcp/conversation/intent"; + } + + @RequestMapping(value = "/intent/search.do", method = RequestMethod.POST) + @ResponseBody + public ModelAndView searchIntent(IntentSearchVo dto) throws CustomNotFoundException { + return intentManageService.searchIntent(dto); + } + + /** + * @Name serviceNameList + * @Description 인텐트관리 카테고리 목록 조회 + * @Author 문다운 + * v * @CreateDate 2022. 5. 26. + */ + @RequestMapping(value = "/intent/category.do", method = RequestMethod.GET) + @ResponseBody + public ModelAndView searchIntentCategoryList(@RequestParam Map dataMap) throws CustomNotFoundException { + return intentManageService.searchIntentCategoryList(dataMap); + } + + /** + * @Name serviceNameList + * @Description 인텐트 예문 목록 조회 + * @Author 문다운 + * @CreateDate 2022. 5. 26. + */ + @RequestMapping(value = "/intent/examples.do", method = RequestMethod.GET) + @ResponseBody + public ModelAndView selectIntentExampleList(HttpServletRequest request, @RequestParam Map dataMap) { + return intentManageService.selectIntentExampleList(dataMap); + } + + /** + * @Name serviceNameList + * @Description 인텐트 예문 목록 조회 + * @Author 문다운 + * @CreateDate 2022. 5. 26. + */ + @RequestMapping(value = "/intent/check.do", method = RequestMethod.GET) + @ResponseBody + public ModelAndView selectIntentCnt(HttpServletRequest request, @RequestParam Map dataMap) { + log.debug("selectIntentCnt init "); + ModelAndView mv = new ModelAndView(ajaxMainView); + HashMap eMap = new HashMap(); + eMap.putAll(dataMap); + int cnt = intentManageService.selectIntentCnt(eMap); + mv.addObject("result", (cnt > 0 ? false : true)); + return mv; + } + + /** + * @Name serviceNameList + * @Description 인텐트 수정 + * @Author 문다운 + * @CreateDate 2022. 5. 26. + */ + @RequestMapping(value = "/intent/update.do", method = RequestMethod.POST) + @ResponseBody + @Transactional + public ModelAndView updateIntent(@RequestBody IntentRequestDTO dto) { + return intentManageService.updateIntent(dto); + } + + /** + * @Name serviceNameList + * @Description 인텐트 등록 + * @Author 문다운 + * @CreateDate 2022. 6. 03. + */ + @RequestMapping(value = "/intent/insert.do", method = RequestMethod.POST) + @ResponseBody + public ModelAndView insertIntent(HttpServletRequest request, @RequestBody IntentRequestDTO dto) { + ModelAndView mv = new ModelAndView(ajaxMainView); + boolean result = true; + String message = "저장되었습니다."; + String seq = ""; + try { + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + dto.setRegistId(resultVO.getUserId()); + dto.setUpdateId(resultVO.getUserId()); + + HashMap paramMap = dto.toMap(); + intentManageService.insertIntentMaster(paramMap); // 2022.06.28 마스터만 먼저 등록 + seq = (String) paramMap.get("seq"); // 2022.06.28 추가 + + } catch (DuplicateKeyException e) { + result = false; + message = e.getMessage(); + } catch (Exception e) { + result = false; + message = "처리도중 오류가 발생했습니다."; + log.error("error", e); + } + mv.addObject("result", result); + mv.addObject("message", message); + mv.addObject("seq", seq); // 2022.06.28 추가 + return mv; + } + + // 예문 단건 등록으로 변경 2022.06.28 추가 + @RequestMapping(value = "/intent/insertExample.do", method = RequestMethod.POST) + @ResponseBody + public ModelAndView insertIntent_example(HttpServletRequest request, @RequestBody IntentRequestDTO dto) { + ModelAndView mv = new ModelAndView(ajaxMainView); + boolean result = true; + String message = "저장되었습니다."; + + String seq = ""; + try { + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + dto.setRegistId(resultVO.getUserId()); + dto.setUpdateId(resultVO.getUserId()); + + String saveType = dto.getSaveType(); + if("D".equals(saveType)) { + intentManageService.deleteIntentExample_one(dto.toMap()); // 예문 삭제 + message = "정상적으로 삭제되었습니다."; + }else if("I".equals(saveType)) { + + HashMap paramMap = dto.toMap(); + intentManageService.insertIntentExample(paramMap); // 예문 등록 + seq = (String) paramMap.get("seq"); + mv.addObject("seq", seq); + } + + } catch (DuplicateKeyException e) { + result = false; + message = e.getMessage(); + } catch (Exception e) { + result = false; + message = "처리도중 오류가 발생했습니다."; + log.error("error", e); + } + mv.addObject("result", result); + mv.addObject("message", message); + return mv; + } + + /** + * @Name serviceNameList + * @Description 인텐트 삭제 + * @Author 문다운 + * @CreateDate 2022. 5. 26. + */ + @RequestMapping(value = "/intent/delete.do", method = RequestMethod.POST) + @ResponseBody + public ModelAndView deleteIntent(HttpServletRequest request, @RequestParam Map dataMap) { + ModelAndView mv = new ModelAndView(ajaxMainView); + boolean result = true; + String message = "삭제되었습니다."; + try { + if (StringUtils.isBlank(dataMap.get("seq"))) { + result = false; + message = "삭제할 인텐트를 선택해주세요."; + } else { + HashMap eMap = new HashMap(); + eMap.putAll(dataMap); + + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + eMap.put("updateId", resultVO.getUserId()); + intentManageService.deleteIntent(eMap); + } + } catch (Exception e) { + result = false; + message = "저장도중 오류가 발생했습니다."; + log.error("error", e); + } + mv.addObject("result", result); + mv.addObject("message", message); + return mv; + } + + /** + * @Name uploadExcel + * @Description 엑셀 업로드 + * @author 문다운 + * @CreateDate 2022.06.04 + */ + @RequestMapping(value = "/intent/upload.do", method = RequestMethod.POST) + public String uploadExcel(MultipartHttpServletRequest request, @RequestParam Map dataMap, RedirectAttributes redirectAttr) { + boolean result = true; + String message = "정상적으로 저장되었습니다."; + try { + HashMap eMap = new HashMap(); + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + eMap.putAll(dataMap); + eMap.put("registId", resultVO.getUserId()); + eMap.put("updateId", resultVO.getUserId()); + message = intentManageService.insertIntentExcel(request, eMap); + intentManageService.workLogSave(MenuResource.rcpconversationintentmanage, ActionResource.upload, dataMap.get("serviceGroup"), "엑셀 업로드"); + } catch (CustomRuntimeException e) { + result = false; + message = e.getMessage(); + } catch (DuplicateKeyException e) { + result = false; + message = e.getMessage(); + } + catch (Exception e) { + result = false; + message = "처리도중 오류가 발생했습니다."; + log.error("error upload excel", e); + } + redirectAttr.addFlashAttribute("result", result); + redirectAttr.addFlashAttribute("message", message); + return "redirect:/admin/rcp/conversation/intent/manage.do"; + } + + @RequestMapping(value = "/intent/download.do", method = RequestMethod.POST) + @ResponseBody + @Transactional + public void downloadExcel(IntentSearchVo dto) throws IOException, CustomNotFoundException { + log.info("excel intent"); + intentManageService.downloadExcel(dto); + } + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationScenarioGUIController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationScenarioGUIController.java new file mode 100644 index 0000000..a365cc2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationScenarioGUIController.java @@ -0,0 +1,126 @@ +package com.icomsys.main_vm.biz.rcp.conversation.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.rcp.conversation.service.ConversationScenarioGUIService; +import com.icomsys.main_vm.biz.rcp.conversation.vo.*; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.*; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/conversation") +public class ConversationScenarioGUIController { + + private final ConversationScenarioGUIService conversationScenarioGUIService; + + @GetMapping("/scenario/manage.do") + public String ScenarioView(@RequestParam(value = "scenarioSeq", required = false, defaultValue = "-1")Long scenarioSeq, Model model){ + log.info("scenarioSeq", scenarioSeq); + model.addAttribute("scenarioSeq", scenarioSeq); + + return "/adm/rcp/conversation/scenarioGUI"; + } + + @PostMapping("/scenario/list/search") + @ResponseBody + public DslDataTableRes searchScenarioList(@RequestBody ConversationScenarioManagerSearchReq dto ) { + log.info("list search dto -> {}", new Gson().toJson(dto)); + + return conversationScenarioGUIService.searchScenarioList(dto); + } + + @PostMapping("/scenario/release/list/search") + @ResponseBody + public DslDataTableRes searchScenarioReleaseList(@RequestBody ConversationScenarioManagerSearchReq dto) { + log.info("list search dto -> {}", new Gson().toJson(dto)); + + return conversationScenarioGUIService.searchScenarioReleaseList(dto); + } + + @PostMapping("/scenario/register") + @ResponseBody + public int scenarioRegister(@RequestBody ConversationScenarioMasterVO dto)throws CustomNotFoundException, CustomBadRequestException { + log.info("register dto -> {}", new Gson().toJson(dto)); + + return conversationScenarioGUIService.scenarioRegister(dto); + } + + @PostMapping("/scenario/name/update") + @ResponseBody + public int scenarioNameUpdate(@RequestBody ConversationScenarioMasterVO dto)throws CustomNotFoundException, CustomBadRequestException { + log.info("update dto -> {}", new Gson().toJson(dto)); + + return conversationScenarioGUIService.scenarioNameUpdate(dto); + } + + @PostMapping("/scenario/release") + @ResponseBody + public int scenarioRelease(@RequestBody ConversationScenarioMasterVO dto)throws CustomNotFoundException, CustomBadRequestException { + log.info("register dto -> {}", new Gson().toJson(dto)); + + return conversationScenarioGUIService.scenarioRelease(dto); + } + + @PostMapping("/scenario/rollback") + @ResponseBody + public int scenarioRollback(@RequestBody ConversationScenarioMasterVO dto)throws CustomNotFoundException, CustomBadRequestException { + log.info("register dto -> {}", new Gson().toJson(dto)); + + return conversationScenarioGUIService.scenarioRollback(dto); + } + + @PostMapping("/scenario/reload") + @ResponseBody + public int scenarioReload(@RequestBody ConversationScenarioMasterVO dto)throws CustomNotFoundException, CustomBadRequestException { + log.info("register dto -> {}", new Gson().toJson(dto)); + + return conversationScenarioGUIService.scenarioReload(dto); + } + + @PostMapping("/scenario/delete") + @ResponseBody + public int scenarioDelete(@RequestBody ConversationScenarioMasterVO dto)throws CustomNotFoundException, CustomBadRequestException { + log.info("register dto -> {}", new Gson().toJson(dto)); + + return conversationScenarioGUIService.scenarioDelete(dto); + } + + @GetMapping("/scenario/manager/info") + @ResponseBody + public ConversationScenarioManagerInfoRes scenarioManagerInfo(@RequestParam(name = "scenarioSeq", required = true)Long scenarioSeq) throws CustomNotFoundException{ + log.info("view Controller - {}", scenarioSeq); + + return conversationScenarioGUIService.scenarioManagerInfo(scenarioSeq); + } + + @PostMapping("/scenario/history/log") + @ResponseBody + public QueryResults scenarioHistoryLog(@RequestBody ConversationScenarioMasterVO dto) throws CustomBadRequestException{ + log.info("view dto - {}", dto); + + return conversationScenarioGUIService.scenarioHistoryLog(dto); + } + + @PostMapping("/scenario/related/intent") + @ResponseBody + public QueryResults scenarioRelatedIntent(@RequestBody ConversationScenarioMasterVO dto) throws CustomBadRequestException { + log.info("dto - {}", dto); + return conversationScenarioGUIService.scenarioRelatedIntent(dto); + } + + @PostMapping("/scenario/related/intent/save") + @ResponseBody + public int scenarioRelatedIntentSave(@RequestBody ConversationScenarioRelatedIntentSaveReq dto) throws CustomBadRequestException, CustomNotFoundException { + log.info("dto - {}", dto); + + return conversationScenarioGUIService.scenarioRelatedIntentSave(dto); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationScenarioGUINodeEditController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationScenarioGUINodeEditController.java new file mode 100644 index 0000000..c401f92 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationScenarioGUINodeEditController.java @@ -0,0 +1,96 @@ +package com.icomsys.main_vm.biz.rcp.conversation.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.rcp.conversation.service.ConversationScenarioGUIService; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioDiagramRes; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioDiagramVO; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioMasterVO; +import com.icomsys.main_vm.biz.rcp.conversation.vo.LongtextManagerVO; +import com.icomsys.main_vm.db.jpa.entity.scenario.id.TbLongtextManagerId; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +/** + * Name : ConversationScenarioGUINodeEditController + * date : 2023-02-03 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-03 Mong 최초 생성 + */ +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/conversation") +public class ConversationScenarioGUINodeEditController { + + private final ConversationScenarioGUIService conversationScenarioGUIService; + + @GetMapping("/scenarioGUINodeEdit.do") + public ModelAndView scenarioGUINodeEdit(@RequestParam String flag, @RequestParam Long seq, @RequestParam String custCode, @RequestParam String serviceGroup){ + log.info("flag, seq, custCode, serviceGroup -> {} ", flag, seq); + ModelAndView mv = new ModelAndView(); + mv.setViewName("/adm/rcp/conversation/scenarioGUINodeEdit"); + mv.addObject("flag", flag); + mv.addObject("seq", seq); + mv.addObject("custCode", custCode); + mv.addObject("serviceGroup", serviceGroup); + return mv; + } + + @GetMapping("/cmmNodeEdit.do") + public ModelAndView cmmNodeEdit(@RequestParam String flag){ + log.info("flag-> {} ", flag); + ModelAndView mv = new ModelAndView(); + mv.setViewName("/adm/rcp/conversation/cmmNodeEdit"); + mv.addObject("flag", flag); + return mv; + } + + @PostMapping(value = "/insertScenario") + @ResponseBody + public int insertDev(@RequestBody LongtextManagerVO dto) { + log.info("dto -> {} ", new Gson().toJson(dto)); + return conversationScenarioGUIService.insertDev(dto); + } + + @PostMapping(value = "/selectScenario") + @ResponseBody + public LongtextManagerVO selectDev(@RequestBody TbLongtextManagerId dto) throws CustomNotFoundException { + log.info("dto -> {} ", new Gson().toJson(dto)); + if (dto.getRfSeq() == null) { + dto.setRfSeq(0L); + } + return conversationScenarioGUIService.selectDev(dto); + } + + + @PostMapping(value = "/scenario/select/diagram") + @ResponseBody + public ConversationScenarioDiagramRes selectDiagram(@RequestBody ConversationScenarioMasterVO dto) throws CustomNotFoundException, CustomBadRequestException { + log.info("dto -> {} ", new Gson().toJson(dto)); + return conversationScenarioGUIService.selectScenarioDiagram(dto); + } + + @PostMapping(value = "/scenario/save/diagram") + @ResponseBody + public int saveScenarioDiagram(@RequestBody ConversationScenarioDiagramVO dto) throws CustomBadRequestException, CustomNotFoundException { + log.info("dto -> {} ", new Gson().toJson(dto)); + + return conversationScenarioGUIService.saveScenarioDiagram(dto); + } + + @GetMapping(value = "/scenario/test/contents") + @ResponseBody + public LongtextManagerVO selectTestContents(@RequestParam String masterSeq) throws CustomBadRequestException, CustomNotFoundException { + return conversationScenarioGUIService.selectTestContents(masterSeq); + } +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationSynonymController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationSynonymController.java new file mode 100644 index 0000000..e2164c3 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationSynonymController.java @@ -0,0 +1,286 @@ +package com.icomsys.main_vm.biz.rcp.conversation.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomRuntimeException; +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.rcp.conversation.service.SynonymManageService; +import com.icomsys.main_vm.biz.rcp.conversation.vo.synonym.ExcelSynonymListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.synonym.SelectSynonymList2Vo; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbSynonymMaster; +import com.icomsys.main_vm.db.jpa.entity.system.TbIcsCustInfo; +import com.icomsys.main_vm.db.jpa.repo.system.TbSynonymMasterRepo; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.json.simple.parser.JSONParser; +import org.json.simple.parser.ParseException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DuplicateKeyException; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.GetMapping; +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.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/conversation") +public class ConversationSynonymController { + + private final HttpServletRequest request; + private final SynonymManageService synonymManageService; + private final MappingJackson2JsonView ajaxMainView; + @Autowired + private TbSynonymMasterRepo tbSynonymMasterRepo; + private final ExcelService excelService; + + @GetMapping("/synonym/manage.do") + public String SynonymView() { + return "/adm/rcp/conversation/synonym"; + } + + @RequestMapping("/synonym/synonymList.do") + public ModelAndView synonymList(@RequestParam Map dataMap){ + return synonymManageService.synonymList(dataMap); + } + + @Transactional + @RequestMapping("/synonym/deleteSynonym.do") + public ModelAndView deleteSynonym(@RequestParam int seq, String serviceGroup, String custCode) { + ModelAndView mv = new ModelAndView(ajaxMainView); + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + + String oprMngCode = custCode + "_RCP_" + serviceGroup; + + HashMap eMap = new HashMap(); + eMap.put("seq", seq); + eMap.put("oprMngCode", oprMngCode); + eMap.put("userId", resultVO.getUserId()); + eMap.put("serviceGroup", serviceGroup); + + boolean result = true; + try { + synonymManageService.deleteSynonym(eMap); + } catch (Exception e) { + result = false; + } + + mv.addObject("result", result); + + return mv; +// return synonymManageService.deleteSynonym(eMap); + } + + @RequestMapping("/synonym/dupCheck.do") + public ModelAndView dupCheck(HttpServletRequest request, @RequestParam Map dataMap) { + String oprMngCode = dataMap.get("custCode") + "_RCP_" + dataMap.get("serviceGroup") == null ? null : dataMap.get("custCode") + "_RCP_" + dataMap.get("serviceGroup"); + + ModelAndView mv = new ModelAndView(ajaxMainView); + + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + + HashMap eMap = new HashMap(); + eMap.putAll(dataMap); + eMap.put("userId", resultVO.getUserId()); + eMap.put("serviceCode", oprMngCode); + + boolean result = true; + String msg = ""; + int returnSeq = -1; + + try { + String data = dataMap.get("synonymWords").toString(); + JSONParser parser = new JSONParser(); + Object obj = parser.parse(data); + eMap.put("list", obj); + + returnSeq = synonymManageService.dupCheck(eMap); + } catch (DuplicateKeyException e) { + result = false; + msg = e.getMessage(); + } catch (Exception e) { + result = false; + msg = "처리도중 오류가 발생하였습니다."; + } + + mv.addObject("result", result); + mv.addObject("msg", msg); + mv.addObject("seq", returnSeq); + + return mv; + } + + @ResponseBody + @Transactional + @RequestMapping("/synonym/saveSynonymList.do") + public ModelAndView saveSynonymList(HttpServletRequest request, @RequestParam Map paramMap) { + + boolean result = true; + ModelAndView mv = new ModelAndView(ajaxMainView); + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + String oprMngCode = paramMap.get("custCode") + "_RCP_" + paramMap.get("serviceGroup"); + + HashMap eMap = new HashMap(); + eMap.put("userId", resultVO.getUserId()); + eMap.put("serviceCode", oprMngCode); + eMap.putAll(paramMap); + + String data = paramMap.get("synonymWords").toString(); + JSONParser parser = new JSONParser(); + try { + Object obj = parser.parse(data); + eMap.put("list", obj); + synonymManageService.saveSynonymList(eMap); + + if (synonymManageService.countSynonymWord(eMap) < 1) { + synonymManageService.deleteSynonym(eMap); + } + + //synonymManageService.saveSynonymList(eMap); + } catch (ParseException e) { + e.printStackTrace(); + } catch (Exception e) { + result = false; + } + + mv.addObject("result", result); + + return mv; +// return synonymManageService.saveSynonymList(request, paramMap); + } + + @ResponseBody + @RequestMapping("/synonym/download.do") + public void downloadExcel(@RequestParam Map dataMap) throws IOException { + synonymManageService.downloadExcel(dataMap); + } + + @RequestMapping("/synonym/uploadSynonym.do") + public String uploadSynonym(HttpServletRequest request, @RequestParam("csvFile") MultipartFile[] csvFile, + @RequestParam Map dataMap, RedirectAttributes redirectAttr) throws CustomRuntimeException { + boolean result = true; + String message = "저장되었습니다."; + String oprMngCode = dataMap.get("custCode") + "_RCP_" + dataMap.get("serviceGroup"); + + log.info("dataMap -> {}", dataMap); + + HashMap eMap = new HashMap(); + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + eMap.put("userId", resultVO.getUserId()); + eMap.put("serviceCode", oprMngCode); + eMap.putAll(dataMap); + + List synonymList = new ArrayList<>(); + + for (MultipartFile m : csvFile) { + + try { + HSSFWorkbook wb = new HSSFWorkbook(m.getInputStream()); + HSSFSheet sheet = wb.getSheetAt(0); + + String sheetName = sheet.getSheetName(); + if (!(sheetName.equals("data"))) { + throw new CustomRuntimeException("엑셀 양식이 잘못되었습니다."); + } + + for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) { + HashMap fMap = new HashMap(); + + HSSFRow row = sheet.getRow(i); + if (row == null) continue; + int cells = row.getPhysicalNumberOfCells(); + + // 숫자인 경우, Numeric으로 들어와서 String형으로 받을 때 에러 발생 + row.getCell(0).setCellType(CellType.STRING); + row.getCell(1).setCellType(CellType.STRING); + row.getCell(2).setCellType(CellType.STRING); + + HSSFCell cell1 = row.getCell(0); + HSSFCell cell2 = row.getCell(1); + HSSFCell cell3 = row.getCell(2); + + String idivWord = cell1.getStringCellValue(); + String repWord = cell2.getStringCellValue(); + String synonymWords = cell3.getStringCellValue(); + + if (cell1 == null || cell1.getStringCellValue().equals("")) { + continue; + } + + fMap.putAll(eMap); + fMap.put("idivWord", idivWord); + fMap.put("repWord", repWord); + fMap.put("synonymWords", synonymWords.replaceAll("\"", "")); + + String[] list = synonymWords.replaceAll(", ", ",").split(","); + + if (list.length > 200) { + throw new CustomRuntimeException("동의어 제한을 초과했습니다."); + } + fMap.put("list", list); + + synonymList.add(fMap); + } + + if (synonymList.size() > 50) { + throw new CustomRuntimeException("개체어 제한을 초과했습니다."); + } + + for (HashMap hMap : synonymList) { + try { + synonymManageService.uploadDupCheck(hMap); + } catch (DuplicateKeyException e) { + result = false; + message = e.getMessage(); + } + } + + synonymManageService.workLogSave(MenuResource.rcpconversationsynonymmanage, ActionResource.upload, eMap.get("serviceGroup").toString(), "엑셀 업로드"); + + } catch (CustomRuntimeException e) { + result = false; + message = e.getMessage(); + } catch (IOException e) { + result = false; + message = "IO 오류가 발생하였습니다."; + } catch (Exception e) { + result = false; + message = "처리도중 오류가 발생했습니다."; + } + } + + redirectAttr.addFlashAttribute("result", result); + redirectAttr.addFlashAttribute("message", message); + return "redirect:/admin/rcp/conversation/synonym/manage.do"; + } + + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationSynonymController.java.rej b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationSynonymController.java.rej new file mode 100644 index 0000000..57b4ddc --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationSynonymController.java.rej @@ -0,0 +1,9 @@ +diff a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationSynonymController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationSynonymController.java (rejected hunks) +@@ -90,6 +90,7 @@ + + @RequestMapping("/synonym/dupCheck.do") + public ModelAndView dupCheck(HttpServletRequest request, @RequestParam Map dataMap) { ++ String serviceCode = dataMap.get("serviceCode") == null ? null : dataMap.get("serviceCode"); + + ModelAndView mv = new ModelAndView(ajaxMainView); + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationSystemEntityController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationSystemEntityController.java new file mode 100644 index 0000000..70e1a40 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/controller/ConversationSystemEntityController.java @@ -0,0 +1,71 @@ +package com.icomsys.main_vm.biz.rcp.conversation.controller; + +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.rcp.conversation.service.ConversationSystemEntityService; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SystemEntityRes; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbEntityMaster; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpMethod; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.util.RestTemplateUtil.callNlpApi; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/conversation") +public class ConversationSystemEntityController { + + private final ConversationSystemEntityService conversationSystemEntityService; + + @Resource + MappingJackson2JsonView ajaxMainView; + + @GetMapping("/systemEntity/manage.do") + public String SystemEntityView(){ + return "/adm/rcp/conversation/systemEntity"; + } + + + /** + * @Name synchronizeEntity + * @Description 시스템 엔티티 동기화 + * @Author 장동희 + * @CreateDate 2023. 3. 17. + */ + @RequestMapping(value = "/systemEntity/synchronize.do", method = RequestMethod.POST) + @ResponseBody + public ModelAndView synchronizeEntity(HttpServletRequest request) { + + return conversationSystemEntityService.synchronizeEntityList(request); + } + + @GetMapping("/scenario/systemEntity/list") + @ResponseBody + public List SystemEntityList() { + + return conversationSystemEntityService.SystemEntityList(); + } + + @PostMapping("/scenario/systemEntity/search") + @ResponseBody + public ModelAndView selectSystemEntityList() { + ModelAndView mv = new ModelAndView(ajaxMainView); + mv.addObject("list", conversationSystemEntityService.SystemEntityList()); + return mv; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/dto/IntentRequestDTO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/dto/IntentRequestDTO.java new file mode 100644 index 0000000..bfdffe9 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/dto/IntentRequestDTO.java @@ -0,0 +1,190 @@ +package com.icomsys.main_vm.biz.rcp.conversation.dto; + +import com.icomsys.main_vm.db.jpa.entity.conversation.TbIntentMaster; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; + +/** + * 인텐트 요청 DTO + * 22.05.26 + * + * @author downingmoon + */ + +public class IntentRequestDTO implements Serializable { + private static final long serialVersionUID = 1L; + + private String seq; + private String custCode; + private String serviceGroup; + private String intentSeq; + private String intentName; + private String category; + private String exampleText; + private String registId; + private String updateId; + private String saveType; + private String useYn; + private String menuVal; + private String oprMngCode; + + private List intentList; + private List exampleList; + + public String getSeq() { + return seq; + } + + public void setSeq(String seq) { + this.seq = seq; + } + + public String getCustCode() { + return custCode; + } + + public void setCustCode(String custCode) { + this.custCode = custCode; + } + + public String getServiceGroup() { + return serviceGroup; + } + + public void setServiceGroup(String serviceGroup) { + this.serviceGroup = serviceGroup; + } + + public String getIntentSeq() { + return intentSeq; + } + + public void setIntentSeq(String intentSeq) { + this.intentSeq = intentSeq; + } + + public String getIntentName() { + return intentName; + } + + public void setIntentName(String intentName) { + this.intentName = intentName; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getExampleText() { + return exampleText; + } + + public void setExampleText(String exampleText) { + this.exampleText = exampleText; + } + + public String getRegistId() { + return registId; + } + + public void setRegistId(String registId) { + this.registId = registId; + } + + public String getUpdateId() { + return updateId; + } + + public void setUpdateId(String updateId) { + this.updateId = updateId; + } + + public List getIntentList() { + return intentList; + } + + public void setIntentList(List intentList) { + this.intentList = intentList; + } + + public List getExampleList() { + return exampleList; + } + + public void setExampleList(List exampleList) { + this.exampleList = exampleList; + } + + public String getSaveType() { + return saveType; + } + + public void setSaveType(String saveType) { + this.saveType = saveType; + } + + public String getUseYn() { + return useYn; + } + + public void setUseYn(String useYn) { + this.useYn = useYn; + } + + public String getMenuVal() { + return menuVal; + } + + public void setMenuVal(String menuVal) { + this.menuVal = menuVal; + } + /* public TbIntentMaster toIntentMasterUpdate(String userId) { + TbIntentMaster tim = new TbIntentMaster(); + tim.setSeq(Long.valueOf(this.seq)); + tim.setOprMngCode(this.oprMngCode); + tim.setIntentName(this.intentName); + tim.setCategory(this.category); + tim.setUseYn(this.useYn); + tim.setRegistId(userId); + tim.setUpdateId(userId); + return tim; + } + public TbIntentMaster toIntentMasterSave(String userId) { + TbIntentMaster tim = new TbIntentMaster(); + tim.setOprMngCode(this.oprMngCode); + tim.setIntentName(this.intentName); + tim.setCategory(this.category); + tim.setRegistId(userId); + tim.setRegistDate(LocalDateTime.now()); + tim.setUpdateId(userId); + tim.setUpdateDate(LocalDateTime.now()); + tim.setUseYn("Y"); + return tim; + }*/ + + public HashMap toMap() { + HashMap m = new HashMap(); + m.put("seq", this.seq); + m.put("serviceGroup", this.serviceGroup); + m.put("custCode", this.custCode); + m.put("intentSeq", this.intentSeq); + m.put("intentName", this.intentName); + m.put("category", this.category); + m.put("registId", this.registId); + m.put("updateId", this.updateId); + m.put("intentList", this.intentList); + m.put("exampleList", this.exampleList); + m.put("saveType", this.saveType); + m.put("menuVal", this.menuVal); + m.put("oprMngCode", this.custCode + "_RCP_" + this.serviceGroup); + return m; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/dto/TbIntentExampleDto.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/dto/TbIntentExampleDto.java new file mode 100644 index 0000000..ac3a3ea --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/dto/TbIntentExampleDto.java @@ -0,0 +1,21 @@ +package com.icomsys.main_vm.biz.rcp.conversation.dto; + +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class TbIntentExampleDto { + + private Long seq; + private Long intentSeq; + private String exampleText; + private Long ifMappingId; + private String useYn; + private String registId; + private LocalDateTime registDate; + private String updateId; + private LocalDateTime updateDate; + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutEntityService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutEntityService.java new file mode 100644 index 0000000..6cbdbc8 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutEntityService.java @@ -0,0 +1,12 @@ +package com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service; + +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpWisenutResult; + +import java.util.HashMap; + +public interface NlpWisenutEntityService { + + NlpWisenutResult entityInsertApi(HashMap eMap); + NlpWisenutResult entityUpdateApi(HashMap eMap); + NlpWisenutResult entityDeleteApi(HashMap eMap); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutIntentService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutIntentService.java new file mode 100644 index 0000000..fc6c56d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutIntentService.java @@ -0,0 +1,23 @@ +package com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service; + +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpWisenutResult; + +import java.util.HashMap; + +public interface NlpWisenutIntentService { + + NlpWisenutResult intentInsertApi(HashMap eMap); + + NlpWisenutResult intentUpdateApi(HashMap eMap); + + NlpWisenutResult intentDeleteApi(HashMap eMap); + + NlpWisenutResult intentSentenceInsertApi(HashMap eMap); + + NlpWisenutResult intentSentenceUpdateApi(HashMap eMap); + + NlpWisenutResult intentSentenceDeleteApi(HashMap eMap); + + NlpWisenutResult intentSentenceInsertAllApi(HashMap eMap); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutProjectService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutProjectService.java new file mode 100644 index 0000000..b88fb4f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutProjectService.java @@ -0,0 +1,10 @@ +package com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service; + +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpWisenutResult; + +import java.util.HashMap; + +public interface NlpWisenutProjectService { + + NlpWisenutResult projectUpdateApi(HashMap eMap); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutService.java new file mode 100644 index 0000000..78ebdbb --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/NlpWisenutService.java @@ -0,0 +1,23 @@ +package com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service; + +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.InferenceAPIResponseDTO; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpSimulationResult; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpWisenutResult; + + +public interface NlpWisenutService { + + public NlpWisenutResult projectSettingApi() ; + + public InferenceAPIResponseDTO multiQueryApi(int projectId, String[] query) ; + + public NlpSimulationResult simulationApi(String oprMngCode, String callId, String token, String userTalk, String methodType, String dnis) ; + + // 학습 시작 api + public NlpWisenutResult trainingStartApi(String oprMngCode) ; + + // 모델 반영 api + public NlpWisenutResult trainingApplyApi(String oprMngCode) ; + + public NlpWisenutResult defaultResult() ; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutEntityServiceImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutEntityServiceImpl.java new file mode 100644 index 0000000..c2c4bfa --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutEntityServiceImpl.java @@ -0,0 +1,250 @@ +package com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.impl; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.NlpWisenutEntityService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.NlpWisenutService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.util.RestTemplateUtil; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpWisenutResult; +import com.icomsys.main_vm.db.mybatis.mapper.NlpWisenutApiMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpMethod; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.util.RestTemplateUtil.callNlpApi; + +/** + * @Name NlpWisenutEntityServiceImpl + * @Description Entity API + * @Author dongheejang + * @CreateDate 2022. 06. 20. + */ + +@Service("nlpWisenutEntityService") +public class NlpWisenutEntityServiceImpl implements NlpWisenutEntityService { + + @Autowired + NlpWisenutApiMapper nlpWisenutApiMapper; + + @Autowired + NlpWisenutService nlpWisenutService; + +// @Autowired +// private ActiveTypeUtil activeTypeUtil; + + + @Value("${feign.url.nlp}") + private String nlpApi; + + @Value("${feign.url.cinnamon}") + private String cinnamonApi; + + @Value("${nlpapi}") + private boolean nlp; + + /** + * @Name entityInsertApi + * @Description 엔티티 추가 API + * @Author dongheejang + * @CreateDate 2022. 06. 20. + * + * @param eMap + * @return NlpWisenutResult + * + * @ChangeDescription + */ + @Override + public NlpWisenutResult entityInsertApi(HashMap eMap) { + + if (nlp) { + Gson gson = new Gson(); + Map nMap = new HashMap<>(); + + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + + boolean result = true; + long mappingId = 0; + String returnMsg = ""; + String returnCode = ""; + + try { + long projectId = nlpWisenutApiMapper.selectProjectId(eMap); // projectId DB에서 가져오기 + + nMap.put("projectId",projectId); + nMap.put("titleWord",eMap.get("repWord")); + nMap.put("tag",""); + nMap.put("synonyms",eMap.get("list")); + + // request param setting + String path = nlpApi + "/entity/insert"; + String body = gson.toJson(nMap).toString(); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = RestTemplateUtil.callNlpApi(path, body, method); + + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + returnCode = responseMap.get("returnCode").toString(); + returnMsg = responseMap.get("returnMsg").toString(); + + if (!returnCode.equals("000")) { + result = false; + } else { + double id = (double) responseMap.get("id"); + mappingId = (long) id; + } + + } catch (Exception ex) { + returnMsg = ex.getMessage(); + result = false; + } + + nlpWisenutResult.setResult(result); + nlpWisenutResult.setReturnCode(returnCode); + nlpWisenutResult.setReturnMsg(returnMsg); + nlpWisenutResult.setMappingId(mappingId); + + return nlpWisenutResult; + } else { + return nlpWisenutService.defaultResult(); + } + } + + /** + * @Name entityUpdateApi + * @Description 엔티티 수정 API + * @Author dongheejang + * @CreateDate 2022. 06. 20. + * + * @param eMap + * @return NlpWisenutResult + * + * @ChangeDescription + */ + @Override + public NlpWisenutResult entityUpdateApi(HashMap eMap) { + + if (nlp) { + Gson gson = new Gson(); + Map nMap = new HashMap(); + + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + + boolean result = true; + String returnMsg = ""; + String returnCode = ""; + + try { + long projectId = nlpWisenutApiMapper.selectProjectId(eMap); // projectId DB에서 가져오기 + long entityId = nlpWisenutApiMapper.selectEntityId(eMap); + + List sList = new ArrayList<>(); + //sList에 synonyms들 추가 + + nMap.put("projectId",projectId); + nMap.put("id",entityId); + nMap.put("titleWord",eMap.get("repWord")); + nMap.put("tag",""); + nMap.put("synonyms",eMap.get("list")); + + // request param setting + String path = nlpApi + "/entity/update"; + String body = gson.toJson(nMap).toString(); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = RestTemplateUtil.callNlpApi(path, body, method); + + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + returnCode = responseMap.get("returnCode").toString(); + returnMsg = responseMap.get("returnMsg").toString(); + + if (!returnCode.equals("000")) { + result = false; + } + + } catch (Exception ex) { + returnMsg = ex.getMessage(); + result = false; + } + + nlpWisenutResult.setResult(result); + nlpWisenutResult.setReturnCode(returnCode); + nlpWisenutResult.setReturnMsg(returnMsg); + + return nlpWisenutResult; + } else { + return nlpWisenutService.defaultResult(); + } + } + + /** + * @Name entityDeleteApi + * @Description 엔티티 삭제 API + * @Author dongheejang + * @CreateDate 2022. 06. 20. + * + * @param eMap + * @return NlpWisenutResult + * + * @ChangeDescription + */ + @Override + public NlpWisenutResult entityDeleteApi(HashMap eMap) { + + if (nlp) { + Gson gson = new Gson(); + Map nMap = new HashMap(); + + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + + boolean result = true; + String returnMsg = ""; + String returnCode = ""; + + try { + Map pMap = nlpWisenutApiMapper.selectEntityIdForDelete(eMap); + + nMap.put("projectId",pMap.get("projectId")); + nMap.put("id",pMap.get("entityId")); + + // request param setting + String path = nlpApi + "/entity/delete"; + String body = gson.toJson(nMap).toString(); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = RestTemplateUtil.callNlpApi(path, body, method); + + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + returnCode = responseMap.get("returnCode").toString(); + returnMsg = responseMap.get("returnMsg").toString(); + + if (!returnCode.equals("000")) { + result = false; + } + + } catch (Exception ex) { + returnMsg = ex.getMessage(); + result = false; + } + + nlpWisenutResult.setResult(result); + nlpWisenutResult.setReturnCode(returnCode); + nlpWisenutResult.setReturnMsg(returnMsg); + + return nlpWisenutResult; + } else { + return nlpWisenutService.defaultResult(); + } + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutIntentServiceImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutIntentServiceImpl.java new file mode 100644 index 0000000..928d23a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutIntentServiceImpl.java @@ -0,0 +1,545 @@ +package com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.impl; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.rcp.conversation.dto.IntentRequestDTO; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.NlpWisenutIntentService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.NlpWisenutService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpWisenutResult; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.SentenceListVO; +import com.icomsys.main_vm.db.mybatis.mapper.NlpWisenutApiMapper; +import org.apache.commons.lang3.StringUtils; +import org.junit.Assert; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpMethod; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.util.RestTemplateUtil.callNlpApi; + +/** + * @Name NlpWisenutIntentServiceImpl + * @Description Intent API + * @Author dongheejang + * @CreateDate 2022. 06. 17. + */ + +@Service("nlpWisenutIntentService") +public class NlpWisenutIntentServiceImpl implements NlpWisenutIntentService { + + @Autowired + NlpWisenutApiMapper nlpWisenutApiMapper; + + @Autowired + NlpWisenutService nlpWisenutService; + + @Value("${feign.url.nlp}") + private String nlpApi; + + @Value("${feign.url.cinnamon}") + private String cinnamonApi; + + @Value("${nlpapi}") + private boolean nlp; + + /** + * @Name intentInsertApi + * @Description 인텐트 추가 API + * @Author dongheejang + * @CreateDate 2022. 06. 17. + * + * @param eMap + * @return NlpWisenutResult + * + * @ChangeDescription + */ + @Override + public NlpWisenutResult intentInsertApi(HashMap eMap) { + + if (nlp) { + Gson gson = new Gson(); + HashMap nMap = new HashMap(); + + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + + boolean result = true; + long mappingId = 0; + String returnMsg = ""; + String returnCode = ""; + + try { + long projectId = nlpWisenutApiMapper.selectProjectIdforOprMngCode(eMap); // projectId DB에서 가져오기 + + nMap.put("projectId",projectId); + nMap.put("name",eMap.get("intentName")); + nMap.put("taskBody",""); + nMap.put("taskType","DirectAnswer"); // TOBE - taskType에 대한 정리 필요 + nMap.put("mainSentence",""); + + + // request param setting + String path = nlpApi + "/intent/insert"; + String body = gson.toJson(nMap).toString(); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = callNlpApi(path, body, method); + + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + returnCode = responseMap.get("returnCode").toString(); + returnMsg = responseMap.get("returnMsg").toString(); + + if (!returnCode.equals("000")) { + result = false; + } else { + double id = (double) responseMap.get("intentId"); + mappingId = (long) id; + } + + } catch (Exception ex) { + returnMsg = ex.getMessage(); + result = false; + } + + nlpWisenutResult.setResult(result); + nlpWisenutResult.setReturnCode(returnCode); + nlpWisenutResult.setReturnMsg(returnMsg); + nlpWisenutResult.setMappingId(mappingId); + + return nlpWisenutResult; + } else { + return nlpWisenutService.defaultResult(); + } + } + + /** + * @Name intentUpdateApi + * @Description 인텐트 수정 API + * @Author dongheejang + * @CreateDate 2022. 06. 17. + * + * @param eMap + * @return NlpWisenutResult + * + * @ChangeDescription + */ + @Override + public NlpWisenutResult intentUpdateApi(HashMap eMap) { + + if (nlp) { + Gson gson = new Gson(); + HashMap nMap = new HashMap(); + + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + + boolean result = true; + String returnMsg = ""; + String returnCode = ""; + + try { + long projectId = nlpWisenutApiMapper.selectProjectIdforOprMngCode(eMap); // projectId DB에서 가져오기 + long intentId = nlpWisenutApiMapper.selectIntentId(eMap); // intentId DB에서 가져오기 + + nMap.put("projectId",projectId); + nMap.put("id",intentId); + nMap.put("name",eMap.get("intentName")); + nMap.put("taskType","DirectAnswer"); + nMap.put("mainSentence",""); + nMap.put("taskBody",""); + + // request param setting + String path = nlpApi + "/intent/update"; + String body = gson.toJson(nMap).toString(); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = callNlpApi(path, body, method); + + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + returnCode = responseMap.get("returnCode").toString(); + returnMsg = responseMap.get("returnMsg").toString(); + + if (!returnCode.equals("000")) { + result = false; + } + + } catch (Exception ex) { + returnMsg = ex.getMessage(); + result = false; + } + + nlpWisenutResult.setResult(result); + nlpWisenutResult.setReturnCode(returnCode); + nlpWisenutResult.setReturnMsg(returnMsg); + + return nlpWisenutResult; + } else { + return nlpWisenutService.defaultResult(); + } + } + + /** + * @Name intentDeleteApi + * @Description 인텐트 삭제 API + * @Author dongheejang + * @CreateDate 2022. 06. 17. + * + * @param eMap + * @return NlpWisenutResult + * + * @ChangeDescription + */ + @Override + public NlpWisenutResult intentDeleteApi(HashMap eMap) { + + if (nlp) { + Gson gson = new Gson(); + HashMap nMap = new HashMap(); + + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + + boolean result = true; + String returnMsg = ""; + String returnCode = ""; + + try { + HashMap pmap = nlpWisenutApiMapper.selectIntentIdForDelete(eMap); // intentId DB에서 가져오기 + + nMap.put("projectId",pmap.get("projectId")); + nMap.put("id",pmap.get("intentId")); + + // request param setting + String path = nlpApi + "/intent/delete"; + String body = gson.toJson(nMap).toString(); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = callNlpApi(path, body, method); + + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + returnMsg = responseMap.get("returnMsg").toString(); + returnCode = responseMap.get("returnCode").toString(); + + if (!responseMap.get("returnCode").equals("000")) { + result = false; + } + + } catch (Exception ex) { + returnMsg = ex.getMessage(); + result = false; + } + + nlpWisenutResult.setResult(result); + nlpWisenutResult.setReturnCode(returnCode); + nlpWisenutResult.setReturnMsg(returnMsg); + + return nlpWisenutResult; + } else { + return nlpWisenutService.defaultResult(); + } + } + + /** + * @Name intentSentenceInsertApi + * @Description 사용자 질의 추가 API + * @Author dongheejang + * @CreateDate 2022. 06. 17. + * + * @param eMap + * @return NlpWisenutResult + * + * @ChangeDescription + */ + @Override + public NlpWisenutResult intentSentenceInsertApi(HashMap eMap) { + + if (nlp) { + Gson gson = new Gson(); + HashMap nMap = new HashMap(); + + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + + boolean result = true; + long mappingId = 0; + String returnMsg = ""; + String returnCode = ""; + + List eList = (List) eMap.get("exampleList"); + + + try { + long projectId; // projectId DB에서 가져오기 + long intentId; // intentId DB에서 가져오기 + + if (StringUtils.isEmpty((String)eMap.get("intentSeq"))) { + HashMap pMap = nlpWisenutApiMapper.selectIntentIdForDelete(eMap); + projectId = (long) pMap.get("projectId"); + intentId = (long) pMap.get("intentId"); + } else { + projectId = nlpWisenutApiMapper.selectProjectIdforOprMngCode(eMap); + intentId = nlpWisenutApiMapper.selectIntentId(eMap); + } + long soeId = 12345678; // soeID + + nMap.put("projectId",projectId); + nMap.put("intentId",intentId); + nMap.put("soeId",soeId); + + if (eList.size() > 0) { + nMap.put("sentence",eList.get(0).getExampleText()); + } + + // request param setting + String path = nlpApi + "/intent/sentenceInsert"; + String body = gson.toJson(nMap).toString(); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = callNlpApi(path, body, method); + + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + returnCode = responseMap.get("returnCode").toString(); + returnMsg = responseMap.get("returnMsg").toString(); + + if (!returnCode.equals("000")) { + result = false; + } else { + double id = (double) responseMap.get("sentenceId"); + mappingId = (long) id; + } + + } catch (Exception ex) { + returnMsg = ex.getMessage(); + result = false; + } + + nlpWisenutResult.setResult(result); + nlpWisenutResult.setReturnCode(returnCode); + nlpWisenutResult.setReturnMsg(returnMsg); + nlpWisenutResult.setMappingId(mappingId); + + return nlpWisenutResult; + } else { + return nlpWisenutService.defaultResult(); + } + } + + /** + * @Name intentSentenceUpdateApi + * @Description 사용자 질의 수정 API + * @Author dongheejang + * @CreateDate 2022. 06. 17. + * + * @param eMap + * @return NlpWisenutResult + * + * @ChangeDescription + */ + @Override + public NlpWisenutResult intentSentenceUpdateApi(HashMap eMap) { + + if (nlp) { + Gson gson = new Gson(); + HashMap nMap = new HashMap(); + + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + + boolean result = true; + String returnMsg = ""; + String returnCode = ""; + + try { + long projectId = nlpWisenutApiMapper.selectProjectIdforOprMngCode(eMap); // projectId DB에서 가져오기 + long intentId = nlpWisenutApiMapper.selectIntentId(eMap); // intentId DB에서 가져오기 + long sentenceId = nlpWisenutApiMapper.selectIntentSentenctId(eMap); // sentectId DB에서 가져오기 + + nMap.put("projectId",projectId); + nMap.put("intentId",intentId); + nMap.put("id",sentenceId); + nMap.put("sentence",eMap.get("exampleList")); + + // request param setting + String path = nlpApi + "/intent/sentenceInsert"; + String body = gson.toJson(nMap).toString(); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = callNlpApi(path, body, method); + + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + returnCode = responseMap.get("returnCode").toString(); + returnMsg = responseMap.get("returnMsg").toString(); + + if (!returnCode.equals("000")) { + result = false; + } + } catch (Exception ex) { + returnMsg = ex.getMessage(); + result = false; + } + + nlpWisenutResult.setResult(result); + nlpWisenutResult.setReturnCode(returnCode); + nlpWisenutResult.setReturnMsg(returnMsg); + + return nlpWisenutResult; + } else { + return nlpWisenutService.defaultResult(); + } + } + + /** + * @Name intentSentenceDeleteApi + * @Description 사용자 질의 삭제 API + * @Author dongheejang + * @CreateDate 2022. 06. 17. + * + * @param eMap + * @return NlpWisenutResult + * + * @ChangeDescription + */ + @Override + public NlpWisenutResult intentSentenceDeleteApi(HashMap eMap) { + + if (nlp) { + Gson gson = new Gson(); + HashMap nMap = new HashMap(); + + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + + boolean result = true; + String returnMsg = ""; + String returnCode = ""; + + try { + HashMap pMap = nlpWisenutApiMapper.selectIntentSentenctIdforDelete(eMap); // projectId DB에서 가져오기 // sentectId DB에서 가져오기 + + nMap.put("projectId",pMap.get("projectId")); + nMap.put("id",pMap.get("sentenceId")); + + // request param setting + String path = nlpApi + "/intent/sentenceDelete"; + String body = gson.toJson(nMap).toString(); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = callNlpApi(path, body, method); + + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + returnCode = responseMap.get("returnCode").toString(); + returnMsg = responseMap.get("returnMsg").toString(); + + if (!returnCode.equals("000")) { + result = false; + } + } catch (Exception ex) { + returnMsg = ex.getMessage(); + result = false; + } + + nlpWisenutResult.setResult(result); + nlpWisenutResult.setReturnCode(returnCode); + nlpWisenutResult.setReturnMsg(returnMsg); + + return nlpWisenutResult; + } else { + return nlpWisenutService.defaultResult(); + } + } + + /** + * @Name intentSentenceInsertAllApi + * @Description 사용자 질의 다중 추가 + * @Author dongheejang + * @CreateDate 2023. 04. 21. + * + * @param eMap + * @return NlpWisenutResult + * + * @ChangeDescription + */ + @Override + public NlpWisenutResult intentSentenceInsertAllApi(HashMap eMap) { + + if (nlp) { + Gson gson = new Gson(); + HashMap nMap = new HashMap(); + + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + + boolean result = true; + String returnMsg = ""; + String returnCode = ""; +// ArrayList sentenceList = new ArrayList(); + + try { + long projectId = nlpWisenutApiMapper.selectProjectIdforOprMngCode(eMap); // projectId DB에서 가져오기 + + nMap.put("projectId",projectId); + nMap.put("sentenceList",eMap.get("sentenceList")); + + // request param setting + String path = nlpApi + "/intent/sentenceInsertAll"; + String body = gson.toJson(nMap).toString(); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = callNlpApi(path, body, method); +// String responseBody = "{\"sentenceList\":[{\"intentId\": 114651124, \"soeId\": 12345678, \"sentence\": \"ACB\", \"intentName\": \"1\", \"sentenceId\" : 114651208,\"returnCode\":\"000\"}], \"returnCode\": \"000\", \"returnMsg\": \"Success\"}"; + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + returnCode = responseMap.get("returnCode").toString(); + returnMsg = responseMap.get("returnMsg").toString(); + + List tempList = (List) responseMap.get("sentenceList"); + List sentenceList = new ArrayList<>(); + + for (Object object : tempList) { + Map tempMap = (Map) object; + + SentenceListVO sentenceListVO = new SentenceListVO(); + sentenceListVO.setSentence((String) tempMap.get("sentence")); + sentenceListVO.setIntentName((String) tempMap.get("intentName")); + sentenceListVO.setReturnCode((String) tempMap.get("returnCode")); + double iIdd = (double) tempMap.get("intentId"); + long iIdl = (long) iIdd; + sentenceListVO.setIntentId(iIdl); + double sIdd = (double) tempMap.get("intentId"); + long sIdl = (long) sIdd; + sentenceListVO.setSentenceId(sIdl); + + sentenceList.add(sentenceListVO); + } + + if (!sentenceList.isEmpty()) { + nlpWisenutResult.setSentenceList(sentenceList); + } + if (!returnCode.equals("000")) { + result = false; + } + } catch (Exception ex) { + returnMsg = ex.getMessage(); + result = false; + } + + nlpWisenutResult.setResult(result); + nlpWisenutResult.setReturnCode(returnCode); + nlpWisenutResult.setReturnMsg(returnMsg); + + return nlpWisenutResult; + } else { + return nlpWisenutService.defaultResult(); + } + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutProjectServiceImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutProjectServiceImpl.java new file mode 100644 index 0000000..5e192b4 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutProjectServiceImpl.java @@ -0,0 +1,128 @@ +package com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.impl; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.NlpWisenutProjectService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.NlpWisenutService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpWisenutResult; +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGrouop; +import com.icomsys.main_vm.db.jpa.repo.system.TbServiceGrouopRepo; +import com.icomsys.main_vm.db.mybatis.mapper.NlpWisenutApiMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpMethod; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.util.RestTemplateUtil.callNlpApi; + +@Service("nlpWisenutProjectService") +@RequiredArgsConstructor +public class NlpWisenutProjectServiceImpl implements NlpWisenutProjectService { + + @Autowired + NlpWisenutApiMapper nlpWisenutApiMapper; + + @Autowired + NlpWisenutService nlpWisenutService; + + private final TbServiceGrouopRepo tbServiceGrouopRepo; + + @Value("${feign.url.nlp}") + private String nlpApi; + + @Value("${nlpapi}") + private boolean nlp; + + /** + * @Name projectUpdateApi + * @Description 프로젝트 수정 API + * @Author dongheejang + * @CreateDate 2022. 06. 20. + * + * @param eMap + * @return NlpWisenutResult + * + * @ChangeDescription + */ + @Override + public NlpWisenutResult projectUpdateApi(HashMap eMap) { + + if (nlp) { + Gson gson = new Gson(); + HashMap nMap = new HashMap(); + + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + + boolean result = true; + String returnMsg = ""; + String returnCode = ""; + + try { + long projectId = nlpWisenutApiMapper.selectProjectIdforOprMngCode(eMap); // projectId DB에서 가져오기 +// HashMap pMap = nlpWisenutApiMapper.selectProjectName(eMap); + TbServiceGrouop tbServiceGrouop = tbServiceGrouopRepo.findByCustCodeAndServiceGroup((String) eMap.get("custCode"), (String) eMap.get("serviceCode")); + + HashMap fMap = new HashMap(); + HashMap gMap = new HashMap(); + + List fList = new ArrayList<>(); + List gList = new ArrayList<>(); + List fmList = new ArrayList<>(); + List gmList = new ArrayList<>(); + + // 필요시 DB에서 data 가져오기 + nMap.put("id",projectId); + nMap.put("name",tbServiceGrouop.getServiceGroupName()); + nMap.put("summary",tbServiceGrouop.getServiceGroupName()); + nMap.put("simThreshold",Double.parseDouble(eMap.get("similarityCriteria").toString())); + nMap.put("confidentThreshold",Double.parseDouble(eMap.get("classCriteria").toString())); + nMap.put("confidentThresholdGap",Double.parseDouble(eMap.get("classResultCriteria").toString())); + + fmList.add(eMap.get("fallbackMsg").toString()); + gmList.add(eMap.get("greetingMsg").toString()); + fMap.put("channelCode","default"); + fMap.put("messages",fmList); + fList.add(fMap); + gMap.put("channelCode","default"); + gMap.put("messages",gmList); + gList.add(gMap); + + nMap.put("fallbackMessages",fList); + nMap.put("greetingMessages",gList); + + // request param setting + String path = nlpApi + "/proj/update"; + String body = gson.toJson(nMap); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = callNlpApi(path, body, method); + + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + returnCode = responseMap.get("returnCode").toString(); + returnMsg = responseMap.get("returnMsg").toString(); + + if (!returnCode.equals("000")) { + result = false; + } + } catch (Exception ex) { + returnMsg = ex.getMessage(); + result = false; + } + + nlpWisenutResult.setResult(result); + nlpWisenutResult.setReturnCode(returnCode); + nlpWisenutResult.setReturnMsg(returnMsg); + + return nlpWisenutResult; + } else { + return nlpWisenutService.defaultResult(); + } + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutServiceImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutServiceImpl.java new file mode 100644 index 0000000..84be13a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/service/impl/NlpWisenutServiceImpl.java @@ -0,0 +1,290 @@ +package com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.impl; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.LongSerializationPolicy; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.NlpWisenutService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.util.RestTemplateUtil; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.InferenceAPIResponseDTO; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpWisenutResult; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpSimulationResult; +import com.icomsys.main_vm.db.mybatis.mapper.NlpWisenutApiMapper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpMethod; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +import static com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.util.RestTemplateUtil.callNlpApi; + +@Service("nlpWisenutService") +public class NlpWisenutServiceImpl implements NlpWisenutService { + + private static final Logger LOGGER = LoggerFactory.getLogger(NlpWisenutServiceImpl.class); + + @Autowired + NlpWisenutApiMapper nlpWisenutApiMapper; + + @Value("${spring.config.activate.on-profile}") + private String serviceActive; + + @Value("${feign.url.nlp}") + private String nlpApi; + + @Value("${feign.url.cinnamon}") + private String cinnamonApi; + + // 필요시 DAO 추가 +// @Resource(name = "xxxDAO") +// private XxxDAO xxxDAO; + + @Override + public NlpWisenutResult projectSettingApi() { + Gson gson = new Gson(); + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + boolean result = true; + long mappingId = 0; + + try { + // 필요시 DB에서 data 가져오기 + + // request param setting + String path = nlpApi + "/path"; + String body = gson.toJson(""); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = RestTemplateUtil.callNlpApi(path, body, method); + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + + double id = (double) responseMap.get("id"); + mappingId = (long) id; + } catch (Exception ex) { + LOGGER.error(ex.getMessage()); + result = false; + } + + nlpWisenutResult.setResult(result); + nlpWisenutResult.setMappingId(mappingId); + // api에서 여러 데이터를 한번에 처리해서 return 받는 id가 여러개인 경우 +// nlpWisenutResult.setMappingIds(List); + + return nlpWisenutResult; + } + + // 의도추론 테스트 API 연동 + @Override + public InferenceAPIResponseDTO multiQueryApi(int projectId, String[] query) { + GsonBuilder gb = new GsonBuilder(); + gb.setLongSerializationPolicy(LongSerializationPolicy.STRING); + Gson gson = gb.create(); + InferenceAPIResponseDTO responseDTO = new InferenceAPIResponseDTO(); + try { + // request param setting + String path = nlpApi + "/intent/multiQuery"; + Map params = new HashMap(); + params.put("projectId", projectId); + params.put("query", query); + String body = gson.toJson(params); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = RestTemplateUtil.callNlpApi(path, body, method); + responseDTO = gson.fromJson(responseBody, InferenceAPIResponseDTO.class); + } catch (Exception ex) { + responseDTO.setReturnCode("-999"); + responseDTO.setReturnMsg("API 호출 오류"); + LOGGER.error(ex.getMessage()); + } + return responseDTO; + } + + // 시뮬레이터 API 호출 + @Override + public NlpSimulationResult simulationApi(String oprMngCode, String callId, String token, String userTalk, String methodType, String dnis) { + Gson gson = new Gson(); + NlpSimulationResult nlpSimulationResult = new NlpSimulationResult(); + +// String dnis = ""; +// +// if ("local".equals(serviceActive) || "dev".equals(serviceActive)) { +// if (oprMngCode.equals("UPLUS_RCP_AISTORE")) { +// // 요식업 +// dnis = "07075999946"; +// } else { +// // 유통업 +// dnis = "07075999943"; +// } +// } else if ("stg".equals(serviceActive)) { +// if (oprMngCode.equals("UPLUS_RCP_AISTORE")) { +// // 요식업 +// dnis = "07075999956"; +// } else { +// // 유통업 +// dnis = "07075999955"; +// } +// } else if ("pro".equals(serviceActive)) { +// if (oprMngCode.equals("UPLUS_RCP_AISTORE")) { +// // 요식업 +// dnis = "07040066981"; +// } else { +// // 유통업 +// dnis = "07040066982"; +// } +// } + + try { + // request param setting + Map bodyMap = new HashMap(); + bodyMap.put("talkText", userTalk); + bodyMap.put("mentType", "CHAT"); + bodyMap.put("oprMngCode", oprMngCode); + bodyMap.put("method", methodType); + bodyMap.put("callId", callId); + bodyMap.put("telNo", "01012341234"); + bodyMap.put("dnis", dnis); + bodyMap.put("downtownNum ", dnis); + bodyMap.put("token", token); + bodyMap.put("transactionId", "0"); + bodyMap.put("sttRecordFilePath", ""); + bodyMap.put("ttsRecordFilePath", ""); + + String path = cinnamonApi + "/platform/api/simulation"; + String body = gson.toJson(bodyMap); + System.out.println(body); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = RestTemplateUtil.callNlpApi(path, body, method); + + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + Map vbParam = (Map) responseMap.get("data"); + Map paramMap = (Map) vbParam.get("vbData"); + + String returnCode = String.valueOf(Double.valueOf(String.valueOf(responseMap.get("resultCode"))).intValue()); + + nlpSimulationResult.setToken(String.valueOf(responseMap.get("token"))); + nlpSimulationResult.setReturnCode(returnCode); + nlpSimulationResult.setReturnMsg("성공"); + nlpSimulationResult.setBotTalk(responseMap.get("announceMents") == null ? "" : responseMap.get("announceMents").toString()); + nlpSimulationResult.setIntentId(vbParam.get("intentId") == null ? "" : vbParam.get("intentId").toString()); + nlpSimulationResult.setIntentName(vbParam.get("intentName") == null ? "" : vbParam.get("intentName").toString()); + nlpSimulationResult.setIntentScore(vbParam.get("score") == null ? "" : vbParam.get("score").toString() + " %"); + nlpSimulationResult.setParameter(paramMap); + + } catch (Exception ex) { + LOGGER.error(ex.getMessage()); + } + + return nlpSimulationResult; + } + + // 학습 시작 api + @Override + public NlpWisenutResult trainingStartApi(String oprMngCode) { + Gson gson = new Gson(); + HashMap nMap = new HashMap(); + + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + boolean result = true; + String returnMsg = ""; + String returnCode = ""; + + HashMap eMap = new HashMap(); + + try { + eMap.put("serviceCode",oprMngCode); + long projectId = nlpWisenutApiMapper.selectProjectId(eMap); // projectId DB에서 가져오기 + + nMap.put("projectId", projectId); + + // request param setting + String path = nlpApi + "/training/start"; + String body = gson.toJson(nMap); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = RestTemplateUtil.callNlpApi(path, body, method); + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + returnCode = responseMap.get("returnCode").toString(); + returnMsg = responseMap.get("returnMsg").toString(); + + if (!returnCode.equals("000")) { + result = false; + } + + } catch (Exception ex) { + LOGGER.error(ex.getMessage()); + result = false; + } + + nlpWisenutResult.setResult(result); + nlpWisenutResult.setReturnCode(returnCode); + nlpWisenutResult.setReturnMsg(returnMsg); + + return nlpWisenutResult; + } + + // 모델 반영 api + @Override + public NlpWisenutResult trainingApplyApi(String oprMngCode) { + Gson gson = new Gson(); + HashMap nMap = new HashMap(); + + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + boolean result = true; + String returnMsg = ""; + String returnCode = ""; + + HashMap eMap = new HashMap(); + + try { + eMap.put("serviceCode",oprMngCode); + long projectId = nlpWisenutApiMapper.selectProjectId(eMap); // projectId DB에서 가져오기 + + nMap.put("projectId", projectId); + + // request param setting + String path = nlpApi + "/training/apply"; + String body = gson.toJson(nMap); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = RestTemplateUtil.callNlpApi(path, body, method); + Map responseMap = new HashMap(); + responseMap = gson.fromJson(responseBody, responseMap.getClass()); + returnCode = responseMap.get("returnCode").toString(); + returnMsg = responseMap.get("returnMsg").toString(); + + if (!returnCode.equals("000")) { + result = false; + } + + } catch (Exception ex) { + LOGGER.error(ex.getMessage()); + result = false; + } + + nlpWisenutResult.setResult(result); + nlpWisenutResult.setReturnCode(returnCode); + nlpWisenutResult.setReturnMsg(returnMsg); + + return nlpWisenutResult; + } + + @Override + public NlpWisenutResult defaultResult() { + long id = 0; + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + nlpWisenutResult.setResult(true); + nlpWisenutResult.setMappingId(id); + return nlpWisenutResult; + } +} \ No newline at end of file diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/util/RestTemplateUtil.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/util/RestTemplateUtil.java new file mode 100644 index 0000000..5643a00 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/util/RestTemplateUtil.java @@ -0,0 +1,60 @@ +package com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.util; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.*; +import org.springframework.http.converter.StringHttpMessageConverter; +import org.springframework.stereotype.Component; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestClientException; +import org.springframework.web.client.RestTemplate; + +import java.nio.charset.StandardCharsets; + +@Component +public class RestTemplateUtil { + + private static final Logger LOGGER = LoggerFactory.getLogger(RestTemplateUtil.class); + private static final RestTemplate restTemplate; + + static { + restTemplate = new RestTemplate(); + // UTF-8 인코딩 설정 + restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(StandardCharsets.UTF_8)); + } + + public static String callNlpApi(String path, String body, HttpMethod method) { + return callNlpApi(path, null, body, method); + } + + public static String callNlpApi(String path, String query, String body, HttpMethod method) { + if (path == null || "null".equalsIgnoreCase(path)) path = ""; + if (query == null) { + query = ""; + } else if (!"".equals(query) && !query.startsWith("?")) { + query = "?" + query; + } + + // header set + MultiValueMap header = new HttpHeaders(); + header.set("Content-Type", MediaType.APPLICATION_JSON_UTF8_VALUE); + + String url = ""; + if (!path.startsWith("http")) { + url = path + query; + } else { + url = path + query; + } + + try { + LOGGER.info("CALLBOT >>> NLP : " + body); + LOGGER.info("CALL NLP API: " + url); + ResponseEntity response = restTemplate.exchange(url + query, method, new HttpEntity<>(body, header), String.class); + LOGGER.info(response.getBody()); + return response.getBody(); + } catch (RestClientException e) { + LOGGER.info(e.getMessage()); + return e.getMessage(); + } + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/InferenceAPIResponseDTO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/InferenceAPIResponseDTO.java new file mode 100644 index 0000000..11d7954 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/InferenceAPIResponseDTO.java @@ -0,0 +1,60 @@ +package com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.List; + +public class InferenceAPIResponseDTO { + + private String returnCode; + private String returnMsg; + private List data; + + /* child */ + private String query; + private String dialogTaskName; + private String dialogTaskId; + + public String getReturnCode() { + return returnCode; + } + public void setReturnCode(String returnCode) { + this.returnCode = returnCode; + } + public String getReturnMsg() { + return returnMsg; + } + public void setReturnMsg(String returnMsg) { + this.returnMsg = returnMsg; + } + public List getData() { + return data; + } + public void setData(List data) { + this.data = data; + } + public String getQuery() { + return query; + } + public void setQuery(String query) { + this.query = query; + } + public String getDialogTaskName() { + return dialogTaskName; + } + public void setDialogTaskName(String dialogTaskName) { + this.dialogTaskName = dialogTaskName; + } + public String getDialogTaskId() { + return dialogTaskId; + } + public void setDialogTaskId(String dialogTaskId) { + this.dialogTaskId = dialogTaskId; + } + + @Override + public String toString() { + return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/NlpSimulationResult.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/NlpSimulationResult.java new file mode 100644 index 0000000..4c2179d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/NlpSimulationResult.java @@ -0,0 +1,74 @@ +package com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo; + +import java.util.Map; + +public class NlpSimulationResult { + String token; + String returnCode; + String returnMsg; + String botTalk; + String intentId; + String intentName; + String intentScore; + Map parameter; + + public String getToken() { return token; } + + public void setToken(String token) { this.token = token; } + + public String getReturnCode() { + return returnCode; + } + + public void setReturnCode(String returnCode) { + this.returnCode = returnCode; + } + + public String getReturnMsg() { + return returnMsg; + } + + public void setReturnMsg(String returnMsg) { + this.returnMsg = returnMsg; + } + + public String getBotTalk() { + return botTalk; + } + + public void setBotTalk(String botTalk) { + this.botTalk = botTalk; + } + + public String getIntentId() { + return intentId; + } + + public void setIntentId(String intentId) { + this.intentId = intentId; + } + + public String getIntentName() { + return intentName; + } + + public void setIntentName(String intentName) { + this.intentName = intentName; + } + + public String getIntentScore() { + return intentScore; + } + + public void setIntentScore(String intentScore) { + this.intentScore = intentScore; + } + + public Map getParameter() { + return parameter; + } + + public void setParameter(Map parameter) { + this.parameter = parameter; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/NlpWisenutResult.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/NlpWisenutResult.java new file mode 100644 index 0000000..b844526 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/NlpWisenutResult.java @@ -0,0 +1,58 @@ +package com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public class NlpWisenutResult { + boolean result; // I/F 성공 : true, 실패 : false + Long mappingId; + String returnCode; + String returnMsg; + List mappingIds; + List sentenceList; + + public boolean getResult() { + return result; + } + + public void setResult(boolean result) { + this.result = result; + } + + public Long getMappingId() { + return mappingId; + } + + public void setMappingId(Long mappingId) { + this.mappingId = mappingId; + } + + public String getReturnCode() { + return returnCode; + } + + public void setReturnCode(String returnCode) { + this.returnCode = returnCode; + } + + public String getReturnMsg() { + return returnMsg; + } + + public void setReturnMsg(String returnMsg) { + this.returnMsg = returnMsg; + } + + public List getMappingIds() { + return mappingIds; + } + + public void setMappingIds(List mappingIds) { + this.mappingIds = mappingIds; + } + + public List getSentenceList() { return sentenceList; } + + public void setSentenceList(List sentenceList) { this.sentenceList = sentenceList; } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/SentenceListVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/SentenceListVO.java new file mode 100644 index 0000000..2fb8b5b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/nlp/wisenut/vo/SentenceListVO.java @@ -0,0 +1,24 @@ +package com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo; + +public class SentenceListVO { + + private Long intentId; + private String intentName; + private Long soeId; + private String sentence; + private Long sentenceId; + private String returnCode; + + public Long getIntentId() { return intentId; } + public void setIntentId(Long intentId) { this.intentId = intentId; } + public String getIntentName() { return intentName; } + public void setIntentName(String intentName) { this.intentName = intentName; } + public Long getSoeId() { return soeId; } + public void setSoeId(Long soeId) { this.soeId = soeId; } + public String getSentence() { return sentence; } + public void setSentence(String sentence) { this.sentence = sentence; } + public Long getSentenceId() { return sentenceId; } + public void setSentenceId(Long sentenceId) { this.sentenceId = sentenceId; } + public String getReturnCode() { return returnCode; } + public void setReturnCode(String returnCode) { this.returnCode = returnCode; } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationApiNodeEditService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationApiNodeEditService.java new file mode 100644 index 0000000..7a82281 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationApiNodeEditService.java @@ -0,0 +1,145 @@ +package com.icomsys.main_vm.biz.rcp.conversation.service; + +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationApiNodeEditReq; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationApiNodeInfoRes; +import com.icomsys.main_vm.biz.rcp.conversation.vo.LongtextManagerVO; +import com.icomsys.main_vm.common.code.code.LongTextManagerColumnCode; +import com.icomsys.main_vm.common.code.code.LongTextManagerTableCode; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.common.util.HashUtil; +import com.icomsys.main_vm.db.jpa.entity.scenario.TbApiNode; +import com.icomsys.main_vm.db.jpa.entity.scenario.TbLongtextManager; +import com.icomsys.main_vm.db.jpa.repo.scenario.TbApiNodeRepo; +import com.icomsys.main_vm.db.jpa.repo.scenario.TbLongtextManagerRepo; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestBody; + +import java.security.NoSuchAlgorithmException; +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; + +/** + * Name : ConversationApiNodeEditService + * date : 2023-02-07 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-07 Mong 최초 생성 + */ + +@Service +@RequiredArgsConstructor +@Slf4j +public class ConversationApiNodeEditService { + + private final LoginService loginService; + private final LogService logService; + + private final TbLongtextManagerRepo tbLongtextManagerRepo; + + private final TbApiNodeRepo tbApiNodeRepo; + + + @Transactional + public int insertApiNode(ConversationApiNodeEditReq dto) throws CustomBadRequestException{ + + String userId = loginService.getUserVo().getUserId(); + LocalDateTime currentDateTime = LocalDateTime.now(); + String oprMngCode = dto.getCustCode() + "_RCP_" + dto.getServiceGroup(); + + TbApiNode vo = new TbApiNode(); + vo.setNodeName(dto.getNodeName()); + vo.setUseYn("Y"); + vo.setRegistId(userId); + vo.setRegistDate(currentDateTime); + vo.setUpdateId(userId); + vo.setUpdateDate(currentDateTime); + vo.setOprMngCode(oprMngCode); + + TbApiNode result = tbApiNodeRepo.save(vo); + + TbLongtextManager vo1 = new TbLongtextManager(); + String checkSum; + + try { + checkSum = HashUtil.getStringToChecksum(dto.getTextContents()); + } catch (NoSuchAlgorithmException e) { + throw new CustomBadRequestException("API node 해시값 생성에 실패하였습니다."); + } + + vo1.setRfSeq(result.getSeq()); + vo1.setTableCode(LongTextManagerTableCode.TB_API_NODE.getCode()); + vo1.setColumnCode(LongTextManagerColumnCode.CONTENT.getCode()); + vo1.setChecksum(checkSum); + vo1.setTextContents(dto.getTextContents()); + tbLongtextManagerRepo.save(vo1); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationapiNodemanage) + .serviceGroup(dto.getServiceGroup()) + .actionCode(ActionResource.insert.getName()) + .build()); + + return Math.toIntExact(result.getSeq()); + } + + @Transactional + public int updateApiNode(ConversationApiNodeEditReq dto) throws CustomBadRequestException { + if (dto.getNodeName() == null || dto.getNodeName().isEmpty()) { + throw new CustomBadRequestException("API Node명을 입력해주세요"); + } + + String checkSum; + try { + checkSum = HashUtil.getStringToChecksum(dto.getTextContents()); + } catch (NoSuchAlgorithmException e) { + throw new CustomBadRequestException("API node 해시값 생성에 실패하였습니다."); + } + + LongtextManagerVO vo = new LongtextManagerVO(); + vo.setTextContents(dto.getTextContents()); + vo.setTableCode(LongTextManagerTableCode.TB_API_NODE.getCode()); + vo.setColumnCode(LongTextManagerColumnCode.CONTENT.getCode()); + vo.setChecksum(checkSum); + vo.setRfSeq(dto.getSeq()); + + tbLongtextManagerRepo.updateApiLongTextManager(vo); + tbApiNodeRepo.updateApiNode(dto); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationapiNodemanage) + .serviceGroup(dto.getServiceGroup()) + .actionCode(ActionResource.update.getName()) + .build()); + + return 0; + } + + public HashMap selectApiNode(HashMap map) { + Long seq = Long.parseLong(String.valueOf(map.get("seq"))); + LongtextManagerVO vo = new LongtextManagerVO(); + vo.setRfSeq(seq); + vo.setColumnCode(LongTextManagerColumnCode.CONTENT.getCode()); + vo.setTableCode(LongTextManagerTableCode.TB_API_NODE.getCode()); + List list = tbLongtextManagerRepo.selectLongTextManager(vo); + List list1 = tbApiNodeRepo.selectApiNode(seq); + + HashMap map1 = new HashMap(); + map1.put("apiData", list); + map1.put("apiDataInfo", list1); + + return map1; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationApiNodeService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationApiNodeService.java new file mode 100644 index 0000000..4347a6b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationApiNodeService.java @@ -0,0 +1,69 @@ +package com.icomsys.main_vm.biz.rcp.conversation.service; + +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationApiNodeInfoReq; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationApiNodeInfoRes; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGrouop; +import com.icomsys.main_vm.db.jpa.repo.scenario.TbApiNodeRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbServiceGrouopRepo; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; + +/** + * Name : ConversationApiNodeService + * date : 2023-02-07 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-07 Mong 최초 생성 + */ + +@Service +@RequiredArgsConstructor +@Slf4j +public class ConversationApiNodeService { + + private final TbApiNodeRepo tbApiNodeRepo; + private final TbServiceGrouopRepo tbServiceGrouopRepo; + private final LogService logService; + + public DslDataTableRes searchApiNodeList(ConversationApiNodeInfoReq dto) throws CustomNotFoundException { + if (dto.isContainUpper()) { // 상위 그룹포함 검색일 경우 + TbServiceGrouop serviceGrouop = tbServiceGrouopRepo.findByServiceGroup(dto.getServiceGroup()) + .orElseThrow(() -> new CustomNotFoundException("서비스 그룹 정보가 없습니다.")); + + dto.setServiceGroupUpper(serviceGrouop.getServiceGroupUpper()); + } + + QueryResults result = tbApiNodeRepo.searchApiNodeList(dto); + return new DslDataTableRes(result); + } + + @Transactional + public int deleteApiNode(HashMap map){ + Long seq = Long.parseLong(String.valueOf(map.get("seq"))); + String serviceGroup = String.valueOf(map.get("serviceGroup")); + tbApiNodeRepo.deleteApiNode(seq); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationapiNodemanage) + .actionCode(ActionResource.delete.getName()) + .serviceGroup(serviceGroup) + .build()); + + return 0; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationCmmNodeService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationCmmNodeService.java new file mode 100644 index 0000000..3d745a9 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationCmmNodeService.java @@ -0,0 +1,242 @@ +package com.icomsys.main_vm.biz.rcp.conversation.service; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.rcp.conversation.vo.*; +import com.icomsys.main_vm.biz.rcp.util.ScenarioConverter; +import com.icomsys.main_vm.common.code.code.LongTextManagerColumnCode; +import com.icomsys.main_vm.common.code.code.LongTextManagerTableCode; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.jpa.entity.scenario.TbCommonNode; +import com.icomsys.main_vm.db.jpa.entity.scenario.TbLongtextManager; +import com.icomsys.main_vm.db.jpa.entity.scenario.id.TbLongtextManagerId; +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGrouop; +import com.icomsys.main_vm.db.jpa.repo.scenario.TbCommonNodeRepo; +import com.icomsys.main_vm.db.jpa.repo.scenario.TbLongtextManagerRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbServiceGrouopRepo; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.security.NoSuchAlgorithmException; +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Optional; + +/** + * Name : ConversationCmmNodeService + * date : 2023-02-13 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-13 Mong 최초 생성 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class ConversationCmmNodeService { + + private final TbCommonNodeRepo tbCommonNodeRepo; + private final TbLongtextManagerRepo tbLongtextManagerRepo; + private final TbServiceGrouopRepo tbServiceGrouopRepo; + private final LoginService loginService; + private final LogService logService; + + public DslDataTableRes selectCmmNodeList(ConversationCmmNodeInfoReq dto) throws CustomNotFoundException { + if (dto.isContainUpper()) { // 상위 그룹포함 검색일 경우 + TbServiceGrouop serviceGrouop = tbServiceGrouopRepo.findByServiceGroup(dto.getServiceGroup()) + .orElseThrow(() -> new CustomNotFoundException("서비스 그룹 정보가 없습니다.")); + + dto.setServiceGroupUpper(serviceGrouop.getServiceGroupUpper()); + } + + QueryResults result = tbCommonNodeRepo.serachCmmNodeList(dto); + return new DslDataTableRes(result); + } + + @Transactional(readOnly = true) + public ConversationCmmNodeDiagramVO selectCmmNode(ConversationCmmNodeEditReq dto) throws CustomNotFoundException { + ConversationCmmNodeDiagramVO vo = new ConversationCmmNodeDiagramVO(); + TbLongtextManagerId tlm = new TbLongtextManagerId(); + Long seq = dto.getSeq(); + + if (seq == null) { // 시나리오 초기 생성 + return vo; + } + + tlm.setRfSeq(seq); + tlm.setTableCode(LongTextManagerTableCode.TB_COMMON_NODE.getCode()); + tlm.setColumnCode(LongTextManagerColumnCode.DIAGRAM.getCode()); + log.info("tlm -> {} ", new Gson().toJson(tlm)); + + TbCommonNode result1 = tbCommonNodeRepo.findBySeqAndUseYn(seq, "Y"). + orElseThrow(() -> new CustomNotFoundException("Common Node를 찾지 못하였습니다.")); + + TbLongtextManager result = tbLongtextManagerRepo.findById(tlm). + orElseThrow(() -> new CustomNotFoundException("다이어그램 정보를 찾지 못하였습니다.")); + + vo.setSeq(result.getRfSeq()); + vo.setTextContents(result.getTextContents()); + vo.setNodeName(result1.getNodeName()); + vo.setOprMngCode(result1.getOprMngCode()); + + return vo; + + } + + @Transactional + public int saveCmmNode(ConversationCmmNodeEditReq dto) throws CustomBadRequestException { + + String userId = loginService.getUserVo().getUserId(); + LocalDateTime currentDateTime = LocalDateTime.now(); + String oprMngCode = dto.getCustCode() + "_RCP_" + dto.getServiceGroup(); + + ScenarioConverter scenarioConverter = new ScenarioConverter(dto.getTextContents()); + scenarioConverter.convertDiagramToCallScenario(); + try { + scenarioConverter.createChecksum(); + } catch (NoSuchAlgorithmException e) { + throw new CustomBadRequestException("Common Node 해시값 생성에 실패하였습니다."); + } + + TbCommonNode vo = new TbCommonNode(); + vo.setNodeName(dto.getNodeName()); + vo.setUseYn("Y"); + vo.setRegistId(userId); + vo.setRegistDate(currentDateTime); + vo.setUpdateId(userId); + vo.setUpdateDate(currentDateTime); + vo.setOprMngCode(oprMngCode); + + TbCommonNode result = tbCommonNodeRepo.save(vo); + + // Diagram 저장 + tbLongtextManagerRepo.save(new TbLongtextManager( + result.getSeq(), + LongTextManagerTableCode.TB_COMMON_NODE.getCode(), + LongTextManagerColumnCode.DIAGRAM.getCode(), + scenarioConverter.getDiagramString(), + scenarioConverter.getDiagramChecksum())); + + // Call Scenario 저장 + tbLongtextManagerRepo.save(new TbLongtextManager( + result.getSeq(), + LongTextManagerTableCode.TB_COMMON_NODE.getCode(), + LongTextManagerColumnCode.SCENARIO.getCode(), + scenarioConverter.getCallScenarioString(), + scenarioConverter.getCallScenarioChecksum())); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationcmmNodemanage) + .serviceGroup(dto.getServiceGroup()) + .actionCode(ActionResource.insert.getName()) + .build()); + + return Math.toIntExact(result.getSeq()); + } + + @Transactional + public int updateCmmNode(ConversationCmmNodeEditReq dto) throws CustomBadRequestException, CustomNotFoundException { + Long seq = dto.getSeq(); + LocalDateTime currentDateTime = LocalDateTime.now(); + String userId = loginService.getUserVo().getUserId(); + + if (dto.getNodeName() == null || dto.getNodeName().isEmpty()) { + throw new CustomBadRequestException("Common Node명을 입력해주세요"); + } + + // diagram checksum 확인 + TbCommonNode commonNode = tbCommonNodeRepo.findBySeqAndUseYn(seq, "Y"). + orElseThrow(() -> new CustomNotFoundException("Common Node를 찾지 못하였습니다.")); + + ScenarioConverter scenarioConverter = new ScenarioConverter(dto.getTextContents()); + scenarioConverter.convertDiagramToCallScenario(); + try { + scenarioConverter.createChecksum(); + } catch (NoSuchAlgorithmException e) { + throw new CustomBadRequestException("Common Node 해시값 생성에 실패하였습니다."); + } + + TbLongtextManager diagram = tbLongtextManagerRepo.findById( + new TbLongtextManagerId(seq, + LongTextManagerTableCode.TB_COMMON_NODE.getCode(), + LongTextManagerColumnCode.DIAGRAM.getCode())) + .orElseThrow(() -> new CustomNotFoundException("다이어그램을 찾지 못하였습니다.")); + + TbLongtextManager scenario = tbLongtextManagerRepo.findById( + new TbLongtextManagerId(seq, + LongTextManagerTableCode.TB_COMMON_NODE.getCode(), + LongTextManagerColumnCode.SCENARIO.getCode())) + .orElseThrow(() -> new CustomNotFoundException("시나리오를 찾지 못하였습니다.")); + + boolean isUpdate = false; + String nodeName = dto.getNodeName(); + String oprMngCode = dto.getCustCode() + "_RCP_" + dto.getServiceGroup(); + + if (!commonNode.getNodeName().equals(nodeName) || !commonNode.getOprMngCode().equals(oprMngCode)) { + // 이름, oprMngCode 변경값이 있는 경우 업데이트 + commonNode.setNodeName(nodeName); + commonNode.setOprMngCode(oprMngCode); + commonNode.setUpdateId(userId); + commonNode.setUpdateDate(currentDateTime); + tbCommonNodeRepo.save(commonNode); + isUpdate = true; + } + + if (diagram.getChecksum().equals(scenarioConverter.getDiagramChecksum()) ) { // 다이어그램 변경 값이 없음 + if (!isUpdate) { + throw new CustomBadRequestException("시나리오 변경 값이 없습니다."); + } + } else { + // 다이어그램, 콜 시나리오 업데이트 + diagram.setChecksum(scenarioConverter.getDiagramChecksum()); + diagram.setTextContents(scenarioConverter.getDiagramString()); + + scenario.setChecksum(scenarioConverter.getCallScenarioChecksum()); + scenario.setTextContents(scenarioConverter.getCallScenarioString()); + + tbLongtextManagerRepo.save(diagram); + tbLongtextManagerRepo.save(scenario); + + // 업데이트 날짜 변경 + commonNode.setUpdateId(userId); + commonNode.setUpdateDate(currentDateTime); + tbCommonNodeRepo.save(commonNode); + } + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationcmmNodemanage) + .serviceGroup(dto.getServiceGroup()) + .actionCode(ActionResource.update.getName()) + .build()); + + return 0; + } + + @Transactional + public int deleteCmmNode(HashMap map){ + Long seq = Long.parseLong(String.valueOf(map.get("seq"))); + String serviceGroup = String.valueOf(map.get("serviceGroup")); + log.info("seq -> {} " , seq); + tbCommonNodeRepo.deleteCmmNode(seq); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationcmmNodemanage) + .actionCode(ActionResource.delete.getName()) + .serviceGroup(serviceGroup) + .build()); + return 0; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationScenarioGUINodeEditService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationScenarioGUINodeEditService.java new file mode 100644 index 0000000..e31d294 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationScenarioGUINodeEditService.java @@ -0,0 +1,53 @@ +package com.icomsys.main_vm.biz.rcp.conversation.service; + +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.rcp.conversation.vo.LongtextManagerVO; +import com.icomsys.main_vm.db.jpa.entity.scenario.TbLongtextManager; +import com.icomsys.main_vm.db.jpa.entity.scenario.id.TbLongtextManagerId; +import com.icomsys.main_vm.db.jpa.repo.scenario.TbLongtextManagerRepo; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; + +/** + * Name : ConversationScenarioGUINodeEditService + * date : 2023-02-03 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-03 Mong 최초 생성 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class ConversationScenarioGUINodeEditService { + + private final TbLongtextManagerRepo tbLongtextManagerRepo; + + public int insertDev(LongtextManagerVO dto) { + + TbLongtextManager vo = new TbLongtextManager(); + vo.setColumnCode(dto.getColumnCode()); + vo.setRfSeq(dto.getRfSeq()); + vo.setTableCode(dto.getTableCode()); + vo.setTextContents(dto.getTextContents()); + vo.setChecksum("Y"); + tbLongtextManagerRepo.save(vo); + + return 0; + } + + @Transactional(readOnly = true) + public LongtextManagerVO selectDev(TbLongtextManagerId dto) throws CustomNotFoundException { + TbLongtextManager result = tbLongtextManagerRepo.findById(dto) + .orElseThrow(() -> new CustomNotFoundException("불러올 다이어그램 정보를 찾지 못하였습니다.")); + return new LongtextManagerVO().ofTbLongtextManager(result); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationScenarioGUIService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationScenarioGUIService.java new file mode 100644 index 0000000..ec6432b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationScenarioGUIService.java @@ -0,0 +1,756 @@ +package com.icomsys.main_vm.biz.rcp.conversation.service; + +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNoSuchFieldException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.advice.excep.CustomRuntimeException; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.rcp.conversation.vo.*; +import com.icomsys.main_vm.biz.rcp.util.ScenarioConverter; +import com.icomsys.main_vm.common.code.code.LongTextManagerColumnCode; +import com.icomsys.main_vm.common.code.code.LongTextManagerTableCode; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.jpa.entity.scenario.*; +import com.icomsys.main_vm.db.jpa.entity.scenario.id.TbLongtextManagerId; +import com.icomsys.main_vm.db.jpa.entity.system.TbBotUser; +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGrouop; +import com.icomsys.main_vm.db.jpa.repo.scenario.*; +import com.icomsys.main_vm.db.jpa.repo.system.TbBotUserRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbIcsLogRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbServiceGrouopRepo; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + + +import java.security.NoSuchAlgorithmException; +import java.time.LocalDateTime; + +import java.util.Collections; +import java.util.List; + +/** + * Name : ConversationScenarioGUIService date : 2023-01-27 author : Mong description : =========================================================== DATE AUTHOR NOTE + * ----------------------------------------------------------- 2023-01-27 Mong 최초 생성 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class ConversationScenarioGUIService { + + private final TbLongtextManagerRepo tbLongtextManagerRepo; + private final TbScenarioMasterRepo tbScenarioMasterRepo; + private final TbScenarioReleaseRepo tbScenarioReleaseRepo; + private final TbScenarioHistoryRepo tbScenarioHistoryRepo; + private final TbServiceGrouopRepo tbServiceGrouopRepo; + private final TbBotUserRepo tbBotUserRepo; + private final TbIcsLogRepo tbIcsLogRepo; + private final TbScenarioRelatedIntentRepo tbScenarioRelatedIntentRepo; + + private final LoginService loginService; + private final LogService logService; + + + public int insertDev(LongtextManagerVO dto) { + log.info("dto -> {}", dto); + + TbLongtextManager vo = new TbLongtextManager(); + vo.setColumnCode(dto.getColumnCode()); + vo.setRfSeq(dto.getRfSeq()); + vo.setTableCode(dto.getTableCode()); + vo.setTextContents(dto.getTextContents()); + vo.setChecksum("Y"); + tbLongtextManagerRepo.save(vo); + int result = 1; + return result; + } + + @Transactional(readOnly = true) + public LongtextManagerVO selectDev(TbLongtextManagerId dto) throws CustomNotFoundException { + TbLongtextManager result = tbLongtextManagerRepo.findById(dto) + .orElseThrow(() -> new CustomNotFoundException()); + return new LongtextManagerVO().ofTbLongtextManager(result); + } + + public DslDataTableRes searchScenarioList(ConversationScenarioManagerSearchReq dto){ + QueryResults result = tbScenarioMasterRepo.searchScenarioList(dto); + return new DslDataTableRes(result); + } + + public DslDataTableRes searchScenarioReleaseList(ConversationScenarioManagerSearchReq dto) { + QueryResults result = tbScenarioMasterRepo.searchScenarioReleaseList(dto); + return new DslDataTableRes(result); + } + + @Transactional + public int scenarioRegister(ConversationScenarioMasterVO dto) throws CustomNotFoundException, CustomBadRequestException { + String userId = loginService.getUserVo().getUserId(); + LocalDateTime currentDateTime = LocalDateTime.now(); + String oprMngCode = dto.getCustCode() + "_RCP_" + dto.getServiceGroup(); + + TbServiceGrouop sg = tbServiceGrouopRepo.findByServiceGroupAndCustCode(dto.getServiceGroup(), dto.getCustCode()) + .orElseThrow(() -> new CustomNotFoundException("시나리오 그룹이 없습니다.")); + +// 시나리오 공통을 M 타입으로 등록 관리하도록 정책 변경 +// if(sg.getServiceType().equals("M")){ +// throw new CustomBadRequestException("Master 시나리오 그룹에는 시나리오를 등록할 수 없습니다."); +// } + + if(dto.getCustCode() == null || dto.getCustCode().equals("")){ + throw new CustomBadRequestException("custCode 값이 비었습니다."); + } + + TbScenarioMaster vo = new TbScenarioMaster(); + vo.setOprMngCode(oprMngCode); + vo.setScenarioName(dto.getScenarioName()); + vo.setUseYn("Y"); + vo.setRegistId(userId); + vo.setRegistDate(currentDateTime); + vo.setUpdateId(userId); + vo.setUpdateDate(currentDateTime); + + tbScenarioMasterRepo.save(vo); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationscenariomanage) + .actionCode(ActionResource.insert.getName()) + .registDate(currentDateTime) + .attribute1(Long.toString(vo.getSeq())) + .remark( vo.getScenarioName() + " 시나리오를 등록하였습니다.") + .serviceGroup(dto.getServiceGroup()) + .build()); + return 0; + } + + @Transactional + public int scenarioNameUpdate(ConversationScenarioMasterVO dto) throws CustomNotFoundException, CustomBadRequestException { + String userId = loginService.getUserVo().getUserId(); + LocalDateTime currentDateTime = LocalDateTime.now(); + + if (dto.getScenarioName() == null || dto.getScenarioName().isEmpty()) { + throw new CustomBadRequestException("시나리오 이름이 비었습니다"); + } + + TbScenarioMaster scMaster = tbScenarioMasterRepo.findBySeqAndUseYn(dto.getSeq(), "Y") + .orElseThrow(() -> new CustomNotFoundException("시나리오 정보가 없습니다")); + + scMaster.setScenarioName(dto.getScenarioName()); + scMaster.setUpdateId(userId); + scMaster.setUpdateDate(currentDateTime); + + tbScenarioMasterRepo.save(scMaster); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationscenariomanage) + .actionCode(ActionResource.update.getName()) + .registDate(currentDateTime) + .attribute1(Long.toString(scMaster.getSeq())) + .remark( scMaster.getScenarioName() + " 시나리오명으로 수정하였습니다.") + .serviceGroup(dto.getServiceGroup()) + .build()); + + return 0; + } + + @Transactional + public int scenarioRelease(ConversationScenarioMasterVO dto) throws CustomNotFoundException, CustomBadRequestException { + String userId = loginService.getUserVo().getUserId(); + LocalDateTime currentDateTime = LocalDateTime.now(); + Integer result = 0; + + if(dto.getSeq() == null || dto.getSeq() == -1) { + throw new CustomBadRequestException("시나리오 시퀀스가 잘못 되었습니다."); + } + + TbScenarioMaster scMaster = tbScenarioMasterRepo.findBySeqAndUseYn(dto.getSeq(), "Y") + .orElseThrow(() -> new CustomNotFoundException("시나리오 정보가 없습니다")); + + // 마지막 시나리오 저장값 가져오기 + List scHistory = tbScenarioHistoryRepo.findByMasterSeqAndLastYn(scMaster.getSeq(), "Y"); + if (scHistory.size() == 0 ) { + throw new CustomNotFoundException("마지막 시나리오 저장 버전을 찾을수 없습니다."); + } + + TbLongtextManager lastSaveDiagram = tbLongtextManagerRepo.findById( + new TbLongtextManagerId(scHistory.get(0).getSeq(), + LongTextManagerTableCode.TB_SCENARIO_HISTORY.getCode(), + LongTextManagerColumnCode.DIAGRAM.getCode())) + .orElseThrow(() -> new CustomNotFoundException("마지막 저장 다이어그램 정보를 찾지 못하였습니다.")); + + + ScenarioConverter scenarioConverter = new ScenarioConverter(lastSaveDiagram.getTextContents()); + Long intentSeq = scenarioConverter.getIntentSeq(); + if (intentSeq == -1L) { + throw new CustomBadRequestException("인텐트 노드 설정이 잘못되었습니다."); + } + + // 중복 체크 중복될 경우 Error 처리 + List duplicationIntent = tbScenarioReleaseRepo.findByIntentSeqAndReleaseYn(intentSeq, "Y"); + if (duplicationIntent.size() != 0 && + (duplicationIntent.size() != 1 || !duplicationIntent.get(0).getMasterSeq().equals(scMaster.getSeq()) )) { + + throw new CustomBadRequestException("중복된 인텐트로 시나리오를 배포할 수 없습니다."); + } + + TbLongtextManager lastSaveScenario = tbLongtextManagerRepo.findById( + new TbLongtextManagerId(scHistory.get(0).getSeq(), + LongTextManagerTableCode.TB_SCENARIO_HISTORY.getCode(), + LongTextManagerColumnCode.SCENARIO.getCode())) + .orElseThrow(() -> new CustomNotFoundException("마지막 저장 시나리오 정보를 찾지 못하였습니다.")); + + // 마지막 저장 시나리오 유효성 검사 + scenarioConverter.validationCheckScenario(lastSaveScenario.getTextContents()); + + // Master 릴리즈 정보 있는지 확인 + TbScenarioRelease maxRelease = tbScenarioReleaseRepo.findTopByMasterSeqOrderByVersionDesc(scMaster.getSeq()); + int releaseVersion = 0; + if (maxRelease == null) { + releaseVersion = 1; + } else { + releaseVersion = maxRelease.getVersion() + 1; + } + + // 이전 release N 업데이트 + TbScenarioRelease prevRelease = tbScenarioReleaseRepo.findByMasterSeqAndReleaseYn(scMaster.getSeq(), "Y"); + if (prevRelease != null) { + prevRelease.setReleaseYn("N"); + tbScenarioReleaseRepo.save(prevRelease); + } + + // Release 테이블 저장 + TbScenarioRelease releaseVo = TbScenarioRelease.builder() + .masterSeq(scHistory.get(0).getMasterSeq()) + .releaseYn("Y") + .version(releaseVersion) + .registId(userId) + .registDate(currentDateTime) + .intentSeq(intentSeq).build(); + + tbScenarioReleaseRepo.save(releaseVo); + + // Diagram 입력 + TbLongtextManager releaseDiagramVo = new TbLongtextManager( releaseVo.getSeq(), + LongTextManagerTableCode.TB_SCENARIO_RELEASE.getCode(), + LongTextManagerColumnCode.DIAGRAM.getCode(), + lastSaveDiagram.getTextContents(), + lastSaveDiagram.getChecksum()); + tbLongtextManagerRepo.save(releaseDiagramVo); + + // 콜 시나리오 저장 + TbLongtextManager releaseScenarioVo = new TbLongtextManager( releaseVo.getSeq(), + LongTextManagerTableCode.TB_SCENARIO_RELEASE.getCode(), + LongTextManagerColumnCode.SCENARIO.getCode(), + lastSaveScenario.getTextContents(), + lastSaveScenario.getChecksum()); + tbLongtextManagerRepo.save(releaseScenarioVo); + + // LastYn 모두 N 업데이트 + for (TbScenarioHistory history: scHistory) { + history.setLastYn("N"); + tbScenarioHistoryRepo.save(history); + } + scMaster.setUpdateId(userId); + scMaster.setUpdateDate(currentDateTime); + tbScenarioMasterRepo.save(scMaster); + + // 연관 인텐트에 배포 인텐트가 동일 할 경우 연관인텐트 제거 + List relatedIntents = tbScenarioRelatedIntentRepo.findByScenarioSeqOrderByIntentSeq(scMaster.getSeq()); + for (TbScenarioRelatedIntent intent : relatedIntents) { + if (intent.getIntentSeq().equals(intentSeq)) { + tbScenarioRelatedIntentRepo.delete(intent); + result = 1; // 배포 인텐트에 연관 인텐트가 있을 경우 return 1; + } + } + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationscenariomanage) + .actionCode(ActionResource.release.getName()) + .registDate(currentDateTime) + .attribute1(Long.toString(scMaster.getSeq())) // 시나리오 마스터 seq + .attribute2(Long.toString(releaseVo.getSeq())) // 시나리오 release seq + .remark( scMaster.getScenarioName() + " " + String.format("V%03d", releaseVo.getVersion()) + " 버전을 배포하였습니다.") + .serviceGroup(dto.getServiceGroup()) + .build()); + + return result; + } + + @Transactional + public int scenarioRollback(ConversationScenarioMasterVO dto) throws CustomNotFoundException, CustomBadRequestException { + String userId = loginService.getUserVo().getUserId(); + LocalDateTime currentDateTime = LocalDateTime.now(); + Integer result = 0; + + if(dto.getSeq() == null || dto.getSeq() == -1) { + throw new CustomBadRequestException("시나리오 시퀀스가 잘못 되었습니다."); + } + + if(dto.getReleaseSeq() == null || dto.getReleaseSeq() == -1) { + throw new CustomBadRequestException("배포 시나리오 시퀀스가 잘못 되었습니다."); + } + + // 시나리오 마스터 검색 + TbScenarioMaster scMaster = tbScenarioMasterRepo.findBySeqAndUseYn(dto.getSeq(), "Y") + .orElseThrow(() -> new CustomNotFoundException("시나리오 정보가 없습니다")); + + // 시나리오 Release 버전 확인 + TbScenarioRelease prevRelease = tbScenarioReleaseRepo.findByMasterSeqAndReleaseYn(scMaster.getSeq(), "Y"); + if (prevRelease != null) { + prevRelease.setReleaseYn("N"); + tbScenarioReleaseRepo.save(prevRelease); + } + + // 시나리오 롤 백 버전 확인 + TbScenarioRelease rollbackRelease = tbScenarioReleaseRepo.findById(dto.getReleaseSeq()) + .orElseThrow(() -> new CustomNotFoundException("롤백 버전 정보가 없습니다.")); + + rollbackRelease.setReleaseYn("Y"); + rollbackRelease.setRegistDate(currentDateTime); + rollbackRelease.setRegistId(userId); + tbScenarioReleaseRepo.save(rollbackRelease); + + // 시나리오 저장 히스토리 버전 N으로 수정 + List scHistory = tbScenarioHistoryRepo.findByMasterSeqAndLastYn(dto.getSeq(), "Y"); + for (TbScenarioHistory history: scHistory) { + history.setLastYn("N"); + tbScenarioHistoryRepo.save(history); + } + + scMaster.setUpdateId(userId); + scMaster.setUpdateDate(currentDateTime); + tbScenarioMasterRepo.save(scMaster); + + // 연관 인텐트에 롤백 인텐트가 동일 할 경우 연관인텐트 제거 + List relatedIntents = tbScenarioRelatedIntentRepo.findByScenarioSeqOrderByIntentSeq(scMaster.getSeq()); + for (TbScenarioRelatedIntent intent : relatedIntents) { + if (intent.getIntentSeq().equals(rollbackRelease.getIntentSeq())) { + tbScenarioRelatedIntentRepo.delete(intent); + result = 1; // 롤백 인텐트에 연관인텐트가 있을경우 return 1 + } + } + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationscenariomanage) + .actionCode(ActionResource.rollback.getName()) + .registDate(currentDateTime) + .attribute1(Long.toString(scMaster.getSeq())) // 시나리오 마스터 seq + .attribute2(Long.toString(rollbackRelease.getSeq())) // 시나리오 release seq + .remark( scMaster.getScenarioName() + " " +String.format("V%03d", rollbackRelease.getVersion()) + " 버전으로 롤백 하였습니다.") + .serviceGroup(dto.getServiceGroup()) + .build()); + + return result; + } + + @Transactional + public int scenarioReload(ConversationScenarioMasterVO dto) throws CustomNotFoundException, CustomBadRequestException { + String userId = loginService.getUserVo().getUserId(); + LocalDateTime currentDateTime = LocalDateTime.now(); + + if(dto.getSeq() == null || dto.getSeq() == -1) { + throw new CustomBadRequestException("시나리오 시퀀스가 잘못 되었습니다."); + } + + if(dto.getReleaseSeq() == null || dto.getReleaseSeq() == -1) { + throw new CustomBadRequestException("배포 시나리오 시퀀스가 잘못 되었습니다."); + } + + // 시나리오 마스터 검색 + TbScenarioMaster scMaster = tbScenarioMasterRepo.findBySeqAndUseYn(dto.getSeq(), "Y") + .orElseThrow(() -> new CustomNotFoundException("시나리오 정보가 없습니다")); + + // 시나리오 마지막 저장 있는지 확인 후 N 변경 + List scHistory = tbScenarioHistoryRepo.findByMasterSeqAndLastYn(scMaster.getSeq(), "Y"); + for (TbScenarioHistory history: scHistory) { + history.setLastYn("N"); + tbScenarioHistoryRepo.save(history); + } + // release 버전 Longtext 읽어오기 + TbScenarioRelease reloadRelease = tbScenarioReleaseRepo.findById(dto.getReleaseSeq()) + .orElseThrow(() -> new CustomNotFoundException("불러올 버전 정보가 없습니다.")); + + // Longtext 마지막 저장 버전 release 버전으로 읽어온 시나리오 불러오기 + TbLongtextManager loadDiagram = tbLongtextManagerRepo.findById( + new TbLongtextManagerId( reloadRelease.getSeq(), + LongTextManagerTableCode.TB_SCENARIO_RELEASE.getCode(), + LongTextManagerColumnCode.DIAGRAM.getCode())) + .orElseThrow(() -> new CustomNotFoundException("불러올 다이어그램 정보를 찾지 못하였습니다.")); + + TbLongtextManager loadScenario = tbLongtextManagerRepo.findById( + new TbLongtextManagerId( reloadRelease.getSeq(), + LongTextManagerTableCode.TB_SCENARIO_RELEASE.getCode(), + LongTextManagerColumnCode.SCENARIO.getCode())) + .orElseThrow(() -> new CustomNotFoundException("불러올 시나리오 정보를 찾지 못하였습니다.")); + + + // 시나리오 관리 불러오기 버전 저장 + TbScenarioHistory history = new TbScenarioHistory(scMaster.getSeq(), "Y", userId, currentDateTime); + tbScenarioHistoryRepo.save(history); + + // 다이어그램 저장 + tbLongtextManagerRepo.save(new TbLongtextManager( + history.getSeq(), + LongTextManagerTableCode.TB_SCENARIO_HISTORY.getCode(), + LongTextManagerColumnCode.DIAGRAM.getCode(), + loadDiagram.getTextContents(), + loadDiagram.getChecksum())); + + // Call 시나리오 저장 + tbLongtextManagerRepo.save(new TbLongtextManager( + history.getSeq(), + LongTextManagerTableCode.TB_SCENARIO_HISTORY.getCode(), + LongTextManagerColumnCode.SCENARIO.getCode(), + loadScenario.getTextContents(), + loadScenario.getChecksum())); + + scMaster.setUpdateId(userId); + scMaster.setUpdateDate(currentDateTime); + tbScenarioMasterRepo.save(scMaster); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationscenariomanage) + .actionCode(ActionResource.update.getName()) + .registDate(currentDateTime) + .attribute1(Long.toString(scMaster.getSeq())) // 시나리오 마스터 seq + .attribute2(Long.toString(history.getSeq())) // 시나리오 history seq + .remark( scMaster.getScenarioName() + " " + String.format("V%03d", reloadRelease.getVersion()) + " 버전을 불러오기 하였습니다.") + .serviceGroup(dto.getServiceGroup()) + .build()); + + return 0; + } + + @Transactional + public int scenarioDelete(ConversationScenarioMasterVO dto) throws CustomNotFoundException, CustomBadRequestException { + String userId = loginService.getUserVo().getUserId(); + LocalDateTime currentDateTime = LocalDateTime.now(); + + if (dto.getSeq() == null || dto.getSeq() == -1) { + throw new CustomBadRequestException("시나리오 시퀀스가 잘못 되었습니다."); + } + + // 시나리오 마스터 검색 + TbScenarioMaster scMaster = tbScenarioMasterRepo.findBySeqAndUseYn(dto.getSeq(), "Y") + .orElseThrow(() -> new CustomNotFoundException("시나리오 정보가 없습니다")); + + scMaster.setUseYn("N"); + scMaster.setUpdateId(userId); + scMaster.setUpdateDate(currentDateTime); + tbScenarioMasterRepo.save(scMaster); + + // 시나리오 릴리즈 Y -> N + TbScenarioRelease scRelease = tbScenarioReleaseRepo.findByMasterSeqAndReleaseYn(scMaster.getSeq(), "Y"); + if (scRelease != null ) { + scRelease.setReleaseYn("N"); + tbScenarioReleaseRepo.save(scRelease); + } + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationscenariomanage) + .actionCode(ActionResource.delete.getName()) + .registDate(currentDateTime) + .attribute1(Long.toString(scMaster.getSeq())) // 시나리오 마스터 seq + .remark( scMaster.getScenarioName() + "를 삭제하였습니다.") + .serviceGroup(dto.getServiceGroup()) + .build()); + + return 0; + } + + public ConversationScenarioManagerInfoRes scenarioManagerInfo(Long scenarioSeq) throws CustomNotFoundException { + ConversationScenarioManagerInfoRes result = new ConversationScenarioManagerInfoRes(); + + TbScenarioMaster scMaster = tbScenarioMasterRepo.findBySeqAndUseYn(scenarioSeq, "Y"). + orElseThrow(() -> new CustomNotFoundException("시나리오 정보가 없습니다")); + + result.setSeq(scMaster.getSeq()); + result.setScenarioName(scMaster.getScenarioName()); + + TbScenarioRelease scRelease = tbScenarioReleaseRepo.findByMasterSeqAndReleaseYn(scenarioSeq, "Y"); + if (scRelease != null) { + result.setReleaseVersion(scRelease.getVersion()); + } else { + result.setReleaseVersion(0); + } + + List scHistory = tbScenarioHistoryRepo.findByMasterSeqAndLastYn(scenarioSeq, "Y"); + String userId; + if (scHistory.size() == 0) { + if (scRelease == null) { + result.setModifyType(0); // 생성 + } else { + result.setModifyType(1); // 배포중 + } + result.setLastSaveDateTime(scMaster.getUpdateDate()); + userId = scMaster.getUpdateId(); + } else { + result.setModifyType(2); // 수정중 + result.setLastSaveDateTime(scHistory.get(0).getRegistDate()); + userId = scHistory.get(0).getRegistId(); + } + + TbBotUser updateUser = tbBotUserRepo.findByUserId(userId) + .orElseThrow(() -> new CustomNotFoundException("사용자 정보가 없습니다")); + result.setUpdateName(updateUser.getUserName()); + + return result; + } + + public ConversationScenarioDiagramRes selectScenarioDiagram(ConversationScenarioMasterVO dto) throws CustomNotFoundException, CustomBadRequestException { + if (dto.getSeq() == null || dto.getSeq() == -1) { + throw new CustomBadRequestException("시나리오 시퀀스 번호가 비었습니다."); + } + + Long masterSeq = dto.getSeq(); + ConversationScenarioDiagramRes result = new ConversationScenarioDiagramRes(); + TbScenarioMaster scMaster = tbScenarioMasterRepo.findBySeqAndUseYn(masterSeq, "Y"). + orElseThrow(() -> new CustomNotFoundException("시나리오 정보가 없습니다")); + + result.setMasterSeq(scMaster.getSeq()); + result.setScenarioName(scMaster.getScenarioName()); + + List scHistory = tbScenarioHistoryRepo.findByMasterSeqAndLastYn(masterSeq, "Y"); + // 마지막 저장 다이어그램이 있는지 확인 + if (scHistory.size() != 0) { + TbLongtextManager diagram = tbLongtextManagerRepo.findById( + new TbLongtextManagerId(scHistory.get(0).getSeq(), + LongTextManagerTableCode.TB_SCENARIO_HISTORY.getCode(), + LongTextManagerColumnCode.DIAGRAM.getCode())) + .orElseThrow(() -> new CustomNotFoundException("시나리오 다이어그램 정보를 찾지 못하였습니다.")); + + result.setTextContents(diagram.getTextContents()); + result.setChecksum(diagram.getChecksum()); + } else { // 배포중인 다이어그램 확인 + TbScenarioRelease scRelease = tbScenarioReleaseRepo.findByMasterSeqAndReleaseYn(masterSeq, "Y"); + if(scRelease == null) { // 시나리오 생성 후 처음으로 편집하는 경우 + result.setTextContents(""); + } else { + TbLongtextManager diagram = tbLongtextManagerRepo.findById( + new TbLongtextManagerId(scRelease.getSeq(), + LongTextManagerTableCode.TB_SCENARIO_RELEASE.getCode(), + LongTextManagerColumnCode.DIAGRAM.getCode())) + .orElseThrow(() -> new CustomNotFoundException("시나리오 다이어그램 정보를 찾지 못하였습니다.")); + + result.setTextContents(diagram.getTextContents()); + result.setChecksum(diagram.getChecksum()); + } + } + + return result; + } + + @Transactional + public int saveScenarioDiagram(ConversationScenarioDiagramVO dto) throws CustomBadRequestException, CustomNotFoundException { + String userId = loginService.getUserVo().getUserId(); + LocalDateTime currentDateTime = LocalDateTime.now(); + + if (dto.getMasterSeq() == null || dto.getMasterSeq() == -1) { + throw new CustomBadRequestException("scenario master seq 값이 없습니다"); + } + + TbScenarioMaster scMaster = tbScenarioMasterRepo.findBySeqAndUseYn(dto.getMasterSeq(), "Y"). + orElseThrow(() -> new CustomNotFoundException("시나리오 정보가 없습니다")); + + Long masterSeq = dto.getMasterSeq(); + List lastSave = tbScenarioHistoryRepo.findByMasterSeqAndLastYn(masterSeq, "Y"); + + // 시나리오 변환기 생성 + ScenarioConverter scenarioConverter = new ScenarioConverter(dto.getTextContents()); + try { + scenarioConverter.createDiagramChecksum(); + } catch (NoSuchAlgorithmException e) { + throw new CustomBadRequestException("시나리오 다이어그램 해시값 생성에 실패하였습니다."); + } + + if (lastSave.size() != 0) { // 이전 기록이 있는 경우 저장 + // 체크썸 확인, last N 수정 후 신규 저장 + TbLongtextManager lastDiagram =tbLongtextManagerRepo.findById( + new TbLongtextManagerId(lastSave.get(0).getSeq(), + LongTextManagerTableCode.TB_SCENARIO_HISTORY.getCode(), + LongTextManagerColumnCode.DIAGRAM.getCode())) + .orElseThrow(() -> new CustomNotFoundException("시나리오 다이어그램 정보를 찾지 못하였습니다.")); + + if (lastDiagram.getChecksum().equals(scenarioConverter.getDiagramChecksum())) { // 변경된 값이 없음 + return 1; + } + + // 이전 히스토리 없데이트 + for (TbScenarioHistory element: lastSave) { + element.setLastYn("N"); + tbScenarioHistoryRepo.save(element); + } + } + + scenarioConverter.convertDiagramToCallScenario(); + try { + scenarioConverter.createScenarioChecksum(); + } catch (NoSuchAlgorithmException e) { + throw new CustomBadRequestException("콜 시나리오 해시값 생성에 실패하였습니다."); + } + + TbScenarioHistory history = new TbScenarioHistory(masterSeq, "Y", userId, currentDateTime); + tbScenarioHistoryRepo.save(history); + + // Diagram 저장 + tbLongtextManagerRepo.save(new TbLongtextManager( + history.getSeq(), + LongTextManagerTableCode.TB_SCENARIO_HISTORY.getCode(), + LongTextManagerColumnCode.DIAGRAM.getCode(), + scenarioConverter.getDiagramString(), + scenarioConverter.getDiagramChecksum())); + + // Call Scenario 저장 + tbLongtextManagerRepo.save(new TbLongtextManager( + history.getSeq(), + LongTextManagerTableCode.TB_SCENARIO_HISTORY.getCode(), + LongTextManagerColumnCode.SCENARIO.getCode(), + scenarioConverter.getCallScenarioString(), + scenarioConverter.getCallScenarioChecksum())); + + scMaster.setUpdateId(userId); + scMaster.setUpdateDate(currentDateTime); + tbScenarioMasterRepo.save(scMaster); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationscenariomanage) + .actionCode(ActionResource.update.getName()) + .registDate(currentDateTime) + .attribute1(Long.toString(scMaster.getSeq())) // 시나리오 마스터 seq + .attribute2(Long.toString(history.getSeq())) // 사나리오 history seq + .remark( scMaster.getScenarioName() + " 시나리오를 저장하였습니다.") + .serviceGroup(dto.getServiceGroup()) + .build()); + + return 0; + } + + public LongtextManagerVO selectTestContents( String scenarioMaster) throws CustomBadRequestException, CustomNotFoundException { + Long masterSeq = Long.valueOf(scenarioMaster); + if( masterSeq == null ) { + throw new CustomBadRequestException("시나리오 시퀀스가 잘못되었습니다."); + } + + tbScenarioMasterRepo.findBySeqAndUseYn(masterSeq, "Y"). + orElseThrow(() -> new CustomNotFoundException("시나리오 정보가 없습니다")); + + TbLongtextManager scenario = null; + List scHistory = tbScenarioHistoryRepo.findByMasterSeqAndLastYn(masterSeq, "Y"); + if (scHistory.size() != 0) { + scenario = tbLongtextManagerRepo.findById(new TbLongtextManagerId( scHistory.get(0).getSeq(), + LongTextManagerTableCode.TB_SCENARIO_HISTORY.getCode(), + LongTextManagerColumnCode.SCENARIO.getCode())) + .orElseThrow(() -> new CustomNotFoundException("시나리오 컨텐츠 정보를 찾지 못하였습니다.")); + + // scenario 요효성 검사 + ScenarioConverter scenarioConverter = new ScenarioConverter(); + scenarioConverter.validationCheckScenario(scenario.getTextContents()); + + } else { + TbScenarioRelease scRelease = tbScenarioReleaseRepo.findByMasterSeqAndReleaseYn(masterSeq, "Y"); + if(scRelease == null) { // 시나리오 생성 후 처음으로 편집하는 경우 + throw new CustomBadRequestException("테스트를 진행할 시나리오 정보가 없습니다."); + } else { + scenario = tbLongtextManagerRepo.findById( + new TbLongtextManagerId(scRelease.getSeq(), + LongTextManagerTableCode.TB_SCENARIO_RELEASE.getCode(), + LongTextManagerColumnCode.SCENARIO.getCode())) + .orElseThrow(() -> new CustomNotFoundException("시나리오 컨텐츠 정보를 찾지 못하였습니다.")); + } + } + + return new LongtextManagerVO().ofTbLongtextManager(scenario); + } + + public QueryResults scenarioHistoryLog(ConversationScenarioMasterVO dto) throws CustomBadRequestException { + if (dto.getSeq() == null || dto.getSeq() == -1) { + throw new CustomBadRequestException("scenario seq 값이 없습니다"); + } + + QueryResults logHistory = tbIcsLogRepo.scenarioWorkHistory( + MenuResource.rcpconversationscenariomanage.getName(), + Long.toString(dto.getSeq())); + + // return new DslDataTableRes(logHistory); + return logHistory; + } + + public QueryResults scenarioRelatedIntent( ConversationScenarioMasterVO dto) throws CustomBadRequestException { + if (dto.getSeq() == null || dto.getSeq() == -1) { + throw new CustomBadRequestException("scenario seq 값이 없습니다"); + } + + return tbScenarioRelatedIntentRepo.findRelatedIntentList(dto); + } + + @Transactional + public int scenarioRelatedIntentSave( ConversationScenarioRelatedIntentSaveReq dto) throws CustomBadRequestException, CustomNotFoundException { + String userId = loginService.getUserVo().getUserId(); + LocalDateTime currentDateTime = LocalDateTime.now(); + Integer result = 0; + + if (dto.getScenarioSeq() == null || dto.getScenarioSeq() == -1) { + throw new CustomBadRequestException("scenario seq 값이 없습니다"); + } + + List saveIntents = dto.getCheckIntents(); + List prevIntent = tbScenarioRelatedIntentRepo.findByScenarioSeqOrderByIntentSeq(dto.getScenarioSeq()); + + // 배포된 자기 자신의 Intent는 연관 인텐트로 저장 X + TbScenarioRelease scRelease = tbScenarioReleaseRepo.findByMasterSeqAndReleaseYn(dto.getScenarioSeq(), "Y"); + if(scRelease != null) { + if (saveIntents.contains(Long.valueOf(scRelease.getIntentSeq()))) { + saveIntents.remove(Long.valueOf(scRelease.getIntentSeq())); + result = 1; // 자기자신 연관 인텐트 + } + } + + Collections.sort(saveIntents); + + int i =0, j=0; + while ( i < prevIntent.size() && j < saveIntents.size() ) { + if (prevIntent.get(i).getIntentSeq() == saveIntents.get(j) ) { + i++; j++; + } else if (prevIntent.get(i).getIntentSeq() > saveIntents.get(j) ) { + tbScenarioRelatedIntentRepo.save(new TbScenarioRelatedIntent(dto.getScenarioSeq(), saveIntents.get(j))); + j++; + } else { + tbScenarioRelatedIntentRepo.delete(new TbScenarioRelatedIntent(dto.getScenarioSeq(), prevIntent.get(i).getIntentSeq())); + i++; + } + } + + while (i < prevIntent.size()) { + tbScenarioRelatedIntentRepo.delete(new TbScenarioRelatedIntent(dto.getScenarioSeq(), prevIntent.get(i).getIntentSeq())); + i++; + } + + while (j < saveIntents.size()) { + tbScenarioRelatedIntentRepo.save(new TbScenarioRelatedIntent(dto.getScenarioSeq(),saveIntents.get(j))); + j++; + } + + TbScenarioMaster scMaster = tbScenarioMasterRepo.findBySeqAndUseYn(dto.getScenarioSeq(), "Y"). + orElseThrow(() -> new CustomNotFoundException("시나리오 정보가 없습니다")); + + scMaster.setUpdateId(userId); + scMaster.setUpdateDate(currentDateTime); + tbScenarioMasterRepo.save(scMaster); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationscenariomanage) + .actionCode(ActionResource.update.getName()) + .registDate(currentDateTime) + .attribute1(Long.toString(dto.getScenarioSeq())) // 시나리오 마스터 seq + .remark( scMaster.getScenarioName() + " 시나리오를 저장하였습니다.") + .serviceGroup(dto.getServiceGroup()) + .build()); + + return result; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationSystemEntityService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationSystemEntityService.java new file mode 100644 index 0000000..a88b965 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/ConversationSystemEntityService.java @@ -0,0 +1,117 @@ +package com.icomsys.main_vm.biz.rcp.conversation.service; + +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SystemEntityRes; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbEntityMaster; +import com.icomsys.main_vm.db.jpa.repo.scenario.TbEntityMasterRepo; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpMethod; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import static com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.util.RestTemplateUtil.callNlpApi; + +@Service +@RequiredArgsConstructor +@Slf4j +public class ConversationSystemEntityService { + private final TbEntityMasterRepo tbEntityMasterRepo; + private final LogService logService; + @Resource + MappingJackson2JsonView ajaxMainView; + + @Value("${feign.url.nlp}") + private String nlpApi; + + @Transactional(readOnly = true) + public List SystemEntityList() { + + return tbEntityMasterRepo.findAll().stream().map(e-> + SystemEntityRes.builder().entityName(e.getEntityName()).build() + ).collect(Collectors.toList()); + } + + public ModelAndView synchronizeEntityList(HttpServletRequest request) { + ModelAndView mv = new ModelAndView(ajaxMainView); + + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + String userId = resultVO.getUserId(); + + Gson gson = new Gson(); + List list = null; + List returnList = new ArrayList(); + try { + String path = nlpApi + "/system/entityList"; + JsonObject jsonObject = new JsonObject(); + jsonObject.addProperty("projectId", "0"); + + String body = gson.toJson(jsonObject); + HttpMethod method = HttpMethod.POST; + + // api request + String responseBody = callNlpApi(path, body, method); + responseBody = responseBody.replaceAll("\"", "\\\""); + HashMap eMap = new HashMap(); + eMap = gson.fromJson(responseBody, eMap.getClass()); + Map map = (Map) eMap.get("data"); + list = (List) map.get("systemEntityNameList"); + log.info("list", list); + if (list.size() > 0) { + if (!this.updateEntityList(list, userId)) { + mv.addObject("result", false); + mv.addObject("message", "데이터오류로 실패하였습니다."); + mv.addObject("list", this.SystemEntityList()); + return mv; + } + } + mv.addObject("result", true); + mv.addObject("message", "동기화하였습니다."); + } catch (Exception ex) { + log.error(ex.getMessage()); + mv.addObject("result",false); + mv.addObject("message","연동오류로 실패하였습니다."); + mv.addObject("list", this.SystemEntityList()); + return mv; + } + + mv.addObject("list", this.SystemEntityList()); + return mv; + } + + public boolean updateEntityList(List list, String userId) { + + try { + tbEntityMasterRepo.truncateEntityMaster(); + for (String entity : list) { + TbEntityMaster save = TbEntityMaster.builder() + .entityName(entity) + .registDate(LocalDateTime.now()) + .registId(userId) + .build(); + tbEntityMasterRepo.save(save); + } + } catch (Exception e) { + return false; + } + return true; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/IntentManageService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/IntentManageService.java new file mode 100644 index 0000000..79d339e --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/IntentManageService.java @@ -0,0 +1,522 @@ +package com.icomsys.main_vm.biz.rcp.conversation.service; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.advice.excep.CustomRuntimeException; +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.rcp.conversation.dto.IntentRequestDTO; +import com.icomsys.main_vm.biz.rcp.conversation.dto.TbIntentExampleDto; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.NlpWisenutIntentService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpWisenutResult; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.SentenceListVO; +import com.icomsys.main_vm.biz.rcp.conversation.vo.TbBotCommonCodeVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.intent.ExcelIntentListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.intent.ExcelIntentListVoEx; +import com.icomsys.main_vm.biz.rcp.conversation.vo.intent.IntentSearchVo; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.jpa.repo.system.TbBotCommonCodeRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbIntentExampleRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbIntentMasterRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbServiceGrouopRepo; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import com.icomsys.main_vm.db.mybatis.mapper.IntentManageMapper; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.CellType; +import org.springframework.dao.DuplicateKeyException; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.util.*; +import java.util.stream.Collectors; + + +@Service +@Slf4j +@RequiredArgsConstructor +public class IntentManageService { + + private final NlpWisenutIntentService nlpWisenutIntentService; + private final HttpServletRequest request; + private final MappingJackson2JsonView ajaxMainView; + private final TbIntentMasterRepo tbIntentMasterRepo; + private final TbBotCommonCodeRepo tbBotCommonCodeRepo; + private final TbIntentExampleRepo tbIntentExampleRepo; + private final IntentManageMapper intentManageMapper; + private final LogService logService; + private final TbServiceGrouopRepo tbServiceGrouopRepo; + private final ExcelService excelService; + + public ModelAndView searchIntent(IntentSearchVo dto) throws CustomNotFoundException { + ModelAndView mv = new ModelAndView(ajaxMainView); + dto.setServiceGroupUpper(tbServiceGrouopRepo.findByServiceGroup(dto.getServiceGroup()).orElseThrow(() -> new CustomNotFoundException()).getServiceGroupUpper()); + mv.addObject("list", tbIntentMasterRepo.selectIntentList(dto)); + return mv; + } + + public ModelAndView searchIntentCategoryList(Map dataMap) throws CustomNotFoundException { + ModelAndView mv = new ModelAndView(ajaxMainView); + HashMap eMap = new HashMap(); + eMap.putAll(dataMap); + +// String oprMngCode = eMap.get("custCode") + "_RCP_" + eMap.get("serviceGroup"); + String oprMngCode = eMap.get("custCode") + "_RCP_" + tbServiceGrouopRepo + .findByServiceGroup(eMap.get("serviceGroup").toString()) + .orElseThrow(() -> new CustomNotFoundException()).getServiceGroupUpper(); + log.info("oprMngCode -> {}", oprMngCode); + List cate = tbBotCommonCodeRepo.findByCustCodeAndMajorCodeAndOprMngCodeOrderByCodeNameAsc + (String.valueOf(eMap.get("custCode")), "INTENT_GROUP", oprMngCode) + .stream().map(e -> e.toDecs()) + .collect(Collectors.toList()); + + mv.addObject("categoryList", cate); + return mv; + } + + public ModelAndView selectIntentExampleList(Map dataMap) { + + ModelAndView mv = new ModelAndView(ajaxMainView); + List list = tbIntentExampleRepo.findByIntentSeqAndUseYn( + Long.parseLong(dataMap.get("intentSeq").toString()), "Y") + .stream().map(e -> e.toTbIntentExampleDto()) + .collect(Collectors.toList()); + + mv.addObject("list", list); + return mv; + } + + public int selectIntentCnt(HashMap eMap) { + return intentManageMapper.selectIntentCnt(eMap); + } + + @Transactional + public ModelAndView updateIntent(IntentRequestDTO dto) { + ModelAndView mv = new ModelAndView(ajaxMainView); + boolean result = true; + String message = "저장되었습니다."; + + try { + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + dto.setRegistId(resultVO.getUserId()); + dto.setUpdateId(resultVO.getUserId()); + //tbIntentMasterRepo.updateIntentMaster(dto); + HashMap eMap = dto.toMap(); + + log.info("eMap -> {}", new Gson().toJson(eMap)); + // NLP API + NlpWisenutResult nlpWisenutResult = nlpWisenutIntentService.intentUpdateApi(eMap); + + //String oprMngCode = eMap.get("custCode") + "_RCP_" + eMap.get("serviceGroup"); + if (nlpWisenutResult.getResult()) { + this.updateIntentMaster(eMap); + this.workLogSave(MenuResource.rcpconversationintentmanage, ActionResource.update, String.valueOf(eMap.get("serviceGroup")), "인텐트 수정"); + } else { + log.error(nlpWisenutResult.getReturnMsg() + " : " + nlpWisenutResult.getReturnCode()); + throw new DuplicateKeyException(nlpWisenutResult.getReturnMsg()); + } + } catch (DuplicateKeyException e) { + result = false; + message = e.getMessage(); + } catch (Exception e) { + result = false; + message = "처리도중 오류가 발생했습니다."; + log.error("error", e); + } + mv.addObject("result", result); + mv.addObject("message", message); + return mv; + } + + public void insertIntentMaster(HashMap eMap) { + int cnt = this.selectIntentCnt(eMap); + if (cnt > 0) { + throw new DuplicateKeyException("중복된 인텐트명 입니다."); + } + + // NLP API + String oprMngCode = eMap.get("custCode") + "_RCP_" + eMap.get("serviceGroup"); + eMap.put("oprMngCode", oprMngCode); + NlpWisenutResult nlpWisenutResult = nlpWisenutIntentService.intentInsertApi(eMap); + if (nlpWisenutResult.getResult()) { + eMap.put("mappingId", nlpWisenutResult.getMappingId()); + intentManageMapper.insertIntentMaster(eMap); + this.workLogSave(MenuResource.rcpconversationintentmanage, ActionResource.insert, String.valueOf(eMap.get("serviceGroup")), "인텐트 등록"); + } else { + log.error(nlpWisenutResult.getReturnCode() + " : " + nlpWisenutResult.getReturnMsg()); + throw new DuplicateKeyException(nlpWisenutResult.getReturnMsg()); + } + } + + public void deleteIntentExample_one(HashMap eMap) { + // NLP API + NlpWisenutResult nlpWisenutResult = nlpWisenutIntentService.intentSentenceDeleteApi(eMap); + if (nlpWisenutResult.getResult()) { +// TbIntentExample tbIntentExample = tbIntentExampleRepo.findBySeq(eMap.get("seq")).get(); +// tbIntentExampleRepo.delete(tbIntentExample); + intentManageMapper.deleteIntentExample_one(eMap); + //this.workLogSave(MenuResource.rcpconversationintentmanage, ActionResource.delete, String.valueOf(eMap.get("oprMngCode"))); + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(String.valueOf(eMap.get("menuVal")))) + .actionCode(String.valueOf((ActionResource.delete))) + .serviceGroup(String.valueOf(eMap.get("serviceGroup"))) + .remark("예문 삭제") + .build()); + } else { + log.error(nlpWisenutResult.getReturnMsg() + " : " + nlpWisenutResult.getReturnCode()); + throw new DuplicateKeyException(nlpWisenutResult.getReturnMsg()); + } + } + + public void insertIntentExample(HashMap eMap) { + // NLP API + NlpWisenutResult nlpWisenutResult = nlpWisenutIntentService.intentSentenceInsertApi(eMap); + if (nlpWisenutResult.getResult()) { + eMap.put("mappingId", nlpWisenutResult.getMappingId()); + intentManageMapper.insertIntentExample(eMap); + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(String.valueOf(eMap.get("menuVal")))) + .actionCode(String.valueOf((ActionResource.insert))) + .serviceGroup(String.valueOf(eMap.get("serviceGroup"))) + .remark("예문 등록") + .build()); + } else { + log.error(nlpWisenutResult.getReturnCode() + " : " + nlpWisenutResult.getReturnMsg()); + throw new DuplicateKeyException(nlpWisenutResult.getReturnMsg()); + } + } + + public void updateIntentMaster(HashMap eMap) { + intentManageMapper.updateIntentMaster(eMap); + } + + public void updateDeleteIntentExample(HashMap eMap) { + intentManageMapper.updateDeleteIntentExample(eMap); + } + + public void deleteIntent(HashMap eMap) { + eMap.put("useYn", "N"); + // NLP API + NlpWisenutResult nlpWisenutResult = nlpWisenutIntentService.intentDeleteApi(eMap); + if (nlpWisenutResult.getResult()) { + this.updateIntentMaster(eMap); + this.updateDeleteIntentExample(eMap); + this.workLogSave(MenuResource.rcpconversationintentmanage, ActionResource.delete, String.valueOf(eMap.get("servicegroup")), "인텐트 삭제"); + } else { + log.error(nlpWisenutResult.getReturnMsg() + " : " + nlpWisenutResult.getReturnCode()); + throw new DuplicateKeyException(nlpWisenutResult.getReturnMsg()); + } + } + + public void insertIntent(HashMap eMap) throws DuplicateKeyException { + + this.insertIntentMaster(eMap); + this.insertIntentExample(eMap); + } + + public String insertIntentExcel(MultipartHttpServletRequest request, HashMap eMap) throws Exception { + List list = new ArrayList(); + List exList = new ArrayList(); + MultipartFile file = request.getFile("upFile"); + HSSFWorkbook wb = new HSSFWorkbook(file.getInputStream()); + HSSFSheet sheet = wb.getSheetAt(0); + + // 시트 확인 + String sheetName = sheet.getSheetName(); + if (!StringUtils.equals("data", sheetName)) { + throw new CustomRuntimeException("엑셀 양식이 잘못되었습니다."); + } + + + String oprMngCode = (String) eMap.get("oprMngCode"); + String custCode = (String) eMap.get("custCode"); + String registId = (String) eMap.get("registId"); + String updateId = (String) eMap.get("updateId"); + String serviceGroup = (String) eMap.get("serviceGroup"); + + /** + * - 인텐트 1 : N 인텐트 예문 관계라 똑같은 목록을 두번 반복(중첩)해서 리스트를 읽음. + * - 첫번째 반복은 인텐트 명, 인텐트 분류 데이터를 얻기 위함. + * - 두번째 반복은 해당 인텐트의 예문 목록을 얻기 위함. + * + * 1. 인텐트가 중복이 아닌 경우 + * - 인텐트 명, 인텐트 분류, 인텐트 예문 목록 저장 + * - 해당 인텐트의 예문 목록을 두번째 반복문으로 구한 후 목록 저장 + * + * 2. 인텐트가 중복인 경우 + * - 로직 없음. + * - 기존 인텐트와의 중복성 검사 등록 시 처리. + * + * 현재 최종 데이터의 형태 + * [ + * { + * intentName: "인텐트 명", + * category: "인텐트 분류", + * exampleList: [ + * {exampleText: "예문1"}, {exampleText: "예문2"} + * ] + * }, + * { + * intentName: "인텐트 명2", + * category: "인텐트 분류2", + * exampleList: [ + * {exampleText: "예문1"}, {exampleText: "예문2"} + * ] + * }, + * ] + * + * 데이터 가공 후 각각의 Map으로 인텐트 저장. + * 엑셀 입력 시 분류는CODE_DESC 값을 입력, 저장시엔 MINOR_CODE 값을 입력해야 하기에 category code를 가져오는 코드 추가. + */ + + String beforeIntentName = new String(); + for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) { + HSSFRow row = sheet.getRow(i); + if (row == null) continue; + + // 인서트용 데이터 + HashMap tmp = new HashMap(); + + List exampleList = new ArrayList<>(); + + + String cellVal; + // 인텐트 명 + if (row.getCell(0) != null) { + row.getCell(0).setCellType(CellType.STRING); + cellVal = row.getCell(0).getStringCellValue(); + + if (!StringUtils.equals(beforeIntentName, cellVal)) { + tmp.put("intentName", cellVal); + + // 고정데이터 + tmp.put("oprMngCode", oprMngCode); + tmp.put("custCode", custCode); + tmp.put("registId", registId); + tmp.put("updateId", updateId); + tmp.put("serviceGroup", serviceGroup); + + // 예문 목록 추출 + for (int j = 1; j < sheet.getPhysicalNumberOfRows(); j++) { + HSSFRow exRow = sheet.getRow(j); + String exCellVal; + + // 해당되는 인텐트의 예문을 찾기 위함. + if (exRow.getCell(0) == null || row.getCell(0).getStringCellValue().equals("")) { + continue; + } + exRow.getCell(0).setCellType(CellType.STRING); + String exIntentName = exRow.getCell(0).getStringCellValue(); + if (StringUtils.equals(cellVal, exIntentName)) + // 예문 + if (exRow.getCell(1) != null) { + exRow.getCell(1).setCellType(CellType.STRING); + exCellVal = exRow.getCell(1).getStringCellValue(); + + Iterator iter = Arrays.stream(exCellVal.split(",")).iterator(); + + while (iter.hasNext()) { + IntentRequestDTO dto = new IntentRequestDTO(); + dto.setExampleText(iter.next()); + exampleList.add(dto); + } + +// IntentRequestDTO dto = new IntentRequestDTO(); +// dto.setExampleText(exCellVal); +// exampleList.add(dto); + +// IntentRequestDTO dto = new IntentRequestDTO(); +// dto.setExampleText(exCellVal); +// exampleList.add(dto); + + +// XSSFCell cell = row.getCell(1); +// String exampleList = cell.getStringCellValue(); +// +// eMap.put("exampleList", exampleList.replaceAll("\"", "")); +// String[] list = exampleList.replaceAll(", ", ",").split(","); + } + } + + if (exampleList.size() > 200) { + throw new CustomRuntimeException("예문 제한을 초과했습니다."); + } + + // 예문 목록 저장 + tmp.put("exampleList", exampleList); + + // 인텐트 명 구분용 + beforeIntentName = cellVal; + + log.info(String.valueOf(row.getCell(2))); + // 분류 저장 + if (row.getCell(2) == null || row.getCell(2).getStringCellValue().equals("")) { + continue; + } + + row.getCell(2).setCellType(CellType.STRING); + cellVal = row.getCell(2).getStringCellValue(); + tmp.put("category", cellVal); + + list.add(tmp); + } + } + } + + if (list.size() > 50) { + throw new CustomRuntimeException("인텐트 제한을 초과했습니다."); + } + + // 인텐트 등록 + for (HashMap em : list) { + HashMap categoryMap = intentManageMapper.selectIntentCategoryCode(em); + if (categoryMap == null || StringUtils.isBlank((String) categoryMap.get("minorCode"))) { + throw new CustomRuntimeException(StringUtils.join("[", em.get("category"), "]", "항목은 없는 인텐트 분류입니다.")); + } + try { + em.put("oprMngCode", oprMngCode); + em.put("category", categoryMap.get("minorCode")); + em.put("menuVal", "rcpconversationintentmanage"); +// this.insertIntent(em); + Long id = this.insertIntentMasterExcel(em); + ArrayList exampleList = (ArrayList) em.get("exampleList"); + if (!exampleList.isEmpty()) { + for (IntentRequestDTO intentRequestDTO : exampleList) { + HashMap example = new HashMap<>(); + long soeId = 12345678; // soeID + example.put("intentName",em.get("intentName")); + example.put("intentId", id); + example.put("soeId", soeId); + example.put("sentence", intentRequestDTO.getExampleText()); + exList.add(example); + } + } + } catch (DuplicateKeyException e) { + throw new CustomRuntimeException(StringUtils.join("[", em.get("intentName"), "]", "는 중복된 인텐트 명입니다.")); + } + } + eMap.put("sentenceList",exList); + return this.insertIntentExampleAll(eMap); + } + + private Long insertIntentMasterExcel(HashMap eMap) { + int cnt = this.selectIntentCnt(eMap); + if (cnt > 0) { + long id = intentManageMapper.selectIntentMappingId(eMap); + return id; + } else { + // NLP API + String oprMngCode = eMap.get("custCode") + "_RCP_" + eMap.get("serviceGroup"); + eMap.put("oprMngCode", oprMngCode); + NlpWisenutResult nlpWisenutResult = nlpWisenutIntentService.intentInsertApi(eMap); + if (nlpWisenutResult.getResult()) { + eMap.put("mappingId",nlpWisenutResult.getMappingId()); + intentManageMapper.insertIntentMaster(eMap); +// this.workLogSave(MenuResource.rcpconversationintentmanage, ActionResource.insert, String.valueOf(eMap.get("serviceGroup")), "인텐트 등록"); + return nlpWisenutResult.getMappingId(); + } else if (nlpWisenutResult.getReturnCode().equals("002")) { + log.error(nlpWisenutResult.getReturnCode() + " : " + nlpWisenutResult.getReturnMsg()); + throw new DuplicateKeyException(StringUtils.join("[", eMap.get("intentName"), "]", "는 중복된 인텐트 명입니다.")); + } else { + log.error(nlpWisenutResult.getReturnCode() + " : " + nlpWisenutResult.getReturnMsg()); + throw new DuplicateKeyException(StringUtils.join("[", eMap.get("intentName"), "]", "인텐트 : ", nlpWisenutResult.getReturnMsg())); + } + } + } + + + public String insertIntentExampleAll(HashMap eMap) { + + int successCount = 0; + int dupCount = 0; + int failCount = 0; + // NLP API + NlpWisenutResult nlpWisenutResult = nlpWisenutIntentService.intentSentenceInsertAllApi(eMap); + if (nlpWisenutResult.getResult()) { + for (SentenceListVO sentenceList : nlpWisenutResult.getSentenceList()) { + if (sentenceList.getReturnCode().equals("000")) { + HashMap iMap = new HashMap<>(); + String intentName = sentenceList.getIntentName(); + iMap.put("intentName", intentName); + iMap.put("oprMngCode", eMap.get("oprMngCode")); + int seq = intentManageMapper.selectIntentSeq(iMap); + + iMap.put("intentSeq", seq); + iMap.put("mappingId", sentenceList.getSentenceId()); + iMap.put("registId",eMap.get("registId")); + + List exampleList = new ArrayList<>(); + HashMap tMap = new HashMap<>(); + tMap.put("exampleText",sentenceList.getSentence()); + exampleList.add(tMap); + iMap.put("exampleList",exampleList); + + intentManageMapper.insertIntentExample(iMap); + successCount++; + } else if (sentenceList.getReturnCode().equals("002")) { + dupCount++; + } else { + failCount++; + } + } +// logService.LogSave(LogVO.builder() +// .menuAuth(MenuResource.valueOf(String.valueOf(eMap.get("menuVal")))) +// .actionCode(String.valueOf((ActionResource.insert))) +// .serviceGroup(String.valueOf(eMap.get("serviceGroup"))) +// .remark("예문 등록") +// .build()); + } else { + log.error(nlpWisenutResult.getReturnCode() + " : " + nlpWisenutResult.getReturnMsg()); + throw new DuplicateKeyException(nlpWisenutResult.getReturnMsg()); + } + + if (successCount == 0) { + throw new CustomRuntimeException(StringUtils.join("업로드에 실패했습니다.(중복 : " + dupCount + "건 실패 : " + failCount + "건)")); + } + + return "저장되었습니다. (성공 : " + successCount + "건 중복 : " + dupCount +"건 실패 : " + failCount + "건)"; + } + + public void downloadExcel(IntentSearchVo dto) throws IOException, CustomNotFoundException { + + + dto.setServiceGroupUpper(tbServiceGrouopRepo.findByServiceGroup(dto.getServiceGroup()).orElseThrow(() -> new CustomNotFoundException()).getServiceGroupUpper()); +// List list = tbIntentMasterRepo.excelIntentList(dto); + + List exceldata = tbIntentMasterRepo.excelIntentList(dto).stream().map(e -> + e.toEx(tbIntentExampleRepo.findByIntentSeqAndUseYn(e.getSeq(), "Y") + .stream().map(f -> f.getExampleText()) + .collect(Collectors.joining(",")) + )) + .collect(Collectors.toList()); + List colName = new ArrayList<>(); + + colName.add("인텐트 명"); + colName.add("예문"); + colName.add("분류"); + excelService.ExcelDownload("excel_intent", exceldata, colName); + workLogSave(MenuResource.rcpconversationintentmanage, ActionResource.download, dto.getServiceGroup(), "엑셀 다운로드"); + } + + public void workLogSave(MenuResource menuAuth, ActionResource actionCode, String serviceCode, String remark) { + logService.LogSave(LogVO.builder() + .menuAuth(menuAuth) + .actionCode(String.valueOf((actionCode))) + .serviceGroup(serviceCode) + .remark(remark) + .build()); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/NlpSettingService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/NlpSettingService.java new file mode 100644 index 0000000..c83c7e4 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/NlpSettingService.java @@ -0,0 +1,157 @@ +package com.icomsys.main_vm.biz.rcp.conversation.service; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.NlpWisenutProjectService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.NlpWisenutService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpWisenutResult; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ProjectSettingVO; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SelectSimilarityCriteriaVO; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.jpa.repo.conversation.TbProjectSettingRepo; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +@RequiredArgsConstructor +@Slf4j +public class NlpSettingService { + + @Resource(name = "nlpWisenutService") + private NlpWisenutService nlpAPIService; + + private final LogService logService; + private final HttpServletRequest request; + private final HttpServletResponse response; + private final MappingJackson2JsonView ajaxMainView; + private final TbProjectSettingRepo tbProjectSettingRepo; + private final NlpWisenutProjectService nlpWisenutProjectService; + + public ModelAndView similarityCriteria(Map dataMap) { + log.info("similarityCriteria param - {}", new Gson().toJson(dataMap)); + ModelAndView mv = new ModelAndView(ajaxMainView); + String oprMngCode = dataMap.get("custCode") + "_RCP_" + dataMap.get("serviceGroup") == null ? null : dataMap.get("custCode") + "_RCP_" + dataMap.get("serviceGroup"); + List nList = tbProjectSettingRepo.selectSimilarityCriteria(oprMngCode); + + mv.addObject("nMap", nList); + + return mv; + } + + public ModelAndView updateUser(Map dataMap) { + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + + ProjectSettingVO vo = new ProjectSettingVO(); + + String similarityCriteria = dataMap.get("similarityCriteria") == null ? null : dataMap.get("similarityCriteria"); + String classCriteria = dataMap.get("classCriteria") == null ? null : dataMap.get("classCriteria"); + String classResultCriteria = dataMap.get("classResultCriteria") == null ? null : dataMap.get("classResultCriteria"); + String fallbackMsg = dataMap.get("fallbackMsg") == null ? null : dataMap.get("fallbackMsg"); + String greetingMsg = dataMap.get("greetingMsg") == null ? null : dataMap.get("greetingMsg"); + String oprMngCode = dataMap.get("custCode") + "_RCP_" + dataMap.get("serviceCode") == null ? null : dataMap.get("custCode") + "_RCP_" + dataMap.get("serviceCode"); + String updateId = resultVO.getUserId(); + + vo.setOprMngCode(oprMngCode); + vo.setSimilarityCriteria(Double.parseDouble(similarityCriteria));; + vo.setClassCriteria(Double.parseDouble(classCriteria)); + vo.setClassResultCriteria(Double.parseDouble(classResultCriteria)); + vo.setFallbackMsg(fallbackMsg); + vo.setGreetingMsg(greetingMsg); + vo.setUpdateId(updateId); + vo.setUpdateDate(LocalDateTime.now()); + +// tbProjectSettingRepo.updateServiceInfo(vo); +// +// HashMap map = new HashMap<>(); +// map.put("resultCode", "success.common.update"); +// map.put("resultMsg", "정상적으로 저장되었습니다."); +// +// ModelAndView mv = new ModelAndView(ajaxMainView); +// mv.addObject("nMap", map); +// +// return mv; + ModelAndView mv = new ModelAndView(ajaxMainView); + HashMap eMap = new HashMap(); + eMap.putAll(dataMap); + eMap.put("oprMngCode",oprMngCode); + + NlpWisenutResult nlpWisenutResult = nlpWisenutProjectService.projectUpdateApi(eMap); + HashMap map = new HashMap<>(); + + if (nlpWisenutResult.getResult()) { + tbProjectSettingRepo.updateServiceInfo(vo); + + map.put("resultCode", "success.common.update"); + map.put("resultMsg", "정상적으로 저장되었습니다."); + } else { + log.error(nlpWisenutResult.getReturnCode() + " : " + nlpWisenutResult.getReturnMsg()); + map.put("resultCode", "fail.common.update"); + map.put("resultMsg", "실패하였습니다."); + } + mv.addObject("nMap", map); + return mv; + } + + public ModelAndView trainingStart(String oprMngCode) { + ModelAndView mv = new ModelAndView(ajaxMainView); + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + try { + nlpWisenutResult = nlpAPIService.trainingStartApi(oprMngCode); + this.workLogSave(MenuResource.rcpoprmanagenlpSettingmanage, ActionResource.learn, oprMngCode.split("_")[2]); + if (nlpWisenutResult.getResult()) { + + } else { + log.error(nlpWisenutResult.getReturnCode() + " : " + nlpWisenutResult.getReturnMsg()); + } + + } catch(Exception e) { + log.error("error", e); + nlpWisenutResult.setReturnCode("-999"); + nlpWisenutResult.setReturnMsg("API 호출 오류"); + } + mv.addObject("result", nlpWisenutResult); + return mv; + } + + public ModelAndView trainingApply(String oprMngCode) { + ModelAndView mv = new ModelAndView(ajaxMainView); + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + try { + nlpWisenutResult = nlpAPIService.trainingApplyApi(oprMngCode); + this.workLogSave(MenuResource.rcpoprmanagenlpSettingmanage, ActionResource.reflect, oprMngCode.split("_")[2]); + if (nlpWisenutResult.getResult()) { + + } else { + log.error(nlpWisenutResult.getReturnCode() + " : " + nlpWisenutResult.getReturnMsg()); + } + } catch(Exception e) { + log.error("error", e); + nlpWisenutResult.setReturnCode("-999"); + nlpWisenutResult.setReturnMsg("API 호출 오류"); + } + mv.addObject("result", nlpWisenutResult); + return mv; + } + + public void workLogSave(MenuResource menuAuth, ActionResource actionCode, String serviceCode) { + logService.LogSave(LogVO.builder() + .menuAuth(menuAuth) + .actionCode(String.valueOf((actionCode))) + .serviceGroup(serviceCode) + .build()); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/SynonymManageService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/SynonymManageService.java new file mode 100644 index 0000000..dbfd356 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/service/SynonymManageService.java @@ -0,0 +1,350 @@ + +package com.icomsys.main_vm.biz.rcp.conversation.service; + + +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.NlpWisenutEntityService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpWisenutResult; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SynonymWordListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.synonym.SelectSynonymList2Vo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.synonym.SelectSynonymListVo; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbSynonymMaster; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbSynonymWord; +import com.icomsys.main_vm.db.jpa.repo.system.TbSynonymMasterRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbSynonymWordRepo; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import com.icomsys.main_vm.db.mybatis.mapper.SynonymManageMapper; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.json.simple.JSONArray; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DuplicateKeyException; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +@Slf4j +@RequiredArgsConstructor +public class SynonymManageService { + + private final HttpServletRequest request; + + private final MappingJackson2JsonView ajaxMainView; + private final NlpWisenutEntityService nlpWisenutEntityService; + @Autowired + private SynonymManageMapper synonymManageMapper; + @Autowired + private TbSynonymMasterRepo tbSynonymMasterRepo; + @Autowired + private TbSynonymWordRepo tbSynonymWordRepo; + private final LogService logService; + private final ExcelService excelService; + public ModelAndView synonymList(Map dataMap) { + ModelAndView mv = new ModelAndView(ajaxMainView); + String oprMngCode = dataMap.get("custCode") + "_RCP_" + dataMap.get("serviceGroup") == null ? null : dataMap.get("custCode") + "_RCP_" + dataMap.get("serviceGroup"); + String repWord = dataMap.get("repWord") == null ? null : dataMap.get("repWord"); + + List list = tbSynonymMasterRepo.selectSynonymList(oprMngCode, repWord).stream().map(e -> + e.toSelect(tbSynonymWordRepo.findByMasterSeqAndUseYn(e.getSeq(), "Y") + .stream().map(f -> f.getSynonymWord()) + .collect(Collectors.joining(",")), + tbSynonymWordRepo.findByMasterSeqAndUseYn(e.getSeq(), "Y") + .stream().map(f -> f.getSeq().toString()) + .collect(Collectors.joining(",")) + )) + .collect(Collectors.toList()); + mv.addObject("list", list); + + return mv; + } + + public int deleteSynonym(HashMap eMap) { + + NlpWisenutResult nlpWisenutResult = nlpWisenutEntityService.entityDeleteApi(eMap); + if (nlpWisenutResult.getResult()) { + tbSynonymWordRepo.deleteSynonymWord(eMap); + // 작업이력 저장 + this.workLogSave(MenuResource.rcpconversationsynonymmanage, ActionResource.delete, String.valueOf(eMap.get("serviceGroup")), "리스트 삭제"); +// synonymManageMapper.deleteSynonymWord(eMap); + return tbSynonymMasterRepo.deleteSynonyms(eMap); +// return synonymManageMapper.deleteSynonym(eMap); + } else { + log.error(nlpWisenutResult.getReturnCode() + " : " + nlpWisenutResult.getReturnMsg()); + return 0; + } + } + + @Transactional + public int dupCheck(HashMap eMap) { + + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + + boolean nlpApiInsert; + int returnSeq = -1; + + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + +// int dupIndivWord = synonymManageMapper.dupIndivWord(eMap); + Long dupIndivWord = tbSynonymMasterRepo.dupIndivWord(eMap); + if (dupIndivWord > 0) { + throw new DuplicateKeyException("중복된 개체어입니다."); + } + + //int dupRepWord = synonymManageMapper.dupRepWord(eMap); + Long dupRepWord = tbSynonymMasterRepo.dupRepWord(eMap); + if (dupRepWord > 0) { + throw new DuplicateKeyException("중복된 대표어입니다."); + } + + //Integer seq = synonymManageMapper.selectSynonymMaster(eMap); + Long seq = tbSynonymMasterRepo.selectSynonymMaster(eMap); + if (seq == null) { + eMap.put("seq", ""); + } else { + eMap.put("seq", seq); + } + + nlpApiInsert = StringUtils.isEmpty(eMap.get("seq").toString()); + if (nlpApiInsert) { + // NLP API + nlpWisenutResult = nlpWisenutEntityService.entityInsertApi(eMap); + } else { + // NLP API + if (tbSynonymMasterRepo.dupRepWordN(eMap) > 0) { + nlpWisenutResult = nlpWisenutEntityService.entityInsertApi(eMap); + } else { + nlpWisenutResult = nlpWisenutEntityService.entityUpdateApi(eMap); + } + } + + // NLP API + if (nlpWisenutResult.getResult()) { + if (nlpApiInsert) { + eMap.put("mappingId", nlpWisenutResult.getMappingId()); + } + //this.insertSynonymMaster(eMap); + if (tbSynonymMasterRepo.existsBySeq(seq)){ + + tbSynonymMasterRepo.updateSynonymMaster(eMap); + /*findBySeq(seq).get() + .UpdateSynonymMaster(eMap);*/ + + /*save(new TbSynonymMaster().builder() + .idivWord(eMap.get("idivWord").toString()) + .repWord(eMap.get("repWord").toString()) + .useYn("Y") + .updateId(resultVO.getUserId()) + .updateDate(LocalDateTime.now()) + .build());*/ + } + else { + BigDecimal decimalId = new BigDecimal(nlpWisenutResult.getMappingId()); + + tbSynonymMasterRepo.save(TbSynonymMaster.builder() + .oprMngCode(eMap.get("custCode") + "_RCP_" + eMap.get("serviceGroup")) + .idivWord(eMap.get("idivWord").toString()) + .repWord(eMap.get("repWord").toString()) + .ifMappingId(decimalId.longValue()) + .useYn("Y") + .registId(resultVO.getUserId()) + .registDate(LocalDateTime.now()) + .updateId(resultVO.getUserId()) + .updateDate(LocalDateTime.now()) + .build()); + this.workLogSave(MenuResource.rcpconversationsynonymmanage, ActionResource.insert, String.valueOf(eMap.get("serviceGroup")), "리스트 등록"); + } + //returnSeq = synonymManageMapper.selectSynonymMaster(eMap); + returnSeq = Math.toIntExact(tbSynonymMasterRepo.selectSynonymMaster(eMap)); + JSONArray arr = (JSONArray) eMap.get("list"); + for (int i = 0; i < arr.size(); i++) { + + eMap.put("synonymWord", arr.get(i)); + + //int dupSynonymY = synonymManageMapper.dupSynonymY(eMap); + Long dupSynonymY = tbSynonymMasterRepo.dupSynonymY(eMap); + + if (dupSynonymY > 0) { + throw new DuplicateKeyException("중복된 동의어입니다."); + } + + //int dupSynonymN = synonymManageMapper.dupSynonymN(eMap); + Long dupSynonymN = tbSynonymMasterRepo.dupSynonymN(eMap); + if (dupSynonymN > 0) { + this.updateSynonymWord(eMap); + //tbSynonymWordRepo.updateSynonymWord(eMap); + } else { + //this.insertSynonymWord(eMap); + List SynonymWordInsert = new ArrayList<>(); + for (SynonymWordListVo e : tbSynonymWordRepo.insertSynonymWord(eMap)) { + + SynonymWordInsert.add(TbSynonymWord.builder() + .masterSeq(e.getSeq()) + .oprMngCode(eMap.get("custCode") + "_RCP_" + eMap.get("serviceGroup")) + .synonymWord(eMap.get("synonymWord").toString()) + .useYn("Y") + .registId(resultVO.getUserId()) + .registDate(LocalDateTime.now()) + .updateId(resultVO.getUserId()) + .updateDate(LocalDateTime.now()) + .build()); + tbSynonymWordRepo.saveAll(SynonymWordInsert); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationsynonymmanage) + .actionCode(String.valueOf((ActionResource.insert))) + .serviceGroup(String.valueOf(eMap.get("serviceGroup"))) + .remark("동의어 단일 등록") + .build()); + } + } + } + + // NLP API + } else { + log.error(nlpWisenutResult.getReturnCode() + " : " + nlpWisenutResult.getReturnMsg()); + throw new DuplicateKeyException(nlpWisenutResult.getReturnMsg()); + } + return returnSeq; + } + + public void uploadDupCheck (HashMap eMap) { + + boolean nlpApiInsert = true; + NlpWisenutResult nlpWisenutResult = new NlpWisenutResult(); + + int dupIndivWord = synonymManageMapper.dupIndivWord(eMap); + if (dupIndivWord > 0) { + throw new DuplicateKeyException("중복된 개체어입니다."); + } + int dupRepWord = synonymManageMapper.dupRepWord(eMap); + if (dupRepWord > 0) { + throw new DuplicateKeyException("중복된 대표어입니다."); + } + + Integer seq = synonymManageMapper.selectSynonymMaster(eMap); + + if (eMap.get("seq") != null) { + nlpApiInsert = StringUtils.isEmpty(eMap.get("seq").toString()); + } + + if (seq == null) { + eMap.put("seq", ""); + } else { + eMap.put("seq", seq); + } + + if (nlpApiInsert) { + // NLP API + nlpWisenutResult = nlpWisenutEntityService.entityInsertApi(eMap); + } else { + // NLP API + nlpWisenutResult = nlpWisenutEntityService.entityUpdateApi(eMap); + } + if (nlpWisenutResult.getResult()) { + if (dupRepWord <= 1 && dupIndivWord <= 1) { + if (nlpApiInsert) { + eMap.put("mappingId", nlpWisenutResult.getMappingId()); + } + this.insertSynonymMaster(eMap); + } + + + System.out.println("***************************************"); + String[] list = (String[]) eMap.get("list"); + for (String s : list) { + eMap.put("synonymWord", s); + + int dupSynonymY = synonymManageMapper.dupSynonymY(eMap); + + if (dupSynonymY > 0) { + throw new DuplicateKeyException("중복된 동의어입니다."); + } + if (dupSynonymY <= 1) { + int dupSynonymN = synonymManageMapper.dupSynonymN(eMap); + if (dupSynonymN > 0) { + this.updateSynonymWord(eMap); + } else { + this.insertSynonymWord(eMap); + } + } + } + } else { + log.error(nlpWisenutResult.getReturnCode() + " : " + nlpWisenutResult.getReturnMsg()); + throw new DuplicateKeyException(nlpWisenutResult.getReturnMsg()); + } + } + + private int insertSynonymMaster(HashMap eMap) { + return synonymManageMapper.insertSynonymMaster(eMap); + } + + private void insertSynonymWord(HashMap eMap) { + synonymManageMapper.insertSynonymWord(eMap); + } + + private void updateSynonymWord(HashMap eMap) { + synonymManageMapper.updateSynonymWord(eMap); + } + + public int saveSynonymList(HashMap eMap) { + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationsynonymmanage) + .actionCode(String.valueOf((ActionResource.delete))) + .serviceGroup(String.valueOf(eMap.get("serviceGroup"))) + .remark("동의어 단일 삭제") + .build()); + return synonymManageMapper.saveSynonymList(eMap); + } + + public int countSynonymWord(HashMap eMap) { + return synonymManageMapper.countSynonymWord(eMap); + } + + public void workLogSave(MenuResource menuAuth, ActionResource actionCode, String serviceGroup, String remark) { + logService.LogSave(LogVO.builder() + .menuAuth(menuAuth) + .actionCode(String.valueOf((actionCode))) + .serviceGroup(serviceGroup) + .remark(remark) + .build()); + } + + public void downloadExcel(Map dataMap) throws IOException { + + String oprMngCode = dataMap.get("custCode") + "_RCP_" + dataMap.get("serviceGroup") == null ? null : dataMap.get("custCode") + "_RCP_" + dataMap.get("serviceGroup"); + String repWord = dataMap.get("repWord") == null ? null : dataMap.get("repWord"); + + List list = tbSynonymMasterRepo.selectSynonymList(oprMngCode, repWord).stream().map(e -> + e.toExcel(tbSynonymWordRepo.findByMasterSeqAndUseYn(e.getSeq(), "Y") + .stream().map(f -> f.getSynonymWord()) + .collect(Collectors.joining(",")) + )) + .collect(Collectors.toList()); + List colName = new ArrayList<>(); + + colName.add("개체어"); + colName.add("대표어"); + colName.add("동의어"); + excelService.ExcelDownload("excel_synonym", list, colName); + this.workLogSave(MenuResource.rcpconversationsynonymmanage, ActionResource.download, dataMap.get("serviceGroup"), "엑셀 다운로드"); + + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/CallInfoVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/CallInfoVO.java new file mode 100644 index 0000000..76ffef2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/CallInfoVO.java @@ -0,0 +1,38 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class CallInfoVO { + + private String token; + private String oprMngCode; + private String inChannelType; + private String callId; + private String telNo; + private String dnisNo; + private LocalDateTime callInitDate; + private LocalDateTime callEndDate; + private int callTime; + private String callEndType; + + public CallInfoVO ofCallInfoVO(CallInfoVO vo) { + CallInfoVO result = new CallInfoVO(); + + result.setToken(vo.getToken()); + result.setOprMngCode((vo.getOprMngCode())); + result.setInChannelType(vo.getInChannelType()); + result.setCallId(vo.getCallId()); + result.setTelNo(vo.getTelNo()); + result.setDnisNo(vo.getDnisNo()); + result.setCallInitDate(vo.getCallInitDate()); + result.setCallEndDate(vo.getCallEndDate()); + result.setCallTime(vo.getCallTime()); + result.setCallEndType(vo.getCallEndType()); + + return result; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationApiNodeEditReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationApiNodeEditReq.java new file mode 100644 index 0000000..d7175a3 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationApiNodeEditReq.java @@ -0,0 +1,29 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +/** + * Name : ConversationApiNodeEditReq + * date : 2023-02-15 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-15 Mong 최초 생성 + */ + +@Getter +@Setter +@NoArgsConstructor +public class ConversationApiNodeEditReq { + + private String textContents; + private Long seq; + private String custCode; + private String serviceGroup; + private String nodeName; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationApiNodeInfoReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationApiNodeInfoReq.java new file mode 100644 index 0000000..96fed71 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationApiNodeInfoReq.java @@ -0,0 +1,18 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class ConversationApiNodeInfoReq { + private int size; + private int page; + private String serviceGroup; + private String custCode; + private String nodeName; + private boolean containUpper; // false: 기본 검색, ture: serviceGroupUpper 값을 채워서 상위 서비스 그룹 항목까지 검색 + private String serviceGroupUpper; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationApiNodeInfoRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationApiNodeInfoRes.java new file mode 100644 index 0000000..4c45ce7 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationApiNodeInfoRes.java @@ -0,0 +1,44 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +/** + * Name : ConversationApiNodeEditRes date : 2023-02-07 author : Mong description : =========================================================== DATE AUTHOR NOTE + * ----------------------------------------------------------- 2023-02-07 Mong 최초 생성 + */ + +@Getter +@Setter +@NoArgsConstructor +public class ConversationApiNodeInfoRes { + + private Long seq; + private String nodeName; + private String updateId; + private LocalDateTime updateDate; + private String oprMngCode; + private String serviceGroupName; + + @Builder + public ConversationApiNodeInfoRes(Long seq, String nodeName, String updateId, LocalDateTime updateDate, String oprMngCode, String serviceGroupName) { + this.seq = seq; + this.nodeName = nodeName; + this.updateId = updateId; + this.updateDate = updateDate; + this.oprMngCode = oprMngCode; + this.serviceGroupName = serviceGroupName; + } + + public String getUpdateDate() { + return updateDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")); + } + public void setUpdateDate(LocalDateTime updateDate) { + this.updateDate = updateDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeDiagramRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeDiagramRes.java new file mode 100644 index 0000000..4161b7a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeDiagramRes.java @@ -0,0 +1,65 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +/** + * Name : ConversationCmmNodeDiagramRes + * date : 2023-02-16 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-16 Mong 최초 생성 + */ + +@NoArgsConstructor +public class ConversationCmmNodeDiagramRes { + private Long seq; + private String cmmNodeName; + private String textContents; + private String checksum; + + @Builder + public ConversationCmmNodeDiagramRes(Long seq, String cmmNodeName, String textContents, String checksum) { + this.seq = seq; + this.cmmNodeName = cmmNodeName; + this.textContents = textContents; + this.checksum = checksum; + } + + public Long getSeq() { + return seq; + } + + public void setSeq(Long seq) { + this.seq = seq; + } + + public String getCmmNodeName() { + return cmmNodeName; + } + + public void setCmmNodeName(String cmmNodeName) { + this.cmmNodeName = cmmNodeName; + } + + public String getTextContents() { + return textContents; + } + + public void setTextContents(String textContents) { + this.textContents = textContents; + } + + public String getChecksum() { + return checksum; + } + + public void setChecksum(String checksum) { + this.checksum = checksum; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeDiagramVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeDiagramVO.java new file mode 100644 index 0000000..751c23f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeDiagramVO.java @@ -0,0 +1,64 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +/** + * Name : ConversationCmmNodeDiagramVO + * date : 2023-02-16 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-16 Mong 최초 생성 + */ +@NoArgsConstructor +public class ConversationCmmNodeDiagramVO { + private Long seq; + private String textContents; + private String nodeName; + private String oprMngCode; + + @Builder + public ConversationCmmNodeDiagramVO(Long seq, String textContents, String nodeName, String oprMngCode) { + this.seq = seq; + this.textContents = textContents; + this.nodeName = nodeName; + this.oprMngCode = oprMngCode; + } + + public Long getSeq() { + return seq; + } + + public void setSeq(Long seq) { + this.seq = seq; + } + + public String getTextContents() { + return textContents; + } + + public void setTextContents(String textContents) { + this.textContents = textContents; + } + + public String getNodeName() { + return nodeName; + } + + public void setNodeName(String nodeName) { + this.nodeName = nodeName; + } + + public String getOprMngCode() { + return oprMngCode; + } + + public void setOprMngCode(String oprMngCode) { + this.oprMngCode = oprMngCode; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeEditReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeEditReq.java new file mode 100644 index 0000000..ae2b7df --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeEditReq.java @@ -0,0 +1,29 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * Name : ConversationCmmNodeEditReq + * date : 2023-02-16 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-16 Mong 최초 생성 + */ + +@Getter +@Service +@NoArgsConstructor +public class ConversationCmmNodeEditReq { + + private String textContents; + private Long seq; + private String custCode; + private String serviceGroup; + private String nodeName; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeInfoReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeInfoReq.java new file mode 100644 index 0000000..403d2d6 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeInfoReq.java @@ -0,0 +1,28 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +/** + * Name : ConversationCmmNodeInfoReq + * date : 2023-02-13 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-13 Mong 최초 생성 + */ +@Getter +@Setter +@NoArgsConstructor +public class ConversationCmmNodeInfoReq { + private int size; + private int page; + private String serviceGroup; + private String custCode; + private String nodeName; + private boolean containUpper; // false: 기본 검색, ture: serviceGroupUpper 값을 채워서 상위 서비스 그룹 항목까지 검색 + private String serviceGroupUpper; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeInfoRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeInfoRes.java new file mode 100644 index 0000000..85a8d3d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationCmmNodeInfoRes.java @@ -0,0 +1,66 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Builder; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +/** + * Name : ConversationCmmNodeInfoRes + * date : 2023-02-13 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-13 Mong 최초 생성 + */ +@NoArgsConstructor +public class ConversationCmmNodeInfoRes { + + private Long seq; + private String nodeName; + private String updateId; + private LocalDateTime updateDate; + + @Builder + public ConversationCmmNodeInfoRes(Long seq, String nodeName, String updateId, LocalDateTime updateDate) { + this.seq = seq; + this.nodeName = nodeName; + this.updateId = updateId; + this.updateDate = updateDate; + } + + public Long getSeq() { + return seq; + } + + public void setSeq(Long seq) { + this.seq = seq; + } + + public String getNodeName() { + return nodeName; + } + + public void setNodeName(String nodeName) { + this.nodeName = nodeName; + } + + public String getUpdateId() { + return updateId; + } + + public void setUpdateId(String updateId) { + this.updateId = updateId; + } + + public String getUpdateDate() { + return updateDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")); + } + + public void setUpdateDate(LocalDateTime updateDate) { + this.updateDate = updateDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioDiagramRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioDiagramRes.java new file mode 100644 index 0000000..6a1cde9 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioDiagramRes.java @@ -0,0 +1,15 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class ConversationScenarioDiagramRes { + private Long masterSeq; + private String scenarioName; + private String textContents; + private String checksum; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioDiagramVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioDiagramVO.java new file mode 100644 index 0000000..2c02e04 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioDiagramVO.java @@ -0,0 +1,15 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class ConversationScenarioDiagramVO { + private Long masterSeq; + private String textContents; + private String custCode; + private String serviceGroup; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioManagerInfoRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioManagerInfoRes.java new file mode 100644 index 0000000..f106580 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioManagerInfoRes.java @@ -0,0 +1,19 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class ConversationScenarioManagerInfoRes { + private Long seq; + private String scenarioName; + private int releaseVersion; + private int modifyType; // 0: 생성, 1: 배포중, 2: 수정중 + private LocalDateTime lastSaveDateTime; + private String updateName; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioManagerRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioManagerRes.java new file mode 100644 index 0000000..f0eec32 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioManagerRes.java @@ -0,0 +1,19 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class ConversationScenarioManagerRes { + private Long seq; + private String scenarioName; + private String relatedIntents; + private String updateName; + private LocalDateTime updateDate; + private int version; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioManagerSearchReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioManagerSearchReq.java new file mode 100644 index 0000000..af24949 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioManagerSearchReq.java @@ -0,0 +1,17 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class ConversationScenarioManagerSearchReq { + private int size; + private int page; + private String serviceGroup; + private String scenarioName; + private String custCode; + private Long scenarioMasterSeq; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioMasterVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioMasterVO.java new file mode 100644 index 0000000..38608e7 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioMasterVO.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class ConversationScenarioMasterVO { + private Long seq; + private Long releaseSeq; + private String custCode; + private String serviceGroup; + private String scenarioName; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioRelatedIntentSaveReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioRelatedIntentSaveReq.java new file mode 100644 index 0000000..38433a0 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioRelatedIntentSaveReq.java @@ -0,0 +1,17 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class ConversationScenarioRelatedIntentSaveReq { + private Long scenarioSeq; + private String custCode; + private String serviceGroup; + private List checkIntents; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioRelatedIntentVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioRelatedIntentVO.java new file mode 100644 index 0000000..676c7b6 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioRelatedIntentVO.java @@ -0,0 +1,14 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class ConversationScenarioRelatedIntentVO { + private Long scenarioSeq; + private Long intentSeq; + private String intentName; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioReleaseRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioReleaseRes.java new file mode 100644 index 0000000..e0f0e92 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioReleaseRes.java @@ -0,0 +1,18 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class ConversationScenarioReleaseRes { + private Long seq; + private int version; + private String releaseYn; + private String registName; + private LocalDateTime registDate; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioWorkHistoryRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioWorkHistoryRes.java new file mode 100644 index 0000000..a488bcc --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ConversationScenarioWorkHistoryRes.java @@ -0,0 +1,27 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class ConversationScenarioWorkHistoryRes { + private Long seq; + private LocalDateTime registDate; + private String menuAuth; + private String actionCode; + private String action; + private String userId; + private String userName; + private String ip; + private String remark; + private String attribute1; + private String attribute2; + private String attribute3; + private String attribute4; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/LongtextManagerVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/LongtextManagerVO.java new file mode 100644 index 0000000..d85e118 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/LongtextManagerVO.java @@ -0,0 +1,33 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import com.icomsys.main_vm.db.jpa.entity.scenario.TbLongtextManager; +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Id; + +/** + * Name : LongtextManagerVO date : 2023-01-27 author : Mong description : =========================================================== DATE AUTHOR NOTE + * ----------------------------------------------------------- 2023-01-27 Mong 최초 생성 + */ +@Data +public class LongtextManagerVO { + + private Long rfSeq; + private int tableCode; + private int columnCode; + private String textContents; + private String checksum; + + public LongtextManagerVO ofTbLongtextManager(TbLongtextManager dto){ + LongtextManagerVO result = new LongtextManagerVO(); + + result.setRfSeq(dto.getRfSeq()); + result.setTableCode(dto.getTableCode()); + result.setColumnCode(dto.getColumnCode()); + result.setTextContents(dto.getTextContents()); + result.setChecksum(dto.getChecksum()); + return result; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/NlpSearchListVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/NlpSearchListVo.java new file mode 100644 index 0000000..63ee22f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/NlpSearchListVo.java @@ -0,0 +1,8 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Data; + +@Data +public class NlpSearchListVo { + private String serviceGroup; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ProjectSettingVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ProjectSettingVO.java new file mode 100644 index 0000000..6a6735b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/ProjectSettingVO.java @@ -0,0 +1,81 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@NoArgsConstructor +public class ProjectSettingVO { + + private double similarityCriteria; + private double classCriteria; + private double classResultCriteria; + private String fallbackMsg; + private String greetingMsg; + private String updateId; + private LocalDateTime updateDate; + private String oprMngCode; + + public double getSimilarityCriteria() { + return similarityCriteria; + } + + public void setSimilarityCriteria(double similarityCriteria) { + this.similarityCriteria = similarityCriteria; + } + + public double getClassCriteria() { + return classCriteria; + } + + public void setClassCriteria(double classCriteria) { + this.classCriteria = classCriteria; + } + + public double getClassResultCriteria() { + return classResultCriteria; + } + + public void setClassResultCriteria(double classResultCriteria) { + this.classResultCriteria = classResultCriteria; + } + + public String getFallbackMsg() { + return fallbackMsg; + } + + public void setFallbackMsg(String fallbackMsg) { + this.fallbackMsg = fallbackMsg; + } + + public String getGreetingMsg() { + return greetingMsg; + } + + public void setGreetingMsg(String greetingMsg) { + this.greetingMsg = greetingMsg; + } + + public String getUpdateId() { return updateId; } + + public void setUpdateId(String updateId) { + this.updateId = updateId; + } + + public String getUpdateDate() { + return updateDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")); + } + + public void setUpdateDate(LocalDateTime updateDate) { + this.updateDate = updateDate; + } + + public String getOprMngCode() { + return oprMngCode; + } + + public void setOprMngCode(String oprMngCode) { + this.oprMngCode = oprMngCode; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/RetrieveCustNameVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/RetrieveCustNameVo.java new file mode 100644 index 0000000..e6a74ad --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/RetrieveCustNameVo.java @@ -0,0 +1,9 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Data; + +@Data +public class RetrieveCustNameVo { + private String minorCode; + private String codeName; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SearchIntentListVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SearchIntentListVo.java new file mode 100644 index 0000000..71bdebc --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SearchIntentListVo.java @@ -0,0 +1,10 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Data; + +@Data +public class SearchIntentListVo { + private String oprMngCode; + private String category; + private String intentName; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SelectIntentListVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SelectIntentListVo.java new file mode 100644 index 0000000..6f66360 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SelectIntentListVo.java @@ -0,0 +1,21 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class SelectIntentListVo { + + private Long seq; + private String oprMngCode; + private String intentName; + private String category; + private String registId; + private LocalDateTime registDate; + private String updateId; + private LocalDateTime updateDate; + private String codeName; + private Long exampleCnt; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SelectSimilarityCriteriaVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SelectSimilarityCriteriaVO.java new file mode 100644 index 0000000..c666cef --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SelectSimilarityCriteriaVO.java @@ -0,0 +1,17 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Data; + +@Data +public class SelectSimilarityCriteriaVO { + + private String oprMngCode; + private double similarityCriteria; + private double classCriteria; + private double classResultCriteria; + private String fallbackMsg; + private String greetingMsg; + + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SelectSlotIntentListVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SelectSlotIntentListVo.java new file mode 100644 index 0000000..f1868aa --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SelectSlotIntentListVo.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Data; + +@Data +public class SelectSlotIntentListVo { + + private String oprMngCode; + private String intentName; + private String groupName; + private Long intentSeq; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SynonymWordListVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SynonymWordListVo.java new file mode 100644 index 0000000..b295633 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SynonymWordListVo.java @@ -0,0 +1,8 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Data; + +@Data +public class SynonymWordListVo { + private Long seq; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SystemEntityRes.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SystemEntityRes.java new file mode 100644 index 0000000..a845c15 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/SystemEntityRes.java @@ -0,0 +1,18 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class SystemEntityRes { + private String entityName; + + @Builder + public SystemEntityRes(String entityName) { + this.entityName = entityName; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/TbBotCommonCodeVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/TbBotCommonCodeVo.java new file mode 100644 index 0000000..c0fd69d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/TbBotCommonCodeVo.java @@ -0,0 +1,22 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class TbBotCommonCodeVo { + private String custCode; + private String majorCode; + private String minorCode; + private String codeType; + private String oprMngCode; + private String codeName; + private String attribute1; + private String attribute2; + private String attribute3; + private String registId; + private LocalDateTime registDate; + private String updateId; + private LocalDateTime updateDate; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/intent/ExcelIntentListVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/intent/ExcelIntentListVo.java new file mode 100644 index 0000000..0593dbc --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/intent/ExcelIntentListVo.java @@ -0,0 +1,32 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo.intent; + +import lombok.*; + +@Getter +@Setter +@NoArgsConstructor +public class ExcelIntentListVo { + + + private Long seq; + private String intentName; + private String codeName; + private String exampleText; + + @Builder + public ExcelIntentListVo(Long seq, String intentName, String exampleText, String codeName) { + this.seq = seq; + this.intentName = intentName; + this.exampleText = exampleText; + this.codeName = codeName; + } + + public ExcelIntentListVoEx toEx(String et) { + return ExcelIntentListVoEx.builder() + .intentName(this.intentName) + .codeName(this.codeName) + .exampleText(et) + .build(); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/intent/ExcelIntentListVoEx.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/intent/ExcelIntentListVoEx.java new file mode 100644 index 0000000..f938858 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/intent/ExcelIntentListVoEx.java @@ -0,0 +1,19 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo.intent; + +import lombok.Builder; +import lombok.Data; + +@Data +public class ExcelIntentListVoEx { + + private String intentName; + private String exampleText; + private String codeName; + + @Builder + public ExcelIntentListVoEx(String intentName, String exampleText, String codeName) { + this.intentName = intentName; + this.exampleText = exampleText; + this.codeName = codeName; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/intent/IntentSearchVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/intent/IntentSearchVo.java new file mode 100644 index 0000000..09d6e86 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/intent/IntentSearchVo.java @@ -0,0 +1,75 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo.intent; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +public class IntentSearchVo { + + private String custCode; + private String serviceGroup; + private String category; + private String intentName; + private String serviceGroupUpper; + private String oprMngCode; + private String oprMngCodeUpper; + + public IntentSearchVo(){}; + @Builder + public IntentSearchVo(String custCode, String serviceGroup, String category, String intentName, String serviceGroupUpper) { + this.custCode = custCode; + this.serviceGroup = serviceGroup; + this.category = category; + this.intentName = intentName; + this.serviceGroupUpper = serviceGroupUpper; + } + + public String getCustCode() { + return custCode; + } + + public void setCustCode(String custCode) { + this.custCode = custCode; + } + + public String getServiceGroup() { + return serviceGroup; + } + + public void setServiceGroup(String serviceGroup) { + this.serviceGroup = serviceGroup; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getIntentName() { + return intentName; + } + + public void setIntentName(String intentName) { + this.intentName = intentName; + } + + public String getServiceGroupUpper() { + return serviceGroupUpper; + } + + public void setServiceGroupUpper(String serviceGroupUpper) { + this.serviceGroupUpper = serviceGroupUpper; + } + + public String getOprMngCode() { + return this.oprMngCode = this.custCode + "_RCP_" + this.serviceGroup; + } + + public String getOprMngCodeUpper() { + return this.oprMngCodeUpper = this.custCode + "_RCP_" + this.serviceGroupUpper; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/selectIntentEntityNameListVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/selectIntentEntityNameListVo.java new file mode 100644 index 0000000..1742a77 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/selectIntentEntityNameListVo.java @@ -0,0 +1,9 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo; + +import lombok.Data; + +@Data +public class selectIntentEntityNameListVo { + private Long seq; + private String entityName; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/ExcelSynonymListVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/ExcelSynonymListVo.java new file mode 100644 index 0000000..6ebd9a2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/ExcelSynonymListVo.java @@ -0,0 +1,11 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo.synonym; + +import lombok.Data; + +@Data +public class ExcelSynonymListVo { + + private String idivWord; + private String repWord; + private String synonymWords; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/SelectSynonymList2Vo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/SelectSynonymList2Vo.java new file mode 100644 index 0000000..0f082b3 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/SelectSynonymList2Vo.java @@ -0,0 +1,22 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo.synonym; + +import com.icomsys.main_vm.db.jpa.entity.conversation.TbSynonymWord; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +public class SelectSynonymList2Vo { + + private String idivWord; + private String repWord; + private String synonymWords; + + @Builder + public SelectSynonymList2Vo(String idivWord, String repWord, String synonymWords) { + this.idivWord = idivWord; + this.repWord = repWord; + this.synonymWords = synonymWords; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/SelectSynonymListVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/SelectSynonymListVo.java new file mode 100644 index 0000000..75fe07b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/SelectSynonymListVo.java @@ -0,0 +1,44 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo.synonym; + +import lombok.*; + +@Getter +@Setter +@NoArgsConstructor +public class SelectSynonymListVo { + + private Long seq; + private String idivWord; + private String repWord; + private String synonymSeqs; + private String synonymWords; + + @Builder + public SelectSynonymListVo(Long seq, String idivWord, String repWord, String synonymSeqs, String synonymWords) { + this.seq = seq; + this.idivWord = idivWord; + this.repWord = repWord; + this.synonymSeqs = synonymSeqs; + this.synonymWords = synonymWords; + } + + public SelectSynonymListVo toSelect(String synonymWords, String synonymSeqs) { + return SelectSynonymListVo.builder() + .seq(this.seq) + .idivWord(this.idivWord) + .repWord(this.repWord) + .synonymWords(synonymWords) + .synonymSeqs(synonymSeqs) + .build(); + } + + public SelectSynonymList2Vo toExcel(String synonymWords) { + return SelectSynonymList2Vo.builder() + .idivWord(this.idivWord) + .repWord(this.repWord) + .synonymWords(synonymWords) + .build(); + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/SynonymProcess.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/SynonymProcess.java new file mode 100644 index 0000000..6dec591 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/conversation/vo/synonym/SynonymProcess.java @@ -0,0 +1,61 @@ +package com.icomsys.main_vm.biz.rcp.conversation.vo.synonym; + +import com.icomsys.main_vm.db.jpa.repo.system.TbSynonymMasterRepo; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbSynonymWord; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.modelmapper.ModelMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +@Service +@RequiredArgsConstructor +@Slf4j +public class SynonymProcess { + + private final ModelMapper modelMapper; + @Autowired + private TbSynonymMasterRepo tbSynonymMasterRepo; + + //JPA 연관관계 방식 + public List selectSynonymList2(String opr, String repWord) { + Long startSec = System.currentTimeMillis(); + List resulttest = tbSynonymMasterRepo.findByUseYnAndOprMngCode("Y", opr) + .stream() + .map(e -> modelMapper.map(e, SelectSynonymList2Vo.class)) + .collect(Collectors.toList()); + Long endtSec = System.currentTimeMillis(); +// log.info("resultd test = {}", new Gson().toJson(resulttest)); + + log.info("time jpa = {}", endtSec-startSec); + return resulttest; + } + + //굳이 조이닝을 쓰겠다면. + /*public List selectSynonymList3(String opr, String repWord) { + Long startSec = System.currentTimeMillis(); + List result = new ArrayList<>(); + selectSynonymList2(opr, repWord).stream().filter(e -> e.getTbSynonymWords() != null).forEach(e -> { + for (TbSynonymWord f : e.getTbSynonymWords()) { + if (f.getUseYn().equals("Y")) { + SelectSynonymListVo add = new SelectSynonymListVo(); + add.setSeq(e.getSeq()); + add.setRepWord(e.getRepWord()); + add.setIdivWord(e.getIdivWord()); + add.setSynonymSeqs(e.getTbSynonymWords().stream().filter(g -> g.getUseYn().equals("Y")).map(h -> h.getSeq().toString()).collect(Collectors.joining(","))); + add.setSynonymWords(e.getTbSynonymWords().stream().filter(g -> g.getUseYn().equals("Y")).map(h -> h.getSynonymWord()).collect(Collectors.joining(","))); + result.add(add); + } + } + }); + Long endtSec = System.currentTimeMillis(); + + log.info("time = {}", endtSec-startSec); + return result.stream().distinct().collect(Collectors.toList()); + }*/ + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/intentAnalysis/service/IntentAnalysisService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/intentAnalysis/service/IntentAnalysisService.java new file mode 100644 index 0000000..1852363 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/intentAnalysis/service/IntentAnalysisService.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.biz.rcp.intentAnalysis.service; + +import com.icomsys.main_vm.db.mybatis.alias.MonitoringIntentAnalysisVO; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; + +@Service +public interface IntentAnalysisService { + List selectIntentNameList(MonitoringIntentAnalysisVO vo); + String selectServiceGroupUpper(MonitoringIntentAnalysisVO vo); + String selectOprByServiceCode(MonitoringIntentAnalysisVO vo); + List selectIntentAnalysisList(MonitoringIntentAnalysisVO vo); + int selectIntentAnalysisListCnt(MonitoringIntentAnalysisVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/intentAnalysis/service/impl/IntentAnalysisServiceImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/intentAnalysis/service/impl/IntentAnalysisServiceImpl.java new file mode 100644 index 0000000..c06c2d7 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/intentAnalysis/service/impl/IntentAnalysisServiceImpl.java @@ -0,0 +1,42 @@ +package com.icomsys.main_vm.biz.rcp.intentAnalysis.service.impl; + +import com.icomsys.main_vm.biz.rcp.intentAnalysis.service.IntentAnalysisService; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringIntentAnalysisVO; +import com.icomsys.main_vm.db.mybatis.mapper.IntentAnalysisMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; + +@Service +public class IntentAnalysisServiceImpl implements IntentAnalysisService { + + @Autowired + private IntentAnalysisMapper intentAnalysisMapper; + + @Override + public List selectIntentNameList(MonitoringIntentAnalysisVO vo) { + return intentAnalysisMapper.selectIntentNameList(vo); + } + + @Override + public String selectServiceGroupUpper(MonitoringIntentAnalysisVO vo) { + return intentAnalysisMapper.selectServiceGroupUpper(vo); + } + + @Override + public String selectOprByServiceCode(MonitoringIntentAnalysisVO vo) { + return intentAnalysisMapper.selectOprByServiceCode(vo); + } + + @Override + public List selectIntentAnalysisList(MonitoringIntentAnalysisVO vo) { + return intentAnalysisMapper.selectIntentAnalysisList(vo); + } + + @Override + public int selectIntentAnalysisListCnt(MonitoringIntentAnalysisVO vo) { + return intentAnalysisMapper.selectIntentAnalysisListCnt(vo); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/SttCode.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/SttCode.java new file mode 100644 index 0000000..a9e689e --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/SttCode.java @@ -0,0 +1,27 @@ +package com.icomsys.main_vm.biz.rcp.learningTest; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum SttCode { + SUCCESS(200, "SUCCESS", "성공"), + FAIL_OPEN(400, "ASR_SVC_OPEN ERROR","STT 연결에 실패하였습니다."), + FAIL_AUTH(401, "ASR_SVC_AUTH ERROR","STT 권한설정 실패하였습니다."), + FAIL_SET_TRANS(402, "ASR_SVC_SET_TRANS ERROR","STT 트랜젝션 설정에 실패하였습니다."), + FAIL_SET_SOCKTIME(403, "ASR_SVC_SET_SOCKTIME ERROR","STT 소켓 타임에 실패하였습니다."), + FAIL_RECG_OPEN(404, "ASR_SVC_RECG_OPEN ERROR","STT RECG 연결에 실패하였습니다."), + FAIL_RECG_LIST_VIEW(405, "ASR_SVC_RECG_LIST_VIEW ERROR","STT_LIST_VIEW 실패하였습니다."), + FAIL_RECG_SET_LIST(406, "ASR_SVC_RECG_SET_LIST ERROR","STT_LIST 설정에 실패하였습니다."), + FAIL_RECG_SET_EPD_TIMEOUT(407, "ASR_SVC_RECG_SET_EPD_TIMEOUT ERROR","STT EPD TIMEOUT 설정에 실패하였습니다."), + FAIL_RECG_SET_EPD_MARGIN(408, "ASR_SVC_RECG_SET_EPD_MARGIN ERROR","STT EPD MARGIN 설정에 실패하였습니다."), + FAIL_EPD_NOT_FOUND(409, "ASR_SVC_EPD_NOT_FOUND ERROR","STT 인식결과 EPD를 찾지 못하였습니다."); + + + + + private int resultCode; + private String errorCode; + private String resultMessage; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/UploadUtil.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/UploadUtil.java new file mode 100644 index 0000000..496cc91 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/UploadUtil.java @@ -0,0 +1,80 @@ +package com.icomsys.main_vm.biz.rcp.learningTest; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +import javax.servlet.ServletContext; +import javax.servlet.http.Part; + +@Slf4j +public class UploadUtil { + + //@Value("${file.uploadpath}") + private String uploadPath; + private ServletContext app; + + /* 생성 메서드 */ + public static UploadUtil create(ServletContext app) { + UploadUtil uploadUtil = new UploadUtil(); + uploadUtil.setApp(app); + uploadUtil.setUploadPath("/logs/was/aicb/cinnamon_ui/files/stttest/"); + + return uploadUtil; + } + + private void setApp(ServletContext app) { + this.app = app; + } + private void setUploadPath(String realPath) { + this.uploadPath = realPath; + } + + /* 파일 저장 */ + public void saveFiles(Part filePart, String folderPath) { + + String realPath = uploadPath + File.separator + folderPath; + String filePath = realPath + File.separator + filePart.getSubmittedFileName(); + log.info("realPath : " + realPath); + try( + InputStream fis = filePart.getInputStream(); + OutputStream fos = new FileOutputStream(filePath);) + { + byte[] buf = new byte[1024]; + int len = 0; + + while((len = fis.read(buf, 0, 1024)) != -1) + fos.write(buf, 0, len); + + } catch (IOException e) { + e.printStackTrace(); + } + + } + + /*/upload 하위 폴더 경로 생성 */ + public String createFilePath() { + LocalDateTime date = LocalDateTime.now(); + + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); + + createFolders(formatter.format(date)); + + return formatter.format(date); + } + + private void createFolders(String paths) { + + File folders = new File(uploadPath, paths); + + if(!folders.exists()) + folders.mkdirs(); + } +} \ No newline at end of file diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestInSttController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestInSttController.java new file mode 100644 index 0000000..9174908 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestInSttController.java @@ -0,0 +1,112 @@ +package com.icomsys.main_vm.biz.rcp.learningTest.controller; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeRes; +import com.icomsys.main_vm.biz.rcp.learningTest.SttCode; +import com.icomsys.main_vm.biz.rcp.learningTest.UploadUtil; +import com.icomsys.main_vm.biz.rcp.learningTest.service.LearningTestInSttService; +import com.icomsys.main_vm.db.jpa.entity.system.TbBotCommonCode; +import com.icomsys.main_vm.db.jpa.repo.oprManage.TbBotTtsTagRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbBotCommonCodeRepo; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.annotation.Resource; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.Part; +import java.io.IOException; +import java.util.List; + + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/learningTest") +public class LearningTestInSttController { + + @Value("${feign.url.selvas}") + private String sttServer; + + @Value("${feign.url.sttport}") + private int sttPort; + + @Resource + MappingJackson2JsonView ajaxMainView; + + private final LearningTestInSttService learningTestInSttService; + private final TbBotTtsTagRepo tbBotTtsTagRepo; + private final TbBotCommonCodeRepo tbBotCommonCodeRepo; + + @GetMapping("/stttest/manage.do") + public String stttest(){ + return "/adm/rcp/learningTest/stttest"; + } + + @ResponseBody + @RequestMapping(value = "/stttest/sttproduct.do",method = RequestMethod.GET) + public DslDataTableRes sttProduct(HttpServletRequest request, @RequestParam String custCode, String serviceGroup) { + + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + UserVo userVo = new UserVo(); + userVo.setRoleVal(resultVO.getAuthCode()); + SystemCommoncodeReq dto = new SystemCommoncodeReq(); + dto.setUserVo(userVo); + dto.setServiceGroup(serviceGroup); + dto.setOprmngCode(custCode + "_RCP_" + serviceGroup); + dto.setCodeType("STT_PRODUCT"); + QueryResults result = tbBotCommonCodeRepo.SystemCommoncodeProductList(dto); + + return new DslDataTableRes(result); + } + + @RequestMapping(value = "/stttest/call-stt.do", method = RequestMethod.POST) + //@ResponseBody + public ModelAndView callSttapi(HttpServletRequest request) throws ServletException, IOException { + ModelAndView mv = new ModelAndView(ajaxMainView); + + request.setCharacterEncoding("UTF-8"); + + UploadUtil uploadUtil = UploadUtil.create(request.getServletContext()); + + List parts = (List) request.getParts(); + + String fileName = null; + + for(Part part : parts) { + + if(!part.getName().equals("upFile")) continue; //f로 들어온 Part가 아니면 스킵 + if(part.getSubmittedFileName().equals("")) continue; //업로드 된 파일 이름이 없으면 스킵 + + fileName = part.getSubmittedFileName(); + + uploadUtil.saveFiles(part, uploadUtil.createFilePath()); + + } + +// String result = learningTestInSttService.doTestSvc("172.31.34.52",9999,fileName, 0 ); + String result = learningTestInSttService.doTestSvc(sttServer,sttPort,fileName, 0 ); + SttCode stt = learningTestInSttService.sttCode; + mv.addObject("code", stt.getResultCode()); + + if(stt == SttCode.SUCCESS){ + mv.addObject("result", result); + }else{ + mv.addObject("result", stt.getResultMessage()); + } + + log.info(String.valueOf(stt.getResultCode())); + log.info(String.valueOf(stt.getResultMessage())); + + return mv; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestInTtsController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestInTtsController.java new file mode 100644 index 0000000..c86d7a2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestInTtsController.java @@ -0,0 +1,66 @@ + +package com.icomsys.main_vm.biz.rcp.learningTest.controller; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeRes; +import com.icomsys.main_vm.biz.rcp.learningTest.service.LearningTestInTtsService; +import com.icomsys.main_vm.db.jpa.entity.system.TbBotCommonCode; +import com.icomsys.main_vm.db.jpa.repo.system.TbBotCommonCodeRepo; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/learningTest") +public class LearningTestInTtsController { + + private final TbBotCommonCodeRepo tbBotCommonCodeRepo; + private final MappingJackson2JsonView ajaxMainView; + private final LearningTestInTtsService learningTestInTtsService; + + @GetMapping("/ttstest/manage.do") + public String ttstest(){ + return "/adm/rcp/learningTest/ttstest"; + } + + + @ResponseBody + @RequestMapping(value = "/ttstest/ttsproduct.do",method = RequestMethod.GET) + public DslDataTableRes ttsProduct(HttpServletRequest request, @RequestParam String custCode, String serviceGroup) { + + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + UserVo userVo = new UserVo(); + userVo.setRoleVal(resultVO.getAuthCode()); + SystemCommoncodeReq dto = new SystemCommoncodeReq(); + dto.setUserVo(userVo); + dto.setServiceGroup(serviceGroup); + dto.setOprmngCode(custCode + "_RCP_" + serviceGroup); + dto.setCodeType("TTS_PRODUCT"); + QueryResults result = tbBotCommonCodeRepo.SystemCommoncodeProductList(dto); + + return new DslDataTableRes(result); + } + + @RequestMapping(value = "/ttstest/play.do",method = RequestMethod.POST) + @ResponseBody + public ModelAndView ttsTest(@RequestBody Map tMap) { + ModelAndView mv = new ModelAndView(ajaxMainView); + String path = learningTestInTtsService.ttsTestApi(tMap); + mv.addObject("path",path); + return mv; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestInferenceController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestInferenceController.java new file mode 100644 index 0000000..01bd907 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestInferenceController.java @@ -0,0 +1,60 @@ +package com.icomsys.main_vm.biz.rcp.learningTest.controller; + +import com.icomsys.main_vm.biz.rcp.learningTest.service.LearningTestInferenceService; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.ClassPathResource; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/learningTest") +public class LearningTestInferenceController { + + @Resource + MappingJackson2JsonView ajaxMainView; + + private final LearningTestInferenceService learningTestInferenceService; + + @GetMapping("/inference/manage.do") + public String inference(){ + return "/adm/rcp/learningTest/inference"; + } + + /** + * @Name inferenceTest + * @Description 의도추론테스트 업로드, 다운로드 + * @Author 장동희 + * @CreateDate 2023. 3. 6. + */ + @RequestMapping(value ="/inference/inferenceTest.do",method = RequestMethod.POST) + public void inferenceTest(MultipartHttpServletRequest request, HttpServletResponse response, @RequestParam Map dataMap) throws Exception { + HashMap eMap = new HashMap(); + eMap.putAll(dataMap); + try { + learningTestInferenceService.testInferenceExcel(request, response, eMap); + } catch (Exception e) { + log.error("error download excel", e); + } + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestSimulatorController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestSimulatorController.java new file mode 100644 index 0000000..8f6bb9f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/controller/LearningTestSimulatorController.java @@ -0,0 +1,75 @@ +package com.icomsys.main_vm.biz.rcp.learningTest.controller; + +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeRes; +import com.icomsys.main_vm.biz.rcp.learningTest.service.LearningTestSimulatorService; +import com.icomsys.main_vm.biz.rcp.learningTest.vo.LearningTestDummyApiVO; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import java.util.Map; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/learningTest") +public class LearningTestSimulatorController { + + private final LearningTestSimulatorService learningTestSimulatorService; + + @GetMapping("/simulator/manage.do") + public String SimulatorView(){ + return "/adm/rcp/learningTest/simulator"; + } + + /** + * @Name callSimapi + * @Description 시뮬레이터 API 호출 + * @Author 문다운 + * @CreateDate 2022. 6. 20. + */ + @RequestMapping(value = "/simulator/call-api.do", method = RequestMethod.GET) + @ResponseBody + public ModelAndView callSimapi(HttpServletRequest request, @RequestParam String oprMngCode, String callId, String token, String userTalk, String methodType, String dnis) { + + return learningTestSimulatorService.callSimulator(oprMngCode, callId, token, userTalk, methodType, dnis); + } + + + /** + * @Name custCallNumList + * @Description 전화 목록 가져오기 + * @Author dongheejang + * @CreateDate 2023. 3. 14. + */ + @RequestMapping(value = "/simulator/custCallNumlist.do", method = RequestMethod.POST) + @ResponseBody + public DslDataTableRes custCallNumList (HttpServletRequest request, @RequestBody Map dataMap) { + + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + QueryResults result = learningTestSimulatorService.selectCustCallNum(resultVO, dataMap); + return new DslDataTableRes(result); + } + + @GetMapping("/simulator/select/dummy") + @ResponseBody + public LearningTestDummyApiVO selectDummyApi(@RequestParam(name = "seq", required = true)Long apiSeq) throws CustomNotFoundException { + + return learningTestSimulatorService.selectDummyApi(apiSeq); + } + + @PostMapping("/simulator/save/dummy") + @ResponseBody + public int saveDummyApi(@RequestBody LearningTestDummyApiVO dto) throws CustomNotFoundException, CustomBadRequestException { + + return learningTestSimulatorService.saveDummyApi(dto); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestInSttService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestInSttService.java new file mode 100644 index 0000000..c313c02 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestInSttService.java @@ -0,0 +1,316 @@ +package com.icomsys.main_vm.biz.rcp.learningTest.service; + +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.NlpWisenutService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpSimulationResult; +import com.icomsys.main_vm.biz.rcp.learningTest.SttCode; +import com.selvasai.selvystt.Lvcsr_Lib; +//import com.selvasai.selvystt.model.LVCSR_CHANNEL_STAT; +import com.selvasai.selvystt.model.*; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.sl.draw.geom.Guide; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.domain.Page; +import org.springframework.stereotype.Service; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.annotation.Resource; +import java.io.DataInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.UUID; + +@Service +@Slf4j +@RequiredArgsConstructor +public class LearningTestInSttService { + public SttCode sttCode; + public String doTestSvc(String cHost, int uPort, String fileName, int ModelID) { + Lvcsr_Lib lib = new Lvcsr_Lib(); + LVCSR_RESULT ret = null; + + LocalDateTime date = LocalDateTime.now(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); + + String pcmPath = "/logs/was/aicb/cinnamon_ui/files/stttest/" + formatter.format(date) + File.separator; + + try { + ret = lib.ASR_SVC_OPEN(cHost, uPort); + if (ret == LVCSR_RESULT.LVCSR_FAIL) { + log.info("[ASR_SVC_OPEN ERROR] : " + ret); + sttCode = SttCode.FAIL_OPEN; + return "ASR_SVC_OPEN ERROR"; + } else if (ret == LVCSR_RESULT.LVCSR_SUCCESS) { + log.info("[ASR_SVC_OPEN RETURN] : " + ret); + } + + LVCSR_DATA_AUTHENTICATION authInfo = new LVCSR_DATA_AUTHENTICATION(); + String pAuthentication = "ModelUpdate"; + authInfo.setAuthentication(pAuthentication); + ret = lib.ASR_SVC_SET_AUTH(authInfo); + if (ret == LVCSR_RESULT.LVCSR_FAIL) { + log.info("[ASR_SVC_AUTH RETURN] : " + ret); + sttCode = SttCode.FAIL_AUTH; + return "ASR_SVC_AUTH RETURN"; + } else if (ret == LVCSR_RESULT.LVCSR_SUCCESS) { + log.info("[ASR_SVC_AUTH RETURN] : " + ret + " ID: " + pAuthentication); + } + + LVCSR_DATA_TRANSACTION transInfo = new LVCSR_DATA_TRANSACTION(); + UUID TransactionId = UUID.randomUUID(); + String pTransaction = pAuthentication + "_" + TransactionId.toString(); + transInfo.setTransactionId(pTransaction); + ret = lib.ASR_SVC_SET_TRANS(transInfo); + if (ret == LVCSR_RESULT.LVCSR_FAIL) { + log.info("[ASR_SVC_SET_TRANS RETURN] : " + ret); + sttCode = SttCode.FAIL_SET_TRANS; + return "ASR_SVC_SET_TRANS RETURN"; + } else if (ret == LVCSR_RESULT.LVCSR_SUCCESS) { + log.info("[ASR_SVC_SET_TRANS RETURN] : " + ret); + } + + LVCSR_DATA_SOCKTIMEOUT socktimeinfo = new LVCSR_DATA_SOCKTIMEOUT(); + socktimeinfo.setConnTimeOut(10); + socktimeinfo.setReadTimeOut(240); + ret = lib.ASR_SVC_SET_SOCKTIME(socktimeinfo); + if (ret == LVCSR_RESULT.LVCSR_FAIL) { + log.info("[ASR_SVC_SET_SOCKTIME ERROR] : " + ret); + sttCode = SttCode.FAIL_SET_SOCKTIME; + return "ASR_SVC_SET_SOCKTIME ERROR"; + } else if (ret == LVCSR_RESULT.LVCSR_SUCCESS) { + log.info("[ASR_SVC_SET_SOCKTIME RETURN] : " + ret); + } + + ret = lib.ASR_SVC_RECG_OPEN(); + if (ret == LVCSR_RESULT.LVCSR_FAIL) { + log.info("[ASR_SVC_RECG_OPEN ERROR] : " + ret); + sttCode = SttCode.FAIL_RECG_OPEN; + return "ASR_SVC_RECG_OPEN ERROR"; + } else if (ret == LVCSR_RESULT.LVCSR_SUCCESS) { + log.info("[ASR_SVC_RECG_OPEN RETURN] : " + ret); + } + + LVCSR_DATA_MODEL modelinfo = new LVCSR_DATA_MODEL(); + ret = lib.ASR_SVC_RECG_LIST_VIEW(modelinfo); + if (ret == LVCSR_RESULT.LVCSR_FAIL) { + log.info("[ASR_SVC_RECG_LIST_VIEW ERROR] : " + ret); + sttCode = SttCode.FAIL_RECG_LIST_VIEW; + return "ASR_SVC_RECG_LIST_VIEW ERROR"; + } else if (ret == LVCSR_RESULT.LVCSR_SUCCESS) { + log.info("[ASR_SVC_RECG_LIST_VIEW RETURN] : " + ret); + } + if(modelinfo.getModelCnt() > 0) { + long rsltCnt = modelinfo.getModelCnt(); + for(int i=0 ; i < rsltCnt ; i++) { + long nModelID = modelinfo.getModelInfo()[i].getModelID(); + String pModelName = modelinfo.getModelInfo()[i].getModelName(); + long nModelType = modelinfo.getModelInfo()[i].getModelType(); + long nSamplingRate = modelinfo.getModelInfo()[i].getSamplingRate(); + long nKwdCnt = modelinfo.getModelInfo()[i].getKwdCnt(); + log.info(String.format("MODEL 결과 #%d[%d, %s, %d, %d]", i+1, nModelID, pModelName, nModelType, nSamplingRate)); + + for(int j=0 ; j < nKwdCnt ; j++) { + long nKwdID = modelinfo.getModelInfo()[i].getKwdInfo()[j].getKwdID(); + String pKwdName = modelinfo.getModelInfo()[i].getKwdInfo()[j].getKwdName(); + log.info(String.format("KWD 결과 #%d:#%d[%d, %s]", i+1, j+1, nKwdID, pKwdName)); + } + } + } + + + + LVCSR_DATA_INFO datainfo = new LVCSR_DATA_INFO(); + datainfo.setModelId(ModelID); + datainfo.setKwdId(-1); + datainfo.setCodecType(LVCSR_TYPE_CODEC.CODEC_RAW_8K); + datainfo.setCharSet(LVCSR_SET_CHARSET.CHAR_SET_EUCKR); + datainfo.setEpdUsed(LVCSR_USED_EPD.SERVER_EPD_USED_ON); + datainfo.setScoreUsed(LVCSR_USED_SCORE.SCORE_USED_ON); + datainfo.setAsyncMidRstUsed(LVCSR_USED_ASYNC_MID_RESULT.ASYNC_MIDRST_USED_ON); + ret = lib.ASR_SVC_RECG_SET_LIST(datainfo); + if (ret == LVCSR_RESULT.LVCSR_FAIL) { + log.info("[ASR_SVC_RECG_SET_LIST ERROR] : " + ret); + sttCode = SttCode.FAIL_RECG_SET_LIST; + return "ASR_SVC_RECG_SET_LIST ERROR"; + } else if (ret == LVCSR_RESULT.LVCSR_SUCCESS) { + log.info("[ASR_SVC_RECG_SET_LIST RETURN] : " + ret); + } + + LVCSR_DATA_TIMEOUT datatimeout = new LVCSR_DATA_TIMEOUT(); + datatimeout.setStartTimeout(6); + datatimeout.setDurationTimeout(300); + ret = lib.ASR_SVC_RECG_SET_EPD_TIMEOUT(datatimeout); + if (ret == LVCSR_RESULT.LVCSR_FAIL) { + log.info("[ASR_SVC_RECG_SET_EPD_TIMEOUT ERROR] : " + ret); + sttCode = SttCode.FAIL_RECG_SET_EPD_TIMEOUT; + return "ASR_SVC_RECG_SET_EPD_TIMEOUT ERROR"; + } else if (ret == LVCSR_RESULT.LVCSR_SUCCESS) { + log.info("[ASR_SVC_RECG_SET_EPD_TIMEOUT RETURN] : " + ret); + } + + LVCSR_DATA_MARGIN datamargin = new LVCSR_DATA_MARGIN(); + datamargin.setEpdMargin(0.7f); + ret = lib.ASR_SVC_RECG_SET_EPD_MARGIN(datamargin); + if (ret == LVCSR_RESULT.LVCSR_FAIL) { + log.info("[ASR_SVC_RECG_SET_EPD_MARGIN ERROR] : " + ret); + sttCode = SttCode.FAIL_RECG_SET_EPD_MARGIN; + return "ASR_SVC_RECG_SET_EPD_MARGIN ERROR"; + } else if (ret == LVCSR_RESULT.LVCSR_SUCCESS) { + log.info("[ASR_SVC_RECG_SET_EPD_MARGIN RETURN] : " + ret); + } + + FileInputStream fileInputStream = null; + DataInputStream dataInputStream = null; + try { + File file = new File(pcmPath + fileName); + fileInputStream = new FileInputStream(file); + dataInputStream = new DataInputStream(fileInputStream); + + byte[] buff = new byte[1600]; //버퍼 크기는 생성되는 크기에 따라 설정 가능 + + LVCSR_EPD_INFO epdinfo = new LVCSR_EPD_INFO(); + int nLen = 0; + int bButtonComplete = 0; + + while ( (nLen = dataInputStream.read(buff)) != -1 ) { + ret = lib.ASR_SVC_RECG_DATA(buff, nLen, bButtonComplete, epdinfo); + if (ret == LVCSR_RESULT.LVCSR_SUCCESS) { + if (LVCSR_EPD_STAT.DURATION_TIME_OVER == epdinfo.getOutput() || LVCSR_EPD_STAT.EPD_FOUND == epdinfo.getOutput()) { + log.info("[ASR_SVC_RECG_DATA RECV] : " + epdinfo.getOutput()); + break; + } + if (LVCSR_EPD_STAT.RECEIV_OK == epdinfo.getOutput() || LVCSR_EPD_STAT.RECEIV_OK_SPEECH == epdinfo.getOutput() || LVCSR_EPD_STAT.SECTION_FOUND == epdinfo.getOutput()) { + LVCSR_RECOG_MID_RESULT resultmidinfo = new LVCSR_RECOG_MID_RESULT(); + ret = lib.ASR_SVC_RECG_MID_PROC(resultmidinfo); + if (ret == LVCSR_RESULT.LVCSR_FAIL) { + log.info(String.format("인식 결과 REJCT2 [%s]", ret)); + } else if (ret == LVCSR_RESULT.LVCSR_SUCCESS) { + log.info("[ASR_SVC_RECG_MID_PROC RETURN] : " + ret + " 문장길이:" + resultmidinfo.getResultLen() + " 개수:" + resultmidinfo.getCount()); + if(resultmidinfo.getResultLen() > 0) { + log.info(String.format("인식 중간 결과 문장 [%s]", resultmidinfo.getStrResult())); + } + long rsltCnt = resultmidinfo.getCount(); + if(rsltCnt > 0) { + for(int i=0 ; i < rsltCnt ; i++) { + log.info(String.format("인식 중간 결과 #%d[%s, %s, %d, %d]", i+1, fileName, resultmidinfo.getDataResult()[i].getStrToken(), resultmidinfo.getDataResult()[i].getStart(), resultmidinfo.getDataResult()[i].getEnd())); + + long phCnt = resultmidinfo.getDataResult()[i].getResultPhCnt(); + for(int j=0 ; j < phCnt ; j++) { + String phonemeResultStr = resultmidinfo.getDataResult()[i].getResultPhoneme()[j].getStrPhToken(); + if (phonemeResultStr != null) { + log.info(String.format("인식 중간 결과[#%d]#%d[%s, %d]", i+1, j+1, resultmidinfo.getDataResult()[i].getResultPhoneme()[j].getStrPhToken(), resultmidinfo.getDataResult()[i].getResultPhoneme()[j].getDuration())); + } else { + break; + } + } + } + } + } + log.info("[ASR_SVC_RECG_DATA RECV] : " + epdinfo.getOutput()); + continue; + } + } + } + dataInputStream.close(); + fileInputStream.close(); + + if (-1 == nLen || 0 == nLen) { + bButtonComplete = 1; + lib.ASR_SVC_RECG_DATA(buff, 0, bButtonComplete, epdinfo); + if (LVCSR_EPD_STAT.EPD_FOUND != epdinfo.getOutput()) { + log.info(String.format("인식 결과 EPD Not Found [%s]", fileName)); + sttCode = SttCode.FAIL_EPD_NOT_FOUND; + return "인식 결과 EPD Not Found"; + } else { + log.info("[ASR_SVC_RECG_DATA RECV] : " + epdinfo.getOutput()); + } + } + + } catch ( IOException e ) { + throw e; + } finally { + if ( dataInputStream != null ) try { dataInputStream.close(); } catch (Exception e) { } + if ( fileInputStream != null ) try { fileInputStream.close(); } catch (Exception e) { } + } + + LVCSR_RECOG_RESULT resultinfo = new LVCSR_RECOG_RESULT(); + LVCSR_RESULT proc_ret = lib.ASR_SVC_RECG_STR_PROC(resultinfo); + if (proc_ret == LVCSR_RESULT.LVCSR_FAIL) { + log.info(String.format("인식 결과 REJCT2 [%s]", fileName)); + return "인식 결과 REJCT2 [%s]" + fileName; + } else if (proc_ret == LVCSR_RESULT.LVCSR_SUCCESS) { + log.info("[ASR_SVC_RECG_PROC RETURN] : " + ret + " 문장길이:" + resultinfo.getResultLen() + " 개수:" + resultinfo.getCount() + " ADDR 사용여부:" + resultinfo.getADDRUsed() + " KWD 개수:" + resultinfo.getKWDCount()); + long rsltLen = resultinfo.getResultLen(); + if (rsltLen > 0) { + log.info(String.format("인식 결과 [%s] 스코어[%4.3f] 시작ms[%d] 끝ms[%d]", resultinfo.getStrResult(), resultinfo.getConfidScore(), resultinfo.getResultEPD().getStart(), resultinfo.getResultEPD().getEnd())); + sttCode = SttCode.SUCCESS; + return resultinfo.getStrResult(); + } + long rsltCnt = resultinfo.getCount(); + if(rsltCnt > 0) { + for(int i=0 ; i < rsltCnt ; i++) { + log.info(String.format("인식 단어 결과 #%d[%s, %s, %d, %d]", i+1, fileName, resultinfo.getDataResult()[i].getStrToken(), resultinfo.getDataResult()[i].getStart(), resultinfo.getDataResult()[i].getEnd())); + + long phCnt = resultinfo.getDataResult()[i].getResultPhCnt(); + for(int j=0 ; j < phCnt ; j++) { + String phonemeResultStr = resultinfo.getDataResult()[i].getResultPhoneme()[j].getStrPhToken(); + if (phonemeResultStr != null) { + log.info(String.format("인식 음소 결과[#%d]#%d[%s, %d]", i+1, j+1, resultinfo.getDataResult()[i].getResultPhoneme()[j].getStrPhToken(), resultinfo.getDataResult()[i].getResultPhoneme()[j].getDuration())); + } else { + break; + } + } + } + } + + long rsltSentCnt = resultinfo.getSentCount(); + if(rsltSentCnt > 0) { + for(int i=0 ; i < rsltSentCnt ; i++) { + log.info(String.format("문장 결과 #%d[%s, %s, %d, %d]", i+1, fileName, resultinfo.getDataSentResult()[i].getStrToken(), resultinfo.getDataSentResult()[i].getStart(), resultinfo.getDataSentResult()[i].getEnd())); + + long phCnt = resultinfo.getDataSentResult()[i].getResultPhCnt(); + for(int j=0 ; j < phCnt ; j++) { + String phonemeResultStr = resultinfo.getDataSentResult()[i].getResultPhoneme()[j].getStrPhToken(); + if (phonemeResultStr != null) { + log.info(String.format("문장 결과[#%d]#%d[%s, %d]", i+1, j+1, resultinfo.getDataSentResult()[i].getResultPhoneme()[j].getStrPhToken(), resultinfo.getDataSentResult()[i].getResultPhoneme()[j].getDuration())); + } else { + break; + } + } + } + } + + long addrUsed = resultinfo.getADDRUsed(); + if (addrUsed > 0) { + log.info(String.format("주소 결과 보정 유형 [%d] 보정 주소[%s] 기본주소[%s] 상세주소[%s]", resultinfo.getResultADDR().getCorrectType(), resultinfo.getResultADDR().getZipcode(), resultinfo.getResultADDR().getStrMainAddress(), resultinfo.getResultADDR().getStrAuxAddress())); + log.info(String.format("주소 결과 시/도 [%s] 시/군/구 main[%s] 시/군/구 sub[%s] 읍/면/동[%s] 리[%s] 지번[%s] 도로명[%s] 건물번호[%s] POI명[%s]", resultinfo.getResultADDR().getSepAddr().getStrSido(), resultinfo.getResultADDR().getSepAddr().getStrSigunguMain(), resultinfo.getResultADDR().getSepAddr().getStrSigunguSub(), resultinfo.getResultADDR().getSepAddr().getStrDong(), resultinfo.getResultADDR().getSepAddr().getStrLi(), resultinfo.getResultADDR().getSepAddr().getStrJibun(), resultinfo.getResultADDR().getSepAddr().getStrRoadName(), resultinfo.getResultADDR().getSepAddr().getStrBldgNo(), resultinfo.getResultADDR().getSepAddr().getStrPoiName())); + } + + long kwdCnt = resultinfo.getKWDCount(); + if(kwdCnt > 0) { + for(int x=0 ; x < kwdCnt ; x++) { + String kwdToken = resultinfo.getResultKWD()[x].getStrToken().toString(); + log.info(String.format("KWD 결과 #%d[%s, %s, %d, %d, %4.3f]", x+1, kwdToken, resultinfo.getResultKWD()[x].getStrSymbol(), resultinfo.getResultKWD()[x].getStart(), resultinfo.getResultKWD()[x].getEnd(), resultinfo.getResultKWD()[x].getScore())); + } + } + } + + } catch(Exception e) { + System.out.println(e); + } finally { + try { + lib.ASR_SVC_RECG_CLOS(); + } catch(Exception e) { } + try { + lib.ASR_SVC_CLOS(); + } catch(Exception e) { } + } + return ""; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestInTtsService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestInTtsService.java new file mode 100644 index 0000000..96e948e --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestInTtsService.java @@ -0,0 +1,113 @@ +package com.icomsys.main_vm.biz.rcp.learningTest.service; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import selvytts.Pttsnet; + +import java.io.File; +import java.io.IOException; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Map; +import java.util.UUID; + +@Service +@Slf4j +public class LearningTestInTtsService { + + @Value("${feign.url.selvas}") + private String ttsServer; + + @Value("${feign.url.ttsport}") + private String ttsPort; + + @Value("${file.path}") + private String filePath; + + /** + * @Name speechSynthesis + * @Description + * @Author jun + * @CreateDate 2023. 3. 10. + * + * @return + * + * @ChangeDescription + */ + public String ttsTestApi(Map tMap) { + + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + Calendar c1 = Calendar.getInstance(); + + int result = -1; // 0 : 성공, 0 미만 : 실패 + String localFileFolderName = ttsFilepath(sdf.format(c1.getTime())); + String localFilePathName = ttsFileName(); + + String hostIP = ttsServer; + String hostPort = ttsPort; + int connection_timeout = 60; + int read_timeout = 60; + String talkText = (String) tMap.get("talkText"); + String resultFilePath = localFileFolderName + "/" + localFilePathName; + String pHighlight = null; + String pLipsync = null; + int nLanguage = 0; + int nSpeakerid = 8; + int sformat = Pttsnet.PTTSNET_FMT8K_16BIT_WAVE; // 16bit Linear PCM + int pitch = Integer.parseInt((String) tMap.get("pitch")); + int speed = Integer.parseInt((String) tMap.get("speed")); + int volume = Integer.parseInt((String) tMap.get("volume")); + int nFlag = 0x00; + int content_type = Pttsnet.PTTSNET_CONTENT_PLAIN; + int charset = Pttsnet.PTTSNET_CHARSET_UTF8; + int vc_type = -1; + String audioFile = null; + int audio_offset = Pttsnet.PTTSNET_AUDIO_MIX; + + + File Folder = new File(localFileFolderName); + if (!Folder.exists()) { + try { + Folder.mkdirs(); + } catch (Exception e) { + log.debug("error_mkdir"); + e.getStackTrace(); + } + } + + try { + result = new Pttsnet().PTTSNET_FILE_A_EX(hostIP, hostPort, connection_timeout, read_timeout, talkText + , resultFilePath, pHighlight, pLipsync, nLanguage, nSpeakerid, sformat, pitch + , speed, volume, nFlag, content_type, charset, vc_type, audioFile, audio_offset); + } catch (IOException ex) { + ex.printStackTrace(); + } + + return result == 0 ? serverFilepath(localFilePathName, sdf.format(c1.getTime())) : ""; + } + + private String ttsFilepath(String date) { + return filePath + "ttstest/" + date; + } + + private String ttsFileName() { + return UUID.randomUUID().toString().replaceAll("-", "") + ".wav"; + } + + private String serverFilepath(String fileName, String date) { + InetAddress local; + String ip = ""; + try { + local = InetAddress.getLocalHost(); + ip = local.getHostAddress(); + } catch (UnknownHostException e1) { + e1.printStackTrace(); + } + + return "http://" + ip + ":8050/files/ttstest/" + date +"/" + fileName; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestInferenceService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestInferenceService.java new file mode 100644 index 0000000..fea7c5d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestInferenceService.java @@ -0,0 +1,246 @@ +package com.icomsys.main_vm.biz.rcp.learningTest.service; + +import com.icomsys.main_vm.biz.advice.excep.CustomRuntimeException; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.NlpWisenutService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.InferenceAPIResponseDTO; +import com.icomsys.main_vm.biz.rcp.learningTest.vo.SelectProjectSettingInfoVO; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.common.util.ExcelUtils; +import com.icomsys.main_vm.db.jpa.repo.conversation.TbProjectSettingRepo; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.RegExUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.xssf.usermodel.XSSFFont; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.*; + +@Service +@Slf4j +@RequiredArgsConstructor +public class LearningTestInferenceService { + + private final TbProjectSettingRepo tbProjectSettingRepo; + private final LogService logService; + + @Resource(name = "nlpWisenutService") + private NlpWisenutService nlpAPIService; + + + /** + * 유저가 업로드한 엑셀 파일 Read + */ + private List readExcelFile(MultipartFile file) throws Exception { + try { + XSSFWorkbook wb = new XSSFWorkbook(file.getInputStream()); + XSSFSheet sheet = wb.getSheetAt(1); + + List testList = new ArrayList(); + for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) { + XSSFRow row = sheet.getRow(i); + if(row == null) continue; + if(row.getCell(0) == null) continue; + + row.getCell(0).setCellType(CellType.STRING); + String v = row.getCell(0).getStringCellValue(); + + // 한글/영문/공백 제외 삭제처리 + // v = StringUtils.replacePattern(v, "[^\\uAC00-\\uD7A30-9a-zA-Z\\s]", ""); + v = RegExUtils.replacePattern(v, "[^\\uAC00-\\uD7A30-9a-zA-Z\\s]", ""); + testList.add(v); + } + + return testList; + } catch (Exception e) { +// throw new Exception("올바른 엑셀 형식이 아닙니다."); + throw new CustomRuntimeException("올바른 엑셀 형식이 아닙니다."); + } + } + + /** + * 의도추론 테스트 API 호출 + */ + private InferenceAPIResponseDTO callInferenceAPI(List testList, HashMap eMap) { + String oprMngCode = eMap.get("oprMngCode") == null ? null : eMap.get("oprMngCode"); + + // NLP API 호출 + SelectProjectSettingInfoVO projectSettingInfo = tbProjectSettingRepo.selectProjectSettingInfo(oprMngCode); + Long projectId = projectSettingInfo.getIfMappingId(); + if (projectId == null) { + return new InferenceAPIResponseDTO(); + } + + // API 관련 데이터 + // FIXME: 고객사(UPLUS) 셀렉트 값 문제 해결 후 아래 코드로 변경 필요. + InferenceAPIResponseDTO responseDTO = nlpAPIService.multiQueryApi(projectId.intValue(), testList.toArray(new String[testList.size()])); + log.info("# API RESULT MAP : {}", responseDTO.toString()); + return responseDTO; + } + + /** + * 의도추론 테스트 API 호출 + */ + private InferenceAPIResponseDTO testCallInferenceAPI() { + + InferenceAPIResponseDTO responseDTO = new InferenceAPIResponseDTO(); + + responseDTO.setReturnCode("000"); + responseDTO.setReturnMsg("Success"); + List rlist = new ArrayList<>(); + + InferenceAPIResponseDTO responseDTO1 = new InferenceAPIResponseDTO(); + responseDTO1.setDialogTaskId("90922661"); + responseDTO1.setDialogTaskName("영업시간 안내"); + responseDTO1.setQuery("오늘 영업하나요?"); + + InferenceAPIResponseDTO responseDTO2 = new InferenceAPIResponseDTO(); + responseDTO2.setDialogTaskId("90923772"); + responseDTO2.setDialogTaskName("주차위치 안내"); + responseDTO2.setQuery("주차장 있나요"); + + rlist.add(responseDTO1); + rlist.add(responseDTO2); + + responseDTO.setData(rlist); + return responseDTO; + } + + /** + * API 응답 결과 엑셀파일 생성 + */ + private XSSFWorkbook createResultExcel(InferenceAPIResponseDTO responseDTO) { + // Excel 파일 생성 + XSSFWorkbook wbResult = new XSSFWorkbook(); + XSSFFont font = wbResult.createFont(); + XSSFSheet resultSheet = wbResult.createSheet("data"); + XSSFRow row = resultSheet.createRow(0); + + // 셀 헤더 + ExcelUtils.createDefaultHeaderCellStyle(row, 0, font, "의도추론 대상 문장"); + ExcelUtils.createDefaultHeaderCellStyle(row, 1, font, "인텐트"); + ExcelUtils.createDefaultHeaderCellStyle(row, 2, font, "인텐트ID"); + + List dataList = responseDTO.getData(); + int rowNum = 1; + for(InferenceAPIResponseDTO data : dataList) { + row = resultSheet.createRow(rowNum++); + ExcelUtils.createDefaultValueCellStyle(row, 0, font, data.getQuery()); + ExcelUtils.createDefaultValueCellStyle(row, 1, font, data.getDialogTaskName()); + ExcelUtils.createDefaultValueCellStyle(row, 2, font, data.getDialogTaskId()); + } + + // 열너비 조정 + resultSheet.autoSizeColumn(0); + resultSheet.setColumnWidth(0, (resultSheet.getColumnWidth(0))+(short)8192); + resultSheet.autoSizeColumn(1); + resultSheet.setColumnWidth(1, (resultSheet.getColumnWidth(1))+(short)4096); + resultSheet.autoSizeColumn(2); + resultSheet.setColumnWidth(2, (resultSheet.getColumnWidth(2))+(short)1024); + + return wbResult; + } + + + public void testInferenceExcel(MultipartHttpServletRequest request, HttpServletResponse response, HashMap eMap) throws Exception { + // excel 관련 + MultipartFile file = request.getFile("upFile"); + + try { + List testList = new ArrayList<>(); + try { + testList = this.readExcelFile(file); + + } catch (CustomRuntimeException e) { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); // xlsx + response.setHeader("Content-disposition", "attachment; filename=" + "notexcel"); + response.setHeader("Content-Transfer-Encoding", "binary"); + response.setHeader("Connection", "close"); + throw new CustomRuntimeException("올바른 엑셀 형식이 아닙니다."); + } + if (CollectionUtils.isEmpty(testList)) { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); // xlsx + response.setHeader("Content-disposition", "attachment; filename=" + "noexapmle"); + response.setHeader("Content-Transfer-Encoding", "binary"); + response.setHeader("Connection", "close"); + throw new CustomRuntimeException("입력된 문장이 없습니다."); + } + if (testList.size() > 200) { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); // xlsx + response.setHeader("Content-disposition", "attachment; filename=" + "sizeover"); + response.setHeader("Content-Transfer-Encoding", "binary"); + response.setHeader("Connection", "close"); + throw new CustomRuntimeException("의도추론 예문 제한을 초과했습니다."); + } + + // file 관련 + Calendar c = Calendar.getInstance(); + c.clear(); + c.setTime(new Date()); + SimpleDateFormat sdfForPath = new SimpleDateFormat("yyyy/MM/"); + + // API 관련 데이터 + InferenceAPIResponseDTO responseDTO = this.callInferenceAPI(testList, eMap); + + // API 관련 데이터 로컬용 +// InferenceAPIResponseDTO responseDTO = this.testCallInferenceAPI(); + + String returnCode = responseDTO.getReturnCode(); + String testResult = StringUtils.equals(returnCode, "000") ? "SUCCESS" : "FAIL"; + + + // 성공 + if (StringUtils.equals(returnCode, "000")) { + eMap.put("testResult", testResult); + + XSSFWorkbook wbResult = this.createResultExcel(responseDTO); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss"); + String now = sdf.format(new Date()); + String resultFileName = URLEncoder.encode("test_inference_result_" + now + ".xlsx", "UTF-8"); + + + resultFileName = resultFileName.replaceAll("/", "").replaceAll("&", "").replaceAll("\\\\", "").replaceAll("/[.]{1,2}", "").replaceAll("\\[.]{1,2}", ""); // Path Manipulation + + String filename = URLEncoder.encode(resultFileName, "UTF-8"); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); // xlsx + response.setHeader("Content-disposition", "attachment; filename=" + filename); + response.setHeader("Content-Transfer-Encoding", "binary"); + response.setHeader("Connection", "close"); + +// XSSFWorkbook wb = new XSSFWorkbook(mf.getInputStream()); + wbResult.write(response.getOutputStream()); + wbResult.close(); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcplearningTestinferencemanage) + .actionCode(String.valueOf((ActionResource.download))) + .serviceGroup(eMap.get("oprMngCode").split("_")[2]) + .build()); + } + // 실패 + else { + eMap.put("testResult", "false"); + } + } catch (CustomRuntimeException e) { + + throw e; + } catch (Exception e) { + throw e; + } +// this.insertInference(eMap); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestSimulatorService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestSimulatorService.java new file mode 100644 index 0000000..c0eaa09 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/service/LearningTestSimulatorService.java @@ -0,0 +1,141 @@ +package com.icomsys.main_vm.biz.rcp.learningTest.service; + + +import com.google.gson.JsonElement; +import com.google.gson.JsonParser; +import com.google.gson.JsonSyntaxException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeRes; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.service.NlpWisenutService; +import com.icomsys.main_vm.biz.rcp.conversation.nlp.wisenut.vo.NlpSimulationResult; +import com.icomsys.main_vm.biz.rcp.learningTest.vo.LearningTestDummyApiVO; +import com.icomsys.main_vm.common.code.code.LongTextManagerColumnCode; +import com.icomsys.main_vm.common.code.code.LongTextManagerTableCode; +import com.icomsys.main_vm.common.util.HashUtil; +import com.icomsys.main_vm.db.jpa.entity.scenario.TbApiNode; +import com.icomsys.main_vm.db.jpa.entity.scenario.TbLongtextManager; +import com.icomsys.main_vm.db.jpa.entity.scenario.id.TbLongtextManagerId; +import com.icomsys.main_vm.db.jpa.repo.scenario.TbApiNodeRepo; +import com.icomsys.main_vm.db.jpa.repo.scenario.TbLongtextManagerRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbBotCommonCodeRepo; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.annotation.Resource; +import java.security.NoSuchAlgorithmException; +import java.util.Map; + +@Service +@Slf4j +@RequiredArgsConstructor +public class LearningTestSimulatorService { + + @Resource + MappingJackson2JsonView ajaxMainView; + @Resource(name = "nlpWisenutService") + private NlpWisenutService nlpAPIService; + private final LogService logService; + private final TbBotCommonCodeRepo tbBotCommonCodeRepo; + + private final TbLongtextManagerRepo tbLongtextManagerRepo; + private final TbApiNodeRepo tbApiNodeRepo; + +// public ModelAndView callSimulator(String oprMngCode, String callId, String token, String userTalk, String methodType) { + public ModelAndView callSimulator(String oprMngCode, String callId, String token, String userTalk, String methodType, String dnis) { + ModelAndView mv = new ModelAndView(ajaxMainView); + NlpSimulationResult result = new NlpSimulationResult(); + try { +// result = nlpAPIService.simulationApi(oprMngCode, callId, token, userTalk, methodType); + result = nlpAPIService.simulationApi(oprMngCode, callId, token, userTalk, methodType, dnis); + } catch(Exception e) { + log.error("error", e); + result.setReturnCode("-999"); + result.setReturnMsg("API 호출 오류"); + } + mv.addObject("result", result); + return mv; + } + + + public QueryResults selectCustCallNum (LoginVO resultVO, Map eMap) { + + UserVo userVo = new UserVo(); + userVo.setRoleVal(resultVO.getAuthCode()); + SystemCommoncodeReq dto = new SystemCommoncodeReq(); + dto.setUserVo(userVo); + dto.setServiceGroup(eMap.get("serviceGroup")); + dto.setOprmngCode(resultVO.getSiteCode() + "_RCP_" + eMap.get("serviceGroup")); + return tbBotCommonCodeRepo.SystemCommoncodeCallNumList(dto); + + } + + public LearningTestDummyApiVO selectDummyApi(Long apiSeq) throws CustomNotFoundException { + + TbApiNode apiNode = tbApiNodeRepo.findBySeqAndUseYn(apiSeq, "Y") + .orElseThrow(() -> new CustomNotFoundException("API 시퀀스 번호가 잘못 되었습니다.")); + + LearningTestDummyApiVO result = new LearningTestDummyApiVO(); + + TbLongtextManager dummyApi = tbLongtextManagerRepo.findById( + new TbLongtextManagerId(apiNode.getSeq(), + LongTextManagerTableCode.TB_API_NODE.getCode(), + LongTextManagerColumnCode.DUMMY_TEST.getCode())) + .orElseGet(() -> new TbLongtextManager(apiNode.getSeq(), + LongTextManagerTableCode.TB_API_NODE.getCode(), + LongTextManagerColumnCode.DUMMY_TEST.getCode(), + "","")); + + result.setApiSeq(apiNode.getSeq()); + result.setApiTitle(apiNode.getNodeName()); + result.setJsonContents(dummyApi.getTextContents()); + result.setChecksum(dummyApi.getChecksum()); + + return result; + } + + public int saveDummyApi(LearningTestDummyApiVO dto) throws CustomNotFoundException, CustomBadRequestException { + String dummyChecksum; + TbApiNode apiNode = tbApiNodeRepo.findBySeqAndUseYn(dto.getApiSeq(), "Y") + .orElseThrow(() -> new CustomNotFoundException("API 시퀀스 번호가 잘못 되었습니다.")); + + try { + dummyChecksum = HashUtil.getStringToChecksum(dto.getJsonContents()); + } catch (NoSuchAlgorithmException e) { + throw new CustomBadRequestException("Dummy API 데이터 해시값 생성에 실패하였습니다."); + } + + try { + JsonElement jsonElement = JsonParser.parseString(dto.getJsonContents()); + } catch (JsonSyntaxException e) { + throw new CustomBadRequestException("Dummy API Json 문법에 오류가 있습니다."); + } + + TbLongtextManager dummyApi = tbLongtextManagerRepo.findById( + new TbLongtextManagerId(apiNode.getSeq(), + LongTextManagerTableCode.TB_API_NODE.getCode(), + LongTextManagerColumnCode.DUMMY_TEST.getCode())) + .orElseGet(() -> new TbLongtextManager(apiNode.getSeq(), + LongTextManagerTableCode.TB_API_NODE.getCode(), + LongTextManagerColumnCode.DUMMY_TEST.getCode(), + "","")); + + if (dummyChecksum.equals(dummyApi.getChecksum())) { // 변경된 값이 없음 + return 1; + } + + dummyApi.setTextContents(dto.getJsonContents()); + dummyApi.setChecksum(dummyChecksum); + + tbLongtextManagerRepo.save(dummyApi); + return 0; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/vo/LearningTestDummyApiVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/vo/LearningTestDummyApiVO.java new file mode 100644 index 0000000..fdbb7ec --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/vo/LearningTestDummyApiVO.java @@ -0,0 +1,15 @@ +package com.icomsys.main_vm.biz.rcp.learningTest.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class LearningTestDummyApiVO { + private Long apiSeq; + private String apiTitle; + private String jsonContents; + private String checksum; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/vo/SelectIntentTestVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/vo/SelectIntentTestVO.java new file mode 100644 index 0000000..a145ded --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/vo/SelectIntentTestVO.java @@ -0,0 +1,17 @@ +package com.icomsys.main_vm.biz.rcp.learningTest.vo; + +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class SelectIntentTestVO { + private Long seq; + private Long rowNum; + private String uploadFileName; + private Long testCnt; + private String testId; + private LocalDateTime testDate; + private String testResult; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/vo/SelectProjectSettingInfoVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/vo/SelectProjectSettingInfoVO.java new file mode 100644 index 0000000..6ba12e8 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/learningTest/vo/SelectProjectSettingInfoVO.java @@ -0,0 +1,22 @@ +package com.icomsys.main_vm.biz.rcp.learningTest.vo; + +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class SelectProjectSettingInfoVO { + + private String serviceGroup; + private double similarityCriteria; + private double classCriteria; + private double classResultCriteria; + private String fallbackMsg; + private String greetingMsg; + private Long ifMappingId; + private String registId; + private LocalDateTime registDate; + private String updateId; + private LocalDateTime updateDate; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringAiengineController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringAiengineController.java new file mode 100644 index 0000000..456abbd --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringAiengineController.java @@ -0,0 +1,20 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.controller; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/monitoring") +public class MonitoringAiengineController { + + @GetMapping("/aiengine/manage.do") + public String AiengineView(){ + return "/adm/rcp/monitoring/aiengine"; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringConsultingController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringConsultingController.java new file mode 100644 index 0000000..f3c9ac2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringConsultingController.java @@ -0,0 +1,246 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.rcp.monitoring.req.ConsultingListVoReq; +import com.icomsys.main_vm.biz.rcp.monitoring.service.MonitoringConsultingService; +import com.icomsys.main_vm.biz.rcp.monitoring.vo.ConsultingVO; +import com.icomsys.main_vm.biz.rcp.monitoring.vo.RecordDownloadVO; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbSynonymMaster; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringConsultingVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.*; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.ui.Model; +import org.springframework.util.FileCopyUtils; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URL; +import java.net.URLEncoder; +import java.nio.channels.Channels; +import java.nio.channels.ReadableByteChannel; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/monitoring") +public class MonitoringConsultingController { + + private final MonitoringConsultingService monitoringConsultingService; + private final ExcelService excelService; + private final LogService logService; + + @GetMapping("/consulting/manage.do") + public String ConsultingView(Model model){ + return "/adm/rcp/monitoring/consulting"; + } + + @RequestMapping(value = "/consulting/list.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public DslDataTableRes consultingList(@RequestBody MonitoringConsultingVO vo) { + vo.setLimit(vo.getPage() * vo.getPageSize()); + vo.setOffset(vo.getPageSize() * 10); + + List result = monitoringConsultingService.consultingList(vo); + log.info("dataVo -> {}", new Gson().toJson(vo)); + + // int resultCnt = monitoringConsultingService.selectConsultingListCnt(vo); + return new DslDataTableRes(result, Long.valueOf(vo.getPage() * vo.getPageSize() + result.size()), Long.valueOf(vo.getPageSize()), Long.valueOf(vo.getPage() * vo.getPageSize())); + } + + @RequestMapping(value = "/consulting/recordCallList.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List selectRecordCallList(@RequestBody MonitoringConsultingVO vo) { + List result = monitoringConsultingService.selectRecordCallList(vo); + + return result; + } + + @RequestMapping(value = "/consulting/sceneSelectList.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List sceneSelectList(@RequestBody MonitoringConsultingVO vo) { + List result = monitoringConsultingService.selectScenarioSeqAndName(vo); + + return result; + } + + @RequestMapping(value = "/consulting/commonCodeSelectList.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List commonCodeSelectList(@RequestBody MonitoringConsultingVO vo) { + List result = monitoringConsultingService.selectCommonCodeAndDesc(vo); + + return result; + } + + @RequestMapping(value = "/consulting/userCallCnt.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public int selectUserCallCnt(@RequestBody MonitoringConsultingVO vo) { + return monitoringConsultingService.selectUserCallCnt(vo); + } + + @RequestMapping(value = "/consulting/play.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public String playRecordFile(@RequestBody RecordDownloadVO vo) { + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(vo.getMenuVal())) + .actionCode(String.valueOf((ActionResource.listen))) + .serviceGroup(vo.getOprMngCode()) + .remark("녹취 듣기") + .build()); + + return monitoringConsultingService.playRecordFileFromS3(vo.getFileName()); + } + + @ResponseBody + @Transactional + @PostMapping("/consulting/downloadRecordFile.do") + public void downloadRecordFile(HttpServletRequest request, HttpServletResponse response, @ModelAttribute RecordDownloadVO vo) throws IOException { + + String recordFile = monitoringConsultingService.playRecordFileFromS3(vo.getFileName()); + // String recordFile = "https://ccrma.stanford.edu/~jos/mp3/harpsi-cs.mp3"; + + String resultFileName = recordFile.substring(recordFile.lastIndexOf('/') + 1); + String filePath = recordFile.substring(0, recordFile.lastIndexOf('/') + 1); + + URL url; + InputStream in = null; + OutputStream out = null; + + try { + String header = request.getHeader("User-Agent"); + if (!header.contains("MSIE") && !header.contains("Trident")) { + resultFileName = new String(resultFileName.getBytes("UTF-8"), "iso-8859-1"); + response.setHeader("Content-Disposition", "attachment; filename=\"" + resultFileName + "\""); + } else { + resultFileName = URLEncoder.encode(recordFile, "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-Disposition", "attachment; filename=" + resultFileName + ";"); + } + + response.setHeader("Pragma", "no-cache;"); + response.setContentType("application/octet-stream"); + response.setHeader("Content-Transfer-Encoding", "binary"); + out = response.getOutputStream(); + String fileUrl = filePath + resultFileName; + url = new URL(fileUrl); + in = url.openStream(); + + while(true) { + int data = in.read(); + if (data == -1) { + in.close(); + out.close(); + break; + } + + out.write(data); + } + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(vo.getMenuVal())) + .actionCode(String.valueOf((ActionResource.download))) + .serviceGroup(vo.getOprMngCode()) + .remark("녹취 파일 다운로드") + .build()); + } catch (Exception var13) { + log.info("@@@@@@@@@@@@@@@ERROR@@@@@@@@@@@@@@@"); + response.setStatus(500); + } finally { + log.info("###########finally###########"); + if (in != null) { + in.close(); + } + + if (out != null) { + out.close(); + } + } + } + + @RequestMapping(value = "/consulting/chklistcnt.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public int chkListCnt(@RequestBody MonitoringConsultingVO vo) { + return monitoringConsultingService.selectConsultingListCnt(vo); + } + + @ResponseBody + @Transactional + @PostMapping("/consulting/exceldownload.do") + public void downloadExcel(HttpServletResponse response, @ModelAttribute ConsultingListVoReq req) throws IOException { + + SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd/HH:mm:ss"); + + String nowTime = sdf.format(System.currentTimeMillis()); + + req.getMonitoringConsultingVO().setPage(-1); + + List result = monitoringConsultingService.consultingList(req.getMonitoringConsultingVO()); + + List consultingVOList = new ArrayList<>(); + + if (result.size() > 0) { + for (Map e : result) { + ConsultingVO vo = new ConsultingVO(); + vo.setSeq(String.valueOf(new DecimalFormat("#").format(e.get("rownum")))); + vo.setOprMngCodeName(String.valueOf(e.get("oprMngCodeName"))); + vo.setScenario(String.valueOf(e.get("scenarioName"))); + vo.setCallTime(String.valueOf(e.get("callTime"))); + vo.setCallInitDate(String.valueOf(e.get("callInitDate"))); + vo.setCallEndName(String.valueOf(e.get("callEndName"))); + vo.setTelNo(String.valueOf(e.get("telNo"))); + vo.setDnisNo(String.valueOf(e.get("dnisNo"))); + vo.setUserTalkCnt(String.valueOf(e.get("userTalkCnt"))); + vo.setBotTalkCnt(String.valueOf(e.get("botTalkCnt"))); + + consultingVOList.add(vo); + } + } else { + ConsultingVO vo = new ConsultingVO(); + vo.setSeq(""); + vo.setOprMngCodeName(""); + vo.setScenario(""); + vo.setCallTime(""); + vo.setCallInitDate(""); + vo.setCallEndName(""); + vo.setTelNo(""); + vo.setDnisNo(""); + vo.setUserTalkCnt(""); + vo.setBotTalkCnt(""); + + consultingVOList.add(vo); + } + + monitoringConsultingService.ExcelDownload("응대이력" + nowTime, consultingVOList, req.getTitleList()); + // excelService.ExcelDownload("상담이력" + nowTime, consultingVOList, req.getTitleList()); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(req.getMenuVal())) + .actionCode(String.valueOf((ActionResource.download))) + .serviceGroup(req.getOprMngCode()) + .remark("엑셀 다운로드") + .build()); + } + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringConversationMarkController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringConversationMarkController.java new file mode 100644 index 0000000..a82918d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringConversationMarkController.java @@ -0,0 +1,149 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.controller; + +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.rcp.monitoring.req.ConversationMarkListVoReq; +import com.icomsys.main_vm.biz.rcp.monitoring.service.MonitoringConsultingService; +import com.icomsys.main_vm.biz.rcp.monitoring.service.MonitoringConversationMarkService; +import com.icomsys.main_vm.biz.rcp.monitoring.vo.ConversationMarkVO; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringConversationMarkVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/monitoring") +public class MonitoringConversationMarkController { + + private final LoginService loginService; + + private final LogService logService; + + private final MonitoringConsultingService monitoringConsultingService; + private final ExcelService excelService; + + private final MonitoringConversationMarkService monitoringConversationMarkService; + + @GetMapping("/conversationMark/manage.do") + public String ConversationMarkView(){ + return "/adm/rcp/monitoring/conversationMark"; + } + + @RequestMapping(value = "/conversationMark/list.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public DslDataTableRes conversationMarkList(@RequestBody MonitoringConversationMarkVO vo) { + vo.setLimit(vo.getPage() * vo.getPageSize()); + vo.setOffset(vo.getPageSize() * 10); + + List result = monitoringConversationMarkService.selectBookmarkList(vo); + +// int resultCnt = monitoringConversationMarkService.selectBookmarkListCnt(vo); + + return new DslDataTableRes(result, Long.valueOf(vo.getPage() * vo.getPageSize() + result.size()), Long.valueOf(vo.getPageSize()), Long.valueOf(vo.getPage() * vo.getPageSize())); + } + + @RequestMapping(value = "/conversationMark/insert.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public int insertConversationMark(@RequestBody MonitoringConversationMarkVO vo) { + int result = monitoringConversationMarkService.insertBookmark(vo); + + return result; + } + + @RequestMapping(value = "/conversationMark/update.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public int updateConversationMark(@RequestBody MonitoringConversationMarkVO vo) { + vo.setUpdateId(loginService.getUserVo().getUserId()); + + int result = monitoringConversationMarkService.updateBookmark(vo); + + return result; + } + + @RequestMapping(value = "/conversationMark/checkbookmark.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public HashMap checkBookmark(@RequestBody MonitoringConversationMarkVO vo) { + HashMap result = monitoringConversationMarkService.checkBookmarkCnt(vo); + + return result; + } + + @RequestMapping(value = "/conversationMark/chklistcnt.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public int chkListCnt(@RequestBody MonitoringConversationMarkVO vo) { + return monitoringConversationMarkService.selectBookmarkListCnt(vo); + } + + @ResponseBody + @Transactional + @PostMapping("/conversationMark/exceldownload.do") + public void downloadExcel(HttpServletResponse response, @ModelAttribute ConversationMarkListVoReq req) throws IOException { + + SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd/HH:mm:ss"); + + String nowTime = sdf.format(System.currentTimeMillis()); + + req.getMonitoringConversationMarkVO().setPage(-1); + + List result = monitoringConversationMarkService.selectBookmarkList(req.getMonitoringConversationMarkVO()); + + List conversationMarkVOList = new ArrayList<>(); + + if (result.size() > 0) { + for (Map e : result) { + ConversationMarkVO vo = new ConversationMarkVO(); + vo.setSeq(String.valueOf(new DecimalFormat("#").format(e.get("rownum")))); + vo.setCallInitDate(String.valueOf(e.get("callInitDate"))); + vo.setErrCodeType(String.valueOf(e.get("bookmarkErrCodeName"))); + vo.setMeasureType(String.valueOf(e.get("measureTypeName"))); + vo.setTalkText(String.valueOf(e.get("talkText"))); + + conversationMarkVOList.add(vo); + } + } else { + ConversationMarkVO vo = new ConversationMarkVO(); + vo.setSeq(""); + vo.setCallInitDate(""); + vo.setErrCodeType(""); + vo.setMeasureType(""); + vo.setTalkText(""); + + conversationMarkVOList.add(vo); + } + + monitoringConsultingService.ExcelDownload("대화책갈피" + nowTime, conversationMarkVOList, req.getTitleList()); +// excelService.ExcelDownload("대화책갈피" + nowTime, conversationMarkVOList, req.getTitleList()); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(req.getMenuVal())) + .actionCode(String.valueOf((ActionResource.download))) + .serviceGroup(req.getOprMngCode()) + .remark("엑셀 다운로드") + .build()); + } + + //인텐트 예문 추가 팝업////////////////////////////////////////////////////// + @GetMapping(value = "/intent/addexamplepopup.do") + public String addIntentExamplePopup() { + return "adm/include/addIntentExample"; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringIntentAnalysisController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringIntentAnalysisController.java new file mode 100644 index 0000000..c9ba758 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringIntentAnalysisController.java @@ -0,0 +1,157 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.controller; + +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.rcp.intentAnalysis.service.IntentAnalysisService; +import com.icomsys.main_vm.biz.rcp.monitoring.req.IntentAnalysisListVoReq; +import com.icomsys.main_vm.biz.rcp.monitoring.service.MonitoringConsultingService; +import com.icomsys.main_vm.biz.rcp.monitoring.vo.IntentAnalysisVO; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringIntentAnalysisVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/monitoring") +public class MonitoringIntentAnalysisController { + + private final IntentAnalysisService intentAnalysisService; + + private final MonitoringConsultingService monitoringConsultingService; + private final ExcelService excelService; + + private final LogService logService; + + @GetMapping("/intentAnalysis/manage.do") + public String intentAnalysis(@RequestParam(value = "oprMngCode", required = false, defaultValue = "")String oprMngCode, + @RequestParam(value = "callInitDateFrom", required = false, defaultValue = "")String callInitDateFrom, + @RequestParam(value = "callInitDateTo", required = false, defaultValue = "")String callInitDateTo, + @RequestParam(value = "intentId", required = false, defaultValue = "")String intentId, Model model){ + + model.addAttribute("oprMngCode", oprMngCode); + model.addAttribute("callInitDateFrom", callInitDateFrom); + model.addAttribute("callInitDateTo", callInitDateTo); + model.addAttribute("intentId", intentId); + + return "/adm/rcp/monitoring/intentAnalysis"; + } + + @RequestMapping(value = "/intentAnalysis/intentnamelist.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List selectIntentNameList(@RequestBody MonitoringIntentAnalysisVO vo) { + if (vo.getServiceGroup() != null) { + if (!"all".equals(vo.getOprMngCode())) { + String serviceGroupUpper = intentAnalysisService.selectServiceGroupUpper(vo); + + if (!serviceGroupUpper.equals(vo.getServiceGroup())) { + List oprList = new ArrayList<>(); + + vo.setServiceGroup(serviceGroupUpper); + String commonOpr = intentAnalysisService.selectOprByServiceCode(vo); + + oprList.add(vo.getOprMngCode()); + oprList.add(commonOpr); + + vo.setOprMngCodeList(oprList); + vo.setOprMngCode("all"); + } + } + } + + List result = intentAnalysisService.selectIntentNameList(vo); + + return result; + } + + @RequestMapping(value = "/intentAnalysis/list.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public DslDataTableRes intentAnalysisList(@RequestBody MonitoringIntentAnalysisVO vo) { + vo.setLimit(vo.getPage() * vo.getPageSize()); + vo.setOffset(vo.getPageSize() * 10); + List result = intentAnalysisService.selectIntentAnalysisList(vo); + // int resultCnt = intentAnalysisService.selectIntentAnalysisListCnt(vo); + + return new DslDataTableRes(result, Long.valueOf(vo.getPage() * vo.getPageSize() + result.size()), Long.valueOf(vo.getPageSize()), Long.valueOf(vo.getPage() * vo.getPageSize())); + } + + @RequestMapping(value = "/intentAnalysis/chklistcnt.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public int chkListCnt(@RequestBody MonitoringIntentAnalysisVO vo) { + return intentAnalysisService.selectIntentAnalysisListCnt(vo); + } + + @ResponseBody + @Transactional + @PostMapping("/intentAnalysis/exceldownload.do") + public void downloadExcel(HttpServletResponse response, @ModelAttribute IntentAnalysisListVoReq req) throws IOException { + + SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd/HH:mm:ss"); + + String nowTime = sdf.format(System.currentTimeMillis()); + + req.getMonitoringIntentAnalysisVO().setPage(-1); + + List result = intentAnalysisService.selectIntentAnalysisList(req.getMonitoringIntentAnalysisVO()); + + List intentAnalysisVOList = new ArrayList<>(); + + if (result.size() > 0) { + for (Map e : result) { + IntentAnalysisVO vo = new IntentAnalysisVO(); + vo.setSeq(String.valueOf(new DecimalFormat("#").format(e.get("rownum")))); + vo.setTalkText(String.valueOf(e.get("userText"))); + vo.setIntentName(String.valueOf(e.get("intentName"))); + + if ("-".equals(e.get("score"))) { + vo.setScore(String.valueOf(e.get("score"))); + } else { + vo.setScore(e.get("score") + "%"); + } + + vo.setIntentResult(String.valueOf(e.get("intentResultCodeName"))); + vo.setCallInitDate(String.valueOf(e.get("callInitDate"))); + + intentAnalysisVOList.add(vo); + } + } else { + IntentAnalysisVO vo = new IntentAnalysisVO(); + vo.setSeq(""); + vo.setTalkText(""); + vo.setIntentName(""); + vo.setScore(""); + vo.setIntentResult(""); + vo.setCallInitDate(""); + + intentAnalysisVOList.add(vo); + } + + monitoringConsultingService.ExcelDownload("인텐트_분석_관리" + nowTime, intentAnalysisVOList, req.getTitleList()); +// excelService.ExcelDownload("인텐트_분석_관리" + nowTime, intentAnalysisVOList, req.getTitleList()); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(req.getMenuVal())) + .actionCode(String.valueOf((ActionResource.download))) + .serviceGroup(req.getOprMngCode()) + .remark("엑셀 다운로드") + .build()); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringOutscenarioController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringOutscenarioController.java new file mode 100644 index 0000000..24772f7 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringOutscenarioController.java @@ -0,0 +1,135 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.controller; + +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.rcp.monitoring.req.OutScenarioListVoReq; +import com.icomsys.main_vm.biz.rcp.monitoring.service.MonitoringConsultingService; +import com.icomsys.main_vm.biz.rcp.monitoring.service.MonitoringOutscenarioService; +import com.icomsys.main_vm.biz.rcp.monitoring.vo.OutScenarioVO; +import com.icomsys.main_vm.biz.rcp.statistics.intent.req.IntentAnalysisItemListReq; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringOutscenarioVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/monitoring") +public class MonitoringOutscenarioController { + + private final MonitoringOutscenarioService monitoringOutscenarioService; + + private final MonitoringConsultingService monitoringConsultingService; + private final ExcelService excelService; + + private final LogService logService; + + @GetMapping("/outscenario/manage.do") + public String outscenario(){ + return "/adm/rcp/monitoring/outscenario"; + } + + @RequestMapping(value = "/outscenario/outscenariolist.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public DslDataTableRes outscenarioList(@RequestBody MonitoringOutscenarioVO vo) { + vo.setLimit(vo.getPage() * vo.getPageSize()); + vo.setOffset(vo.getPageSize() * 10); + List result = monitoringOutscenarioService.selectOutscenarioList(vo); + + // int resultCnt = monitoringOutscenarioService.selectOutscenarioListCnt(vo); + + return new DslDataTableRes(result, Long.valueOf(vo.getPage() * vo.getPageSize() + result.size()), Long.valueOf(vo.getPageSize()), Long.valueOf(vo.getPage() * vo.getPageSize())); + } + + @RequestMapping(value = "/outscenario/scenarionamelist.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List scenarioNameList(@RequestBody MonitoringOutscenarioVO vo) { + List result = monitoringOutscenarioService.selectScenarioNameList(vo); + + return result; + } + + @RequestMapping(value = "/outscenario/tokenlist.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List tokenlist(@RequestBody MonitoringOutscenarioVO vo) { + List result = monitoringOutscenarioService.selectTokenListByScenario(vo); + + return result; + } + + @RequestMapping(value = "/outscenario/calllist.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List calllist(@RequestBody MonitoringOutscenarioVO vo) { + List result = monitoringOutscenarioService.selectCallListByScenario(vo); + + return result; + } + + @RequestMapping(value = "/outscenario/chklistcnt.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public int chkListCnt(@RequestBody MonitoringOutscenarioVO vo) { + return monitoringOutscenarioService.selectOutscenarioListCnt(vo); + } + + @ResponseBody + @Transactional + @RequestMapping(value = "/outscenario/exceldownload.do") + public void outscenarioExcelDownload(HttpServletResponse response, @ModelAttribute OutScenarioListVoReq req) throws IOException { + + SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd/HH:mm:ss"); + + String nowTime = sdf.format(System.currentTimeMillis()); + + req.getMonitoringOutscenarioVO().setPage(-1); + + List result = monitoringOutscenarioService.selectOutscenarioList(req.getMonitoringOutscenarioVO()); + + List outScenarioVOList = new ArrayList<>(); + + if (result.size() > 0) { + for (Map e : result) { + OutScenarioVO vo = new OutScenarioVO(); + vo.setOprMngCodeName(String.valueOf(e.get("oprMngCodeName"))); + vo.setScenarioName(e.get("scenarioName") + " (" + e.get("scenarioCnt") + "건)"); + vo.setNodeName(e.get("nodeName") + " (" + e.get("nodeType") + ") (" + e.get("nodeCnt") + "건)"); + vo.setNodePercent(Math.round(Double.valueOf(String.valueOf(e.get("nodeCnt")))/Double.valueOf(String.valueOf(e.get("scenarioCnt")))*1000)/10.0 + "%"); + + outScenarioVOList.add(vo); + } + } else { + OutScenarioVO vo = new OutScenarioVO(); + vo.setOprMngCodeName(""); + vo.setScenarioName(""); + vo.setNodeName(""); + vo.setNodePercent(""); + + outScenarioVOList.add(vo); + } + + monitoringConsultingService.ExcelDownload("시나리오_이탈_노드_관리" + nowTime, outScenarioVOList, req.getTitleList()); +// excelService.ExcelDownload("시나리오_이탈_노드_관리" + nowTime, outScenarioVOList, req.getTitleList()); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(req.getMenuVal())) + .actionCode(String.valueOf((ActionResource.download))) + .serviceGroup(req.getOprMngCode()) + .remark("엑셀 다운로드") + .build()); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringWorkHistoryController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringWorkHistoryController.java new file mode 100644 index 0000000..e2d6386 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/controller/MonitoringWorkHistoryController.java @@ -0,0 +1,66 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.controller; + +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.rcp.monitoring.service.MonitoringWorkHistoryService; +import com.icomsys.main_vm.biz.rcp.monitoring.vo.InsertWorkHstListVo; +import com.icomsys.main_vm.biz.rcp.monitoring.vo.RetrieveWorkHstListVo; +import com.icomsys.main_vm.biz.rcp.monitoring.vo.SearchWorkHstVo; +import com.icomsys.main_vm.common.code.MenuCategoryVo; +import com.icomsys.main_vm.common.code.MenuVo; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.annotation.Resource; +import java.util.List; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/monitoring") +public class MonitoringWorkHistoryController { + + @Resource + MappingJackson2JsonView ajaxMainView; + private final MonitoringWorkHistoryService monitoringWorkHistoryService; + + @GetMapping("/workhistory/manage.do") + public String ConversationMarkView(){ + return "/adm/rcp/monitoring/workhistory"; + } + + @PostMapping(value = "/retrieveWorkHst.do") + @ResponseBody + public DslDataTableRes retrieveWorkHst(@RequestBody SearchWorkHstVo searchWorkHstVo) { + + QueryResults result = monitoringWorkHistoryService.retrieveWorkHst(searchWorkHstVo); + + return new DslDataTableRes(result); + } + + @GetMapping("/workhistory/menuList") + @ResponseBody + public List workhistoryMenuList(){ + return monitoringWorkHistoryService.workhistoryMenuList(); + } + + @GetMapping("/workhistory/menuCategoryList") + @ResponseBody + public List workhistoryMenuCategoryList(){ + return monitoringWorkHistoryService.workhistoryMenuCategoryList(); + } + + @PostMapping (value ="/insert/workHst.do") + @ResponseBody + public ModelAndView CreateWorkHst(@RequestBody InsertWorkHstListVo insertWorkHstListVo) { + + monitoringWorkHistoryService.createWorkHst(insertWorkHstListVo); + + return new ModelAndView(ajaxMainView); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/ConsultingListVoReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/ConsultingListVoReq.java new file mode 100644 index 0000000..4690ec7 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/ConsultingListVoReq.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.req; + +import com.icomsys.main_vm.db.mybatis.alias.MonitoringConsultingVO; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class ConsultingListVoReq { + MonitoringConsultingVO monitoringConsultingVO; + List titleList; + String menuVal; + String oprMngCode; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/ConversationMarkListVoReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/ConversationMarkListVoReq.java new file mode 100644 index 0000000..60cfa84 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/ConversationMarkListVoReq.java @@ -0,0 +1,17 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.req; + +import com.icomsys.main_vm.biz.rcp.monitoring.vo.ConversationMarkVO; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringConversationMarkVO; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class ConversationMarkListVoReq { + MonitoringConversationMarkVO monitoringConversationMarkVO; + List titleList; + String menuVal; + String oprMngCode; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/IntentAnalysisListVoReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/IntentAnalysisListVoReq.java new file mode 100644 index 0000000..3289416 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/IntentAnalysisListVoReq.java @@ -0,0 +1,17 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.req; + +import com.icomsys.main_vm.biz.rcp.monitoring.vo.IntentAnalysisVO; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringIntentAnalysisVO; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class IntentAnalysisListVoReq { + MonitoringIntentAnalysisVO monitoringIntentAnalysisVO; + List titleList; + String menuVal; + String oprMngCode; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/OutScenarioListVoReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/OutScenarioListVoReq.java new file mode 100644 index 0000000..d6e3130 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/req/OutScenarioListVoReq.java @@ -0,0 +1,17 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.req; + +import com.icomsys.main_vm.biz.rcp.monitoring.vo.OutScenarioVO; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringOutscenarioVO; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class OutScenarioListVoReq { + MonitoringOutscenarioVO monitoringOutscenarioVO; + List titleList; + String menuVal; + String oprMngCode; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringConsultingService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringConsultingService.java new file mode 100644 index 0000000..0a35232 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringConsultingService.java @@ -0,0 +1,27 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.service; + +import com.icomsys.main_vm.db.mybatis.alias.MonitoringConsultingVO; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.util.HashMap; +import java.util.List; + +@Service +public interface MonitoringConsultingService { + List consultingList(MonitoringConsultingVO vo); + + int selectConsultingListCnt(MonitoringConsultingVO vo); + + List selectRecordCallList(MonitoringConsultingVO vo); + + List selectScenarioSeqAndName(MonitoringConsultingVO vo); + + List selectCommonCodeAndDesc(MonitoringConsultingVO vo); + + int selectUserCallCnt(MonitoringConsultingVO vo); + + String playRecordFileFromS3(String path); + + void ExcelDownload(String fileName, List data, List title) throws IOException; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringConversationMarkService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringConversationMarkService.java new file mode 100644 index 0000000..abe1f89 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringConversationMarkService.java @@ -0,0 +1,21 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.service; + +import com.icomsys.main_vm.db.mybatis.alias.MonitoringConversationMarkVO; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; + +@Service +public interface MonitoringConversationMarkService { + List selectBookmarkList(MonitoringConversationMarkVO vo); + + int selectBookmarkListCnt(MonitoringConversationMarkVO vo); + + int insertBookmark(MonitoringConversationMarkVO vo); + + int updateBookmark(MonitoringConversationMarkVO vo); + + HashMap checkBookmarkCnt(MonitoringConversationMarkVO vo); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringOutscenarioService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringOutscenarioService.java new file mode 100644 index 0000000..79899f2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringOutscenarioService.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.service; + +import com.icomsys.main_vm.db.mybatis.alias.MonitoringOutscenarioVO; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; + +@Service +public interface MonitoringOutscenarioService { + List selectOutscenarioList(MonitoringOutscenarioVO vo); + int selectOutscenarioListCnt(MonitoringOutscenarioVO vo); + List selectScenarioNameList(MonitoringOutscenarioVO vo); + List selectTokenListByScenario(MonitoringOutscenarioVO vo); + List selectCallListByScenario(MonitoringOutscenarioVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringWorkHistoryService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringWorkHistoryService.java new file mode 100644 index 0000000..65ce1df --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/MonitoringWorkHistoryService.java @@ -0,0 +1,104 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.service; + +import com.icomsys.main_vm.biz.rcp.monitoring.vo.InsertWorkHstListVo; +import com.icomsys.main_vm.biz.rcp.monitoring.vo.RetrieveWorkHstListVo; +import com.icomsys.main_vm.biz.rcp.monitoring.vo.SearchWorkHstVo; +import com.icomsys.main_vm.common.code.MenuCategoryVo; +import com.icomsys.main_vm.common.code.MenuVo; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbIcsLog; +import com.icomsys.main_vm.db.jpa.repo.system.TbIcsLogRepo; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.servlet.http.HttpServletRequest; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +@Service +@Slf4j +@RequiredArgsConstructor +public class MonitoringWorkHistoryService { + + private final MappingJackson2JsonView ajaxMainView; + + private final TbIcsLogRepo tbIcsLogRepo; + + private final HttpServletRequest request; + + //작업이력 조회 + public QueryResults retrieveWorkHst(SearchWorkHstVo searchWorkHstVo) { + +// ModelAndView mv = new ModelAndView(ajaxMainView); +// +// List nList = tbIcsLogRepo.retrieveWorkHst(searchWorkHstVo); +// +// mv.addObject("nMap", nList); + + return tbIcsLogRepo.retrieveWorkHst(searchWorkHstVo); + } + + public List workhistoryMenuList() { + List result = new ArrayList<>(); + for (MenuResource e : MenuResource.LOGLIST) { + result.add(MenuVo.builder() + .authName(e.getName()) + .menuName(MenuResource.valueOf(e.getName()).getMenuDesc()) + .build()); + } + return result; + } + + public List workhistoryMenuCategoryList() { + List result = new ArrayList<>(); + for (ActionResource e : ActionResource.ALL) { + result.add(MenuCategoryVo.builder() + .categoryValue(e.getName()) + .typeName(e.getTypeName()) + .build()); + } + return result; + } + + public void createWorkHst(InsertWorkHstListVo insertWorkHstListVo) { + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + + tbIcsLogRepo.save(TbIcsLog.builder() + .registDate(LocalDateTime.now()) + .userId(resultVO.getUserId()) + .actionCode(insertWorkHstListVo.getActionCode()) + .menuAuth(insertWorkHstListVo.getMenuAuth()) + .ip(getIP()) + .serviceGroup(insertWorkHstListVo.getServiceGroup()) + .remark(insertWorkHstListVo.getRemark()) + .build()); + } + + // ip 가져오기 + // IPv6로 가져오기 때문에 설정 필요함 + // https://gaemi606.tistory.com/entry/IntelliJ-IPv4-%EC%84%A4%EC%A0%95 + public String getIP() { + + String ip = request.getHeader("X-FORWARDED-FOR"); + + if (ip == null || ip.length() == 0) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0) { + ip = request.getRemoteAddr(); + } + + return ip; + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/impl/MonitoringConsultingServiceImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/impl/MonitoringConsultingServiceImpl.java new file mode 100644 index 0000000..e9af082 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/impl/MonitoringConsultingServiceImpl.java @@ -0,0 +1,373 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.service.impl; + +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.rcp.monitoring.service.MonitoringConsultingService; +import com.icomsys.main_vm.common.code.enumresource.PolicyResource; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringConsultingVO; +import com.icomsys.main_vm.db.mybatis.mapper.MonitoringConsultingMapper; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFCellStyle; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider; +import software.amazon.awssdk.core.ResponseBytes; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.s3.S3Client; +import software.amazon.awssdk.services.s3.model.*; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.lang.reflect.Field; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.HashMap; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +@Slf4j +@Service +@RequiredArgsConstructor +public class MonitoringConsultingServiceImpl implements MonitoringConsultingService { + + private final HttpServletResponse httpServletResponse; + + private final LoginService loginService; + + @Value("${file.path}") + private String filePath; + + @Value("${feign.url.s3Bucket}") + private String s3Bucket; + + @Autowired + private MonitoringConsultingMapper monitoringConsultingMapper; + + @Override + public List consultingList(MonitoringConsultingVO vo) { + if (vo.getTelNo() != null && !"".equals(vo.getTelNo())) { + String telNo = ""; + telNo = vo.getTelNo().replace("-", ""); + vo.setTelNo(telNo.trim()); + } + + List result = monitoringConsultingMapper.selectConsultingList(vo); + + String telNo = ""; + + for (HashMap map : result) { + if (telNo.length() == 10) { + if (loginService.getSessionPolicy().contains(PolicyResource.privacymasking.getName())) { + telNo = String.valueOf(map.get("telNo")); + telNo = telNo.substring(0, 3) + "-" + telNo.substring(3, 6) + "-" + telNo.substring(6, telNo.length()); + map.put("originTelNo", telNo); + } + + telNo = String.valueOf(map.get("telNo")); + // telNo = telNo.substring(0, 3) + "-***-" + telNo.substring(6, telNo.length()); + telNo = telNo.substring(0, 3) + "-**" + telNo.substring(5, 6) + "-**" + telNo.substring(8, telNo.length()); + map.put("telNo", telNo); + } + else { + if (loginService.getSessionPolicy().contains(PolicyResource.privacymasking.getName())) { + telNo = String.valueOf(map.get("telNo")); + telNo = telNo.substring(0, 3) + "-" + telNo.substring(3, 7) + "-" + telNo.substring(7, telNo.length()); + map.put("originTelNo", telNo); + } + + telNo = String.valueOf(map.get("telNo")); + // telNo = telNo.substring(0, 3) + "-****-" + telNo.substring(7, telNo.length()); + telNo = telNo.substring(0, 3) + "-**" + telNo.substring(5, 7) + "-**" + telNo.substring(9, telNo.length()); + map.put("telNo", telNo); + } + } + + return result; + } + + @Override + public int selectConsultingListCnt(MonitoringConsultingVO vo) { + return monitoringConsultingMapper.selectConsultingListCnt(vo); + } + + @Override + public List selectRecordCallList(MonitoringConsultingVO vo) { + List hList = monitoringConsultingMapper.selectRecordCallList(vo); + this.checkRecordFileFromS3(hList); + return hList; + } + + @Override + public List selectScenarioSeqAndName(MonitoringConsultingVO vo) { + return monitoringConsultingMapper.selectScenarioSeqAndName(vo); + } + + @Override + public List selectCommonCodeAndDesc(MonitoringConsultingVO vo) { + return monitoringConsultingMapper.selectCommonCodeAndDesc(vo); + } + + @Override + public int selectUserCallCnt(MonitoringConsultingVO vo) { + return monitoringConsultingMapper.selectUserCallCnt(vo); + } + + private void checkRecordFileFromS3(List list) { + if ("local".equals(s3Bucket)) { + for (HashMap fMap : list) { // 대화 내용 리스트 + if (fMap.containsKey("recFilePath")) { + fMap.put("recFilePath", ""); + } + } + return; + } + + String bucketName = s3Bucket; // 버킷명 + + // 1. s3 client 생성 + S3Client s3 = S3Client.builder() + .region(Region.AP_NORTHEAST_2) + .credentialsProvider(InstanceProfileCredentialsProvider.create()) + .build(); + log.debug("s3Client create"); + + // 2. 버킷 내에 각 파일 확인 + for (HashMap fMap : list) { // 대화 내용 리스트 + if (fMap.containsKey("recFilePath")) { + String recFilePath = fMap.get("recFilePath").toString(); + + boolean isS3Object = false; + if (!"".equals(recFilePath)) { + recFilePath = recFilePath.substring(1); + List sList = listBucketObjects(s3,bucketName,recFilePath); // 버킷에 파일 찾기 + + for (S3Object myValue : sList) { + if (myValue.key().equals(recFilePath)) { + isS3Object = true; + log.info("name of the key " + myValue.key() + " exist"); + } + } + + if (!isS3Object) { + recFilePath = ""; + } + } + fMap.put("recFilePath",recFilePath); + } + } + } + + @Override + public String playRecordFileFromS3(String path) { + String bucketName = s3Bucket; // 버킷명 + path = path.replaceAll("%2F","/"); + + // 1. s3 client 생성 + S3Client s3 = S3Client.builder() + .region(Region.AP_NORTHEAST_2) + .credentialsProvider(InstanceProfileCredentialsProvider.create()) + .build(); + + // 2. 다운로드 된 파일인지 확인 + String fullPath = filePath + "recordfile/" + recordDownloadFileName(path); + + File file = new File(fullPath); + if (file.exists()) { + if (!file.isDirectory()) { + return recordServerFilePath(recordDownloadFileName(path)); + } + } + + // 3. 다운로드 되지 않은 경우 다운로드 진행 + return recordServerFilePath(downloadFileFromS3(path, s3, bucketName)); + + } + + private List listBucketObjects(S3Client s3, String bucketName, String path) { + + ListObjectsRequest listObjects = ListObjectsRequest + .builder() + .prefix(path) + .bucket(bucketName) + .build(); + + ListObjectsResponse res = s3.listObjects(listObjects); + + return res.contents(); + } + + private String downloadFileFromS3(String keyName, S3Client s3, String bucketName) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + Calendar c1 = Calendar.getInstance(); + + String fileFormat = filePath + "recordfile/"; + String fileName = recordDownloadFileName(keyName); + try { + + log.info("Downloading " + keyName + " from " + bucketName + "S3 bucket ..."); + + GetObjectRequest objectRequest = GetObjectRequest + .builder() + .key(keyName) + .bucket(bucketName) + .build(); + + ResponseBytes objectBytes = s3.getObjectAsBytes(objectRequest); + byte[] data = objectBytes.asByteArray(); + + File Folder = new File(fileFormat + sdf.format(c1.getTime())); + if (!Folder.exists()) { + try { + Folder.mkdirs(); + } catch (Exception e) { + log.debug("error_mkdir"); + e.getStackTrace(); + } + } + + File myFile = new File(fileFormat + fileName); + OutputStream os = new FileOutputStream(myFile); + + os.write(data); + log.debug("Successfully obtained " + keyName + " from an S3 object"); + os.close(); + + } catch (IOException ex) { + fileName = ""; + log.error(ex.getMessage()); + } catch (S3Exception e) { + fileName = ""; + log.error(e.awsErrorDetails().errorMessage()); + System.exit(1); + } + return fileName; + } + + private String recordDownloadFileName(String keyName) { + + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + Calendar c1 = Calendar.getInstance(); + String fileName = sdf.format(c1.getTime()) + "/"; + + String filePattern = "recordfile/[0-9]{8}/"; + Pattern pattern = Pattern.compile(filePattern); + Matcher match = pattern.matcher(keyName); + log.debug("pattern check" + keyName); + + if (match.find()) { + log.debug("record file Name :" + keyName.replaceAll(filePattern,"").trim()); + fileName = fileName + keyName.replaceAll(filePattern,"").trim(); + } + + return fileName; + } + + private String recordServerFilePath(String keyName) { + + InetAddress local; + String ip = ""; + try { + local = InetAddress.getLocalHost(); + ip = local.getHostAddress(); + } catch (UnknownHostException e1) { + e1.printStackTrace(); + } + + return "http://" + ip + ":8050/files/recordfile/" + keyName; + } + + @Override + public void ExcelDownload(String fileName, List data, List title) throws IOException { + XSSFWorkbook wb = new XSSFWorkbook(); + XSSFSheet sheet = wb.createSheet("Data"); + CreationHelper createHelper = wb.getCreationHelper(); + XSSFRow row = sheet.createRow(0); + XSSFCellStyle cellStyle1 = wb.createCellStyle(); + cellStyle1.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); + applyCellStyle(cellStyle1); + XSSFCellStyle cellStyle2 = wb.createCellStyle(); + cellStyle2.setFillForegroundColor(IndexedColors.WHITE.getIndex()); + applyCellStyle(cellStyle2); + AtomicInteger ai = new AtomicInteger(); + List keySet = new ArrayList<>(); + for (String e : title) { + XSSFCell c = row.createCell(ai.getAndIncrement()); + c.setCellValue(e); + c.setCellStyle(cellStyle1); + } + + // 컬럼 수 만큼 컬럼 width 기본 값으로 세팅 + for (int i=0; i selectBookmarkList(MonitoringConversationMarkVO vo) { + return conversationMarkMapper.selectBookmarkList(vo); + } + + @Override + public int selectBookmarkListCnt(MonitoringConversationMarkVO vo) { + return conversationMarkMapper.selectBookmarkListCnt(vo); + } + + @Override + public int insertBookmark(MonitoringConversationMarkVO vo) { + int result = 0; + + HashMap resultMap; + resultMap = conversationMarkMapper.checkBookmarkCnt(vo); + + String checkCnt = String.valueOf(resultMap.get("CNT")); + + if (!"0".equals(checkCnt)) { + vo.setMeasureType(""); + vo.setSeq((Long) resultMap.get("SEQ")); + vo.setUpdateId(loginService.getUserVo().getUserId()); + result = conversationMarkMapper.updateBookmark(vo); + } + else { + vo.setRegistId(loginService.getUserVo().getUserId()); + vo.setUpdateId(loginService.getUserVo().getUserId()); + + result = conversationMarkMapper.insertBookmark(vo); + } + + if (result > 0) { + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(vo.getMenuVal())) + .actionCode(String.valueOf((ActionResource.insert))) + .serviceGroup(vo.getOprMngCode()) + .remark("대화책갈피 등록") + .build()); + } + + return result; + } + + @Override + public int updateBookmark(MonitoringConversationMarkVO vo) { + int result = 0; + + result = conversationMarkMapper.updateBookmark(vo); + + if (result > 0) { + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(vo.getMenuVal())) + .actionCode(String.valueOf((ActionResource.delete))) + .serviceGroup(vo.getOprMngCode()) + .remark("[대화책갈피 삭제] - " + vo.getMeasureInfo()) + .build()); + } + + return result; + } + + @Override + public HashMap checkBookmarkCnt(MonitoringConversationMarkVO vo) { + vo.setChkMeasure("Y"); + + return conversationMarkMapper.checkBookmarkCnt(vo); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/impl/MonitoringOutscenarioServiceImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/impl/MonitoringOutscenarioServiceImpl.java new file mode 100644 index 0000000..ecc296b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/service/impl/MonitoringOutscenarioServiceImpl.java @@ -0,0 +1,53 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.service.impl; + +import com.icomsys.main_vm.biz.rcp.monitoring.service.MonitoringOutscenarioService; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringOutscenarioVO; +import com.icomsys.main_vm.db.mybatis.mapper.MonitoringOutscenarioMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +@Service +public class MonitoringOutscenarioServiceImpl implements MonitoringOutscenarioService { + + @Autowired + private MonitoringOutscenarioMapper monitoringOutscenarioMapper; + + @Override + public List selectOutscenarioList(MonitoringOutscenarioVO vo) { + List resultList = monitoringOutscenarioMapper.selectOutscenarioList(vo); + + int cnt = 0; + for (HashMap data: resultList) { + if (cnt == vo.getPageSize() && vo.getPage() != -1) { break; } // page -1 엑셀 다운로드일경우 전체 count + + vo.setScenarioSeq((Long)data.get("scenarioSeq")); + data.put("scenarioCnt", monitoringOutscenarioMapper.selectOutscenarioCnt(vo)); + cnt++; + } + return resultList; + } + + @Override + public int selectOutscenarioListCnt(MonitoringOutscenarioVO vo) { + return monitoringOutscenarioMapper.selectOutscenarioListCnt(vo); + } + + @Override + public List selectScenarioNameList(MonitoringOutscenarioVO vo) { + return monitoringOutscenarioMapper.selectScenarioNameList(vo); + } + + @Override + public List selectTokenListByScenario(MonitoringOutscenarioVO vo) { + return monitoringOutscenarioMapper.selectTokenListByScenario(vo); + } + + @Override + public List selectCallListByScenario(MonitoringOutscenarioVO vo) { + return monitoringOutscenarioMapper.selectCallListByScenario(vo); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/ConsultingVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/ConsultingVO.java new file mode 100644 index 0000000..7bc6e11 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/ConsultingVO.java @@ -0,0 +1,95 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.vo; + +public class ConsultingVO { + private String seq; + private String oprMngCodeName; + private String scenario; + private String callTime; + private String callInitDate; + private String callEndName; + private String telNo; + private String dnisNo; + private String userTalkCnt; + private String botTalkCnt; + + public String getSeq() { + return seq; + } + + public void setSeq(String seq) { + this.seq = seq; + } + + public String getOprMngCodeName() { + return oprMngCodeName; + } + + public void setOprMngCodeName(String oprMngCodeName) { + this.oprMngCodeName = oprMngCodeName; + } + + public String getScenario() { + return scenario; + } + + public void setScenario(String scenario) { + this.scenario = scenario; + } + + public String getCallTime() { + return callTime; + } + + public void setCallTime(String callTime) { + this.callTime = callTime; + } + + public String getCallInitDate() { + return callInitDate; + } + + public void setCallInitDate(String callInitDate) { + this.callInitDate = callInitDate; + } + + public String getCallEndName() { + return callEndName; + } + + public void setCallEndName(String callEndName) { + this.callEndName = callEndName; + } + + public String getTelNo() { + return telNo; + } + + public void setTelNo(String telNo) { + this.telNo = telNo; + } + + public String getDnisNo() { + return dnisNo; + } + + public void setDnisNo(String dnisNo) { + this.dnisNo = dnisNo; + } + + public String getUserTalkCnt() { + return userTalkCnt; + } + + public void setUserTalkCnt(String userTalkCnt) { + this.userTalkCnt = userTalkCnt; + } + + public String getBotTalkCnt() { + return botTalkCnt; + } + + public void setBotTalkCnt(String botTalkCnt) { + this.botTalkCnt = botTalkCnt; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/ConversationMarkVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/ConversationMarkVO.java new file mode 100644 index 0000000..59c3eb2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/ConversationMarkVO.java @@ -0,0 +1,49 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.vo; + +public class ConversationMarkVO { + private String seq; + private String callInitDate; + private String errCodeType; + private String measureType; + private String talkText; + + public String getSeq() { + return seq; + } + + public void setSeq(String seq) { + this.seq = seq; + } + + public String getCallInitDate() { + return callInitDate; + } + + public void setCallInitDate(String callInitDate) { + this.callInitDate = callInitDate; + } + + public String getErrCodeType() { + return errCodeType; + } + + public void setErrCodeType(String errCodeType) { + this.errCodeType = errCodeType; + } + + public String getMeasureType() { + return measureType; + } + + public void setMeasureType(String measureType) { + this.measureType = measureType; + } + + public String getTalkText() { + return talkText; + } + + public void setTalkText(String talkText) { + this.talkText = talkText; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/InsertWorkHstListVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/InsertWorkHstListVo.java new file mode 100644 index 0000000..ce7591a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/InsertWorkHstListVo.java @@ -0,0 +1,14 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.vo; + +import lombok.Data; + +@Data +public class InsertWorkHstListVo { + private String registDate; + private String serviceGroup; + private String userId; + private String menuAuth; + private String actionCode; + private String ip; + private String remark; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/IntentAnalysisVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/IntentAnalysisVO.java new file mode 100644 index 0000000..f1fad79 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/IntentAnalysisVO.java @@ -0,0 +1,58 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.vo; + +public class IntentAnalysisVO { + private String seq; + private String talkText; + private String intentName; + private String score; + private String intentResult; + private String callInitDate; + + public String getSeq() { + return seq; + } + + public void setSeq(String seq) { + this.seq = seq; + } + + public String getTalkText() { + return talkText; + } + + public void setTalkText(String talkText) { + this.talkText = talkText; + } + + public String getIntentName() { + return intentName; + } + + public void setIntentName(String intentName) { + this.intentName = intentName; + } + + public String getScore() { + return score; + } + + public void setScore(String score) { + this.score = score; + } + + public String getIntentResult() { + return intentResult; + } + + public void setIntentResult(String intentResult) { + this.intentResult = intentResult; + } + + public String getCallInitDate() { + return callInitDate; + } + + public void setCallInitDate(String callInitDate) { + this.callInitDate = callInitDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/OutScenarioVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/OutScenarioVO.java new file mode 100644 index 0000000..053c1db --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/OutScenarioVO.java @@ -0,0 +1,40 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.vo; + +public class OutScenarioVO { + private String oprMngCodeName; + private String scenarioName; + private String nodeName; + private String nodePercent; + + public String getOprMngCodeName() { + return oprMngCodeName; + } + + public void setOprMngCodeName(String oprMngCodeName) { + this.oprMngCodeName = oprMngCodeName; + } + + public String getScenarioName() { + return scenarioName; + } + + public void setScenarioName(String scenarioName) { + this.scenarioName = scenarioName; + } + + public String getNodeName() { + return nodeName; + } + + public void setNodeName(String nodeName) { + this.nodeName = nodeName; + } + + public String getNodePercent() { + return nodePercent; + } + + public void setNodePercent(String nodePercent) { + this.nodePercent = nodePercent; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/RecordDownloadVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/RecordDownloadVO.java new file mode 100644 index 0000000..5ad39e3 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/RecordDownloadVO.java @@ -0,0 +1,31 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.vo; + +public class RecordDownloadVO { + private String fileName; + private String menuVal; + private String oprMngCode; + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getMenuVal() { + return menuVal; + } + + public void setMenuVal(String menuVal) { + this.menuVal = menuVal; + } + + public String getOprMngCode() { + return oprMngCode; + } + + public void setOprMngCode(String oprMngCode) { + this.oprMngCode = oprMngCode; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/RetrieveWorkHstListVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/RetrieveWorkHstListVo.java new file mode 100644 index 0000000..215df00 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/RetrieveWorkHstListVo.java @@ -0,0 +1,72 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.vo; + +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import lombok.*; + +import java.time.LocalDate; +import java.time.LocalDateTime; + + +@Setter +@NoArgsConstructor +public class RetrieveWorkHstListVo { + private Long seq; + private String registDate; + private String menuAuth; + private String actionCode; + private String userId; + private String userName; + private String ip; + private String remark; + private String serviceGroup; + + @Builder + public RetrieveWorkHstListVo(Long seq, String registDate, String menuAuth, String actionCode, String userId, String userName, String ip, String remark, String serviceGroup) { + this.seq = seq; + this.registDate = registDate; + this.menuAuth = menuAuth; + this.actionCode = actionCode; + this.userId = userId; + this.userName = userName; + this.ip = ip; + this.remark = remark; + this.serviceGroup = serviceGroup; + } + + public Long getSeq() { + return seq; + } + + public String getRegistDate() { + return registDate; + } + + public String getMenuName() { + return MenuResource.valueOf(this.menuAuth).getMenuDesc(); + } + + public String getActionCode() { + return ActionResource.valueOf(this.actionCode).getTypeName(); + } + + public String getUserId() { + return userId; + } + + public String getUserName() { + return userName; + } + + public String getIp() { + return ip; + } + + public String getRemark() { + return remark; + } + + public String getServiceGroup() { + return serviceGroup; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/SearchWorkHstVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/SearchWorkHstVo.java new file mode 100644 index 0000000..86b9867 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/monitoring/vo/SearchWorkHstVo.java @@ -0,0 +1,21 @@ +package com.icomsys.main_vm.biz.rcp.monitoring.vo; + +import lombok.Data; + +@Data +public class SearchWorkHstVo { + + private String userId; + private String userName; + private String ip; + private String remark; + private String menuName; + private String menuCategory; + private String serviceGroup; + private String startDate; + private String endDate; + private String searchKey1; + private String codeText; + private int size; + private int page; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/OprManageBgmController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/OprManageBgmController.java new file mode 100644 index 0000000..e8c3369 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/OprManageBgmController.java @@ -0,0 +1,178 @@ +package com.icomsys.main_vm.biz.rcp.oprManage; + + +import com.icomsys.main_vm.biz.rcp.oprManage.service.OprManageBgmService; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.db.jpa.entity.oprManage.TbBgmMng; +import com.icomsys.main_vm.biz.rcp.oprManage.vo.OprManageBgmVO; +import com.icomsys.main_vm.db.jpa.repo.oprManage.TbBgmMngRepo; +import com.icomsys.main_vm.db.mybatis.alias.OprManageBgmListVo; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.servlet.http.HttpServletRequest; +import java.io.*; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/oprmanage") +public class OprManageBgmController { + + private final LoginService loginService; + + @Autowired + private final OprManageBgmService oprManageBgmService; + private final TbBgmMngRepo tbBgmMngRepo; + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Value("${feign.url.bgmpath}") + private String bgmPath; + + @GetMapping("/bgm/manage.do") + public String bgmManageView(){ + return "/adm/rcp/oprmanage/bgm"; + } + + @GetMapping("/bgm/manage2.do") + public String bgmManageView2(){ + return "/adm/rcp/oprmanage/bgm2"; + } + + + + + @PostMapping("/bgm/upload-local") + @ResponseBody + public ResponseEntity uploadFile(@RequestParam("file") MultipartFile file) { + try { + File path = new File("C:\\Users\\hyunj\\Downloads\\target_wav\\" + file.getOriginalFilename()); + path.createNewFile(); + FileOutputStream output = new FileOutputStream(path); + output.write(file.getBytes()); + output.close(); + return new ResponseEntity<>("file Upload", HttpStatus.OK); + //return ResponseHandler.generateResponse("File is uploaded successfully!", HttpStatus.OK, path); + } catch (Exception e) { + e.printStackTrace(); + return new ResponseEntity<>("Invalid file format.", HttpStatus.BAD_REQUEST); + //return ResponseHandler.generateResponse(e.getMessage(), HttpStatus.MULTI_STATUS, null); + } + } + + public int insertBGM(OprManageBgmVO vo,String fileName) { + //if (!tbBgmMngRepo.existsByUserId("sysadmin")) { + + TbBgmMng save1 = TbBgmMng.builder() + .registId(vo.getRegistId()) + .custCode(vo.getCustCode()) + .fileName(fileName) + .filePath("files/" + bgmPath) + .registDate(LocalDateTime.now().toString()) + .build(); + tbBgmMngRepo.save(save1); + //} + + int result = 1; + return result; + } + + + @GetMapping("/bgm/list.do") + @ResponseBody + public QueryResults selectBgmList(HttpServletRequest req, OprManageBgmVO vo) { + String searchKeyword = req.getParameter("searchKeyword"); + vo.setSearchKeyword(searchKeyword); + + QueryResults result = tbBgmMngRepo.selectBgmList(vo); + + return result; + } + + /* + @GetMapping("/bgm/list.do") + @ResponseBody + public List bgmList(@RequestBody OprManageBgmListVo vo) { + List result = oprManageBgmService.selectBgmList(vo); + + return result; + } + */ + + @RequestMapping(value = "/bgm/play.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public String playRecordFile(@RequestBody String fileName) { + + return oprManageBgmService.playRecordFileFromS3(fileName); + } + + @javax.annotation.Resource + MappingJackson2JsonView ajaxMainView; + @PostMapping(value ="/bgm/upload.do") + @ResponseBody + public ModelAndView uploadWav(MultipartHttpServletRequest request, OprManageBgmVO vo) { + + vo.setCustCode(loginService.getUserVo().getCustCode()); + vo.setRegistId(loginService.getUserVo().getUserId()); + ModelAndView mv = new ModelAndView(ajaxMainView); + + List files = request.getFiles("fileList"); + boolean result = true; + String message = "저장되었습니다."; + + try { + Map mfiles = request.getFileMap(); + + Iterator> itr = mfiles.entrySet().iterator(); + + MultipartFile mFile; + + List fileNameList = oprManageBgmService.uploadBgm(files); + //로컬테스트시 파일리스트 임의추가 +// List fileNameList = new ArrayList<>(); +// fileNameList.add("filaName4"); +// fileNameList.add("filaName5"); +// fileNameList.add("filaName6"); + log.info(fileNameList.toString()); + + boolean finalResult = result; + String finalMessage = message; + AtomicInteger idx = new AtomicInteger(); + fileNameList.forEach(filename -> { + log.info("filename123 : " + filename); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date now = new Date(); + String nowTime = sdf.format(now); + + insertBGM(vo, filename); + + }); + + } catch(Exception e) { + result = false; + message = "처리도중 오류가 발생했습니다."; + log.error("error upload excel", e); + } + + + return mv; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/OprManageNlpSettingController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/OprManageNlpSettingController.java new file mode 100644 index 0000000..5d5f452 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/OprManageNlpSettingController.java @@ -0,0 +1,80 @@ +package com.icomsys.main_vm.biz.rcp.oprManage; + +import com.icomsys.main_vm.biz.rcp.conversation.service.NlpSettingService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import java.util.Map; + +@Controller +@Transactional +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/oprmanage") +public class OprManageNlpSettingController { + + + private final NlpSettingService nlpSettingService; + + @GetMapping("/nlpSetting/manage.do") + public String NlpSettingView(){ + return "adm/rcp/oprmanage/nlpSetting"; + } + + /** + * @Name serviceNameList + * @Description 유사도 조회 + * @Author 유관선 + * @CreateDate 2022. 5. 25. + */ + @RequestMapping("/nlpSetting/selectSimilarityCriteria.do") + public ModelAndView similarityCriteria(@RequestParam Map dataMap) { + + log.info("dataMap -> {}", dataMap); + return nlpSettingService.similarityCriteria(dataMap); + } + + /** + * @Name serviceNameList + * @Description 프로젝트 설정 업데이트 + * @Author 유관선 + * @CreateDate 2022. 5. 25. + */ + + @RequestMapping("/nlpSetting/updateSimilarityCriteria.do") + public ModelAndView updateUser(@RequestParam Map dataMap) { + return nlpSettingService.updateUser(dataMap); + } + + /** + * @Name trainingStartApi + * @Description 시뮬레이터 학습 시작 API + * @Author dongheejang + * @CreateDate 2022. 10. 6. + */ + @RequestMapping(value = "/nlpSetting/trainingStart.do", method = RequestMethod.GET) + @ResponseBody + public ModelAndView trainingStartApi(HttpServletRequest request, @RequestParam String serviceGroup, String custCode) { + + return nlpSettingService.trainingStart(custCode + "_RCP_" + serviceGroup); + } + + /** + * @Name trainingApplyApi + * @Description 시뮬레이터 모델 반영 API + * @Author dongheejang + * @CreateDate 2022. 10. 6. + */ + @RequestMapping(value = "/nlpSetting/trainingApply.do", method = RequestMethod.GET) + @ResponseBody + public ModelAndView trainingApplyApi(HttpServletRequest request, @RequestParam String serviceGroup, String custCode) { + + return nlpSettingService.trainingApply(custCode + "_RCP_" + serviceGroup); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/OprManageTTSTagController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/OprManageTTSTagController.java new file mode 100644 index 0000000..27b0ae4 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/OprManageTTSTagController.java @@ -0,0 +1,71 @@ +package com.icomsys.main_vm.biz.rcp.oprManage; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemBotTtsTagVo; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeRes; +import com.icomsys.main_vm.biz.rcp.oprManage.service.OprManageTTSTagService; +import com.icomsys.main_vm.db.jpa.entity.system.TbBotCommonCode; +import com.icomsys.main_vm.db.jpa.repo.oprManage.TbBotTtsTagRepo; +import com.icomsys.main_vm.db.jpa.repo.system.TbBotCommonCodeRepo; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/oprmanage") +public class OprManageTTSTagController { + + private final TbBotTtsTagRepo tbBotTtsTagRepo; + private final TbBotCommonCodeRepo tbBotCommonCodeRepo; + private final OprManageTTSTagService oprManageTTSTagService; + private final MappingJackson2JsonView ajaxMainView; + + @GetMapping("/ttstag/manage.do") + public String ttsTag() { + return "/adm/rcp/oprmanage/ttstag"; + } + + @ResponseBody + @RequestMapping(value = "/ttstag/ttsproduct.do",method = RequestMethod.GET) + public DslDataTableRes ttsProduct(HttpServletRequest request, @RequestParam String custCode, String serviceGroup) { + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + UserVo userVo = new UserVo(); + userVo.setRoleVal(resultVO.getAuthCode()); + SystemCommoncodeReq dto = new SystemCommoncodeReq(); + dto.setUserVo(userVo); + dto.setServiceGroup(serviceGroup); + dto.setOprmngCode(custCode + "_RCP_" + serviceGroup); + dto.setCodeType("TTS_PRODUCT"); + QueryResults result = tbBotCommonCodeRepo.SystemCommoncodeProductList(dto); + + return new DslDataTableRes(result); + } + + @RequestMapping(value = "/ttstag/ttstaglist.do",method = {RequestMethod.GET, RequestMethod.POST}) + public ModelAndView ttsTagList(@RequestParam Map dataMap) { + ModelAndView mv = new ModelAndView(ajaxMainView); + List list = oprManageTTSTagService.selectTtsTagListService(dataMap); + mv.addObject("list", list); + return mv; + } + + @RequestMapping(value = "/ttstag/updatettstag.do",method = {RequestMethod.GET, RequestMethod.POST}) + public ModelAndView updateTtsTag(HttpServletRequest request, @RequestBody SystemBotTtsTagVo vo) { + return oprManageTTSTagService.updateTtsTagListService(request, vo); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/dto/BgmDto.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/dto/BgmDto.java new file mode 100644 index 0000000..4bcb1d2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/dto/BgmDto.java @@ -0,0 +1,42 @@ +package com.icomsys.main_vm.biz.rcp.oprManage.dto; + +import com.icomsys.main_vm.db.jpa.entity.oprManage.TbBgmMng; +import lombok.Builder; +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import lombok.Setter; + +import java.io.Serializable; +import java.util.List; + +@Getter +@Setter +@RequiredArgsConstructor +public class BgmDto implements Serializable { + private String fileName; + private String filePath; + private String custCode; + private String registId; + private String registDate; + + private List bgmDtoList; + + + @Builder + public BgmDto(String fileName, String filePath, String custCode, String registId, String registDate) { + this.fileName = fileName; + this.filePath = filePath; + this.custCode = custCode; + this.registId = registId; + this.registDate = registDate; + } + + public TbBgmMng toEntity() { + return TbBgmMng.builder() + .fileName(fileName) + .filePath(filePath) + .custCode(custCode) + .registId(registId) + .build(); + } +} \ No newline at end of file diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/OprManageBgmService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/OprManageBgmService.java new file mode 100644 index 0000000..bfbb1d9 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/OprManageBgmService.java @@ -0,0 +1,21 @@ +package com.icomsys.main_vm.biz.rcp.oprManage.service; + +import com.icomsys.main_vm.biz.rcp.oprManage.vo.OprManageBgmVO; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +@Service +public interface OprManageBgmService { + int insertBgm(OprManageBgmVO vo); + public List uploadBgm(List multipartFile); + String playRecordFileFromS3(String path); + //public String putS3Object(S3Client s3, String objectKey, byte[] bytes /* String objectPath*/); + + //public void upload(File file); + + //List selectBgmList(); + + //QueryResults selectBgmList(OprManageBgmVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/OprManageBgmService2.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/OprManageBgmService2.java new file mode 100644 index 0000000..6e44ec0 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/OprManageBgmService2.java @@ -0,0 +1,187 @@ +package com.icomsys.main_vm.biz.rcp.oprManage.service; + +import com.icomsys.main_vm.biz.rcp.oprManage.dto.BgmDto; +import com.icomsys.main_vm.db.jpa.entity.oprManage.TbBgmMng; +import com.icomsys.main_vm.db.jpa.repo.oprManage.TbBgmMngRepo; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.annotation.Resource; +import javax.transaction.Transactional; +import java.io.File; +import java.io.IOException; +import java.nio.file.FileAlreadyExistsException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.text.SimpleDateFormat; +import java.util.*; + +@Service +@Slf4j +@RequiredArgsConstructor +public class OprManageBgmService2 { + + @Autowired + private final TbBgmMngRepo tbBgmMngRepo; + + @Transactional + public String saveFile(MultipartFile file, BgmDto bgmDto) { + //file save logic implement + //if not exist folder, make new directory + File fileFolder = new File(bgmDto.getFilePath()); + + try { + if (!fileFolder.exists()) { + if (fileFolder.mkdir()) { + log.info("[file mkdirs] : Success"); + } else { + log.error("[file mkdirs] : Fail"); + } + } + + String saveFileName = bgmDto.getFileName(); + String saveFilePath = bgmDto.getFilePath() + File.separator + bgmDto.getFileName(); + + File saveFile = new File(saveFilePath); + if (saveFile.isFile()) { + + boolean _exist = true; + + int index = 0; + + // 중복 파일 검사 + while (_exist) { + index++; + + String fileName = file.getOriginalFilename(); + String fileCutName = fileName.substring(0, fileName.lastIndexOf(".")); + String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1); + + saveFileName = fileCutName + "_" + index + "." + fileExt; + String dictFile = bgmDto.getFilePath() + File.separator + saveFileName; + _exist = new File(dictFile).isFile(); + + if (!_exist) { + saveFilePath = dictFile; + } + } + file.transferTo(new File(saveFilePath)); + } else { + file.transferTo(saveFile); + } + } catch (Exception e) { + log.error("save file error", e); + } + + return tbBgmMngRepo.save(bgmDto.toEntity()).getFileName(); + } + + // 전체 조회 + @Transactional + public ModelAndView searchFiles(Map dataMap) { + ModelAndView mv = new ModelAndView(ajaxMainView); + HashMap emap = new HashMap(); + emap.putAll(dataMap); + + var fileList = tbBgmMngRepo.findAll(); + + mv.addObject("fileList", fileList); + return mv; + } + + // 파일명 조회 + @Transactional + public BgmDto searchFile(String filename) { + TbBgmMng file = tbBgmMngRepo.findById(filename).get(); + + BgmDto bgmDto = BgmDto.builder() + .fileName(file.getFileName()) + .filePath(file.getFilePath()) + .custCode(file.getCustCode()) + .registId(file.getRegistId()) +// .registDate(file.getRegistDate()) + .build(); + return bgmDto; + } + + + public Optional findByFilename(String s) { + return tbBgmMngRepo.findById(s); + } + + + + @Resource + MappingJackson2JsonView ajaxMainView; + + public void insertInferenceExcel(MultipartHttpServletRequest request, HashMap eMap) throws Exception { + // excel 관련 + MultipartFile file = request.getFile("upFile"); + List testList = this.readExcelFile(file); + + // file 관련 + Calendar c = Calendar.getInstance(); + c.clear(); + c.setTime(new Date()); + SimpleDateFormat sdfForPath = new SimpleDateFormat("yyyy\\MM\\"); + + // DB저장 데이터 및 파일 데이터 + String uploadfileName = file.getOriginalFilename(); + String uploadFilePath = StringUtils.join(sdfForPath.format(c.getTime())); + String testCnt = Integer.toString(testList.size()); + + // 업로드 파일 저장 + this.createDirs(uploadFilePath); + File uploadFIle = new File(StringUtils.join(uploadFilePath, uploadfileName)); + file.transferTo(uploadFIle); + + eMap.put("uploadFileName", uploadfileName); + eMap.put("uploadFilePath", uploadFilePath); + eMap.put("testCnt", testCnt); + + log.info("# UPLOAD PATH : {}", uploadFilePath); + log.info("# MAP : {}", eMap.toString()); + +// // 성공 +// if(StringUtils.equals(returnCode, "000")) { +// eMap.put("testResult", testResult); +// +// } +// // 실패 +// else { +// eMap.put("testResult", testResult); +// } + } + + + + /** + * 파일 저장 디렉토리 생성 + */ + private void createDirs(String path) throws IOException { + try { + Files.createDirectories(Paths.get(path)); + } catch(FileAlreadyExistsException faee) { + log.info("이미 존재하는 디렉토리 입니다."); + } + } + + /** + * 유저가 업로드한 엑셀 파일 Read + */ + private List readExcelFile(MultipartFile file) throws IOException { + + List testList = new ArrayList(); + + return testList; + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/OprManageTTSTagService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/OprManageTTSTagService.java new file mode 100644 index 0000000..75d7562 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/OprManageTTSTagService.java @@ -0,0 +1,81 @@ +package com.icomsys.main_vm.biz.rcp.oprManage.service; + +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.common.system.vo.SystemBotTtsTagVo; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.jpa.entity.oprManage.TbBotTtsTag; +import com.icomsys.main_vm.db.jpa.repo.oprManage.TbBotTtsTagRepo; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import com.icomsys.main_vm.db.mybatis.mapper.BotTTSTagMapper; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.servlet.http.HttpServletRequest; +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +@Slf4j +@RequiredArgsConstructor +public class OprManageTTSTagService { + + private final BotTTSTagMapper botTTSTagMapper; + private final MappingJackson2JsonView ajaxMainView; + private final TbBotTtsTagRepo tbBotTtsTagRepo; + private final LogService logService; + + + public List selectTtsTagListService(Map dataMap) { + HashMap eMap = new HashMap(); + eMap.putAll(dataMap); + return botTTSTagMapper.selectTtsTagList(eMap); + } + + public ModelAndView updateTtsTagListService(HttpServletRequest request, SystemBotTtsTagVo vo) { + ModelAndView mv = new ModelAndView(ajaxMainView); + + try { + LoginVO resultVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + vo.setUpdateId(resultVO.getUserId()); + SystemBotTtsTagVo getVo = tbBotTtsTagRepo.existsById(vo); + if (getVo == null) { + vo.setRegistId(resultVO.getUserId()); + vo.setRegistDate(LocalDateTime.now()); + } else { + vo.setRegistId(getVo.getRegistId()); + vo.setRegistDate(getVo.getRegistDate()); + } + tbBotTtsTagRepo.save(TbBotTtsTag.builder() + .ttsProdCode(vo.getTtsProdCode()) + .tagCode(vo.getTagCode()) + .ttsStartTag(vo.getTtsStartTag()) + .ttsEndTag(vo.getTtsEndTag()) + .registId(vo.getRegistId()) + .registDate(vo.getRegistDate()) + .updateId(vo.getUpdateId()) + .updateDate(LocalDateTime.now()) + .build()); + +/* logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpoprmanagettstagmanage) + .actionCode(String.valueOf((ActionResource.update))) + .serviceGroup("-") + .build());*/ + + mv.addObject("result", true); + mv.addObject("message", "정상적으로 저장되었습니다."); + } catch (Exception e) { + mv.addObject("result", false); + mv.addObject("message", "실패하였습니다."); + } + + return mv; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/impl/OprManageBgmServiceImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/impl/OprManageBgmServiceImpl.java new file mode 100644 index 0000000..2f411f9 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/service/impl/OprManageBgmServiceImpl.java @@ -0,0 +1,281 @@ +package com.icomsys.main_vm.biz.rcp.oprManage.service.impl; + +import com.icomsys.main_vm.biz.rcp.oprManage.service.OprManageBgmService; +import com.icomsys.main_vm.biz.rcp.oprManage.vo.OprManageBgmVO; +import com.icomsys.main_vm.db.mybatis.mapper.BgmManageMapper; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider; +import software.amazon.awssdk.core.ResponseBytes; +import software.amazon.awssdk.core.sync.RequestBody; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.s3.S3Client; +import software.amazon.awssdk.services.s3.model.*; + +import java.io.*; +import java.net.InetAddress; +import java.net.URLDecoder; +import java.net.UnknownHostException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +@Service +@Slf4j +@RequiredArgsConstructor +public class OprManageBgmServiceImpl implements OprManageBgmService { + + @Value("${file.path}") + private String filePath; + + @Value("${feign.url.bgmpath}") + private String bgmPath; + + @Value("${feign.url.s3Bucket}") + private String s3Bucket; + + + @Autowired + private BgmManageMapper bgmManageMapper; + + @Override + public int insertBgm(OprManageBgmVO vo) { + return bgmManageMapper.insertBgm(vo); + + } + + public List uploadBgm(List multipartFile) { + List fileNameList = new ArrayList<>(); + + //s3클라이언트 인스턴스 생성 + S3Client s3 = S3Client.builder() + .region(Region.AP_NORTHEAST_2) + .credentialsProvider(InstanceProfileCredentialsProvider.builder().build()) + .build(); + + multipartFile.forEach(file -> + { + String fileName = file.getOriginalFilename(); + log.info("fileName : " + fileName); + + try (InputStream inputStream = file.getInputStream()) { + + //PutObjectRequest 생성 + PutObjectRequest putObjectRequest = PutObjectRequest.builder() + .bucket(s3Bucket) + .key(bgmPath + fileName) + //.acl(ObjectCannedACL.PUBLIC_READ) + .contentType(file.getContentType()) + .contentLength(file.getSize()) + .build(); + fileNameList.add(fileName); + PutObjectResponse response = s3.putObject(putObjectRequest, RequestBody.fromBytes(file.getBytes())); + + } catch (Exception e) { + e.printStackTrace(); +// throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "업로드에 실패했습니다."); + } + //fileNameList.add(awsImgUrl+fileName); + //fileNameList.add(s3Bucket + "/filepath"); + }); + + return fileNameList; + } + + /* + + @Override + public List selectBgmList(OprManageBgmListVo vo) { + List oprManageBgmList = bgmManageMapper.selectBgmList(vo); + return oprManageBgmList; + } + + */ + + + + /* + @Override + public List selectBgmList(OprManageBgmListVo vo) { + return bgmManageMapper.selectBgmList(vo); + } + */ + +/* + @Override + public void checkRecordFileFromS3(List list) { + if ("local".equals(s3Bucket)) { + for (HashMap fMap : list) { // 대화 내용 리스트 + if (fMap.containsKey("bgmFilePath")) { + fMap.put("bgmFilePath", ""); + } + } + return; + } + + String bucketName = s3Bucket; // 버킷명 + + // 1. s3 client 생성 + S3Client s3 = S3Client.builder() + .region(Region.AP_NORTHEAST_2) + .credentialsProvider(InstanceProfileCredentialsProvider.create()) + .build(); + log.debug("s3Client create"); + + // 2. 버킷 내에 각 파일 확인 + for (HashMap fMap : list) { // 대화 내용 리스트 + if (fMap.containsKey("bgmFilePath")) { + String recFilePath = fMap.get("bgmFilePath").toString(); + + boolean isS3Object = false; + if (!"".equals(recFilePath)) { + recFilePath = recFilePath.substring(1); + List sList = listBucketObjects(s3,bucketName,recFilePath); // 버킷에 파일 찾기 + + for (S3Object myValue : sList) { + if (myValue.key().equals(recFilePath)) { + isS3Object = true; + log.info("name of the key " + myValue.key() + " exist"); + } + } + + if (!isS3Object) { + recFilePath = ""; + } + } + fMap.put("recFilePath",recFilePath); + } + } + }*/ + + @Override + public String playRecordFileFromS3(String path) { + String bucketName = s3Bucket; // 버킷명 + + // 1. s3 client 생성 + S3Client s3 = S3Client.builder() + .region(Region.AP_NORTHEAST_2) + .credentialsProvider(InstanceProfileCredentialsProvider.create()) + .build(); + + // 2. 다운로드 된 파일인지 확인 + String fullPath = filePath + "bgmfile/" + recordDownloadFileName(path); + log.info("fullPath : " + fullPath); + File file = new File(fullPath); + if (file.exists()) { + if (!file.isDirectory()) { + return recordServerFilePath(recordDownloadFileName(path)); + } + } + + // 3. 다운로드 되지 않은 경우 다운로드 진행 + return recordServerFilePath(downloadFileFromS3(path, s3, bucketName)); + + } + + private List listBucketObjects(S3Client s3, String bucketName, String path) { + + ListObjectsRequest listObjects = ListObjectsRequest + .builder() + .prefix(path) + .bucket(bucketName) + .build(); + + ListObjectsResponse res = s3.listObjects(listObjects); + + return res.contents(); + } + + private String downloadFileFromS3(String keyName, S3Client s3, String bucketName) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + Calendar c1 = Calendar.getInstance(); + + String fileFormat = filePath + "bgmfile/"; + //String fileName = recordDownloadFileName(keyName); + String fileName; + try { + + log.debug("Downloading " + keyName + " from " + bucketName + "S3 bucket ..."); + + int beginIndex = keyName.lastIndexOf("%2F")+3; + int endIndex = keyName.length(); + String result = keyName.substring(beginIndex, endIndex); + String keyName2 = URLDecoder.decode(bgmPath + result, "UTF-8"); + fileName = result; + log.info("keyname : " + keyName); + log.info("keyname2 : " + keyName2); + GetObjectRequest objectRequest = GetObjectRequest + .builder() + .key(keyName2) + .bucket(bucketName) + .build(); + log.info("key fin"); + ResponseBytes objectBytes = s3.getObjectAsBytes(objectRequest); + byte[] data = objectBytes.asByteArray(); + + File Folder = new File(fileFormat + sdf.format(c1.getTime())); + if (!Folder.exists()) { + try { + Folder.mkdirs(); + } catch (Exception e) { + log.debug("error_mkdir"); + e.getStackTrace(); + } + } + + File myFile = new File(fileFormat + fileName); + OutputStream os = new FileOutputStream(myFile); + + os.write(data); + log.debug("Successfully obtained " + keyName + " from an S3 object"); + os.close(); + + } catch (IOException ex) { + fileName = ""; + log.error(ex.getMessage()); + } catch (S3Exception e) { + fileName = ""; + log.error(e.awsErrorDetails().errorMessage()); + System.exit(1); + } + return fileName; + } + + private String recordDownloadFileName(String keyName) { + + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + Calendar c1 = Calendar.getInstance(); + String fileName = sdf.format(c1.getTime()) + "/"; + + String filePattern = "bgmfile/[0-9]{8}/"; + Pattern pattern = Pattern.compile(filePattern); + Matcher match = pattern.matcher(keyName); + + if (match.find()) { + log.debug("bgm file Name :" + keyName.replaceAll(filePattern,"").trim()); + fileName = fileName + keyName.replaceAll(filePattern,"").trim(); + } + + return fileName; + } + + private String recordServerFilePath(String keyName) { + + InetAddress local; + String ip = ""; + try { + local = InetAddress.getLocalHost(); + ip = local.getHostAddress(); + } catch (UnknownHostException e1) { + e1.printStackTrace(); + } + + return "http://" + ip + ":8050/files/bgmfile/" + keyName; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/vo/OprManageBgmVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/vo/OprManageBgmVO.java new file mode 100644 index 0000000..31f4e56 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/vo/OprManageBgmVO.java @@ -0,0 +1,22 @@ +package com.icomsys.main_vm.biz.rcp.oprManage.vo; + + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +@Data +@Getter +@Setter +@ToString +public class OprManageBgmVO { + private String filePath; + private String fileName; + //private String fileType; + private String registDate; + private String custCode; + private String registId; + + private String searchKeyword; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/vo/SelectTtsTagInfoVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/vo/SelectTtsTagInfoVO.java new file mode 100644 index 0000000..fa43bf6 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/oprManage/vo/SelectTtsTagInfoVO.java @@ -0,0 +1,17 @@ +package com.icomsys.main_vm.biz.rcp.oprManage.vo; + +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class SelectTtsTagInfoVO { + private String ttsProdCode; + private String tagCode; + private String ttsStartTag; + private String ttsEndTag; + private String registId; + private LocalDateTime registDate; + private String updateId; + private LocalDateTime updateDate; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/StatisticsAiengineController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/StatisticsAiengineController.java new file mode 100644 index 0000000..5d0a5f9 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/StatisticsAiengineController.java @@ -0,0 +1,20 @@ +package com.icomsys.main_vm.biz.rcp.statistics.call; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/call") +public class StatisticsAiengineController { + + @GetMapping("/aiengine/manage.do") + public String day(){ + return "/adm/rcp/statistics/call/aiengine"; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/StatisticsCallInfoController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/StatisticsCallInfoController.java new file mode 100644 index 0000000..03e5df1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/StatisticsCallInfoController.java @@ -0,0 +1,67 @@ +package com.icomsys.main_vm.biz.rcp.statistics.call; + +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.rcp.statistics.call.req.StatisticsCallInfoListReq; +import com.icomsys.main_vm.biz.rcp.statistics.call.service.StatisticsCallInfoService; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.mybatis.alias.StatisticsCallInfoVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.HashMap; +import java.util.List; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/call") +public class StatisticsCallInfoController { + + private final StatisticsCallInfoService statisticsCallInfoService; + + private final ExcelService excelService; + + private final LogService logService; + + @GetMapping("/info/manage.do") + public String day(){ + return "/adm/rcp/statistics/call/info"; + } + + @RequestMapping(value = "/list.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List statCallInfoList(@RequestBody StatisticsCallInfoVO vo) { + List result = statisticsCallInfoService.selectStatCallInfo(vo); + + return result; + } + + @ResponseBody + @Transactional + @RequestMapping(value = "/exceldownload.do") + public void statCallInfoExcelDownload(HttpServletResponse response, @ModelAttribute StatisticsCallInfoListReq req) throws IOException { + + SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd/HH:mm:ss"); + + String nowTime = sdf.format(System.currentTimeMillis()); + + excelService.ExcelDownload("콜통계" + nowTime, req.getStatisticsCallInfoExcelVOList(), req.getTitleList()); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(req.getMenuVal())) + .actionCode(String.valueOf((ActionResource.download))) + .serviceGroup(req.getOprMngCode()) + .remark("엑셀 다운로드") + .build()); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/req/StatisticsCallInfoListReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/req/StatisticsCallInfoListReq.java new file mode 100644 index 0000000..b8ee8c5 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/req/StatisticsCallInfoListReq.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.biz.rcp.statistics.call.req; + +import com.icomsys.main_vm.biz.rcp.statistics.call.vo.StatisticsCallInfoExcelVO; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class StatisticsCallInfoListReq { + List statisticsCallInfoExcelVOList; + List titleList; + String menuVal; + String oprMngCode; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/service/StatisticsCallInfoService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/service/StatisticsCallInfoService.java new file mode 100644 index 0000000..17e5941 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/service/StatisticsCallInfoService.java @@ -0,0 +1,12 @@ +package com.icomsys.main_vm.biz.rcp.statistics.call.service; + +import com.icomsys.main_vm.db.mybatis.alias.StatisticsCallInfoVO; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; + +@Service +public interface StatisticsCallInfoService { + List selectStatCallInfo(StatisticsCallInfoVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/service/impl/StatisticsCallInfoServiceImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/service/impl/StatisticsCallInfoServiceImpl.java new file mode 100644 index 0000000..58113bb --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/service/impl/StatisticsCallInfoServiceImpl.java @@ -0,0 +1,286 @@ +package com.icomsys.main_vm.biz.rcp.statistics.call.service.impl; + +import com.icomsys.main_vm.biz.rcp.statistics.call.service.StatisticsCallInfoService; +import com.icomsys.main_vm.biz.rcp.statistics.call.vo.StatisticsCallInfoExcelVO; +import com.icomsys.main_vm.db.mybatis.alias.StatisticsCallInfoVO; +import com.icomsys.main_vm.db.mybatis.mapper.StatisticsCallInfoMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class StatisticsCallInfoServiceImpl implements StatisticsCallInfoService { + + @Autowired + private StatisticsCallInfoMapper statisticsCallInfoMapper; + + @Override + public List selectStatCallInfo(StatisticsCallInfoVO vo) { + List result = statisticsCallInfoMapper.selectStatCallInfo(vo); + List convert = new ArrayList<>(); + List dateList = new ArrayList<>(); + Map totCntMap = new HashMap<>(); + + Map traUserReqCntMap = new HashMap<>(); + Map traScenarioCntMap = new HashMap<>(); + Map traSilentFbCntMap = new HashMap<>(); + Map traSpeakFbCntMap = new HashMap<>(); + Map traTotCntMap = new HashMap<>(); + + Map endUserReqCntMap = new HashMap<>(); + Map endScenarioCntMap = new HashMap<>(); + Map endSilentFbCntMap = new HashMap<>(); + Map endSpeakFbCntMap = new HashMap<>(); + Map endInitEndCntMap = new HashMap<>(); + Map endUserEndCntMap = new HashMap<>(); + Map endSystemCntMap = new HashMap<>(); + Map endTotCntMap = new HashMap<>(); + + Map talkCntMap = new HashMap<>(); + + for (HashMap e : result) { + if (!dateList.contains(String.valueOf(e.get("callInitDate")))) { + dateList.add(String.valueOf(e.get("callInitDate"))); + } + + if (totCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = totCntMap.get(String.valueOf(e.get("callInitDate"))); + totCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + totCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + + if ("TRANSFER".equals(e.get("callEndConversion"))) { + if ("USER_REQ".equals(e.get("callEndReason"))) { + if (traUserReqCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = traUserReqCntMap.get(String.valueOf(e.get("callInitDate"))); + traUserReqCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + traUserReqCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + + if (traTotCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = traTotCntMap.get(String.valueOf(e.get("callInitDate"))); + traTotCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + traTotCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + } + + if ("SCENARIO".equals(e.get("callEndReason"))) { + if (traScenarioCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = traScenarioCntMap.get(String.valueOf(e.get("callInitDate"))); + traScenarioCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + traScenarioCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + + if (traTotCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = traTotCntMap.get(String.valueOf(e.get("callInitDate"))); + traTotCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + traTotCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + } + + if ("SILENT_FB".equals(e.get("callEndReason"))) { + if (traSilentFbCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = traSilentFbCntMap.get(String.valueOf(e.get("callInitDate"))); + traSilentFbCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + traSilentFbCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + + if (traTotCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = traTotCntMap.get(String.valueOf(e.get("callInitDate"))); + traTotCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + traTotCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + } + + if ("SPEAK_FB".equals(e.get("callEndReason"))) { + if (traSpeakFbCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = traSpeakFbCntMap.get(String.valueOf(e.get("callInitDate"))); + traSpeakFbCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + traSpeakFbCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + + if (traTotCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = traTotCntMap.get(String.valueOf(e.get("callInitDate"))); + traTotCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + traTotCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + } + } + + if ("END".equals(e.get("callEndConversion"))) { + if ("USER_REQ".equals(e.get("callEndReason"))) { + if (endUserReqCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = endUserReqCntMap.get(String.valueOf(e.get("callInitDate"))); + endUserReqCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + endUserReqCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + + if (endTotCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = endTotCntMap.get(String.valueOf(e.get("callInitDate"))); + endTotCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + endTotCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + } + + if ("SCENARIO".equals(e.get("callEndReason"))) { + if (endScenarioCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = endScenarioCntMap.get(String.valueOf(e.get("callInitDate"))); + endScenarioCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + endScenarioCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + + if (endTotCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = endTotCntMap.get(String.valueOf(e.get("callInitDate"))); + endTotCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + endTotCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + } + + if ("SILENT_FB".equals(e.get("callEndReason"))) { + if (endSilentFbCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = endSilentFbCntMap.get(String.valueOf(e.get("callInitDate"))); + endSilentFbCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + endSilentFbCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + + if (endTotCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = endTotCntMap.get(String.valueOf(e.get("callInitDate"))); + endTotCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + endTotCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + } + + if ("SPEAK_FB".equals(e.get("callEndReason"))) { + if (endSpeakFbCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = endSpeakFbCntMap.get(String.valueOf(e.get("callInitDate"))); + endSpeakFbCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + endSpeakFbCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + + if (endTotCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = endTotCntMap.get(String.valueOf(e.get("callInitDate"))); + endTotCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + endTotCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + } + + if ("INIT_END".equals(e.get("callEndReason"))) { + if (endInitEndCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = endInitEndCntMap.get(String.valueOf(e.get("callInitDate"))); + endInitEndCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + endInitEndCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + + if (endTotCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = endTotCntMap.get(String.valueOf(e.get("callInitDate"))); + endTotCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + endTotCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + } + + if ("USER_END".equals(e.get("callEndReason"))) { + if (endUserEndCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = endUserEndCntMap.get(String.valueOf(e.get("callInitDate"))); + endUserEndCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + endUserEndCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + + if (endTotCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = endTotCntMap.get(String.valueOf(e.get("callInitDate"))); + endTotCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + endTotCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + } + + if ("SYSTEM".equals(e.get("callEndReason"))) { + if (endSystemCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = endSystemCntMap.get(String.valueOf(e.get("callInitDate"))); + endSystemCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + endSystemCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + + if (endTotCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = endTotCntMap.get(String.valueOf(e.get("callInitDate"))); + endTotCntMap.put(String.valueOf(e.get("callInitDate")), cnt += 1); + } else { + endTotCntMap.put(String.valueOf(e.get("callInitDate")), 1.0); + } + } + } + + if (talkCntMap.containsKey(String.valueOf(e.get("callInitDate")))) { + double cnt = talkCntMap.get(String.valueOf(e.get("callInitDate"))); + talkCntMap.put(String.valueOf(e.get("callInitDate")), cnt += Double.valueOf(String.valueOf(e.get("talkSeqCnt")))); + } else { + talkCntMap.put(String.valueOf(e.get("callInitDate")), Double.valueOf(String.valueOf(e.get("talkSeqCnt")))); + } + } + + for (String e : dateList) { + HashMap map = new HashMap(); + map.put("callInitDate", e); + convert.add(map); + } + + double tmpTalkCnt = 0.0; + double tmpTotCnt = 1.0; + + for (HashMap convertMap : convert) { + for (HashMap e : result) { + if (convertMap.size() < 2) { + if (convertMap.get("callInitDate").equals(String.valueOf(e.get("callInitDate")))) { + convertMap.put("totCnt", (totCntMap.get(e.get("callInitDate")) == null) ? 0 : totCntMap.get(e.get("callInitDate"))); + + convertMap.put("ingUserReq", (traUserReqCntMap.get(e.get("callInitDate")) == null) ? 0 : traUserReqCntMap.get(e.get("callInitDate"))); + convertMap.put("ingScenario", (traScenarioCntMap.get(e.get("callInitDate")) == null) ? 0 : traScenarioCntMap.get(e.get("callInitDate"))); + convertMap.put("ingSilentFb", (traSilentFbCntMap.get(e.get("callInitDate")) == null) ? 0 : traSilentFbCntMap.get(e.get("callInitDate"))); + convertMap.put("ingSpeakFb", (traSpeakFbCntMap.get(e.get("callInitDate")) == null) ? 0 : traSpeakFbCntMap.get(e.get("callInitDate"))); + convertMap.put("ingTot", (traTotCntMap.get(e.get("callInitDate")) == null) ? 0 : traTotCntMap.get(e.get("callInitDate"))); + + convertMap.put("endUserReq", (endUserReqCntMap.get(e.get("callInitDate")) == null) ? 0 : endUserReqCntMap.get(e.get("callInitDate"))); + convertMap.put("endScenario", (endScenarioCntMap.get(e.get("callInitDate")) == null) ? 0 : endScenarioCntMap.get(e.get("callInitDate"))); + convertMap.put("endSilentFb", (endSilentFbCntMap.get(e.get("callInitDate")) == null) ? 0 : endSilentFbCntMap.get(e.get("callInitDate"))); + convertMap.put("endSpeakFb", (endSpeakFbCntMap.get(e.get("callInitDate")) == null) ? 0 : endSpeakFbCntMap.get(e.get("callInitDate"))); + convertMap.put("endInitEnd", (endInitEndCntMap.get(e.get("callInitDate")) == null) ? 0 : endInitEndCntMap.get(e.get("callInitDate"))); + convertMap.put("endUserEnd", (endUserEndCntMap.get(e.get("callInitDate")) == null) ? 0 : endUserEndCntMap.get(e.get("callInitDate"))); + convertMap.put("endSystem", (endSystemCntMap.get(e.get("callInitDate")) == null) ? 0 : endSystemCntMap.get(e.get("callInitDate"))); + convertMap.put("endTot", (endTotCntMap.get(e.get("callInitDate")) == null) ? 0 : endTotCntMap.get(e.get("callInitDate"))); + + tmpTalkCnt = (talkCntMap.get(e.get("callInitDate")) == null) ? 0.0 : talkCntMap.get(e.get("callInitDate")); + tmpTotCnt = (totCntMap.get(e.get("callInitDate")) == null) ? 1.0 : totCntMap.get(e.get("callInitDate")); + + convertMap.put("aveTalkCnt", Math.round(tmpTalkCnt/tmpTotCnt*10)/10.0); + } + } + } + } + + return convert; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/vo/StatisticsCallInfoExcelVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/vo/StatisticsCallInfoExcelVO.java new file mode 100644 index 0000000..ca48464 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/call/vo/StatisticsCallInfoExcelVO.java @@ -0,0 +1,148 @@ +package com.icomsys.main_vm.biz.rcp.statistics.call.vo; + +public class StatisticsCallInfoExcelVO { + private String callInitDate; + private String totCnt; + private String ingUserReq; + private String ingScenario; + private String ingSilentFb; + private String ingSpeakFb; + private String ingTot; + private String endUserReq; + private String endScenario; + private String endSilentFb; + private String endSpeakFb; + private String endInitEnd; + private String endUserEnd; + private String endSystem; + private String endTot; + private String aveTalkCnt; + + public String getCallInitDate() { + return callInitDate; + } + + public void setCallInitDate(String callInitDate) { + this.callInitDate = callInitDate; + } + + public String getTotCnt() { + return totCnt; + } + + public void setTotCnt(String totCnt) { + this.totCnt = totCnt; + } + + public String getIngUserReq() { + return ingUserReq; + } + + public void setIngUserReq(String ingUserReq) { + this.ingUserReq = ingUserReq; + } + + public String getIngScenario() { + return ingScenario; + } + + public void setIngScenario(String ingScenario) { + this.ingScenario = ingScenario; + } + + public String getIngSilentFb() { + return ingSilentFb; + } + + public void setIngSilentFb(String ingSilentFb) { + this.ingSilentFb = ingSilentFb; + } + + public String getIngSpeakFb() { + return ingSpeakFb; + } + + public void setIngSpeakFb(String ingSpeakFb) { + this.ingSpeakFb = ingSpeakFb; + } + + public String getIngTot() { + return ingTot; + } + + public void setIngTot(String ingTot) { + this.ingTot = ingTot; + } + + public String getEndUserReq() { + return endUserReq; + } + + public void setEndUserReq(String endUserReq) { + this.endUserReq = endUserReq; + } + + public String getEndScenario() { + return endScenario; + } + + public void setEndScenario(String endScenario) { + this.endScenario = endScenario; + } + + public String getEndSilentFb() { + return endSilentFb; + } + + public void setEndSilentFb(String endSilentFb) { + this.endSilentFb = endSilentFb; + } + + public String getEndSpeakFb() { + return endSpeakFb; + } + + public void setEndSpeakFb(String endSpeakFb) { + this.endSpeakFb = endSpeakFb; + } + + public String getEndInitEnd() { + return endInitEnd; + } + + public void setEndInitEnd(String endInitEnd) { + this.endInitEnd = endInitEnd; + } + + public String getEndUserEnd() { + return endUserEnd; + } + + public void setEndUserEnd(String endUserEnd) { + this.endUserEnd = endUserEnd; + } + + public String getEndSystem() { + return endSystem; + } + + public void setEndSystem(String endSystem) { + this.endSystem = endSystem; + } + + public String getEndTot() { + return endTot; + } + + public void setEndTot(String endTot) { + this.endTot = endTot; + } + + public String getAveTalkCnt() { + return aveTalkCnt; + } + + public void setAveTalkCnt(String aveTalkCnt) { + this.aveTalkCnt = aveTalkCnt; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/dashboard/service/StatisticsDashboardService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/dashboard/service/StatisticsDashboardService.java new file mode 100644 index 0000000..ed690a2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/dashboard/service/StatisticsDashboardService.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.biz.rcp.statistics.dashboard.service; + +import com.icomsys.main_vm.db.mybatis.alias.StatisticsDashboardVO; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; + +@Service +public interface StatisticsDashboardService { + List selectStatCallInfo(StatisticsDashboardVO vo); + List selectStatIntent(StatisticsDashboardVO vo); + List selectStatScenario(StatisticsDashboardVO vo); + List selectCallCntByToday(StatisticsDashboardVO vo); + int selectCurCallCnt(StatisticsDashboardVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/dashboard/service/impl/StatisticsDashboardServiceImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/dashboard/service/impl/StatisticsDashboardServiceImpl.java new file mode 100644 index 0000000..c603652 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/dashboard/service/impl/StatisticsDashboardServiceImpl.java @@ -0,0 +1,251 @@ +package com.icomsys.main_vm.biz.rcp.statistics.dashboard.service.impl; + +import com.icomsys.main_vm.biz.rcp.statistics.dashboard.service.StatisticsDashboardService; +import com.icomsys.main_vm.db.mybatis.alias.StatisticsDashboardVO; +import com.icomsys.main_vm.db.mybatis.mapper.StatisticsDashboardMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class StatisticsDashboardServiceImpl implements StatisticsDashboardService { + + @Autowired + private StatisticsDashboardMapper statisticsDashboardMapper; + + @Override + public List selectStatCallInfo(StatisticsDashboardVO vo) { + List result = statisticsDashboardMapper.selectStatCallInfo(vo); + List convert = new ArrayList<>(); + List oprDateList = new ArrayList<>(); + Map totCntMap = new HashMap<>(); + Map ingCntMap = new HashMap<>(); + Map endCntMap = new HashMap<>(); + + for (HashMap e : result) { + if (!oprDateList.contains(e.get("oprMngCode") + "/" + e.get("callInitDateB"))) { + oprDateList.add(e.get("oprMngCode") + "/" + e.get("callInitDateB")); + } + + if (totCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDateB"))) { + double cnt = totCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")); + totCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), cnt += 1); + } else { + if (e.get("callInitDate") != null) { + totCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 1.0); + } else { + totCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 0.0); + } + } + + if ("TRANSFER".equals(e.get("CALL_END_CONVERSION"))) { + if (ingCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDateB"))) { + double cnt = ingCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")); + ingCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), cnt += 1); + } else { + if (e.get("callInitDate") != null) { + ingCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 1.0); + } else { + ingCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 0.0); + } + } + } + + if ("END".equals(e.get("CALL_END_CONVERSION"))) { + if (endCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDateB"))) { + double cnt = endCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")); + endCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), cnt += 1.0); + } else { + if (e.get("callInitDate") != null) { + endCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 1.0); + } else { + endCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 0.0); + } + } + } + } + + for (String e : oprDateList) { + HashMap map = new HashMap(); + map.put("oprMngCode", e.split("/")[0]); + map.put("callInitDate", e.split("/")[1]); + convert.add(map); + } + + for (HashMap convertMap : convert) { + for (HashMap e : result) { + if (convertMap.size() < 3) { + if (convertMap.get("oprMngCode").equals(String.valueOf(e.get("oprMngCode"))) && convertMap.get("callInitDate").equals(String.valueOf(e.get("callInitDateB")))) { + convertMap.put("totCnt", (totCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")) == null) ? 0 : totCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB"))); + convertMap.put("ingCnt", (ingCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")) == null) ? 0 : ingCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB"))); + convertMap.put("endCnt", (endCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")) == null) ? 0 : endCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB"))); + } + } + } + } + + return convert; + } + + @Override + public List selectStatIntent(StatisticsDashboardVO vo) { + List result = statisticsDashboardMapper.selectStatIntent(vo); + List convert = new ArrayList<>(); + List oprDateList = new ArrayList<>(); + Map totCntMap = new HashMap<>(); + Map succCntMap = new HashMap<>(); + Map failCntMap = new HashMap<>(); + + for (HashMap e : result) { + if (!oprDateList.contains(e.get("oprMngCode") + "/" + e.get("callInitDateB"))) { + oprDateList.add(e.get("oprMngCode") + "/" + e.get("callInitDateB")); + } + + if (totCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDateB"))) { + double cnt = totCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")); + totCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), cnt += 1); + } else { + if (e.get("callInitDate") != null) { + totCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 1.0); + } else { + totCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 0.0); + } + } + + if ("INTENT_SUCCESS".equals(e.get("INTENT_RESULT_CODE"))) { + if (succCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDateB"))) { + double cnt = succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")); + succCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), cnt += 1); + } else { + if (e.get("callInitDate") != null) { + succCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 1.0); + } else { + succCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 0.0); + } + } + } + + if (!"INTENT_SUCCESS".equals(e.get("INTENT_RESULT_CODE"))) { + if (failCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDateB"))) { + double cnt = failCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")); + failCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), cnt += 1.0); + } else { + if (e.get("callInitDate") != null) { + failCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 1.0); + } else { + failCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 0.0); + } + } + } + } + + for (String e : oprDateList) { + HashMap map = new HashMap(); + map.put("oprMngCode", e.split("/")[0]); + map.put("callInitDate", e.split("/")[1]); + convert.add(map); + } + + for (HashMap convertMap : convert) { + for (HashMap e : result) { + if (convertMap.size() < 3) { + if (convertMap.get("oprMngCode").equals(String.valueOf(e.get("oprMngCode"))) && convertMap.get("callInitDate").equals(String.valueOf(e.get("callInitDateB")))) { + convertMap.put("totCnt", (totCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")) == null) ? 0 : totCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB"))); + convertMap.put("succCnt", (succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")) == null) ? 0 : succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB"))); + convertMap.put("failCnt", (failCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")) == null) ? 0 : failCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB"))); + } + } + } + } + + return convert; + } + + @Override + public List selectStatScenario(StatisticsDashboardVO vo) { + List result = statisticsDashboardMapper.selectStatScenario(vo); + List convert = new ArrayList<>(); + List oprDateList = new ArrayList<>(); + Map useCntMap = new HashMap<>(); + Map succCntMap = new HashMap<>(); + Map failCntMap = new HashMap<>(); + + for (HashMap e : result) { + if (!oprDateList.contains(e.get("oprMngCode") + "/" + e.get("callInitDateB"))) { + oprDateList.add(e.get("oprMngCode") + "/" + e.get("callInitDateB")); + } + + if (useCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDateB"))) { + double cnt = useCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")); + useCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), cnt += 1); + } else { + if (e.get("callInitDate") != null) { + useCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 1.0); + } else { + useCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 0.0); + } + } + + if ("S".equals(e.get("SCENARIO_RESULT_CODE"))) { + if (succCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDateB"))) { + double cnt = succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")); + succCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), cnt += 1); + } else { + if (e.get("callInitDate") != null) { + succCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 1.0); + } else { + succCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 0.0); + } + } + } + + if ("F".equals(e.get("SCENARIO_RESULT_CODE"))) { + if (failCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDateB"))) { + double cnt = failCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")); + failCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), cnt += 1.0); + } else { + if (e.get("callInitDate") != null) { + failCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 1.0); + } else { + failCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDateB"), 0.0); + } + } + } + } + + for (String e : oprDateList) { + HashMap map = new HashMap(); + map.put("oprMngCode", e.split("/")[0]); + map.put("callInitDate", e.split("/")[1]); + convert.add(map); + } + + for (HashMap convertMap : convert) { + for (HashMap e : result) { + if (convertMap.size() < 3) { + if (convertMap.get("oprMngCode").equals(String.valueOf(e.get("oprMngCode"))) && convertMap.get("callInitDate").equals(String.valueOf(e.get("callInitDateB")))) { + convertMap.put("useCnt", (useCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")) == null) ? 0 : useCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB"))); + convertMap.put("succCnt", (succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")) == null) ? 0 : succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB"))); + convertMap.put("failCnt", (failCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB")) == null) ? 0 : failCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDateB"))); + } + } + } + } + + return convert; + } + + @Override + public List selectCallCntByToday(StatisticsDashboardVO vo) { + return statisticsDashboardMapper.selectCallCntByToday(vo); + } + + @Override + public int selectCurCallCnt(StatisticsDashboardVO vo) { + return statisticsDashboardMapper.selectCurCallCnt(vo); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/StatisticsIntentDayController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/StatisticsIntentDayController.java new file mode 100644 index 0000000..09a97c2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/StatisticsIntentDayController.java @@ -0,0 +1,67 @@ +package com.icomsys.main_vm.biz.rcp.statistics.intent; + +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.rcp.statistics.intent.req.IntentAnalysisDayListReq; +import com.icomsys.main_vm.biz.rcp.statistics.intent.service.StatisticsIntentService; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringIntentAnalysisVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.HashMap; +import java.util.List; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/intent") +public class StatisticsIntentDayController { + + private final StatisticsIntentService statisticsIntentService; + + private final ExcelService excelService; + + private final LogService logService; + + @GetMapping("/day/manage.do") + public String day(){ + return "/adm/rcp/statistics/intent/day"; + } + + @RequestMapping(value = "/day/list.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List statIntentDayList(@RequestBody MonitoringIntentAnalysisVO vo) { + List result = statisticsIntentService.selectStatIntentDay(vo); + + return result; + } + + @ResponseBody + @Transactional + @RequestMapping(value = "/day/exceldownload.do") + public void statIntentDayExcelDownload(HttpServletResponse response, @ModelAttribute IntentAnalysisDayListReq req) throws IOException { + + SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd/HH:mm:ss"); + + String nowTime = sdf.format(System.currentTimeMillis()); + + excelService.ExcelDownload("날짜별_인텐트_통계" + nowTime, req.getIntentAnalysisDayList(), req.getTitleList()); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(req.getMenuVal())) + .actionCode(String.valueOf((ActionResource.download))) + .serviceGroup(req.getOprMngCode()) + .remark("엑셀 다운로드") + .build()); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/StatisticsIntentItemController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/StatisticsIntentItemController.java new file mode 100644 index 0000000..5530ded --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/StatisticsIntentItemController.java @@ -0,0 +1,67 @@ +package com.icomsys.main_vm.biz.rcp.statistics.intent; + +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.rcp.statistics.intent.req.IntentAnalysisItemListReq; +import com.icomsys.main_vm.biz.rcp.statistics.intent.service.StatisticsIntentService; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringIntentAnalysisVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.HashMap; +import java.util.List; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/intent") +public class StatisticsIntentItemController { + + private final StatisticsIntentService statisticsIntentService; + + private final ExcelService excelService; + + private final LogService logService; + + @GetMapping("/item/manage.do") + public String day(){ + return "/adm/rcp/statistics/intent/item"; + } + + @RequestMapping(value = "/item/list.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List statIntentItemList(@RequestBody MonitoringIntentAnalysisVO vo) { + List result = statisticsIntentService.selectStatIntentItem(vo); + + return result; + } + + @ResponseBody + @Transactional + @RequestMapping(value = "/item/exceldownload.do") + public void statIntentItemExcelDownload(HttpServletResponse response, @ModelAttribute IntentAnalysisItemListReq req) throws IOException { + + SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd/HH:mm:ss"); + + String nowTime = sdf.format(System.currentTimeMillis()); + + excelService.ExcelDownload("항목별_인텐트_통계" + nowTime, req.getIntentAnalysisItemList(), req.getTitleList()); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(req.getMenuVal())) + .actionCode(String.valueOf((ActionResource.download))) + .serviceGroup(req.getOprMngCode()) + .remark("엑셀 다운로드") + .build()); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/req/IntentAnalysisDayListReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/req/IntentAnalysisDayListReq.java new file mode 100644 index 0000000..06927ff --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/req/IntentAnalysisDayListReq.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.biz.rcp.statistics.intent.req; + +import com.icomsys.main_vm.db.mybatis.alias.IntentAnalysisDayVO; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class IntentAnalysisDayListReq { + List intentAnalysisDayList; + List titleList; + String menuVal; + String oprMngCode; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/req/IntentAnalysisItemListReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/req/IntentAnalysisItemListReq.java new file mode 100644 index 0000000..e5ef398 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/req/IntentAnalysisItemListReq.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.biz.rcp.statistics.intent.req; + +import com.icomsys.main_vm.db.mybatis.alias.IntentAnalysisItemVO; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class IntentAnalysisItemListReq { + List intentAnalysisItemList; + List titleList; + String menuVal; + String oprMngCode; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/service/StatisticsIntentService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/service/StatisticsIntentService.java new file mode 100644 index 0000000..d97097f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/service/StatisticsIntentService.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm.biz.rcp.statistics.intent.service; + +import com.icomsys.main_vm.db.mybatis.alias.MonitoringIntentAnalysisVO; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; + +@Service +public interface StatisticsIntentService { + List selectStatIntentDay(MonitoringIntentAnalysisVO vo); + List selectStatIntentItem(MonitoringIntentAnalysisVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/service/impl/StatisticsIntentServiceImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/service/impl/StatisticsIntentServiceImpl.java new file mode 100644 index 0000000..592dc6d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/intent/service/impl/StatisticsIntentServiceImpl.java @@ -0,0 +1,173 @@ +package com.icomsys.main_vm.biz.rcp.statistics.intent.service.impl; + +import com.icomsys.main_vm.biz.rcp.statistics.intent.service.StatisticsIntentService; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringIntentAnalysisVO; +import com.icomsys.main_vm.db.mybatis.mapper.StatisticsIntentMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class StatisticsIntentServiceImpl implements StatisticsIntentService { + + @Autowired + private StatisticsIntentMapper statisticsIntentMapper; + + @Override + public List selectStatIntentDay(MonitoringIntentAnalysisVO vo) { + List result = statisticsIntentMapper.selectStatIntentDay(vo); + List convert = new ArrayList<>(); + List oprDateList = new ArrayList<>(); + Map totCntMap = new HashMap<>(); + Map succCntMap = new HashMap<>(); + Map failCntMap = new HashMap<>(); + Map avgIntentPerMap = new HashMap<>(); + + for (HashMap e : result) { + if (!oprDateList.contains(e.get("oprMngCode") + "/" + e.get("callInitDate"))) { + oprDateList.add(e.get("oprMngCode") + "/" + e.get("callInitDate")); + } + + if (totCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDate"))) { + double cnt = totCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate")); + totCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDate"), cnt += 1); + } else { + totCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDate"), 1.0); + } + + if ("INTENT_SUCCESS".equals(e.get("intentResultCode"))) { + if (succCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDate"))) { + double cnt = succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate")); + succCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDate"), cnt += 1); + } else { + succCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDate"), 1.0); + } + } + + if (!"INTENT_SUCCESS".equals(e.get("intentResultCode"))) { + if (failCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDate"))) { + double cnt = failCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate")); + failCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDate"), cnt += 1.0); + } else { + failCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDate"), 1.0); + } + } + + double score = e.get("score") == null || !StringUtils.hasText(String.valueOf(e.get("score"))) ? 0 : Double.valueOf(String.valueOf(e.get("score"))); + if (avgIntentPerMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDate"))) { + double cnt = avgIntentPerMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate")); + avgIntentPerMap.put(e.get("oprMngCode") + "/" + e.get("callInitDate"), cnt += score); + } else { + avgIntentPerMap.put(e.get("oprMngCode") + "/" + e.get("callInitDate"), score); + } + } + + for (String e : oprDateList) { + HashMap map = new HashMap(); + map.put("oprMngCode", e.split("/")[0]); + map.put("callInitDate", e.split("/")[1]); + convert.add(map); + } + + for (HashMap convertMap : convert) { + for (HashMap e : result) { + if (convertMap.size() < 3) { + if (convertMap.get("oprMngCode").equals(String.valueOf(e.get("oprMngCode"))) && convertMap.get("callInitDate").equals(String.valueOf(e.get("callInitDate")))) { + convertMap.put("oprMngCodeName", e.get("oprMngCodeName")); + convertMap.put("oprMngCode", e.get("oprMngCode")); + convertMap.put("totCnt", totCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate"))); + convertMap.put("succCnt", (succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate")) == null) ? 0 : succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate"))); + convertMap.put("failCnt", (failCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate")) == null) ? 0 : failCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate"))); + convertMap.put("succPer", Math.round((succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate")) == null) ? 0.0 : succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate"))/totCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate"))*1000)/10.0); + convertMap.put("avgIntentPer", Math.round(avgIntentPerMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate"))/totCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate"))*10)/10.0); + } + } + } + } + + return convert; + } + + @Override + public List selectStatIntentItem(MonitoringIntentAnalysisVO vo) { + List result = statisticsIntentMapper.selectStatIntentItem(vo); + List convert = new ArrayList<>(); + List oprIdList = new ArrayList<>(); + Map totCntMap = new HashMap<>(); + Map succCntMap = new HashMap<>(); + Map failCntMap = new HashMap<>(); + Map avgIntentPerMap = new HashMap<>(); + + for (HashMap e : result) { + if (!oprIdList.contains(e.get("oprMngCode") + "/" + e.get("intentId"))) { + oprIdList.add(e.get("oprMngCode") + "/" + e.get("intentId")); + } + + if (totCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("intentId"))) { + double cnt = totCntMap.get(e.get("oprMngCode") + "/" + e.get("intentId")); + totCntMap.put(e.get("oprMngCode") + "/" + e.get("intentId"), cnt += 1); + } else { + totCntMap.put(e.get("oprMngCode") + "/" + e.get("intentId"), 1.0); + } + + if ("INTENT_SUCCESS".equals(e.get("intentResultCode"))) { + if (succCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("intentId"))) { + double cnt = succCntMap.get(e.get("oprMngCode") + "/" + e.get("intentId")); + succCntMap.put(e.get("oprMngCode") + "/" + e.get("intentId"), cnt += 1); + } else { + succCntMap.put(e.get("oprMngCode") + "/" + e.get("intentId"), 1.0); + } + } + + if (!"INTENT_SUCCESS".equals(e.get("intentResultCode"))) { + if (failCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("intentId"))) { + double cnt = failCntMap.get(e.get("oprMngCode") + "/" + e.get("intentId")); + failCntMap.put(e.get("oprMngCode") + "/" + e.get("intentId"), cnt += 1.0); + } else { + failCntMap.put(e.get("oprMngCode") + "/" + e.get("intentId"), 1.0); + } + } + + double score = e.get("score") == null || !StringUtils.hasText(String.valueOf(e.get("score"))) ? 0 : Double.valueOf(String.valueOf(e.get("score"))); + if (avgIntentPerMap.containsKey(e.get("oprMngCode") + "/" + e.get("intentId"))) { + double cnt = avgIntentPerMap.get(e.get("oprMngCode") + "/" + e.get("intentId")); + avgIntentPerMap.put(e.get("oprMngCode") + "/" + e.get("intentId"), cnt += score); + } else { + avgIntentPerMap.put(e.get("oprMngCode") + "/" + e.get("intentId"), score); + } + } + + for (String e : oprIdList) { + HashMap map = new HashMap(); + map.put("oprMngCode", e.split("/")[0]); + map.put("intentId", e.split("/")[1]); + convert.add(map); + } + + for (HashMap convertMap : convert) { + for (HashMap e : result) { + if (convertMap.size() < 3) { + if (convertMap.get("oprMngCode").equals(String.valueOf(e.get("oprMngCode"))) && convertMap.get("intentId").equals(String.valueOf(e.get("intentId")))) { + convertMap.put("oprMngCodeName", e.get("oprMngCodeName")); + convertMap.put("oprMngCode", e.get("oprMngCode")); + convertMap.put("intentGroup", e.get("intentGroup")); + convertMap.put("intentId", e.get("intentId")); + convertMap.put("intentName", e.get("intentName")); + convertMap.put("totCnt", totCntMap.get(e.get("oprMngCode") + "/" + e.get("intentId"))); + convertMap.put("succCnt", (succCntMap.get(e.get("oprMngCode") + "/" + e.get("intentId")) == null) ? 0 : succCntMap.get(e.get("oprMngCode") + "/" + e.get("intentId"))); + convertMap.put("failCnt", (failCntMap.get(e.get("oprMngCode") + "/" + e.get("intentId")) == null) ? 0 : failCntMap.get(e.get("oprMngCode") + "/" + e.get("intentId"))); + convertMap.put("succPer", Math.round((succCntMap.get(e.get("oprMngCode") + "/" + e.get("intentId")) == null) ? 0.0 : succCntMap.get(e.get("oprMngCode") + "/" + e.get("intentId"))/totCntMap.get(e.get("oprMngCode") + "/" + e.get("intentId"))*1000)/10.0); + convertMap.put("avgIntentPer", Math.round(avgIntentPerMap.get(e.get("oprMngCode") + "/" + e.get("intentId"))/totCntMap.get(e.get("oprMngCode") + "/" + e.get("intentId"))*10)/10.0); + } + } + } + } + + return convert; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/StatisticsScenarioDayController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/StatisticsScenarioDayController.java new file mode 100644 index 0000000..d77b8bf --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/StatisticsScenarioDayController.java @@ -0,0 +1,67 @@ +package com.icomsys.main_vm.biz.rcp.statistics.scenario; + +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.rcp.statistics.scenario.req.StatisticsScenarioDayListReq; +import com.icomsys.main_vm.biz.rcp.statistics.scenario.service.StatisticsScenarioService; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringOutscenarioVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.HashMap; +import java.util.List; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/scenario") +public class StatisticsScenarioDayController { + + private final StatisticsScenarioService statisticsScenarioService; + + private final ExcelService excelService; + + private final LogService logService; + + @GetMapping("/day/manage.do") + public String day(){ + return "/adm/rcp/statistics/scenario/day"; + } + + @RequestMapping(value = "/day/list.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List statScenarioDayList(@RequestBody MonitoringOutscenarioVO vo) { + List result = statisticsScenarioService.selectStatScenarioDay(vo); + + return result; + } + + @ResponseBody + @Transactional + @RequestMapping(value = "/day/exceldownload.do") + public void statScenarioDayExcelDownload(HttpServletResponse response, @ModelAttribute StatisticsScenarioDayListReq req) throws IOException { + + SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd/HH:mm:ss"); + + String nowTime = sdf.format(System.currentTimeMillis()); + + excelService.ExcelDownload("날짜별_시나리오_통계" + nowTime, req.getStatisticsScenarioDayVoList(), req.getTitleList()); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(req.getMenuVal())) + .actionCode(String.valueOf((ActionResource.download))) + .serviceGroup(req.getOprMngCode()) + .remark("엑셀 다운로드") + .build()); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/StatisticsScenarioItemController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/StatisticsScenarioItemController.java new file mode 100644 index 0000000..6fda103 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/StatisticsScenarioItemController.java @@ -0,0 +1,67 @@ +package com.icomsys.main_vm.biz.rcp.statistics.scenario; + +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.rcp.statistics.scenario.req.StatisticsScenarioItemListReq; +import com.icomsys.main_vm.biz.rcp.statistics.scenario.service.StatisticsScenarioService; +import com.icomsys.main_vm.common.code.enumresource.ActionResource; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringOutscenarioVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.HashMap; +import java.util.List; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/scenario") +public class StatisticsScenarioItemController { + + private final StatisticsScenarioService statisticsScenarioService; + + private final ExcelService excelService; + + private final LogService logService; + + @GetMapping("/item/manage.do") + public String day(){ + return "/adm/rcp/statistics/scenario/item"; + } + + @RequestMapping(value = "/item/list.do", method = {RequestMethod.GET, RequestMethod.POST}) + @ResponseBody + public List statScenarioItemList(@RequestBody MonitoringOutscenarioVO vo) { + List result = statisticsScenarioService.selectStatScenarioItem(vo); + + return result; + } + + @ResponseBody + @Transactional + @RequestMapping(value = "/item/exceldownload.do") + public void statScenarioItemExcelDownload(HttpServletResponse response, @ModelAttribute StatisticsScenarioItemListReq req) throws IOException { + + SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd/HH:mm:ss"); + + String nowTime = sdf.format(System.currentTimeMillis()); + + excelService.ExcelDownload("항목별_시나리오_통계" + nowTime, req.getStatisticsScenarioItemVoList(), req.getTitleList()); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.valueOf(req.getMenuVal())) + .actionCode(String.valueOf((ActionResource.download))) + .serviceGroup(req.getOprMngCode()) + .remark("엑셀 다운로드") + .build()); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/req/StatisticsScenarioDayListReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/req/StatisticsScenarioDayListReq.java new file mode 100644 index 0000000..46dfb26 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/req/StatisticsScenarioDayListReq.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.biz.rcp.statistics.scenario.req; + +import com.icomsys.main_vm.biz.rcp.statistics.scenario.vo.StatisticsScenarioDayVO; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class StatisticsScenarioDayListReq { + List statisticsScenarioDayVoList; + List titleList; + String menuVal; + String oprMngCode; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/req/StatisticsScenarioItemListReq.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/req/StatisticsScenarioItemListReq.java new file mode 100644 index 0000000..156e8ad --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/req/StatisticsScenarioItemListReq.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.biz.rcp.statistics.scenario.req; + +import com.icomsys.main_vm.biz.rcp.statistics.scenario.vo.StatisticsScenarioItemVO; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class StatisticsScenarioItemListReq { + List statisticsScenarioItemVoList; + List titleList; + String menuVal; + String oprMngCode; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/service/StatisticsScenarioService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/service/StatisticsScenarioService.java new file mode 100644 index 0000000..4b3c5cd --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/service/StatisticsScenarioService.java @@ -0,0 +1,14 @@ +package com.icomsys.main_vm.biz.rcp.statistics.scenario.service; + +import com.icomsys.main_vm.db.mybatis.alias.MonitoringIntentAnalysisVO; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringOutscenarioVO; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; + +@Service +public interface StatisticsScenarioService { + List selectStatScenarioDay(MonitoringOutscenarioVO vo); + List selectStatScenarioItem(MonitoringOutscenarioVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/service/impl/StatisticsScenarioServiceImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/service/impl/StatisticsScenarioServiceImpl.java new file mode 100644 index 0000000..3fe962e --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/service/impl/StatisticsScenarioServiceImpl.java @@ -0,0 +1,154 @@ +package com.icomsys.main_vm.biz.rcp.statistics.scenario.service.impl; + +import com.icomsys.main_vm.biz.rcp.statistics.scenario.service.StatisticsScenarioService; +import com.icomsys.main_vm.biz.test.controller.FailNodeVO; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringOutscenarioVO; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringScenarioBreakVO; +import com.icomsys.main_vm.db.mybatis.mapper.StatisticsScenarioMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class StatisticsScenarioServiceImpl implements StatisticsScenarioService { + + @Autowired + private StatisticsScenarioMapper statisticsScenarioMapper; + + @Override + public List selectStatScenarioDay(MonitoringOutscenarioVO vo) { + List result = statisticsScenarioMapper.selectStatScenarioDay(vo); + List convert = new ArrayList<>(); + List oprDateList = new ArrayList<>(); + Map useCntMap = new HashMap<>(); + Map succCntMap = new HashMap<>(); + Map failCntMap = new HashMap<>(); + + for (HashMap e : result) { + if (!oprDateList.contains(e.get("oprMngCode") + "/" + e.get("callInitDate"))) { + oprDateList.add(e.get("oprMngCode") + "/" + e.get("callInitDate")); + } + + if (useCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDate"))) { + double cnt = useCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate")); + useCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDate"), cnt += 1); + } else { + useCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDate"), 1.0); + } + + if ("S".equals(e.get("scenarioResultCode"))) { + if (succCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDate"))) { + double cnt = succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate")); + succCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDate"), cnt += 1); + } else { + succCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDate"), 1.0); + } + } + + if ("F".equals(e.get("scenarioResultCode"))) { + if (failCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("callInitDate"))) { + double cnt = failCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate")); + failCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDate"), cnt += 1.0); + } else { + failCntMap.put(e.get("oprMngCode") + "/" + e.get("callInitDate"), 1.0); + } + } + } + + for (String e : oprDateList) { + HashMap map = new HashMap(); + map.put("oprMngCode", e.split("/")[0]); + map.put("callInitDate", e.split("/")[1]); + convert.add(map); + } + + for (HashMap convertMap : convert) { + for (HashMap e : result) { + if (convertMap.size() < 3) { + if (convertMap.get("oprMngCode").equals(String.valueOf(e.get("oprMngCode"))) && convertMap.get("callInitDate").equals(String.valueOf(e.get("callInitDate")))) { + convertMap.put("oprMngCodeName", e.get("oprMngCodeName")); + convertMap.put("useCnt", useCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate"))); + convertMap.put("succCnt", (succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate")) == null) ? 0 : succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate"))); + convertMap.put("failCnt", (failCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate")) == null) ? 0 : failCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate"))); + convertMap.put("succPer", Math.round((succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate")) == null) ? 0.0 : succCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate"))/useCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate"))*1000)/10.0); + convertMap.put("failPer", Math.round((failCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate")) == null) ? 0.0 : failCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate"))/useCntMap.get(e.get("oprMngCode") + "/" + e.get("callInitDate"))*1000)/10.0); + } + } + } + } + + return convert; + } + + @Override + public List selectStatScenarioItem(MonitoringOutscenarioVO vo) { + List result = statisticsScenarioMapper.selectStatScenarioItem(vo); + List convert = new ArrayList<>(); + List oprSeqList = new ArrayList<>(); + Map useCntMap = new HashMap<>(); + Map succCntMap = new HashMap<>(); + Map failCntMap = new HashMap<>(); + double totCnt = result.size(); + + for (HashMap e : result) { + if (!oprSeqList.contains(e.get("oprMngCode") + "/" + e.get("scenarioSeq"))) { + oprSeqList.add(e.get("oprMngCode") + "/" + e.get("scenarioSeq")); + } + + if (useCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("scenarioSeq"))) { + double cnt = useCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq")); + useCntMap.put(e.get("oprMngCode") + "/" + e.get("scenarioSeq"), cnt += 1); + } else { + useCntMap.put(e.get("oprMngCode") + "/" + e.get("scenarioSeq"), 1.0); + } + + if ("S".equals(e.get("scenarioResultCode"))) { + if (succCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("scenarioSeq"))) { + double cnt = succCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq")); + succCntMap.put(e.get("oprMngCode") + "/" + e.get("scenarioSeq"), cnt += 1); + } else { + succCntMap.put(e.get("oprMngCode") + "/" + e.get("scenarioSeq"), 1.0); + } + } + + if ("F".equals(e.get("scenarioResultCode"))) { + if (failCntMap.containsKey(e.get("oprMngCode") + "/" + e.get("scenarioSeq"))) { + double cnt = failCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq")); + failCntMap.put(e.get("oprMngCode") + "/" + e.get("scenarioSeq"), cnt += 1.0); + } else { + failCntMap.put(e.get("oprMngCode") + "/" + e.get("scenarioSeq"), 1.0); + } + } + } + + for (String e : oprSeqList) { + HashMap map = new HashMap(); + map.put("oprMngCode", e.split("/")[0]); + map.put("scenarioSeq", e.split("/")[1]); + convert.add(map); + } + + for (HashMap convertMap : convert) { + for (HashMap e : result) { + if (convertMap.size() < 3) { + if (convertMap.get("oprMngCode").equals(String.valueOf(e.get("oprMngCode"))) && convertMap.get("scenarioSeq").equals(String.valueOf(e.get("scenarioSeq")))) { + convertMap.put("scenarioName", e.get("scenarioName")); + convertMap.put("oprMngCodeName", e.get("oprMngCodeName")); + convertMap.put("useCnt", useCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq"))); + convertMap.put("succCnt", (succCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq")) == null) ? 0 : succCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq"))); + convertMap.put("failCnt", (failCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq")) == null) ? 0 : failCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq"))); + convertMap.put("usePer", Math.round(useCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq"))/totCnt*1000)/10.0); + convertMap.put("succPer", Math.round((succCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq")) == null) ? 0.0 : succCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq"))/useCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq"))*1000)/10.0); + convertMap.put("failPer", Math.round((failCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq")) == null) ? 0.0 : failCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq"))/useCntMap.get(e.get("oprMngCode") + "/" + e.get("scenarioSeq"))*1000)/10.0); + } + } + } + } + + return convert; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/vo/StatisticsScenarioDayVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/vo/StatisticsScenarioDayVO.java new file mode 100644 index 0000000..824b68e --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/vo/StatisticsScenarioDayVO.java @@ -0,0 +1,67 @@ +package com.icomsys.main_vm.biz.rcp.statistics.scenario.vo; + +public class StatisticsScenarioDayVO { + private String oprMngCodeName; + private String callInitDate; + private String useCnt; + private String succCnt; + private String failCnt; + private String succPer; + private String failPer; + + public String getOprMngCodeName() { + return oprMngCodeName; + } + + public void setOprMngCodeName(String oprMngCodeName) { + this.oprMngCodeName = oprMngCodeName; + } + + public String getCallInitDate() { + return callInitDate; + } + + public void setCallInitDate(String callInitDate) { + this.callInitDate = callInitDate; + } + + public String getUseCnt() { + return useCnt; + } + + public void setUseCnt(String useCnt) { + this.useCnt = useCnt; + } + + public String getSuccCnt() { + return succCnt; + } + + public void setSuccCnt(String succCnt) { + this.succCnt = succCnt; + } + + public String getFailCnt() { + return failCnt; + } + + public void setFailCnt(String failCnt) { + this.failCnt = failCnt; + } + + public String getSuccPer() { + return succPer; + } + + public void setSuccPer(String succPer) { + this.succPer = succPer; + } + + public String getFailPer() { + return failPer; + } + + public void setFailPer(String failPer) { + this.failPer = failPer; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/vo/StatisticsScenarioItemVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/vo/StatisticsScenarioItemVO.java new file mode 100644 index 0000000..fc50332 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/scenario/vo/StatisticsScenarioItemVO.java @@ -0,0 +1,76 @@ +package com.icomsys.main_vm.biz.rcp.statistics.scenario.vo; + +public class StatisticsScenarioItemVO { + private String oprMngCodeName; + private String scenarioName; + private String useCnt; + private String succCnt; + private String failCnt; + private String usePer; + private String succPer; + private String failPer; + + public String getOprMngCodeName() { + return oprMngCodeName; + } + + public void setOprMngCodeName(String oprMngCodeName) { + this.oprMngCodeName = oprMngCodeName; + } + + public String getScenarioName() { + return scenarioName; + } + + public void setScenarioName(String scenarioName) { + this.scenarioName = scenarioName; + } + + public String getUseCnt() { + return useCnt; + } + + public void setUseCnt(String useCnt) { + this.useCnt = useCnt; + } + + public String getSuccCnt() { + return succCnt; + } + + public void setSuccCnt(String succCnt) { + this.succCnt = succCnt; + } + + public String getFailCnt() { + return failCnt; + } + + public void setFailCnt(String failCnt) { + this.failCnt = failCnt; + } + + public String getUsePer() { + return usePer; + } + + public void setUsePer(String usePer) { + this.usePer = usePer; + } + + public String getSuccPer() { + return succPer; + } + + public void setSuccPer(String succPer) { + this.succPer = succPer; + } + + public String getFailPer() { + return failPer; + } + + public void setFailPer(String failPer) { + this.failPer = failPer; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsIntentController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsIntentController.java new file mode 100644 index 0000000..7247841 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsIntentController.java @@ -0,0 +1,20 @@ +package com.icomsys.main_vm.biz.rcp.statistics.statistics; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/statistics") +public class StatisticsIntentController { + + @GetMapping("/intent/manage.do") + public String StatisticsIntentView(){ + return "/adm/rcp/statistics/statistics/intent"; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsResponseController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsResponseController.java new file mode 100644 index 0000000..fadd9f6 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsResponseController.java @@ -0,0 +1,20 @@ +package com.icomsys.main_vm.biz.rcp.statistics.statistics; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/statistics") +public class StatisticsResponseController { + + @GetMapping("/response/manage.do") + public String StatisticsResponseView(){ + return "/adm/rcp/statistics/statistics/response"; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsScenarioController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsScenarioController.java new file mode 100644 index 0000000..81f684c --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsScenarioController.java @@ -0,0 +1,19 @@ +package com.icomsys.main_vm.biz.rcp.statistics.statistics; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/statistics") +public class StatisticsScenarioController { + + @GetMapping("/scenario/manage.do") + public String StatisticsScenarioView(){ + return "/adm/rcp/statistics/statistics/scenario"; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsUsageController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsUsageController.java new file mode 100644 index 0000000..bf27626 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/statistics/StatisticsUsageController.java @@ -0,0 +1,20 @@ +package com.icomsys.main_vm.biz.rcp.statistics.statistics; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/statistics") +public class StatisticsUsageController { + + @GetMapping("/use/manage.do") + public String StatisticsUsageView(){ + return "/adm/rcp/statistics/statistics/use"; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/use/RecordController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/use/RecordController.java new file mode 100644 index 0000000..d8d9c20 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/statistics/use/RecordController.java @@ -0,0 +1,20 @@ +package com.icomsys.main_vm.biz.rcp.statistics.use; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@Slf4j +@RequiredArgsConstructor +@RequestMapping("/admin/rcp/statistics/use") +public class RecordController { + + @GetMapping("/record/manage.do") + public String RecordView(){ + return "/adm/rcp/statistics/use/record"; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/util/ScenarioConverter.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/util/ScenarioConverter.java new file mode 100644 index 0000000..bf449d8 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/rcp/util/ScenarioConverter.java @@ -0,0 +1,474 @@ +package com.icomsys.main_vm.biz.rcp.util; + +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNoSuchFieldException; +import com.icomsys.main_vm.common.code.enumresource.ScenarioNodeType; +import com.icomsys.main_vm.common.util.HashUtil; +import com.jayway.jsonpath.DocumentContext; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; +import com.jayway.jsonpath.JsonPath; + +import java.security.NoSuchAlgorithmException; +import java.util.*; + +import org.json.JSONArray; +import org.json.JSONObject; + +@Slf4j +@Getter +@Setter +@NoArgsConstructor +public class ScenarioConverter { + private String diagramString; + private String diagramChecksum; + private String callScenarioString; + private String callScenarioChecksum; + private DocumentContext diagramContext; + + private Map diagramShapeKey; + private Map diagramConnector; + + public ScenarioConverter(String diagramString) { + this.diagramString = diagramString; + } + + public void createDiagramChecksum() throws NoSuchAlgorithmException { + diagramChecksum = HashUtil.getStringToChecksum(diagramString); + } + + public void createScenarioChecksum() throws NoSuchAlgorithmException { + callScenarioChecksum = HashUtil.getStringToChecksum(callScenarioString); + } + + public void createChecksum() throws NoSuchAlgorithmException { + diagramChecksum = HashUtil.getStringToChecksum(diagramString); + callScenarioChecksum = HashUtil.getStringToChecksum(callScenarioString); + } + + + + public void convertDiagramToCallScenario() throws CustomBadRequestException { + + JSONObject ojbCallScenario = new JSONObject(); + // JSONObject objCallInfo = new JSONObject(); // 기본변수 삭제됨 + + if (diagramContext == null) { + diagramContext = JsonPath.parse(diagramString); + } + // log.debug(diagramString); + + // 다이어그램 shape, connector 값 초기화 + createDiagramShapeKey(); + createDiagramConnector(); + + // 시나리오 변수 세팅 + ojbCallScenario.put("scenarioParam", convertScenarioParams()); + + JSONArray arrayNode = new JSONArray(); + List> shapes = diagramContext.read("$.shapes.[*].customData"); + + for (Map shape : shapes) { + + JSONObject objNode = new JSONObject(); + Integer nodeCode = (Integer) shape.get("nodeCode"); + objNode.put("nodeType", shape.get("nodeType")); + objNode.put("nodeCode", Integer.toString(nodeCode)); + objNode.put("nodeName", shape.get("nodeName")); + + String nextNode = findNextNodeCode(nodeCode); + objNode.put("nextNode", nextNode); + + String nodeType = (String)shape.get("nodeType"); + switch (ScenarioNodeType.findByName(nodeType)) { + case Intent: + convertIntent(objNode, shape); + break; + case Speak: + convertSpeak(objNode, shape); + break; + case Slot: + convertSlot(objNode, shape); + break; + case Split: + convertSplit(objNode, shape); + break; + case API: + convertAPI(objNode, shape); + break; + case Common: + convertCommon(objNode, shape); + break; + case Function: + convertFunction(objNode, shape); + break; + case Call: + convertCall(objNode, shape); + break; + case IN: + case OUT: + case HORIZONTALCONTAINER: + case VERTICALCONTAINER: + // 기본 세팅 없음 + break; + default: + throw new CustomBadRequestException("Undefined nodeType: " + nodeType); + } + + arrayNode.put(objNode); + } + + ojbCallScenario.put("scenario", arrayNode); + callScenarioString = ojbCallScenario.toString(); + // log.debug(callScenarioString); + } + + + private JSONObject convertScenarioParams(){ + JSONObject params = new JSONObject(); + LinkedHashMap scParams = diagramContext.read("$.scenarioParam"); + for (String paramKey: scParams.keySet()) { + params.put(paramKey, ""); + } + + return params; + } + + private void convertIntent(JSONObject objNode, Map node) { + JSONObject objIntent = new JSONObject(); + String[] keyNames = {"nodeMent", "intentSeq" }; + for (String keyName: keyNames) { + objIntent.put(keyName, node.get(keyName)); + } + + objNode.put("nodeOption", objIntent); + } + + private void convertSpeak(JSONObject objNode, Map node) { + JSONObject objSpeak = new JSONObject(); + String[] keyNames = {"nodeMent", "bargeIn", "endFlag" }; + for (String keyName: keyNames) { + objSpeak.put(keyName, node.get(keyName)); + } + + objNode.put("nodeOption", objSpeak); + } + + private void convertSlot(JSONObject objNode, Map node) { + JSONObject objSlot = new JSONObject(); + + String[] keyNames = {"paramName", "nodeMent", "bargeIn", "reNodeMent", "reBargeIn", "nodeQstCnt", "requiredYn", "actionType", "maxDigit", "entityType" }; + for (String keyName: keyNames) { + objSlot.put(keyName, node.get(keyName)); + } + + objNode.put("nodeOption", objSlot); + } + + private void convertSplit(JSONObject objNode, Map node) { + JSONObject objSplit = new JSONObject(); + + JSONArray arrayConditionList = new JSONArray(); + LinkedHashMap conditionList = (LinkedHashMap)node.get("conditionList"); + if (conditionList != null) { + + Set conditionKeySet = conditionList.keySet(); + + for (String key : conditionKeySet) { + LinkedHashMap condition = (LinkedHashMap)conditionList.get(key); + JSONObject objCondition = new JSONObject(); + objCondition.put("nextNode", String.valueOf(condition.get("nextNode"))); + objCondition.put("condition", (condition.get("condition") == null)? "" : condition.get("condition")); + objCondition.put("nodeMent", (condition.get("nodeMent") == null)? "" : condition.get("nodeMent")); + + arrayConditionList.put(objCondition); + } + } + + objSplit.put("conditionList",arrayConditionList); + objNode.put("nodeOption", objSplit); + } + + private void convertAPI(JSONObject objNode, Map node) { + JSONObject objAPI = new JSONObject(); + objAPI.put("apiNodeSeq", node.get("apiNodeSeq")); + + // 요청 파라메터 변환 + JSONArray arrayReqParamList = new JSONArray(); + LinkedHashMap reqParamList = (LinkedHashMap)node.get("reqParamList"); + if (reqParamList != null) { + for (int i=0; i < reqParamList.size(); i++) { + LinkedHashMap reqParam = (LinkedHashMap)reqParamList.get(Integer.toString(i)); + JSONObject objReqParam = new JSONObject(); + objReqParam.put("reqParamName", reqParam.get("reqParamName")); + objReqParam.put("reqParamMap", reqParam.get("reqParamMap")); + + arrayReqParamList.put(objReqParam); + } + } + + // 응답 파라메터 변환 + JSONArray arrayResParamList = new JSONArray(); + LinkedHashMap resParamList = (LinkedHashMap)node.get("resParamList"); + if (resParamList != null) { + for (int i=0; i < resParamList.size(); i++) { + LinkedHashMap resParam = (LinkedHashMap) resParamList.get(Integer.toString(i)); + JSONObject objResParam = new JSONObject(); + objResParam.put("resParamName", resParam.get("resParamName")); + objResParam.put("resParamMap", resParam.get("resParamMap")); + + arrayResParamList.put(objResParam); + } + } + objAPI.put("reqParamList", arrayReqParamList); + objAPI.put("resParamList", arrayResParamList); + objNode.put("nodeOption", objAPI); + } + + private void convertFunction(JSONObject objNode, Map node) { + JSONObject objFunction = new JSONObject(); + + String[] keyNames = {"javaScript"}; + for (String keyName: keyNames) { + objFunction.put(keyName, node.get(keyName)); + } + + JSONArray arrayFuncParam = new JSONArray(); + LinkedHashMap funcParam = (LinkedHashMap)node.get("funcParam"); + if (funcParam != null) { + Collection paramList = funcParam.values(); + for (Object paramName : paramList) { + arrayFuncParam.put((String)paramName); + } + } + objFunction.put("funcParam", arrayFuncParam); + + objNode.put("nodeOption", objFunction); + } + + private void convertCommon(JSONObject objNode, Map node) { + JSONObject objCommon = new JSONObject(); + + String[] keyNames = {"commonNodeSeq"}; + for (String keyName: keyNames) { + objCommon.put(keyName, node.get(keyName)); + } + + objNode.put("nodeOption", objCommon); + } + + private void convertCall(JSONObject objNode, Map node) { + JSONObject objCall = new JSONObject(); + + String[] keyNames = {"nodeMent", "bargeIn", "callProcess", "shopPhoneNumber"}; + for (String keyName: keyNames) { + objCall.put(keyName, node.get(keyName)); + } + + objNode.put("nodeOption", objCall); + } + + private void createDiagramShapeKey() { + if (diagramShapeKey == null) { + diagramShapeKey = new HashMap(); + } else { + diagramShapeKey.clear(); + } + + if (diagramContext == null) { + diagramContext = JsonPath.parse(diagramString); + } + + List> shapes = diagramContext.read("$.shapes.[*]"); + for (Map shape : shapes) { + String key = (String)shape.get("key"); + LinkedHashMap customData = (LinkedHashMap)shape.get("customData"); + Integer id = (Integer)customData.get("ID"); + + diagramShapeKey.put(id,key); + } + } + + private void createDiagramConnector() { + if (diagramConnector == null) { + diagramConnector = new HashMap(); + } else { + diagramConnector.clear(); + } + + if (diagramContext == null) { + diagramContext = JsonPath.parse(diagramString); + } + + List> connectors = diagramContext.read("$.connectors.[*]"); + for (Map connector : connectors) { + String begin = (String)connector.get("beginItemKey"); + String end = (String)connector.get("endItemKey"); + + diagramConnector.put(begin, end); + } + } + + private String findNextNodeCode(Integer nodeCode) { + String endKey = diagramConnector.get(diagramShapeKey.get(nodeCode)); + if (endKey == null) { + return ""; + } + + for(Map.Entry entry: diagramShapeKey.entrySet()) { + if (endKey.equals(entry.getValue())) { + return String.valueOf(entry.getKey()); + } + } + + return ""; + } + + public Long getIntentSeq() { + if (diagramContext == null) { + diagramContext = JsonPath.parse(diagramString); + } + List intentSeq = diagramContext.read("$.shapes.[?(@.type==\"Intent\")].customData.intentSeq"); + // List intentSeq = diagramContext.read("$.shapes[?(@.nodeType=='INTENT')].customData.intentSeq"); // javascript jsonpath에서는 동작 하지만 java에서 검색이 안됨 + + Long result = -1L; + if (intentSeq.size() != 0) { + result = Long.valueOf((Integer)intentSeq.get(0)); + } + return result; + } + + public void validationCheckScenario(String scenarioJsonString) throws CustomBadRequestException { + Boolean isSuccess = true; + String resultMessage = ""; + + DocumentContext scenarioContext = JsonPath.parse(scenarioJsonString); + List> nodes = scenarioContext.read("$.scenario.[*]"); + + for (Map node : nodes) { + String nodeType = (String)node.get("nodeType"); + String nodeCode = (String)node.get("nodeCode"); + Map nodeOption = (LinkedHashMap)node.get("nodeOption"); + + switch (ScenarioNodeType.findByName(nodeType)) { + case Intent: + if (isNotSettingInteger(nodeOption.get("intentSeq"))) { + resultMessage += String.format("[%s: %s] 인텐트가 설정되지 않았습니다.\n", nodeCode, nodeType); + isSuccess = false; + } + + break; + case Speak: + if (isEmptyString(nodeOption.get("nodeMent"))) { + isSuccess = false; + resultMessage += String.format("[%s: %s] 멘트가 설정되지 않았습니다.\n", nodeCode, nodeType); + } + + break; + case Slot: + if (isEmptyString(nodeOption.get("paramName"))) { + isSuccess = false; + resultMessage += String.format("[%s: %s] 파라메터ID가 설정되지 않았습니다.\n", nodeCode, nodeType); + } + + if (isEmptyString(nodeOption.get("nodeMent"))) { + isSuccess = false; + resultMessage += String.format("[%s: %s] 멘트가 설정되지 않았습니다.\n", nodeCode, nodeType); + } + + switch ((String)nodeOption.get("actionType")) { + case "STT": + case "MEMO": + String entityType = (String)nodeOption.get("entityType"); + if ( entityType.equals("") ){ + isSuccess = false; + resultMessage += String.format("[%s: %s] 엔티티타입이 설정되지 않았습니다.\n", nodeCode, nodeType); + } + break; + default: + } + + break; + case Split: + Object objConditions = nodeOption.get("conditionList"); + JSONArray conditions = new JSONArray(objConditions.toString()); + + if ( conditions.length() == 0) { + isSuccess = false; + resultMessage += String.format("[%s: %s] 연결된 다음 노드가 없습니다.\n", nodeCode, nodeType); + } + + for (int i=0; i < conditions.length() ; i++) { + JSONObject nextNodeInfo = (JSONObject) conditions.get(i); + if (isEmptyString(nextNodeInfo.get("condition"))) { + isSuccess = false; + resultMessage += String.format("[%s: %s] 다음 노드의 조건이 설정되지 않았습니다.\n", nodeCode, nodeType); + } + } + + break; + case API: + if (isNotSettingInteger(nodeOption.get("apiNodeSeq"))) { + resultMessage += String.format("[%s: %s] API노드가 설정되지 않았습니다.\n", nodeCode, nodeType); + isSuccess = false; + } + break; + case Common: + if (isNotSettingInteger(nodeOption.get("commonNodeSeq"))) { + resultMessage += String.format("[%s: %s] Common노드가 설정되지 않았습니다.\n", nodeCode, nodeType); + isSuccess = false; + } + break; + case Call: + String callProcess = String.valueOf(nodeOption.get("callProcess")); + if (callProcess.equals("none")) { + resultMessage += String.format("[%s: %s] 콜처리가 설정되지 않았습니다.\n", nodeCode, nodeType); + isSuccess = false; + } + + if (isEmptyString(nodeOption.get("nodeMent"))) { + isSuccess = false; + resultMessage += String.format("[%s: %s] 멘트가 설정되지 않았습니다.\n", nodeCode, nodeType); + } + break; + case Function: + case IN: + case OUT: + case HORIZONTALCONTAINER: + case VERTICALCONTAINER: + // 기본 세팅 없음 + break; + default: + throw new CustomBadRequestException("Undefined nodeType: " + nodeType); + } + + } + + if (!isSuccess) { + throw new CustomBadRequestException(resultMessage); + } + + } + + + + private boolean isEmptyString(Object checkObject) { + String str = (String) checkObject; + if (str == null || str.isEmpty()) { + return true; + } + return false; + } + + private boolean isNotSettingInteger(Object checkObject){ + Integer i = (Integer) checkObject; + if (i == null || i == -1) { + return true; + } + return false; + } + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/CreateDataController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/CreateDataController.java new file mode 100644 index 0000000..b660067 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/CreateDataController.java @@ -0,0 +1,54 @@ +package com.icomsys.main_vm.biz.test.controller; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RequestMapping("/data") +@RestController +@RequiredArgsConstructor +@Slf4j +public class CreateDataController { + + private final CreateDataService createDataService; + + @GetMapping("/test9") + public String test9() { +// createDataService.keyCreate(); + createDataService.createCust(); + createDataService.createServiceGroup(); + createDataService.createuserData(); + createDataService.createUserCust(); + createDataService.createCustPolicy(); + createDataService.createServiceAuthGroup(); + createDataService.createUserAuthGroup(); + createDataService.createServuceGroupPolicy(); + createDataService.createOpr(); +// createDataService.createCommon(); + createDataService.scenarioMaster(); + createDataService.scenarioHistory(); + createDataService.longtextManager(); + createDataService.uplususercreate(); + createDataService.commonCodeinsert(); + createDataService.tbProjectSettingdata(); + + + return "test9"; + } + + @GetMapping("/test10") + public String test10() { + createDataService.pagringdatacreate(); + return "test10"; + } + + @GetMapping("/test11") + public String test11() { + createDataService.userDataTest(); + return "test11"; + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/CreateDataService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/CreateDataService.java new file mode 100644 index 0000000..ed19388 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/CreateDataService.java @@ -0,0 +1,1598 @@ +package com.icomsys.main_vm.biz.test.controller; + +import com.icomsys.main_vm.biz.common.common.service.SequenceService; +import com.icomsys.main_vm.common.code.enumresource.PolicyResource; +import com.icomsys.main_vm.common.code.enumresource.RoleResource; +import com.icomsys.main_vm.common.code.enumresource.SolTypeResource; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbProjectSetting; +import com.icomsys.main_vm.db.jpa.entity.scenario.TbLongtextManager; +import com.icomsys.main_vm.db.jpa.entity.scenario.TbScenarioHistory; +import com.icomsys.main_vm.db.jpa.entity.scenario.TbScenarioMaster; +import com.icomsys.main_vm.db.jpa.entity.system.*; +import com.icomsys.main_vm.db.jpa.repo.conversation.TbProjectSettingRepo; +import com.icomsys.main_vm.db.jpa.repo.scenario.TbLongtextManagerRepo; +import com.icomsys.main_vm.db.jpa.repo.scenario.TbScenarioHistoryRepo; +import com.icomsys.main_vm.db.jpa.repo.scenario.TbScenarioMasterRepo; +import com.icomsys.main_vm.db.jpa.repo.system.*; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +@Service +@Slf4j +@RequiredArgsConstructor +public class CreateDataService { + + private final TbBotCommonCodeRepo tbBotCommonCodeRepo; + private final TbBotUserRepo tbBotUserRepo; + private final TbCustPolicyRepo tbCustPolicyRepo; + private final TbIcsCustInfoRepo tbIcsCustInfoRepo; + private final TbIcsOprMngInfoRepo tbIcsOprMngInfoRepo; + private final TbServiceAuthGroupRepo tbServiceAuthGroupRepo; + private final TbServiceGrouopRepo tbServiceGrouopRepo; + private final TbServiceGroupPolicyRepo tbServiceGroupPolicyRepo; + private final TbUserAuthGroupRepo tbUserAuthGroupRepo; + private final TbUserCustRepo tbUserCustRepo; + private final SequenceService sequenceService; + private final PasswordEncoder passwordEncoder; + private final TbScenarioMasterRepo tbScenarioMasterRepo; + private final TbScenarioHistoryRepo tbScenarioHistoryRepo; + private final TbLongtextManagerRepo tbLongtextManagerRepo; + private final TbProjectSettingRepo tbProjectSettingRepo; + + +// @Transactional +// public void keyCreate() { +// tbKeyGenerateRepo.save(TbKeyGenerate.builder().tableName("TB_BOT_USER").nextId(500L).build()); +// tbKeyGenerateRepo.save(TbKeyGenerate.builder().tableName("TB_SERVICE_AUTH_GROUP").nextId(500L).build()); +// } + + + @Transactional + public void createuserData() { + if (!tbBotUserRepo.existsByUserId("sysadmin")) { + TbBotUser save1 = TbBotUser.builder() +// .userSeq(sequenceService.UserSeqNext()) + .userSeq(1L) + .custCode("ICS") + .lastUseServiceGroup("GROUP1") + .roleVal(RoleResource.SYSTEMADMIN.getName()) + .userId("sysadmin") + .password(passwordEncoder.encode("a1234")) + .userName("ICOMSYSADMIN") + .eMail("test@test.com") + .mobileNo("010-1234-5678") + .loginCheck(0) + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build(); + tbBotUserRepo.save(save1); + } + } + + @Transactional + public void userDataTest() { + List aa = new ArrayList<>(); + for (int i = 0; i < 350; i++) { + TbBotUser save1 = TbBotUser.builder() +// .userSeq(sequenceService.UserSeqNext()) + .userSeq(1L + i) + .custCode("ICS") + .lastUseServiceGroup("GROUP1") + .roleVal(RoleResource.SYSTEMADMIN.getName()) + .userId("sysadmin" + i) + .password(passwordEncoder.encode("a1234")) + .userName("testSystemAdmin" + i) + .eMail("test@test.com" + i) + .mobileNo("010-1234-5678") + .loginCheck(0) + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build(); + aa.add(save1); + } + tbBotUserRepo.saveAll(aa); + } + + @Transactional + public void createCust() { + TbIcsCustInfo save1 = TbIcsCustInfo.builder() + .custCode("ICS") + .custName("ICOMSYS") + .custTel("disable") + .custServiceMent("disable") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build(); + tbIcsCustInfoRepo.save(save1); + } + + @Transactional + public void createServiceGroup() { + TbServiceGrouop save1 = TbServiceGrouop.builder() + .serviceGroup("GROUP1") + .serviceGroupUpper("GROUP1") + .custCode("ICS") + .serviceType("M") + .serviceGroupName("서비스그룹테스트1") + .serviceGroupDesc("테스트용서비스그룹입니다.") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build(); + tbServiceGrouopRepo.save(save1); + TbServiceGrouop save2 = TbServiceGrouop.builder() + .serviceGroup("GROUP2") + .serviceGroupUpper("GROUP1") + .custCode("ICS") + .serviceType("S") + .serviceGroupName("서비스그룹테스트2") + .serviceGroupDesc("테스트용서비스그룹입니다.") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build(); + tbServiceGrouopRepo.save(save2); + + TbServiceGrouop save3 = TbServiceGrouop.builder() + .serviceGroup("GROUP3") + .serviceGroupUpper("GROUP1") + .custCode("ICS") + .serviceType("S") + .serviceGroupName("서비스그룹테스트3") + .serviceGroupDesc("테스트용서비스그룹입니다.") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build(); + tbServiceGrouopRepo.save(save3); + + TbServiceGrouop save4 = TbServiceGrouop.builder() + .serviceGroup("OURSTORE") + .serviceGroupUpper("OURSTORE") + .custCode("ICS") + .serviceType("M") + .serviceGroupName("우리가게") + .serviceGroupDesc("우리가게테스트용") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build(); + tbServiceGrouopRepo.save(save4); + TbServiceGrouop save5 = TbServiceGrouop.builder() + .serviceGroup("OURUTONG") + .serviceGroupUpper("OURSTORE") + .custCode("ICS") + .serviceType("S") + .serviceGroupName("우리가게-유통업") + .serviceGroupDesc("우리가게-유통업 테스트용") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build(); + tbServiceGrouopRepo.save(save5); + TbServiceGrouop save6 = TbServiceGrouop.builder() + .serviceGroup("OURYOSIC") + .serviceGroupUpper("OURSTORE") + .custCode("ICS") + .serviceType("S") + .serviceGroupName("우리가게-요식업") + .serviceGroupDesc("우리가게-요식업 테스트용") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build(); + tbServiceGrouopRepo.save(save6); + + TbServiceGrouop save7 = TbServiceGrouop.builder() + .serviceGroup("YOUSTORE") + .serviceGroupUpper("YOUSTORE") + .custCode("ICS") + .serviceType("M") + .serviceGroupName("너네가게") + .serviceGroupDesc("너네가게테스트용") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build(); + tbServiceGrouopRepo.save(save7); + TbServiceGrouop save8 = TbServiceGrouop.builder() + .serviceGroup("YOUUTONG") + .serviceGroupUpper("YOUSTORE") + .custCode("ICS") + .serviceType("S") + .serviceGroupName("너네가게-유통업") + .serviceGroupDesc("너네가게-유통업 테스트용") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build(); + tbServiceGrouopRepo.save(save8); + TbServiceGrouop save9 = TbServiceGrouop.builder() + .serviceGroup("YOUYOSIC") + .serviceGroupUpper("YOUSTORE") + .custCode("ICS") + .serviceType("S") + .serviceGroupName("너네가게-요식업") + .serviceGroupDesc("너네가게-요식업 테스트용") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build(); + tbServiceGrouopRepo.save(save9); + } + + + @Transactional + public void createUserCust() { + + TbUserCust save1 = TbUserCust.builder() + .custCode("ICS") + .serviceGroup("GROUP1") + .userSeq(1L) + .build(); + TbUserCust save2 = TbUserCust.builder() + .custCode("ICS") + .serviceGroup("GROUP2") + .userSeq(1L) + .build(); + TbUserCust save3 = TbUserCust.builder() + .custCode("ICS") + .serviceGroup("GROUP3") + .userSeq(1L) + .build(); + + TbUserCust save4 = TbUserCust.builder() + .custCode("ICS") + .serviceGroup("OURSTORE") + .userSeq(1L) + .build(); + TbUserCust save5 = TbUserCust.builder() + .custCode("ICS") + .serviceGroup("OURUTONG") + .userSeq(1L) + .build(); + TbUserCust save6 = TbUserCust.builder() + .custCode("ICS") + .serviceGroup("OURYOSIC") + .userSeq(1L) + .build(); + + TbUserCust save7 = TbUserCust.builder() + .custCode("ICS") + .serviceGroup("YOUSTORE") + .userSeq(1L) + .build(); + TbUserCust save8 = TbUserCust.builder() + .custCode("ICS") + .serviceGroup("YOUUTONG") + .userSeq(1L) + .build(); + TbUserCust save9 = TbUserCust.builder() + .custCode("ICS") + .serviceGroup("YOUYOSIC") + .userSeq(1L) + .build(); + tbUserCustRepo.save(save1); + tbUserCustRepo.save(save2); + tbUserCustRepo.save(save3); + tbUserCustRepo.save(save4); + tbUserCustRepo.save(save5); + tbUserCustRepo.save(save6); + tbUserCustRepo.save(save7); + tbUserCustRepo.save(save8); + tbUserCustRepo.save(save9); + + } + + @Transactional + public void createCustPolicy() { + List save1 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> save1.add(TbCustPolicy.builder() + .serviceGroup("GROUP1") + .policyVal(e.getName()) + .custCode("ICS") + .build())); + List save2 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> save2.add(TbCustPolicy.builder() + .serviceGroup("GROUP2") + .policyVal(e.getName()) + .custCode("ICS") + .build())); + List save3 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> save3.add(TbCustPolicy.builder() + .serviceGroup("GROUP3") + .policyVal(e.getName()) + .custCode("ICS") + .build())); + + List save4 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> save4.add(TbCustPolicy.builder() + .serviceGroup("OURSTORE") + .policyVal(e.getName()) + .custCode("ICS") + .build())); + List save5 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> save5.add(TbCustPolicy.builder() + .serviceGroup("OURUTONG") + .policyVal(e.getName()) + .custCode("ICS") + .build())); + List save6 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> save6.add(TbCustPolicy.builder() + .serviceGroup("OURYOSIC") + .policyVal(e.getName()) + .custCode("ICS") + .build())); + List save7 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> save7.add(TbCustPolicy.builder() + .serviceGroup("YOUSTORE") + .policyVal(e.getName()) + .custCode("ICS") + .build())); + List save8 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> save8.add(TbCustPolicy.builder() + .serviceGroup("YOUUTONG") + .policyVal(e.getName()) + .custCode("ICS") + .build())); + List save9 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> save9.add(TbCustPolicy.builder() + .serviceGroup("YOUYOSIC") + .policyVal(e.getName()) + .custCode("ICS") + .build())); + + tbCustPolicyRepo.saveAll(save1); + tbCustPolicyRepo.saveAll(save2); + tbCustPolicyRepo.saveAll(save3); + tbCustPolicyRepo.saveAll(save4); + tbCustPolicyRepo.saveAll(save5); + tbCustPolicyRepo.saveAll(save6); + tbCustPolicyRepo.saveAll(save7); + tbCustPolicyRepo.saveAll(save8); + tbCustPolicyRepo.saveAll(save9); + } + + @Transactional + public void createServiceAuthGroup() { + if (!tbServiceAuthGroupRepo.existsById(1L)) { + tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() + .authGroupSeq(1L) + .serviceGroup("GROUP1") + .custCode("ICS") + .policyGroupName("그룹1 전체권한") + .policyGroupDesc("저장테스트") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbServiceAuthGroupRepo.existsById(2L)) { + tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() + .authGroupSeq(2L) + .serviceGroup("GROUP2") + .custCode("ICS") + .policyGroupName("그룹2 전체권한") + .policyGroupDesc("저장테스트") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbServiceAuthGroupRepo.existsById(3L)) { + tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() + .authGroupSeq(3L) + .serviceGroup("GROUP3") + .custCode("ICS") + .policyGroupName("그룹3 전체권한") + .policyGroupDesc("저장테스트") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbServiceAuthGroupRepo.existsById(4L)) { + tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() + .authGroupSeq(4L) + .serviceGroup("OURSTORE") + .custCode("ICS") + .policyGroupName("우리가게전체권한") + .policyGroupDesc("저장테스트") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbServiceAuthGroupRepo.existsById(5L)) { + tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() + .authGroupSeq(5L) + .serviceGroup("OURUTONG") + .custCode("ICS") + .policyGroupName("우리가게유통업전체권한") + .policyGroupDesc("저장테스트") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbServiceAuthGroupRepo.existsById(6L)) { + tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() + .authGroupSeq(6L) + .serviceGroup("OURYOSIC") + .custCode("ICS") + .policyGroupName("우리가게요식업전체권한") + .policyGroupDesc("저장테스트") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbServiceAuthGroupRepo.existsById(7L)) { + tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() + .authGroupSeq(7L) + .serviceGroup("YOUSTORE") + .custCode("ICS") + .policyGroupName("너네가게전체권한") + .policyGroupDesc("저장테스트") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbServiceAuthGroupRepo.existsById(8L)) { + tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() + .authGroupSeq(8L) + .serviceGroup("YOUUTONG") + .custCode("ICS") + .policyGroupName("너네가게유통업전체권한") + .policyGroupDesc("저장테스트") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbServiceAuthGroupRepo.existsById(9L)) { + tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() + .authGroupSeq(9L) + .serviceGroup("YOUYOSIC") + .custCode("ICS") + .policyGroupName("너네가게요식업전체권한") + .policyGroupDesc("저장테스트") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + } + + @Transactional + public void createUserAuthGroup() { + + tbUserAuthGroupRepo.save(TbUserAuthGroup.builder() + .userSeq(1L) + .authGroupSeq(1L) + .serviceGroup("GROUP1") + .custCode("ICS") + .build()); + tbUserAuthGroupRepo.save(TbUserAuthGroup.builder() + .userSeq(1L) + .authGroupSeq(2L) + .serviceGroup("GROUP2") + .custCode("ICS") + .build()); + tbUserAuthGroupRepo.save(TbUserAuthGroup.builder() + .userSeq(1L) + .authGroupSeq(3L) + .serviceGroup("GROUP3") + .custCode("ICS") + .build()); + + tbUserAuthGroupRepo.save(TbUserAuthGroup.builder() + .userSeq(1L) + .authGroupSeq(4L) + .serviceGroup("OURSTORE") + .custCode("ICS") + .build()); + + tbUserAuthGroupRepo.save(TbUserAuthGroup.builder() + .userSeq(1L) + .authGroupSeq(5L) + .serviceGroup("OURUTONG") + .custCode("ICS") + .build()); + tbUserAuthGroupRepo.save(TbUserAuthGroup.builder() + .userSeq(1L) + .authGroupSeq(6L) + .serviceGroup("OURYOSIC") + .custCode("ICS") + .build()); + tbUserAuthGroupRepo.save(TbUserAuthGroup.builder() + .userSeq(1L) + .authGroupSeq(7L) + .serviceGroup("YOUSTORE") + .custCode("ICS") + .build()); + tbUserAuthGroupRepo.save(TbUserAuthGroup.builder() + .userSeq(1L) + .authGroupSeq(8L) + .serviceGroup("YOUUTONG") + .custCode("ICS") + .build()); + tbUserAuthGroupRepo.save(TbUserAuthGroup.builder() + .userSeq(1L) + .authGroupSeq(9L) + .serviceGroup("YOUYOSIC") + .custCode("ICS") + .build()); + } + + + @Transactional + public void createServuceGroupPolicy() { + List saveList1 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> + saveList1.add(TbServiceGroupPolicy.builder() + .authGroupSeq(1L) + .serviceGroup("GROUP1") + .policyVal(e.getName()) + .custCode("ICS") + .build()) + ); + + List saveList2 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> + saveList2.add(TbServiceGroupPolicy.builder() + .authGroupSeq(2L) + .serviceGroup("GROUP2") + .policyVal(e.getName()) + .custCode("ICS") + .build()) + ); + + List saveList3 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> + saveList3.add(TbServiceGroupPolicy.builder() + .authGroupSeq(3L) + .serviceGroup("GROUP3") + .policyVal(e.getName()) + .custCode("ICS") + .build()) + ); + + List saveList4 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> + saveList4.add(TbServiceGroupPolicy.builder() + .authGroupSeq(4L) + .serviceGroup("OURSTORE") + .policyVal(e.getName()) + .custCode("ICS") + .build()) + ); + List saveList5 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> + saveList5.add(TbServiceGroupPolicy.builder() + .authGroupSeq(5L) + .serviceGroup("OURUTONG") + .policyVal(e.getName()) + .custCode("ICS") + .build()) + ); + + List saveList6 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> + saveList6.add(TbServiceGroupPolicy.builder() + .authGroupSeq(6L) + .serviceGroup("OURYOSIC") + .policyVal(e.getName()) + .custCode("ICS") + .build()) + ); + + List saveList7 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> + saveList7.add(TbServiceGroupPolicy.builder() + .authGroupSeq(7L) + .serviceGroup("YOUSTORE") + .policyVal(e.getName()) + .custCode("ICS") + .build()) + ); + + List saveList8 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> + saveList8.add(TbServiceGroupPolicy.builder() + .authGroupSeq(8L) + .serviceGroup("YOUUTONG") + .policyVal(e.getName()) + .custCode("ICS") + .build()) + ); + List saveList9 = new ArrayList<>(); + PolicyResource.ALL.stream().forEach(e -> + saveList9.add(TbServiceGroupPolicy.builder() + .authGroupSeq(9L) + .serviceGroup("YOUYOSIC") + .policyVal(e.getName()) + .custCode("ICS") + .build()) + ); + // OURSTORE +// OURUTONG +// OURYOSIC +// YOUSTORE +// YOUUTONG +// YOUYOSIC + + tbServiceGroupPolicyRepo.saveAll(saveList1); + tbServiceGroupPolicyRepo.saveAll(saveList2); + tbServiceGroupPolicyRepo.saveAll(saveList3); + tbServiceGroupPolicyRepo.saveAll(saveList4); + tbServiceGroupPolicyRepo.saveAll(saveList5); + tbServiceGroupPolicyRepo.saveAll(saveList6); + tbServiceGroupPolicyRepo.saveAll(saveList7); + tbServiceGroupPolicyRepo.saveAll(saveList8); + tbServiceGroupPolicyRepo.saveAll(saveList9); + } + + + @Transactional + public void pagringdatacreate() { + List ticis = new ArrayList<>(); + for (int i = 0; i < 350; i++) { + ticis.add(TbIcsCustInfo.builder() + .custCode("ICS" + i) + .custName("TESTNAME" + i) + .custTel("disable" + i) + .custServiceMent("disable" + i) + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + tbIcsCustInfoRepo.saveAll(ticis); + } + + @Transactional + public void createOpr() { + List oprs = new ArrayList<>(); +// String cust = "ICS"; + String solVal = SolTypeResource.RCP.getName(); +// List group = .stream().map(e -> e.getServiceGroup()) +// .collect(Collectors.toList()); + for (TbServiceGrouop e : tbServiceGrouopRepo.findAll()) { + oprs.add(TbIcsOprMngInfo + .builder() + .custCode(e.getCustCode()) + .serviceGroup(e.getServiceGroup()) + .solVal(SolTypeResource.RCP.getName()) + .oprMngCode(e.getCustCode() + "_" + solVal + "_" + e.getServiceGroup()) + .routeUrl("http://localhost:8092/bot/rcp/standard/process") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + tbIcsOprMngInfoRepo.saveAll(oprs); + } + + + @Transactional + public void createCommon() { + List oprs = tbIcsOprMngInfoRepo.findAll().stream().map(e -> e.getOprMngCode()) + .collect(Collectors.toList()); + List tbccs = new ArrayList<>(); + AtomicInteger ai = new AtomicInteger(); + for (String e : oprs) { + int seq = ai.getAndIncrement(); + for (int i = 0; i < 90; i++) { + tbccs.add(TbBotCommonCode.builder() + .minorCode(seq + "minorCode" + i) + .majorCode(seq + "majorCode" + i) + .oprMngCode(e) + .codeName(seq + "Test" + i) + .attribute1(seq + "attri1bute" + i) + .attribute2(seq + "attri2bute" + i) + .attribute3(seq + "attri3bute" + i) + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + } + tbBotCommonCodeRepo.saveAll(tbccs); + } + + @Transactional + public void scenarioMaster() { + if (!tbScenarioMasterRepo.existsById(1L)) { + tbScenarioMasterRepo.save(TbScenarioMaster.builder() + .oprMngCode("UPLUS_RCP_AISTORE") + .scenarioName("예약 시나리오 테스트") + .useYn("Y") + .registId("uplus") + .registDate(LocalDateTime.now()) + .updateId("uplus") + .updateDate(LocalDateTime.now()) + .build()); + } + + } + + @Transactional + public void scenarioHistory() { + if (!tbScenarioHistoryRepo.existsById(1L)) { + tbScenarioHistoryRepo.save(TbScenarioHistory.builder() + .masterSeq(1L) + .lastYn("Y") + .registId("uplus") + .registDate(LocalDateTime.now()) + .build()); + } + + } + + @Transactional + public void longtextManager() { + tbLongtextManagerRepo.save(TbLongtextManager.builder() + .rfSeq(2L) + .tableCode(2) + .columnCode(1) + .textContents("{\"page\":{\"width\":16782,\"height\":23812,\"pageColor\":-1,\"pageWidth\":8391,\"pageHeight\":11906,\"pageLandscape\":false},\"connectors\":[{\"key\":\"65\",\"dataKey\":\"c06365bf-ae13-4368-ba2f-aeec1da555db\",\"locked\":false,\"zIndex\":0,\"points\":[{\"x\":3027,\"y\":8846},{\"x\":4071,\"y\":8846}],\"beginItemKey\":\"0\",\"beginConnectionPointIndex\":-1,\"endItemKey\":\"3\",\"endConnectionPointIndex\":-1},{\"key\":\"66\",\"dataKey\":\"052ec6ca-af88-417c-a6ae-58ce8fe414a8\",\"locked\":false,\"zIndex\":0,\"points\":[{\"x\":6807,\"y\":8846},{\"x\":7851,\"y\":8846}],\"beginItemKey\":\"3\",\"beginConnectionPointIndex\":-1,\"endItemKey\":\"6\",\"endConnectionPointIndex\":-1},{\"key\":\"67\",\"dataKey\":\"37234d68-85d7-477a-a38f-30eed58c1d7c\",\"locked\":false,\"zIndex\":0,\"points\":[{\"x\":9219,\"y\":9386},{\"x\":9219,\"y\":10466}],\"beginItemKey\":\"6\",\"beginConnectionPointIndex\":-1,\"endItemKey\":\"10\",\"endConnectionPointIndex\":-1},{\"key\":\"68\",\"dataKey\":\"011b9f4d-2d7d-4115-b29b-8c9210803540\",\"locked\":false,\"zIndex\":0,\"points\":[{\"x\":9219,\"y\":11546},{\"x\":9219,\"y\":12626}],\"beginItemKey\":\"10\",\"beginConnectionPointIndex\":-1,\"endItemKey\":\"15\",\"endConnectionPointIndex\":-1},{\"key\":\"69\",\"dataKey\":\"bbadf868-891f-4c34-b40b-6c65b50239a4\",\"locked\":false,\"zIndex\":0,\"points\":[{\"x\":10587,\"y\":13166},{\"x\":11451,\"y\":13166}],\"beginItemKey\":\"15\",\"beginConnectionPointIndex\":-1,\"endItemKey\":\"17\",\"endConnectionPointIndex\":-1},{\"key\":\"70\",\"dataKey\":\"c8d28e9c-935d-433b-bb46-f054fdab6619\",\"locked\":false,\"zIndex\":0,\"points\":[{\"x\":12819,\"y\":13706},{\"x\":12819,\"y\":15506}],\"beginItemKey\":\"17\",\"beginConnectionPointIndex\":-1,\"endItemKey\":\"2\",\"endConnectionPointIndex\":-1},{\"key\":\"71\",\"dataKey\":\"853d1893-f79d-4861-b581-abf2231d34c3\",\"locked\":false,\"zIndex\":0,\"points\":[{\"x\":7851,\"y\":13166},{\"x\":6807,\"y\":13166}],\"beginItemKey\":\"15\",\"beginConnectionPointIndex\":-1,\"endItemKey\":\"31\",\"endConnectionPointIndex\":-1},{\"key\":\"72\",\"dataKey\":\"368f77f0-a307-49b4-a013-53e002f1b47d\",\"locked\":false,\"zIndex\":0,\"points\":[{\"x\":5439,\"y\":12626},{\"x\":5439,\"y\":11906}],\"beginItemKey\":\"31\",\"beginConnectionPointIndex\":-1,\"endItemKey\":\"40\",\"endConnectionPointIndex\":-1},{\"key\":\"73\",\"dataKey\":\"9c7a716e-0107-43ab-ae12-456a668c5be2\",\"locked\":false,\"zIndex\":0,\"points\":[{\"x\":5439,\"y\":10826},{\"x\":5439,\"y\":9386}],\"beginItemKey\":\"40\",\"beginConnectionPointIndex\":-1,\"endItemKey\":\"3\",\"endConnectionPointIndex\":-1},{\"key\":\"74\",\"dataKey\":\"757bbd79-b934-497c-9743-8a34ebfb734b\",\"locked\":false,\"zIndex\":0,\"points\":[{\"x\":4071,\"y\":11366},{\"x\":3027,\"y\":11366}],\"beginItemKey\":\"40\",\"beginConnectionPointIndex\":-1,\"endItemKey\":\"43\",\"endConnectionPointIndex\":-1},{\"key\":\"75\",\"dataKey\":\"e5219d54-11f8-454e-b282-61f57ba0cf8e\",\"locked\":false,\"zIndex\":0,\"points\":[{\"x\":11451,\"y\":16046},{\"x\":3027,\"y\":11366}],\"beginItemKey\":\"2\",\"beginConnectionPointIndex\":-1,\"endItemKey\":\"43\",\"endConnectionPointIndex\":-1}],\"shapes\":[{\"key\":\"0\",\"dataKey\":1,\"customData\":{\"type\":\"Intent Node\",\"text\":\"\",\"ID\":1,\"nodeCode\":1,\"nodeName\":\"예약시작\",\"intentName\":\"예약\",\"ment\":\"예약을 진행하겠습니다.\"},\"locked\":false,\"zIndex\":0,\"type\":\"Intent Node\",\"text\":\"\",\"x\":291,\"y\":8306,\"width\":2736,\"height\":1080},{\"key\":\"2\",\"dataKey\":3,\"customData\":{\"type\":\"Speak Node\",\"text\":\"\",\"ID\":3,\"nodeCode\":3,\"nodeName\":\"예약완료멘트\",\"ment\":\"예약을 완료하였습니다.\"},\"locked\":false,\"zIndex\":0,\"type\":\"Speak Node\",\"text\":\"\",\"x\":11451,\"y\":15506,\"width\":2736,\"height\":1080},{\"key\":\"3\",\"dataKey\":4,\"customData\":{\"type\":\"Slot Node\",\"text\":\"\",\"ID\":4,\"nodeCode\":4,\"nodeName\":\"예약 시간 받기\",\"parameterId\":\"예약시간\",\"ment\":\"예약 시간을 말씀해주세요\",\"reMent\":\"죄송합니다. 한번더 예약 시간을 말씀해주세요\",\"reMentCnt\":\"3\",\"requiredQuestion\":true},\"locked\":false,\"zIndex\":0,\"type\":\"Slot Node\",\"text\":\"\",\"x\":4071,\"y\":8306,\"width\":2736,\"height\":1080},{\"key\":\"6\",\"dataKey\":5,\"customData\":{\"type\":\"API Node\",\"text\":\"\",\"ID\":5,\"nodeCode\":5,\"nodeName\":\"예약 가능 확인\",\"apiNode\":\"API 노드 테스트\"},\"locked\":false,\"zIndex\":0,\"type\":\"API Node\",\"text\":\"\",\"x\":7851,\"y\":8306,\"width\":2736,\"height\":1080},{\"key\":\"10\",\"dataKey\":6,\"customData\":{\"type\":\"Function Node\",\"text\":\"\",\"ID\":6,\"nodeCode\":6,\"nodeName\":\"예약 가능 여부 확인\",\"fParams\":[\"예약시간\",\"예약가능여부\"]},\"locked\":false,\"zIndex\":0,\"type\":\"Function Node\",\"text\":\"\",\"x\":7851,\"y\":10466,\"width\":2736,\"height\":1080},{\"key\":\"15\",\"dataKey\":7,\"customData\":{\"type\":\"Split Node\",\"text\":\"\",\"ID\":7,\"nodeCode\":7,\"nodeName\":\"예약 가능 여부 확인\",\"condition0\":\"#{예약가능여부} = 1\",\"condition1\":\"#{예약가능여부} = 2\",\"ment1\":\"해당 시간에는 예약이 마감되었습니다.\"},\"locked\":false,\"zIndex\":0,\"type\":\"Split Node\",\"text\":\"\",\"x\":7851,\"y\":12626,\"width\":2736,\"height\":1080},{\"key\":\"17\",\"dataKey\":8,\"customData\":{\"type\":\"API Node\",\"text\":\"\",\"ID\":8,\"nodeCode\":8,\"nodeName\":\"예약진행\"},\"locked\":false,\"zIndex\":0,\"type\":\"API Node\",\"text\":\"\",\"x\":11451,\"y\":12626,\"width\":2736,\"height\":1080},{\"key\":\"31\",\"dataKey\":10,\"customData\":{\"type\":\"Slot Node\",\"text\":\"\",\"ID\":10,\"nodeCode\":10,\"nodeName\":\"예약 실패 다시 예약 확인\",\"parameterId\":\"YESNO\",\"ment\":\"다른 시간에 예약 하시겠습니까?\",\"requiredQuestion\":true},\"locked\":false,\"zIndex\":0,\"type\":\"Slot Node\",\"text\":\"\",\"x\":4071,\"y\":12626,\"width\":2736,\"height\":1080},{\"key\":\"40\",\"dataKey\":11,\"customData\":{\"type\":\"Split Node\",\"text\":\"\",\"ID\":11,\"nodeCode\":11,\"nodeName\":\"예약 다시 받기\",\"condition0\":\"#{YESNO} = 'YES'\",\"condition1\":\"#{YESNO} = 'NO'\"},\"locked\":false,\"zIndex\":0,\"type\":\"Split Node\",\"text\":\"\",\"x\":4071,\"y\":10826,\"width\":2736,\"height\":1080},{\"key\":\"43\",\"dataKey\":12,\"customData\":{\"type\":\"Call Node\",\"text\":\"\",\"ID\":12,\"nodeCode\":12,\"nodeName\":\"호종료\",\"ment\":\"감사합니다. \"},\"locked\":false,\"zIndex\":0,\"type\":\"Call Node\",\"text\":\"\",\"x\":291,\"y\":10826,\"width\":2736,\"height\":1080}],\"scenarioParam\":{\"예약시간\":[4,6],\"예약가능여부\":[6],\"YESNO\":[10]}}") + .checksum("0AiYZYQgCy3B8JAKtlKCgw==") + .build()); + } + + @Transactional + public void uplususercreate() { + if (!tbBotUserRepo.existsById(2L)) { + tbBotUserRepo.save(TbBotUser.builder() + .userSeq(2L) + .custCode("UPLUS") + .lastUseServiceGroup("OURSTOREAI") + .roleVal(RoleResource.USERADMIN.getName()) + .userId("uplus") + .password(passwordEncoder.encode("1")) + .userName("유플러스어드민") + .loginCheck(0) + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbBotUserRepo.existsById(3L)) { + tbBotUserRepo.save(TbBotUser.builder() + .userSeq(3L) + .custCode("UPLUS") + .lastUseServiceGroup("OURSTOREAI") + .roleVal(RoleResource.USER.getName()) + .userId("uplususer1") + .password(passwordEncoder.encode("1")) + .userName("유플러스유저1") + .loginCheck(0) + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbBotUserRepo.existsById(4L)) { + tbBotUserRepo.save(TbBotUser.builder() + .userSeq(4L) + .custCode("UPLUS") + .lastUseServiceGroup("OURSTOREAI") + .roleVal(RoleResource.USER.getName()) + .userId("uplususer2") + .password(passwordEncoder.encode("1")) + .userName("유플러스유저2") + .loginCheck(0) + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemcustmanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemcustmanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemcustmanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemcustmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemcustmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemcustmanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemgroupAuthmanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemgroupAuthmanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemgroupAuthmanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemgroupAuthmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemgroupAuthmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemgroupAuthmanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemoprmngcodemanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemoprmngcodemanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemoprmngcodemanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemoprmngcodemanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemoprmngcodemanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemoprmngcodemanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemserviceGroupmanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemserviceGroupmanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemserviceGroupmanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemserviceGroupmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemserviceGroupmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemserviceGroupmanageRead").serviceGroup("OURSTOREAI").build()); +// tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemuserAdminmanageFull").serviceGroup("AISTORE").build()); +// tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemuserAdminmanageFull").serviceGroup("DAISO").build()); +// tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemuserAdminmanageFull").serviceGroup("OURSTOREAI").build()); +// tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemuserAdminmanageRead").serviceGroup("AISTORE").build()); +// tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemuserAdminmanageRead").serviceGroup("DAISO").build()); +// tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemuserAdminmanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemusermanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemusermanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemusermanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemusermanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemusermanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("commonsystemusermanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("privacymasking").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("privacymasking").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("privacymasking").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationapiNodemanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationapiNodemanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationapiNodemanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationapiNodemanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationapiNodemanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationapiNodemanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationcmmNodemanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationcmmNodemanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationcmmNodemanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationcmmNodemanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationcmmNodemanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationcmmNodemanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationintentmanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationintentmanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationintentmanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationintentmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationintentmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationintentmanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationscenariomanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationscenariomanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationscenariomanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationscenariomanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationscenariomanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationscenariomanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationscenariomanageRelease").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationscenariomanageRelease").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationscenariomanageRelease").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationsynonymmanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationsynonymmanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationsynonymmanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationsynonymmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationsynonymmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationsynonymmanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationsystemEntitymanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationsystemEntitymanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpconversationsystemEntitymanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestinferencemanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestinferencemanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestinferencemanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestinferencemanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestinferencemanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestinferencemanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestsimulatormanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestsimulatormanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestsimulatormanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestsimulatormanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestsimulatormanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestsimulatormanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTeststttestmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTeststttestmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTeststttestmanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestttstestmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestttstestmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcplearningTestttstestmanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringconsultingmanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringconsultingmanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringconsultingmanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringconsultingmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringconsultingmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringconsultingmanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringconversationMarkmanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringconversationMarkmanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringconversationMarkmanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringconversationMarkmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringconversationMarkmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringconversationMarkmanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringintentAnalysismanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringintentAnalysismanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringintentAnalysismanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringintentAnalysismanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringintentAnalysismanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringintentAnalysismanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringoutscenariomanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringoutscenariomanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringoutscenariomanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringoutscenariomanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringoutscenariomanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringoutscenariomanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringworkhistorymanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringworkhistorymanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpmonitoringworkhistorymanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagebgmmanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagebgmmanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagebgmmanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagebgmmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagebgmmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagebgmmanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagenlpSettingmanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagenlpSettingmanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagenlpSettingmanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagenlpSettingmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagenlpSettingmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagenlpSettingmanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticscallinfomanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticscallinfomanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticscallinfomanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticscallRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticscallRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticscallRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsintentdaymanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsintentdaymanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsintentdaymanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsintentitemmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsintentitemmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsintentitemmanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsintentRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsintentRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsintentRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsscenariodaymanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsscenariodaymanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsscenariodaymanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsscenarioitemmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsscenarioitemmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsscenarioitemmanageRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsscenarioRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsscenarioRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpstatisticsscenarioRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rootRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rootRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rootRead").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagettstagmanageFull").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagettstagmanageFull").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagettstagmanageFull").serviceGroup("OURSTOREAI").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagettstagmanageRead").serviceGroup("AISTORE").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagettstagmanageRead").serviceGroup("DAISO").build()); + tbCustPolicyRepo.save(TbCustPolicy.builder().custCode("UPLUS").policyVal("rcpoprmanagettstagmanageRead").serviceGroup("OURSTOREAI").build()); + + tbIcsCustInfoRepo.save(TbIcsCustInfo.builder() + .custCode("UPLUS") + .custName("유플러스") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + + tbIcsOprMngInfoRepo.save(TbIcsOprMngInfo.builder() + .custCode("UPLUS") + .serviceGroup("AISTORE") + .oprMngCode("UPLUS_RCP_AISTORE") + .solVal("RCP") + .useYn("Y") + .routeUrl("http://localhost:8092/bot/rcp/standard/process") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + tbIcsOprMngInfoRepo.save(TbIcsOprMngInfo.builder() + .custCode("UPLUS") + .serviceGroup("DAISO") + .oprMngCode("UPLUS_RCP_DAISO") + .solVal("RCP") + .useYn("Y") + .routeUrl("http://localhost:8092/bot/rcp/standard/process") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + tbIcsOprMngInfoRepo.save(TbIcsOprMngInfo.builder() + .custCode("UPLUS") + .serviceGroup("OURSTOREAI") + .oprMngCode("UPLUS_RCP_OURSTOREAI") + .solVal("RCP") + .useYn("Y") + .routeUrl("http://localhost:8092/bot/rcp/standard/process") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + +// tbIcsOprMngInfoRepo.save(TbIcsOprMngInfo.builder() +// .custCode("UPLUS") +// .serviceGroup("COMMON") +// .oprMngCode("UPLUS_RCP_COMMON") +// .solVal("RCP") +// .useYn("Y") +// .routeUrl("http://localhost:8092/bot/rcp/standard/process") +// .registId("sysadmin") +// .registDate(LocalDateTime.now()) +// .updateId("sysadmin") +// .updateDate(LocalDateTime.now()) +// .build()); + + + if (!tbServiceAuthGroupRepo.existsById(10L)) { + tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() + .authGroupSeq(10L) + .serviceGroup("OURSTOREAI") + .custCode("UPLUS") + .policyGroupName("우리가게AI 전체권한") + .policyGroupDesc("우리가게AI 전체권한") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbServiceAuthGroupRepo.existsById(11L)) { + tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() + .authGroupSeq(11L) + .serviceGroup("AISTORE") + .custCode("UPLUS") + .policyGroupName("요식업유저용전체권한") + .policyGroupDesc("요식업유저용전체권한") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbServiceAuthGroupRepo.existsById(12L)) { + tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() + .authGroupSeq(12L) + .serviceGroup("DAISO") + .custCode("UPLUS") + .policyGroupName("유통업유저용전체권한") + .policyGroupDesc("유통업유저용전체권한") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbServiceAuthGroupRepo.existsById(13L)) { + tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() + .authGroupSeq(13L) + .serviceGroup("AISTORE") + .custCode("UPLUS") + .policyGroupName("시나리오관리읽기권한") + .policyGroupDesc("테스트용 시나리오관리 읽기권한") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbServiceAuthGroupRepo.existsById(14L)) { + tbServiceAuthGroupRepo.save(TbServiceAuthGroup.builder() + .authGroupSeq(14L) + .serviceGroup("AISTORE") + .custCode("UPLUS") + .policyGroupName("시나리오관리수정,배포권한") + .policyGroupDesc("테스트용 시나리오관리수정,배포권한") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .updateDate(LocalDateTime.now()) + .build()); + } + + tbServiceGrouopRepo.save(TbServiceGrouop.builder() + .serviceGroup("AISTORE") + .serviceGroupUpper("OURSTOREAI") + .custCode("UPLUS") + .serviceType("S") + .serviceGroupName("요식업") + .serviceGroupDesc("유플러스 요식업") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .build()); + + tbServiceGrouopRepo.save(TbServiceGrouop.builder() + .serviceGroup("DAISO") + .serviceGroupUpper("OURSTOREAI") + .custCode("UPLUS") + .serviceType("S") + .serviceGroupName("유통업") + .serviceGroupDesc("유플러스 유통업") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .build()); + + tbServiceGrouopRepo.save(TbServiceGrouop.builder() + .serviceGroup("OURSTOREAI") + .serviceGroupUpper("OURSTOREAI") + .custCode("UPLUS") + .serviceType("M") + .serviceGroupName("우리가게AI") + .serviceGroupDesc("우리가게AI루트계정") + .useYn("Y") + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("sysadmin") + .build()); + +// tbServiceGrouopRepo.save(TbServiceGrouop.builder() +// .serviceGroup("COMMON") +// .serviceGroupUpper("OURSTOREAI") +// .custCode("UPLUS") +// .serviceType("S") +// .serviceGroupName("공통") +// .serviceGroupDesc("우리가게AI공통계정") +// .useYn("Y") +// .registId("sysadmin") +// .registDate(LocalDateTime.now()) +// .updateId("sysadmin") +// .build()); + + if (!tbServiceGroupPolicyRepo.existsByAuthGroupSeq(10L)) { + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("commonsystemcustmanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("commonsystemcustmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("commonsystemgroupAuthmanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("commonsystemgroupAuthmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("commonsystemoprmngcodemanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("commonsystemoprmngcodemanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("commonsystemRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("commonsystemserviceGroupmanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("commonsystemserviceGroupmanageRead").serviceGroup("OURSTOREAI").build()); +// tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("commonsystemuserAdminmanageFull").serviceGroup("OURSTOREAI").build()); +// tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("commonsystemuserAdminmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("commonsystemusermanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("commonsystemusermanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("privacymasking").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpconversationapiNodemanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpconversationapiNodemanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpconversationcmmNodemanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpconversationcmmNodemanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpconversationintentmanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpconversationintentmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpconversationRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpconversationscenariomanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpconversationscenariomanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpconversationscenariomanageRelease").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpconversationsynonymmanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpconversationsynonymmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpconversationsystemEntitymanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcplearningTestinferencemanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcplearningTestinferencemanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcplearningTestRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcplearningTestsimulatormanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcplearningTestsimulatormanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcplearningTeststttestmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcplearningTestttstestmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpmonitoringconsultingmanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpmonitoringconsultingmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpmonitoringconversationMarkmanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpmonitoringconversationMarkmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpmonitoringintentAnalysismanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpmonitoringintentAnalysismanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpmonitoringoutscenariomanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpmonitoringoutscenariomanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpmonitoringRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpmonitoringworkhistorymanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpstatisticsdashboardmanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpoprmanagebgmmanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpoprmanagebgmmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpoprmanagenlpSettingmanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpoprmanagenlpSettingmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpoprmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpstatisticscallinfomanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpstatisticscallRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpstatisticsintentdaymanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpstatisticsintentitemmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpstatisticsintentRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpstatisticsRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpstatisticsscenariodaymanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpstatisticsscenarioitemmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpstatisticsscenarioRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rootRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpoprmanagettstagmanageRead").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpoprmanagettstagmanageFull").serviceGroup("OURSTOREAI").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(10L).custCode("UPLUS").policyVal("rcpconversationsystemEntitymanageFull").serviceGroup("OURSTOREAI").build()); + } + + + if (!tbServiceGroupPolicyRepo.existsByAuthGroupSeq(11L)) { + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("commonsystemcustmanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("commonsystemcustmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("commonsystemgroupAuthmanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("commonsystemgroupAuthmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("commonsystemoprmngcodemanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("commonsystemoprmngcodemanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("commonsystemRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("commonsystemserviceGroupmanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("commonsystemserviceGroupmanageRead").serviceGroup("AISTORE").build()); +// tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("commonsystemuserAdminmanageFull").serviceGroup("AISTORE").build()); +// tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("commonsystemuserAdminmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("commonsystemusermanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("commonsystemusermanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("privacymasking").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpconversationapiNodemanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpconversationapiNodemanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpconversationcmmNodemanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpconversationcmmNodemanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpconversationintentmanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpconversationintentmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpconversationRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpconversationscenariomanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpconversationscenariomanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpconversationscenariomanageRelease").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpconversationsynonymmanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpconversationsynonymmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpconversationsystemEntitymanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcplearningTestinferencemanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcplearningTestinferencemanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcplearningTestRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcplearningTestsimulatormanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcplearningTestsimulatormanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcplearningTeststttestmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcplearningTestttstestmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpmonitoringconsultingmanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpmonitoringconsultingmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpmonitoringconversationMarkmanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpmonitoringconversationMarkmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpmonitoringintentAnalysismanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpmonitoringintentAnalysismanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpmonitoringoutscenariomanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpmonitoringoutscenariomanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpstatisticsdashboardmanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpmonitoringRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpmonitoringworkhistorymanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpoprmanagebgmmanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpoprmanagebgmmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpoprmanagenlpSettingmanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpoprmanagenlpSettingmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpoprmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpstatisticscallinfomanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpstatisticscallRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpstatisticsintentdaymanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpstatisticsintentitemmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpstatisticsintentRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpstatisticsRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpstatisticsscenariodaymanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpstatisticsscenarioitemmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpstatisticsscenarioRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rootRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpoprmanagettstagmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpoprmanagettstagmanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(11L).custCode("UPLUS").policyVal("rcpconversationsystemEntitymanageFull").serviceGroup("AISTORE").build()); + } + + if (!tbServiceGroupPolicyRepo.existsByAuthGroupSeq(12L)) { + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("commonsystemcustmanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("commonsystemcustmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("commonsystemgroupAuthmanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("commonsystemgroupAuthmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("commonsystemoprmngcodemanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("commonsystemoprmngcodemanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("commonsystemRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("commonsystemserviceGroupmanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("commonsystemserviceGroupmanageRead").serviceGroup("DAISO").build()); +// tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("commonsystemuserAdminmanageFull").serviceGroup("DAISO").build()); +// tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("commonsystemuserAdminmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("commonsystemusermanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("commonsystemusermanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("privacymasking").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpconversationapiNodemanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpconversationapiNodemanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpconversationcmmNodemanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpconversationcmmNodemanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpconversationintentmanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpconversationintentmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpconversationRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpconversationscenariomanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpconversationscenariomanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpconversationscenariomanageRelease").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpconversationsynonymmanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpconversationsynonymmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpconversationsystemEntitymanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcplearningTestinferencemanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcplearningTestinferencemanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcplearningTestRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcplearningTestsimulatormanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcplearningTestsimulatormanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcplearningTeststttestmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcplearningTestttstestmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpmonitoringconsultingmanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpmonitoringconsultingmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpmonitoringconversationMarkmanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpmonitoringconversationMarkmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpmonitoringintentAnalysismanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpmonitoringintentAnalysismanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpmonitoringoutscenariomanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpmonitoringoutscenariomanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpmonitoringRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpmonitoringworkhistorymanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpstatisticsdashboardmanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpoprmanagebgmmanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpoprmanagebgmmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpoprmanagenlpSettingmanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpoprmanagenlpSettingmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpoprmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpstatisticscallinfomanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpstatisticscallRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpstatisticsintentdaymanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpstatisticsintentitemmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpstatisticsintentRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpstatisticsRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpstatisticsscenariodaymanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpstatisticsscenarioitemmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpstatisticsscenarioRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rootRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpoprmanagettstagmanageRead").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpoprmanagettstagmanageFull").serviceGroup("DAISO").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(12L).custCode("UPLUS").policyVal("rcpconversationsystemEntitymanageFull").serviceGroup("DAISO").build()); + } + + + if (!tbServiceGroupPolicyRepo.existsByAuthGroupSeq(13L)) { + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(13L).custCode("UPLUS").policyVal("rootRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(13L).custCode("UPLUS").policyVal("rcpconversationRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(13L).custCode("UPLUS").policyVal("rcpconversationintentmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(13L).custCode("UPLUS").policyVal("rcpconversationscenariomanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(13L).custCode("UPLUS").policyVal("rcpconversationsynonymmanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(13L).custCode("UPLUS").policyVal("rcpconversationsystemEntitymanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(13L).custCode("UPLUS").policyVal("rcpconversationapiNodemanageRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(13L).custCode("UPLUS").policyVal("rcpconversationcmmNodemanageRead").serviceGroup("AISTORE").build()); + } + if (!tbServiceGroupPolicyRepo.existsByAuthGroupSeq(14L)) { + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(14L).custCode("UPLUS").policyVal("rootRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(14L).custCode("UPLUS").policyVal("rcpconversationRead").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(14L).custCode("UPLUS").policyVal("rcpconversationscenariomanageRelease").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(14L).custCode("UPLUS").policyVal("rcpconversationintentmanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(14L).custCode("UPLUS").policyVal("rcpconversationscenariomanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(14L).custCode("UPLUS").policyVal("rcpconversationsynonymmanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(14L).custCode("UPLUS").policyVal("rcpconversationsystemEntitymanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(14L).custCode("UPLUS").policyVal("rcpconversationapiNodemanageFull").serviceGroup("AISTORE").build()); + tbServiceGroupPolicyRepo.save(TbServiceGroupPolicy.builder().authGroupSeq(14L).custCode("UPLUS").policyVal("rcpconversationcmmNodemanageFull").serviceGroup("AISTORE").build()); + } + + tbUserAuthGroupRepo.save(TbUserAuthGroup.builder().authGroupSeq(10L).custCode("UPLUS").serviceGroup("OURSTOREAI").userSeq(2L).build()); + tbUserAuthGroupRepo.save(TbUserAuthGroup.builder().authGroupSeq(11L).custCode("UPLUS").serviceGroup("AISTORE").userSeq(2L).build()); + tbUserAuthGroupRepo.save(TbUserAuthGroup.builder().authGroupSeq(12L).custCode("UPLUS").serviceGroup("DAISO").userSeq(2L).build()); +// tbUserAuthGroupRepo.save(TbUserAuthGroup.builder().authGroupSeq(13L).custCode("UPLUS").serviceGroup("COMMON").userSeq(2L).build()); + tbUserAuthGroupRepo.save(TbUserAuthGroup.builder().authGroupSeq(13L).custCode("UPLUS").serviceGroup("AISTORE").userSeq(3L).build()); + tbUserAuthGroupRepo.save(TbUserAuthGroup.builder().authGroupSeq(14L).custCode("UPLUS").serviceGroup("AISTORE").userSeq(4L).build()); + + tbUserCustRepo.save(TbUserCust.builder().custCode("UPLUS").serviceGroup("AISTORE").userSeq(3L).build()); + tbUserCustRepo.save(TbUserCust.builder().custCode("UPLUS").serviceGroup("AISTORE").userSeq(4L).build()); + + tbUserCustRepo.save(TbUserCust.builder().custCode("UPLUS").serviceGroup("OURSTOREAI").userSeq(1L).build()); + tbUserCustRepo.save(TbUserCust.builder().custCode("UPLUS").serviceGroup("AISTORE").userSeq(1L).build()); + tbUserCustRepo.save(TbUserCust.builder().custCode("UPLUS").serviceGroup("DAISO").userSeq(1L).build()); + + tbUserCustRepo.save(TbUserCust.builder().custCode("UPLUS").serviceGroup("OURSTOREAI").userSeq(2L).build()); + tbUserCustRepo.save(TbUserCust.builder().custCode("UPLUS").serviceGroup("AISTORE").userSeq(2L).build()); + tbUserCustRepo.save(TbUserCust.builder().custCode("UPLUS").serviceGroup("DAISO").userSeq(2L).build()); +// tbUserCustRepo.save(TbUserCust.builder().custCode("UPLUS").serviceGroup("COMMON").userSeq(2L).build()); +// tbUserCustRepo.save(TbUserCust.builder().custCode("UPLUS").serviceGroup("COMMON").userSeq(1L).build()); + + } + + public void commonCodeinsert() { + List tbc = new ArrayList<>(); + + List cust = Arrays.asList("ICS","UPLUS"); + + for(String e: cust){ + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("BOOKMARK_ERR_CODE").minorCode("ETC").oprMngCode(e+"_RCP_OURSTOREAI").codeName("기타").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("BOOKMARK_ERR_CODE").minorCode("INTENT_ERR").oprMngCode(e+"_RCP_OURSTOREAI").codeName("인텐트 오류").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("BOOKMARK_ERR_CODE").minorCode("STT_ERR").oprMngCode(e+"_RCP_OURSTOREAI").codeName("STT 오류").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("BOOKMARK_ERR_CODE").minorCode("TTS_ERR").oprMngCode(e+"_RCP_OURSTOREAI").codeName("TTS 오류").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_REASON").minorCode("INIT_END").oprMngCode(e+"_RCP_OURSTOREAI").codeName("인입 후 끊음").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_REASON").minorCode("SCENARIO").oprMngCode(e+"_RCP_OURSTOREAI").codeName("시나리오 흐름").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_REASON").minorCode("SILENT_FB").oprMngCode(e+"_RCP_OURSTOREAI").codeName("묵음 폴백").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_REASON").minorCode("SPEAK_FB").oprMngCode(e+"_RCP_OURSTOREAI").codeName("발화 폴백").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_REASON").minorCode("USER_END").oprMngCode(e+"_RCP_OURSTOREAI").codeName("고객 끊음").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_REASON").minorCode("USER_REQ").oprMngCode(e+"_RCP_OURSTOREAI").codeName("사용자 요청").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); +// tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_TYPE").minorCode("END").oprMngCode(e+"_RCP_OURSTOREAI").codeType("C_CD").description("호종료").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); +// tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_TYPE").minorCode("ING").oprMngCode(e+"_RCP_OURSTOREAI").codeType("C_CD").description("호전환").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_CONVERSION").minorCode("TRANSFER").oprMngCode(e+"_RCP_OURSTOREAI").codeName("호전환").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_CONVERSION").minorCode("END").oprMngCode(e+"_RCP_OURSTOREAI").codeName("호종료").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("INTENT_RESULT_CODE").minorCode("INTENT_FAIL").oprMngCode(e+"_RCP_OURSTOREAI").codeName("인텐트 실패").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("INTENT_RESULT_CODE").minorCode("INTENT_SUCCESS").oprMngCode(e+"_RCP_OURSTOREAI").codeName("인텐트 성공").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("INTENT_RESULT_CODE").minorCode("SCORE_FAIL").oprMngCode(e+"_RCP_OURSTOREAI").codeName("점수 미달").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("MEASURE_TYPE").minorCode("COMPLETE").oprMngCode(e+"_RCP_OURSTOREAI").codeName("조치 완료").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("MEASURE_TYPE").minorCode("DEL").oprMngCode(e+"_RCP_OURSTOREAI").codeName("삭제").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("BOOKMARK_ERR_CODE").minorCode("ETC").oprMngCode(e+"_RCP_OURSTOREAI").codeName("기타").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("BOOKMARK_ERR_CODE").minorCode("INTENT_ERR").oprMngCode(e+"_RCP_OURSTOREAI").codeName("인텐트 오류").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("BOOKMARK_ERR_CODE").minorCode("STT_ERR").oprMngCode(e+"_RCP_OURSTOREAI").codeName("STT 오류").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("BOOKMARK_ERR_CODE").minorCode("TTS_ERR").oprMngCode(e+"_RCP_OURSTOREAI").codeName("TTS 오류").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_REASON").minorCode("INIT_END").oprMngCode(e+"_RCP_OURSTOREAI").codeName("인입 후 끊음").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_REASON").minorCode("SCENARIO").oprMngCode(e+"_RCP_OURSTOREAI").codeName("시나리오 흐름").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_REASON").minorCode("SILENT_FB").oprMngCode(e+"_RCP_OURSTOREAI").codeName("묵음 폴백").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_REASON").minorCode("SPEAK_FB").oprMngCode(e+"_RCP_OURSTOREAI").codeName("발화 폴백").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_REASON").minorCode("USER_END").oprMngCode(e+"_RCP_OURSTOREAI").codeName("고객 끊음").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_REASON").minorCode("USER_REQ").oprMngCode(e+"_RCP_OURSTOREAI").codeName("사용자 요청").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); +// tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_TYPE").minorCode("END").oprMngCode(e+"_RCP_OURSTOREAI").codeType("C_CD").description("호종료").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); +// tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("CALL_END_TYPE").minorCode("ING").oprMngCode(e+"_RCP_OURSTOREAI").codeType("C_CD").description("호전환").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("INTENT_RESULT_CODE").minorCode("INTENT_FAIL").oprMngCode(e+"_RCP_OURSTOREAI").codeName("인텐트 실패").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("INTENT_RESULT_CODE").minorCode("INTENT_SUCCESS").oprMngCode(e+"_RCP_OURSTOREAI").codeName("인텐트 성공").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("INTENT_RESULT_CODE").minorCode("SCORE_FAIL").oprMngCode(e+"_RCP_OURSTOREAI").codeName("점수 미달").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("MEASURE_TYPE").minorCode("COMPLETE").oprMngCode(e+"_RCP_OURSTOREAI").codeName("조치 완료").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("MEASURE_TYPE").minorCode("DEL").oprMngCode(e+"_RCP_OURSTOREAI").codeName("삭제").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("ENTITY_TYPE").minorCode("NORMAL").oprMngCode(e+"_RCP_AISTORE").codeName("일반").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("ENTITY_TYPE").minorCode("SYNONYM").oprMngCode(e+"_RCP_AISTORE").codeName("동의어").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("ENTITY_TYPE").minorCode("SYSTEM").oprMngCode(e+"_RCP_AISTORE").codeName("시스템엔티티").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("INTENT_GROUP").minorCode("AD").oprMngCode(e+"_RCP_AISTORE").codeName("방문").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("INTENT_GROUP").minorCode("BH").oprMngCode(e+"_RCP_AISTORE").codeName("영업").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("INTENT_GROUP").minorCode("CL").oprMngCode(e+"_RCP_AISTORE").codeName("호종료").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("INTENT_GROUP").minorCode("EX").oprMngCode(e+"_RCP_AISTORE").codeName("예외").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("INTENT_GROUP").minorCode("ME").oprMngCode(e+"_RCP_AISTORE").codeName("메뉴").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("INTENT_GROUP").minorCode("PK").oprMngCode(e+"_RCP_AISTORE").codeName("주차").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("INTENT_GROUP").minorCode("RV").oprMngCode(e+"_RCP_AISTORE").codeName("예약").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + tbc.add(TbBotCommonCode.builder().custCode(e).majorCode("INTENT_GROUP").minorCode("ST").oprMngCode(e+"_RCP_AISTORE").codeName("시설").registDate(LocalDateTime.now()).registId("sysadmin").updateDate(LocalDateTime.now()).updateId("sysadmin").build()); + + } + + tbBotCommonCodeRepo.saveAll(tbc); + + } + + @Transactional + public void tbProjectSettingdata() { + if (!tbProjectSettingRepo.existsById("UPLUS_RCP_AISTORE")) { + tbProjectSettingRepo.save(TbProjectSetting.builder() + .oprMngCode("UPLUS_RCP_AISTORE") + .similarityCriteria(0.81) + .classCriteria(0.81) + .classResultCriteria(0.85) + .fallbackMsg("무슨 말씀이신지 정확하게 이해하지 못했어요. 영업시간, 주소 안내 등 궁금한 내용을 다시 한 번 알려주세요.") + .greetingMsg("서비스 이용 및 품질향상을 위해 고객님의 음성이 활용됩니다. 무엇을 도와드릴까요?") + .ifMappingId(90922651L) + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("uplus") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbProjectSettingRepo.existsById("UPLUS_RCP_DAISO")) { + tbProjectSettingRepo.save(TbProjectSetting.builder() + .oprMngCode("UPLUS_RCP_DAISO") + .similarityCriteria(0.85) + .classCriteria(0.6) + .classResultCriteria(0.4) + .fallbackMsg("무슨 말씀이신지 정확하게 이해하지 못했어요. 영업시간, 주소 안내 등 궁금한 내용을 다시 한 번 알려주세요.") + .greetingMsg("서비스 이용 및 품질향상을 위해 고객님의 음성이 활용됩니다. 무엇을 도와드릴까요?") + .ifMappingId(90925452L) + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("uplus") + .updateDate(LocalDateTime.now()) + .build()); + } + if (!tbProjectSettingRepo.existsById("UPLUS_RCP_OURSTOREAI")) { + tbProjectSettingRepo.save(TbProjectSetting.builder() + .oprMngCode("UPLUS_RCP_OURSTOREAI") + .similarityCriteria(0.85) + .classCriteria(0.2) + .classResultCriteria(0.05) + .fallbackMsg("") + .greetingMsg("") + .ifMappingId(113903143L) + .registId("sysadmin") + .registDate(LocalDateTime.now()) + .updateId("uplus") + .updateDate(LocalDateTime.now()) + .build()); + } + +// if (!tbProjectSettingRepo.existsById("UPLUS_RCP_COMMON")) { +// tbProjectSettingRepo.save(TbProjectSetting.builder() +// .oprMngCode("UPLUS_RCP_COMMON") +// .similarityCriteria(0.85) +// .classCriteria(0.6) +// .classResultCriteria(0.4) +// .fallbackMsg("무슨 말씀이신지 정확하게 이해하지 못했어요. 영업시간, 주소 안내 등 궁금한 내용을 다시 한 번 알려주세요.") +// .greetingMsg("서비스 이용 및 품질향상을 위해 고객님의 음성이 활용됩니다. 무엇을 도와드릴까요?") +// .ifMappingId(90922651L) +// .registId("sysadmin") +// .registDate(LocalDateTime.now()) +// .updateId("uplus") +// .updateDate(LocalDateTime.now()) +// .build()); +// } + + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/FailNodeVO.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/FailNodeVO.java new file mode 100644 index 0000000..098fd3f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/FailNodeVO.java @@ -0,0 +1,32 @@ +package com.icomsys.main_vm.biz.test.controller; + + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class FailNodeVO { + + private String oprMngCode; + private Long scenarioSeq; + private String scenarioName; + private int totCnt; + private int useCnt; + private int succCnt; + private int failCnt; + + @Builder + public FailNodeVO(String oprMngCode, Long scenarioSeq, String scenarioName, int totCnt, int useCnt, int succCnt, int failCnt) { + this.oprMngCode = oprMngCode; + this.scenarioSeq = scenarioSeq; + this.scenarioName = scenarioName; + this.totCnt = totCnt; + this.useCnt = useCnt; + this.succCnt = succCnt; + this.failCnt = failCnt; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/TestRestController.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/TestRestController.java new file mode 100644 index 0000000..ae11f5d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/TestRestController.java @@ -0,0 +1,335 @@ +package com.icomsys.main_vm.biz.test.controller; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNoSuchFieldException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.common.service.ExcelService; +import com.icomsys.main_vm.biz.common.common.service.LogService; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.common.common.service.SequenceService; +import com.icomsys.main_vm.biz.common.common.service.functionnode.FunctionVo; +import com.icomsys.main_vm.biz.common.common.service.functionnode.FunctionWsNashorn; +import com.icomsys.main_vm.biz.common.login.res.OprmngCodeRes; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.common.system.vo.DslDataTableRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemPolicyMenuRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceGroupViewVo; +import com.icomsys.main_vm.biz.test.controller.testvo.APINodeVo; +import com.icomsys.main_vm.common.code.EnumToMap; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbProjectSetting; +import com.icomsys.main_vm.db.jpa.entity.system.TbIcsCustInfo; +import com.icomsys.main_vm.db.jpa.repo.scenario.TbApiNodeRepo; +import com.icomsys.main_vm.db.jpa.repo.system.*; +import com.icomsys.main_vm.db.mybatis.mapper.TestMapper; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.io.ClassPathResource; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.script.ScriptException; +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.*; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeoutException; + +@RequestMapping("/rest") +@RestController +@RequiredArgsConstructor +@Slf4j +public class TestRestController { + + private final TestRestService testRestService; + + private final TbBotCommonCodeRepo tbBotCommonCodeRepo; + private final TbBotUserRepo tbBotUserRepo; + private final TbCustPolicyRepo tbCustPolicyRepo; + private final TbIcsCustInfoRepo tbIcsCustInfoRepo; + private final TbIcsOprMngInfoRepo tbIcsOprMngInfoRepo; + private final TbServiceAuthGroupRepo tbServiceAuthGroupRepo; + private final TbServiceGrouopRepo tbServiceGrouopRepo; + private final TbServiceGroupPolicyRepo tbServiceGroupPolicyRepo; + private final TbUserAuthGroupRepo tbUserAuthGroupRepo; + private final TbUserCustRepo tbUserCustRepo; + private final SequenceService sequenceService; + private final LoginService loginService; + private final TestMapper testMapper; + private final HttpServletRequest request; + private final LogService logService; + private final ExcelService excelService; + + @GetMapping("/test1") + public String test1() { + log.info("test1 init"); + log.info("test1 = {}", new Gson().toJson(EnumToMap.urlToMap)); + return new Gson().toJson(EnumToMap.urlToMap); + } + + + /** + * 메뉴바인딩 + * + * @return + */ + @GetMapping("/test5") + public Object test5() { + log.info("test5 init"); + return testRestService.authToMenuList(testRestService.initData(), 1000001); + } + + + /** + * 전체매뉴 -> 고객사별메뉴권한, + * 고객사별메뉴권한 -> 그룹별권한 + * + * @return + */ + @GetMapping("/test6") + public Object test6() { + log.info("test6 init"); + return testRestService.authToAuthList(testRestService.initData(), 1000001); + } + + @GetMapping("/test7") + public String test7() { + //Table All Test + log.info(" 1 -{}", tbBotCommonCodeRepo.findAll()); + log.info(" 2 -{}", tbBotUserRepo.findAll()); + log.info(" 3 -{}", tbCustPolicyRepo.findAll()); + log.info(" 4 -{}", tbIcsCustInfoRepo.findAll()); + log.info(" 5 -{}", tbIcsOprMngInfoRepo.findAll()); + log.info(" 6 -{}", tbServiceAuthGroupRepo.findAll()); + log.info(" 7 -{}", tbServiceGrouopRepo.findAll()); + log.info(" 8 -{}", tbServiceGroupPolicyRepo.findAll()); + log.info(" 9 -{}", tbUserAuthGroupRepo.findAll()); + log.info(" 10 -{}", tbUserCustRepo.findAll()); + + return "test7"; + } + + @GetMapping("/test8") + public String test8() { + +// log.info("1 - {}", sequenceService.ServiceAuthGroupSeqNext()); +// log.info("2 - {}", sequenceService.UserSeqNext()); + + return "test8"; + } + + @GetMapping("/test10") + public List test10() { + return testRestService.test10(); + } + + @GetMapping("/test11") + public Object test11() { + return testRestService.authToMenuList(testRestService.test10(), 1000001); + } + + @GetMapping("/test12") + public Object test12() { + return loginService.selectMainMenuLeft(4L, "ourStore", "SYSTEMADMIN"); + } + + @GetMapping("/test13") + public Object test13() { + List aa = new ArrayList<>(); + try { + aa = testMapper.getUserPolicy(4L, "ourStore"); + ; + } catch (Exception e) { + log.info("log - {}", e.getMessage()); + } + return aa; + } + + + @GetMapping("/test14") + public Object test14() { + return testRestService.getServiceGroup(); + } + + @GetMapping("/test15") + public Object test15() { + return testRestService.pagingtest(); + } + + @GetMapping("/test16") + public List test16() throws CustomNoSuchFieldException { + log.info("getOPR INIT"); + return testRestService.test16(); + } + + @GetMapping("/test17") + public DslDataTableRes test17() throws CustomNoSuchFieldException { + log.info("getOPR INIT"); + return testRestService.test17(); + } + + + @GetMapping("/test18") + public List test18( + @RequestParam(name = "page", required = false) int page, + @RequestParam(name = "size", required = false) int size, + @RequestParam(name = "codeText1", required = false) String codeText1, + @RequestParam(name = "codeText2", required = false) String codeText2, + @RequestParam(name = "codeText3", required = false) String codeText3, + @RequestParam(name = "service", required = false) String service + ) throws CustomNoSuchFieldException { + log.info("TEST18"); + return testRestService.test18(page, size, codeText1, codeText2, codeText3, service); + } + + @GetMapping("/test19") + public Map test19() { + + Map pMap = testRestService.jstreeParentConvertToPolicy(); + log.info("test19 - {}", new Gson().toJson(pMap)); + return pMap; + } + + @GetMapping("/test20") + public List test20() { + return testRestService.test20(); + } + + private final TbApiNodeRepo tbApiNodeRepo; +// @GetMapping("/test21") +// public List test21(){ +// return testRestService.test21(); +// } + + @GetMapping("/test21") + public String test21() throws IOException { +// String path = request.getSession().getServletContext().getRealPath(""); + + String path = new ClassPathResource("/document/Ourstore_Ai_Manager_User_Manual_v1.0.pdf").getFile().getAbsolutePath(); + return path; + } + + @GetMapping("/test22") + public String test22() { + testRestService.test22(); + return "a"; + } + + @GetMapping("/test23") + public void test23() { + log.info("reg를 넘김"); + + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversation) + .actionCode("testActionCode") + .registDate(LocalDateTime.now()) + .build()); + + } + + @GetMapping("/test24") + public void test24() { + log.info("reg를안 넘김"); + logService.LogSave(LogVO.builder() + .menuAuth(MenuResource.rcpconversationsystemEntitymanage) + .actionCode("testActionCode") + .build()); + } + + + @PostMapping("/test25") + public void test25(@RequestParam("files") MultipartFile dto) throws IOException { + log.info("test25 - {}", new Gson().toJson(dto.getOriginalFilename())); + log.info("test25 - {}", new Gson().toJson(dto)); +// testRestService.test27(dto); + List result = excelService.ExcelUploadConvert(dto, TbIcsCustInfo.class); + + log.info("result - {}", new Gson().toJson(result)); + + } + + @GetMapping("/test26") + public void test26() throws IOException { +// excelService.ExcelDownload("asd", tbIcsCustInfoRepo.findAll()); + excelService.ExcelDownload("asd", tbIcsCustInfoRepo.findAll()); + } + + @GetMapping("/test27") + public void test27() throws IOException { +// testRestService.ExcelUploadConvert(TbIcsCustInfo.class); + } + + @GetMapping("/test28") + public List test28() { + + return testRestService.test28(); + } + + @GetMapping("/test29") + public void test29() throws IOException { + excelService.ExcelDownload("asdqwe", tbIcsCustInfoRepo.findAll(), Arrays.asList("ㅁㄴㅇㅁㄴㅇ", "ㅁㄴㅇㄴㅁㅇ", "ㅁㄴㅇㅁㄴㅇ")); + } + + @PostMapping("/test30") + public void test30(@RequestBody APINodeVo dto) { + log.info("s - {}", new Gson().toJson(dto)); + + + } + + @GetMapping("/test31") + public Map test31() throws CustomBadRequestException, NoSuchMethodException { + String dbData = "{\"apiNodeName\":\"예약 날짜 확인\",\"urlType\":\"GET\",\"URL\":\"http://15.165.95.232:8080/platform/api/informal/numeral/Date\",\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json\",\"desc\":\"\"}],\"param\":[{\"key\":\"formatType\",\"value\":\"yyyy-MM-dd\",\"desc\":\"\"},{\"key\":\"talkText\",\"value\":\"#{userMessage}\",\"desc\":\"\"}],\"request\":[{\"value\":\"userMessage\",\"desc\":\"sample \\\"내일모레 예약하려고 합니다 \\\"\"}],\"response\":[{\"key\":\"responseCode\",\"value\":\"$.responseCode\",\"desc\":\"\"},{\"key\":\"processResult\",\"value\":\"$.resultData.processResult\",\"desc\":\"\"},{\"key\":\"findDate\",\"value\":\"$.resultData.findDate\",\"desc\":\"\"},{\"key\":\"weekOfTheDay\",\"value\":\"$.resultData.weekOfTheDay\",\"desc\":\"\"}],\"body\":\"\"}"; + + return testRestService.test31(dbData); + + } + + @GetMapping("/test32") + public void test32() throws ExecutionException, InterruptedException, TimeoutException, ScriptException { + + HashMap calldata = new HashMap(); + calldata.put("abc", "1"); + Map resultMap = FunctionWsNashorn.builder(1000) + .create(FunctionVo.builder() + .varList(Arrays.asList("시나리오변수1", "func변수1", "abc")) + .callData(calldata) + .initSctipt(" if (abc == \"1\") {\n func변수1 = \"시나리오 변수 값이 1 입니다\";\n} else {\n func변수1 = \"시나리오 변수 값이 1이 아닙니다\";\n}\n") + .build()) + .build(); + + log.info("result Map - - {}", new Gson().toJson(resultMap)); + } + + @GetMapping("/test33") + public void test33() throws CustomBadRequestException, NoSuchMethodException { + String s = "{\"apiNodeName\":\"ㅁㄴㅇㄻㄴㅇㄹ\",\"urlType\":\"POST\",\"URL\":\"http://192.168.219.106:8080/platform/api/call/list\",\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json\",\"desc\":\"\"}],\"param\":[],\"body\":\"{\\r\\n \\\"downtownNum\\\": #{downtownNum},\\r\\n \\\"startDate\\\": #{startDate},\\r\\n \\\"endDate\\\": #{endDate}\\r\\n}\",\"request\":[{\"value\":\"downtownNum\",\"desc\":\"07075999946\"},{\"value\":\"startDate\",\"desc\":\"2021-08-03\"},{\"value\":\"endDate\",\"desc\":\"2023-08-03\"}],\"response\":[{\"key\":\"resultCode\",\"value\":\"$.resultCode\",\"desc\":\"\"},{\"key\":\"resultMessage\",\"value\":\"$.resultMessage\",\"desc\":\"\"},{\"key\":\"callListCnt\",\"value\":\"$.resultData.callListCnt\",\"desc\":\"\"},{\"key\":\"callList\",\"value\":\"$.resultData.callList\",\"desc\":\"\"}]}"; + log.info("s - {}", s); + testRestService.test33(s); + + } + + @GetMapping("/test34") + public Long test34() throws CustomNotFoundException { + log.info("nlp mapping id controller"); + return testRestService.test34(); + } + + @GetMapping("/test35") + public List test35() throws CustomNotFoundException { + log.info("nlp mapping id controller5"); + return testRestService.test35(); + } + + @GetMapping("/test36") + public Long test36() { + log.info("test 36 ==="); + return testRestService.test36(); +// return "res"; + } + +} + + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/TestRestService.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/TestRestService.java new file mode 100644 index 0000000..88b1c2f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/TestRestService.java @@ -0,0 +1,822 @@ +package com.icomsys.main_vm.biz.test.controller; + +import aj.org.objectweb.asm.TypeReference; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.google.gson.*; +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.common.service.LogVO; +import com.icomsys.main_vm.biz.common.common.service.RestTemplateService; +import com.icomsys.main_vm.biz.common.common.service.SequenceService; +import com.icomsys.main_vm.biz.common.login.res.OprmngCodeRes; +import com.icomsys.main_vm.biz.common.login.res.ServiceGroupRes; +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.system.service.SystemServiceGroupService; +import com.icomsys.main_vm.biz.common.system.vo.*; +import com.icomsys.main_vm.biz.test.controller.testvo.APINodeVo; +import com.icomsys.main_vm.common.code.EnumToMap; +import com.icomsys.main_vm.common.code.MenuVo; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.common.code.enumresource.PolicyResource; +import com.icomsys.main_vm.common.code.enumresource.RoleResource; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbProjectSetting; +import com.icomsys.main_vm.db.jpa.entity.monitoring.*; +import com.icomsys.main_vm.db.jpa.repo.monitoring.*; +import com.icomsys.main_vm.db.jpa.repo.system.*; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringScenarioBreakVO; +import com.icomsys.main_vm.db.mybatis.mapper.TestMapper; +import com.querydsl.core.QueryResults; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.formula.functions.T; +import org.apache.poi.ss.usermodel.*; +import org.json.JSONObject; +import org.modelmapper.ModelMapper; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.util.UriComponentsBuilder; + +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.lang.reflect.Field; +import java.lang.reflect.Type; +import java.net.URI; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +@Service +@Slf4j +@RequiredArgsConstructor +public class TestRestService { + + private final TbBotCommonCodeRepo tbBotCommonCodeRepo; + private final TbBotUserRepo tbBotUserRepo; + private final TbCustPolicyRepo tbCustPolicyRepo; + private final TbIcsCustInfoRepo tbIcsCustInfoRepo; + private final TbIcsOprMngInfoRepo tbIcsOprMngInfoRepo; + private final TbServiceAuthGroupRepo tbServiceAuthGroupRepo; + private final TbServiceGrouopRepo tbServiceGrouopRepo; + private final TbServiceGroupPolicyRepo tbServiceGroupPolicyRepo; + private final TbUserAuthGroupRepo tbUserAuthGroupRepo; + private final TbUserCustRepo tbUserCustRepo; + private final SequenceService sequenceService; + private final PasswordEncoder passwordEncoder; + private final SystemServiceGroupService systemServiceGroupService; + private final HttpServletResponse httpServletResponse; + private final ModelMapper modelMapper; + + public List initData() { + List authList = Arrays.asList( + "rootRead", + "rcpconversationintentRead", + "rcpconversationintentmanageRead", + "rcpconversationscenariomanageRead", + "rcpconversationsynonymmanageRead", + "rcpconversationdictionarymanageRead", + "rcpconversationsystemEntitymanageRead", + "rcpconversationapiNodemanageRead", + "rcpconversationcmmNodemanageRead", + "rcpconversationnlpSettingmanageRead", + "rcplearningTestsimulatorRead", + "rcplearningTestsimulatormanageRead", + "rcpstatisticsRead", + "rcpstatisticsuseRead", + "rcpstatisticsuserecordmanageRead", + "rcpstatisticsstatisticsRead", + "rcpstatisticsstatisticsuesmanageRead", + "rcpstatisticsstatisticsresponsemanageRead", + "rcpstatisticsstatisticsintentmanageRead", + "rcpstatisticsstatisticsscenariomanageRead", + "rcpstatisticsmonitoringRead", + "rcpstatisticsmonitoringcallmanageRead", + "rcpstatisticsmonitoringaienginemanageRead", + "rcpstatisticsmonitoringconsultingmanageRead", + "rcpstatisticsmonitoringconversationMarkmanageRead", + "rcpoprmanageRead", + "rcpoprmanagegreetingmanageRead", + "rcpoprmanagebothistorymanageRead", + "rcpoprmanagepreviewmanageRead", + "rcpoprmanagetranscriptmanageRead", + "commonsystemRead", + "commonsystemauthMenumanageRead", + "commonsystemcustmanageRead", + "commonsystemserviceGroupmanageRead", + "commonsystemusermanageRead", + "commonsystemgroupAuthmanageRead", + "commonsystemoprmmgcodemanageRead", + "rcpconversationintentmanageFull", + "rcpconversationscenariomanageFull", + "rcpconversationscenariomanageRelease", + "rcpconversationsynonymmanageFull", + "rcpconversationdictionarymanageFull", + "rcpconversationsystemEntitymanageFull", + "rcpconversationapiNodemanageFull", + "rcpconversationcmmNodemanageFull", + "rcpconversationnlpSettingmanageFull", + "rcplearningTestsimulatormanageFull", + "rcpstatisticsuserecordmanageFull", + "rcpstatisticsstatisticsuesmanageFull", + "rcpstatisticsstatisticsresponsemanageFull", + "rcpstatisticsstatisticsintentmanageFull", + "rcpstatisticsstatisticsscenariomanageFull", + "rcpstatisticsmonitoringcallmanageFull", + "rcpstatisticsmonitoringaienginemanageFull", + "rcpstatisticsmonitoringconsultingmanageFull", + "rcpstatisticsmonitoringconversationMarkmanageFull", + "rcpoprmanagegreetingmanageFull", + "rcpoprmanagebothistorymanageFull", + "rcpoprmanagepreviewmanageFull", + "rcpoprmanagetranscriptmanageFull", + "commonsystemauthMenumanageFull", + "commonsystemcustmanageFull", + "commonsystemserviceGroupmanageFull", + "commonsystemusermanageFull", + "commonsystemgroupAuthmanageFull", + "commonsystemoprmmgcodemanageFull", + "privacymasking" + ); + return authList; + } + + public List authToMenu(List authList) { + return authList.stream().map(e -> PolicyResource.valueOf(e).getMenu()) + .collect(Collectors.toList()); + } + + private static final String space = " "; + + public List authToAuthList(List authList, int roleValSeq) { + return authList.stream().map(e -> { +// log.info(e); + if (PolicyResource.valueOf(e).getMenu() != MenuResource.root && PolicyResource.valueOf(e).getRoleValSeq() < roleValSeq) { +// log.info(PolicyResource.valueOf(e).getMenu().getMenuName()); + return MenuVo.builder() + .seq(PolicyResource.valueOf(e).getMenu().getMenuSeq()) + .seqUpper(PolicyResource.valueOf(e).getMenu().getMenuSeqUpper()) + .menuName(EnumToMap.spaceMap.get(PolicyResource.valueOf(e).getMenu().getLevel()) + PolicyResource.valueOf(e).getPolicyName()) + .authName(PolicyResource.valueOf(e).getName()) + .level(PolicyResource.valueOf(e).getMenu().getLevel()) + .url(PolicyResource.valueOf(e).getMenu().getMenuUrl()) + .build(); + } else { + log.info(PolicyResource.valueOf(e).getPolicyName()); + return MenuVo.builder().seq(PolicyResource.rootRead.getMenu().getMenuSeq()) + .seqUpper(PolicyResource.rootRead.getMenu().getMenuSeqUpper()) + .menuName(PolicyResource.valueOf(e).getPolicyName()) + .authName(e) + .level(PolicyResource.rootRead.getMenu().getLevel()) + .url(PolicyResource.rootRead.getMenu().getMenuUrl()) + .build(); + } + } + ) + .sorted(Comparator.comparing(MenuVo::getSeq)) + .distinct() + .collect(Collectors.toList()) + ; + } + + + public List authToMenuList(List authList, int roleValSeq) { + return authList.stream().map(e -> { + log.info(e); + if (PolicyResource.valueOf(e).getMenu() != MenuResource.root && PolicyResource.valueOf(e).getRoleValSeq() < roleValSeq) { + log.info(PolicyResource.valueOf(e).getMenu().getMenuName()); + return MenuVo.builder() + .seq(PolicyResource.valueOf(e).getMenu().getMenuSeq()) + .seqUpper(PolicyResource.valueOf(e).getMenu().getMenuSeqUpper()) + .menuName(EnumToMap.spaceMap.get(PolicyResource.valueOf(e).getMenu().getLevel()) + PolicyResource.valueOf(e).getMenu().getMenuName()) + .authName("") + .level(PolicyResource.valueOf(e).getMenu().getLevel()) + .url(PolicyResource.valueOf(e).getMenu().getMenuUrl()) + .build(); + } + return MenuVo.builder().seq(PolicyResource.rootRead.getMenu().getMenuSeq()) + .seqUpper(PolicyResource.rootRead.getMenu().getMenuSeqUpper()) + .menuName(EnumToMap.spaceMap.get(PolicyResource.rootRead.getMenu().getLevel()) + PolicyResource.rootRead.getMenu().getMenuName()) + .authName("") + .level(PolicyResource.rootRead.getMenu().getLevel()) + .url(PolicyResource.rootRead.getMenu().getMenuUrl()) + .build(); + } + ) + .sorted(Comparator.comparing(MenuVo::getSeq)) + .distinct() + .collect(Collectors.toList()) + ; + } + + public List test10() { + return tbUserAuthGroupRepo.userPolicyListSelect(4L, "ourStore"); + } + + public List getServiceGroup() { + List result = tbServiceGrouopRepo.findByServiceGroupInAndServiceGroupUpper(tbUserCustRepo.findByUserSeq(4L) + .stream().map(e -> e.getServiceGroup()).collect(Collectors.toList()), "ourStore") + .stream().map(f -> new ServiceGroupRes().toServiceGrouopRes(f)).collect(Collectors.toList()); + log.info("getServiceGroup - {}", new Gson().toJson(result)); + return result; + } + + public QueryResults pagingtest() { + return tbIcsCustInfoRepo.SelectCustInfo(SystemIcsCustInfoReq.builder().page(0).size(10).build()); + } + + public List test16() { + List result = tbServiceGrouopRepo.getMainOprmngCode(UserVo.builder() + .userSeq(4L) + .roleVal(RoleResource.USERADMIN.getName()) + .build()); + log.info("result - {}", new Gson().toJson(result)); + return result; + } + + public DslDataTableRes test17() { + SystemPolicyMenuReq dto = new SystemPolicyMenuReq(); + dto.setPage(0); + dto.setSize(10); + dto.setUserVo(UserVo.builder().userSeq(4L).lastUseServiceGroup("ourStore").roleVal(RoleResource.USERADMIN.getName()).build()); + QueryResults result = tbCustPolicyRepo.PolicyMenuListQueryResult(dto); + + DslDataTableRes dslRes = new DslDataTableRes(result, result.getResults().stream().map(e -> + SystemPolicyMenuRes.builder() + .custCode(e.getCustCode()) + .custName(e.getCustName()) + .serviceGroup(e.getServiceGroup()) + .serviceGroupName(e.getServiceGroupName()) + .policyVal(e.getPolicyVal()) + .policyName(PolicyResource.valueOf(e.getPolicyVal()).getPolicyName()) + .menuName(PolicyResource.valueOf(e.getPolicyVal()).getMenu().getMenuName()) + .build() + ).collect(Collectors.toList())); + return dslRes; + } + + public List test18(int page, int size, String codeText1, String codeText2, String codeText3, String service) { + SystemPolicyMenuReq dto = new SystemPolicyMenuReq(); + dto.setSize(size); + dto.setPage(page); + dto.setCodeText1(codeText1); + dto.setCodeText2(codeText2); + dto.setCodeText3(codeText3); + dto.setServiceGroup(service); + dto.setUserVo(UserVo.builder().userSeq(4L).lastUseServiceGroup("ourStore").roleVal(RoleResource.USERADMIN.getName()).build()); + log.info("dto - {}", new Gson().toJson(dto)); + List result = tbCustPolicyRepo.PolicyMenuListQueryList(dto) + .stream().map(e -> + SystemPolicyMenuRes.builder() + .custCode(e.getCustCode()) + .custName(e.getCustName()) + .serviceGroup(e.getServiceGroup()) + .serviceGroupName(e.getServiceGroupName()) + .policyVal(e.getPolicyVal()) + .policyName(PolicyResource.valueOf(e.getPolicyVal()).getPolicyName()) + .menuName(PolicyResource.valueOf(e.getPolicyVal()).getMenu().getMenuName()) + .menuSeq(PolicyResource.valueOf(e.getPolicyVal()).getMenu().getMenuSeq()) + .build() + ) + .filter(h -> { + if (dto.getServiceGroup() != null && !dto.getServiceGroup().equals("")) { + if (h.getServiceGroup().equals(dto.getServiceGroup())) { + return true; + } else { + return false; + } + } + return true; + }) + .filter(f -> { + if (dto.getCodeText1() != null && !dto.getCodeText1().equals("") + ) { + if (f.getPolicyVal().toUpperCase().contains(dto.getCodeText1().trim().toUpperCase())) { + return true; + } else { + return false; + } + } + if (dto.getCodeText2() != null && !dto.getCodeText2().equals("") + ) { + if (f.getPolicyName().toUpperCase().contains(dto.getCodeText2().trim().toUpperCase())) { + return true; + } else { + return false; + } + } + if (dto.getCodeText3() != null && !dto.getCodeText3().equals("") + ) { + if (f.getMenuName().toUpperCase().contains(dto.getCodeText3().trim().toUpperCase())) { + return true; + } else { + return false; + } + } + + return true; + }) + .sorted(Comparator.comparing(SystemPolicyMenuRes::getMenuSeq)) + .skip(dto.getSize() * dto.getPage()).limit(dto.getSize()) + .collect(Collectors.toList()); + + log.info("result size - {}", Long.parseLong(String.valueOf(result.size()))); + log.info("getSize - {}", Long.parseLong(String.valueOf(dto.getSize()))); + log.info("getoffset - {}", Long.parseLong(String.valueOf(dto.getSize() * dto.getPage()))); + log.info("dslresult - {}", new Gson().toJson(new DslDataTableRes(result.stream().map(e -> + SystemPolicyMenuRes.builder() + .custCode(e.getCustCode()) + .custName(e.getCustName()) + .serviceGroup(e.getServiceGroup()) + .serviceGroupName(e.getServiceGroupName()) + .policyVal(e.getPolicyVal()) + .policyName(PolicyResource.valueOf(e.getPolicyVal()).getPolicyName()) + .menuName(PolicyResource.valueOf(e.getPolicyVal()).getMenu().getMenuName()) + .menuSeq(PolicyResource.valueOf(e.getPolicyVal()).getMenu().getMenuSeq()) + .build() + ) + .filter(h -> { + if (dto.getServiceGroup() != null && !dto.getServiceGroup().equals("") && !dto.getServiceGroup().equals("ALL")) { + if (h.getServiceGroup().equals(dto.getServiceGroup())) { + return true; + } else { + return false; + } + } + return true; + }) + .filter(f -> { + if (dto.getCodeText1() != null && !dto.getCodeText1().equals("") + ) { + if (f.getPolicyVal().toUpperCase().contains(dto.getCodeText1().trim().toUpperCase())) { + return true; + } else { + return false; + } + } + if (dto.getCodeText2() != null && !dto.getCodeText2().equals("") + ) { + if (f.getPolicyName().toUpperCase().contains(dto.getCodeText2().trim().toUpperCase())) { + return true; + } else { + return false; + } + } + if (dto.getCodeText3() != null && !dto.getCodeText3().equals("") + ) { + if (f.getMenuName().toUpperCase().contains(dto.getCodeText3().trim().toUpperCase())) { + return true; + } else { + return false; + } + } + return true; + }) + .sorted(Comparator.comparing(SystemPolicyMenuRes::getMenuSeq)) + .skip(dto.getSize() * dto.getPage()).limit(dto.getSize()) + .collect(Collectors.toList()) + , Long.parseLong(String.valueOf(result.size())) + , Long.parseLong(String.valueOf(dto.getSize())) + , Long.parseLong(String.valueOf(dto.getSize() * dto.getPage()))))); + return result; + } + + public Map jstreeParentConvertToPolicy() { + Map pMaps = new HashMap<>(); + log.info("jstreeParentConvertToPolicy"); + PolicyResource.ALL.stream().forEach(e -> { + +// 정책이 메뉴를 가지고있음. +// 메뉴 어퍼가있음 +// 메뉴어퍼에 해당하는 메뉴를 찾음 +// 그메뉴를 가지고있는 오쓰를찾음 + Long seqq = e.getMenu().getMenuSeqUpper(); + log.info(e.getName()); + if (seqq == 0L || seqq == 1L) { + log.info("#"); + pMaps.put(e.getName(), "#"); + } else { + log.info("seq - {}", seqq); + pMaps.put(e.getName(), EnumToMap.MenuSeqToPolicyMap.get(seqq)); + } + }); + log.info("돌아아라라 - {}", new Gson().toJson(EnumToMap.MenuSeqToPolicyMap)); + log.info("돌아아라라 - {}", new Gson().toJson(EnumToMap.PolicyToParentMap)); + return pMaps; + } + + public List test20() { + + List test20 = tbServiceGrouopRepo.getServiceGroupView("ourStore"); + for (SystemServiceGroupViewVo e : test20) { + log.info("eee -{}", new Gson().toJson(e)); + e.setPolicyVal(tbCustPolicyRepo.findByServiceGroup(e.getServiceGroup()).stream() + .map(f -> f.getPolicyVal()).collect(Collectors.toList())); + } + return test20; + } + + public void test22() { + + if (!tbUserAuthGroupRepo.existsByServiceGroupAndUserSeqAndAuthGroupSeqNot("DAISO", 4L, 12L)) { + log.info("seq4"); + } + ; + + + } + + + public void test25Service() { + tbIcsCustInfoRepo.findAll(); + } + +// public List test21() { +// return tbBotUserRepo.testConCat(); +// } + + + public void ExcelService(String fileName, List data) throws IOException { + List title = new ArrayList<>(); + for (Field e : data.get(0).getClass().getDeclaredFields()) { + title.add(e.getName()); + } + ExcelService(fileName, data, title); + } + + public void ExcelService(String fileName, List data, List title) throws IOException { + Workbook wb = new HSSFWorkbook(); + Sheet sheet = wb.createSheet("new sheet"); + CreationHelper createHelper = wb.getCreationHelper(); + Row row = sheet.createRow(0); + CellStyle cellStyle1 = wb.createCellStyle(); + cellStyle1.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); + applyCellStyle(cellStyle1); + CellStyle cellStyle2 = wb.createCellStyle(); + cellStyle2.setFillForegroundColor(IndexedColors.WHITE.getIndex()); + applyCellStyle(cellStyle2); + AtomicInteger ai = new AtomicInteger(); + List keySet = new ArrayList<>(); + for (String e : title) { + Cell c = row.createCell(ai.getAndIncrement()); + c.setCellValue(e); + c.setCellStyle(cellStyle1); + } + sheet.autoSizeColumn(0); + for (Field e : data.get(0).getClass().getDeclaredFields()) { + keySet.add(e.getName()); + } + row.setHeight((short) 400); + AtomicInteger ai1 = new AtomicInteger(); + for (Object e : data) { + Row row1 = sheet.createRow(ai1.incrementAndGet()); + AtomicInteger ai2 = new AtomicInteger(); + JSONObject obj = new JSONObject(e); + for (String f : keySet) { + int rowNum = ai2.getAndIncrement(); + if (obj.names().toList().contains(f)) { + Cell c = row1.createCell(rowNum); + c.setCellValue(createHelper.createRichTextString(obj.get(f).toString())); + c.setCellStyle(cellStyle2); + } else { + Cell c = row1.createCell(rowNum); + c.setCellValue(createHelper.createRichTextString("")); + c.setCellStyle(cellStyle2); + } + sheet.autoSizeColumn(rowNum); + row1.setHeight((short) 400); + } + } + try (OutputStream fileOut = new FileOutputStream("base.xls")) { + wb.write(fileOut); + httpServletResponse.setContentType("application/vnd.ms-excel; charset=EUC-KR"); + httpServletResponse.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls; charset=EUC-KR"); + wb.write(httpServletResponse.getOutputStream()); + } + } + + private void applyCellStyle(CellStyle cellStyle) { + cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); + cellStyle.setAlignment(HorizontalAlignment.CENTER); + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + cellStyle.setBorderLeft(BorderStyle.THIN); + cellStyle.setBorderTop(BorderStyle.THIN); + cellStyle.setBorderRight(BorderStyle.THIN); + cellStyle.setBorderBottom(BorderStyle.THIN); + } + + + public ResponseEntity exceldataTest() throws IOException, IllegalAccessException { + +// ExcelService(tbBotCommonCodeRepo.findAll() +// .stream().map(e -> SystemCommoncodeRes.builder() +// .oprMngCode(e.getOprMngCode()) +// .codeType(e.getCodeType()) +// .minorCode(e.getMinorCode()) +// .majorCode(e.getMajorCode()) +// .description(e.getDescription()) +// .attribute1(e.getAttribute1()) +// .attribute2(e.getAttribute2()) +// .attribute3(e.getAttribute3()) +// .build()).collect(Collectors.toList())); + + List asd = new ArrayList<>(); + for (int i = 0; i < 15; i++) { + asd.add(i + "번"); + } + asd.add("시나리오그룹"); + asd.add("공통코드생성일"); + ExcelService("다운로드테스트", tbIcsCustInfoRepo.findAll()); + return ResponseEntity.ok().build(); + } + + public void test27(MultipartFile dto) throws IOException { + Workbook wb = new HSSFWorkbook(dto.getInputStream()); + Sheet a = wb.getSheetAt(0); + + for (int i = 0; i < a.getLastRowNum() + 1; i++) { + log.info("data - {}", a.getLastRowNum()); + int celSize = a.getRow(i).getLastCellNum(); + for (int j = 0; j < celSize; j++) { + log.info("data cel - {}", a.getRow(i).getCell(j)); + } + } + + + log.info(a.getSheetName()); + } + + + private final TestMapper testMapper; + + public List test28() { + List result = testMapper.MonitoringScenarioBreak("2023-02-06", "2023-02-07"); + List convert = new ArrayList<>(); + Map scenarioSeqMap = new HashMap<>(); + int totCnt = result.size(); + int faCnt = 0; + int suCnt = 0; + + for (MonitoringScenarioBreakVO e : result) { + if (scenarioSeqMap.containsKey(e.getScenarioSeq())) { + int cnt = scenarioSeqMap.get(e.getScenarioSeq()); + log.info("cnt - {}", cnt); + scenarioSeqMap.put(e.getScenarioSeq(), cnt += 1); + } else { + scenarioSeqMap.put(e.getScenarioSeq(), 1); + } + log.info(e.getScenarioResultCode()); + if (e.getScenarioResultCode().equals("S")) { + suCnt += 1; + } + if (e.getScenarioResultCode().equals("F")) { + faCnt += 1; + } + } + + for (MonitoringScenarioBreakVO e : result) { + convert.add(FailNodeVO.builder() + .oprMngCode(e.getOprMngCode()) + .scenarioSeq(e.getScenarioSeq()) + .scenarioName(e.getScenarioName()) + .totCnt(totCnt) + .useCnt(scenarioSeqMap.get(e.getScenarioSeq())) + .succCnt(suCnt) + .failCnt(faCnt) + .build()); + } + + return convert; + } + + + private final RestTemplateService restTemplateService; + + public Map test31(String dbData) throws CustomBadRequestException, NoSuchMethodException { + + String sss = ""; + log.info("dbdata - -{}", dbData); + Map somethingMap = new HashMap<>(); + + somethingMap.put("#{userMessage}", "예약 예약 예약"); + somethingMap.put("#{origintest1}", "test1"); + somethingMap.put("#{origintest2}", "test2"); + somethingMap.put("#{origintest3}", "test3"); + + return restTemplateService.APINode(somethingMap, somethingMap, dbData); + + } + + + public void test33(String s) throws CustomBadRequestException, NoSuchMethodException { + Map somethingMap = new HashMap<>(); + + somethingMap.put("#{userMessage}", "예약 예약 예약"); + somethingMap.put("#{origintest1}", "test1"); + somethingMap.put("#{origintest2}", "test2"); + somethingMap.put("#{origintest3}", "test3"); + + restTemplateService.APINode(somethingMap, somethingMap, s); + } + + + @Value("${feign.url.nlp}") + private String wisepath; + + public Long test34() throws CustomNotFoundException { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + ResponseEntity callRes = restTemplateService + .PostCall(UriComponentsBuilder.newInstance().uri(URI.create(wisepath + "/proj/insert")).build() + , headers + , new Gson().toJson(WisenutInsertReqVo.builder() + .oprMngCode("UPLUS_RCO_OURSTOREAI") + .serviceGroupDesc("UPLUS 우리가게 AI 최상위 서비스") + .build()) + ); + if (!callRes.getStatusCode().equals(HttpStatus.OK)) { + throw new CustomNotFoundException("NLP 서버 연결에 실패하였습니다."); + } + log.info("nlp result = {}", callRes.getBody()); + WisenutInsertResVo callVo = new Gson().fromJson(callRes.getBody().toString(), WisenutInsertResVo.class); + return callVo.getProjectId(); + } + + public List test35() throws CustomNotFoundException { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + List projectSettins = new ArrayList<>(); + + List setdata = new ArrayList<>(); + for (int i = 0; i < 2; i++) { + setdata.add(WisenutInsertReqVo.builder() + .oprMngCode("OUR" + i) + .serviceGroupDesc("desc" + i) + .build()); + } + + for (WisenutInsertReqVo e : setdata) { + ResponseEntity callRes = restTemplateService + .PostCall(UriComponentsBuilder.newInstance().uri(URI.create(wisepath + "/proj/insert")) + .build(), headers, new Gson().toJson(e)); + + if (callRes.getStatusCode().equals(HttpStatus.OK)) { + WisenutInsertResVo callVo = new Gson().fromJson(callRes.getBody().toString(), WisenutInsertResVo.class); + projectSettins.add(TbProjectSetting.builder() + .ifMappingId(callVo.getProjectId()) + .oprMngCode(e.getName()) + .similarityCriteria(e.getSimThreshold()) + .classCriteria(e.getConfidentThreshold()) + .classResultCriteria(e.getConfidentThresholdGap()) + .build()); + + } else { + throw new CustomNotFoundException("Wisenut 연결에 실패하였습니다."); + } + } + + log.info("projectSettins - {}", new Gson().toJson(projectSettins)); + return projectSettins; + } + + private final TbCallInfoRepo tbCallInfoRepo; + private final TbCallUserLogRepo tbCallUserLogRepo; + private final TbScenarioBreakNodeRepo tbScenarioBreakNodeRepo; + private final TbCallBotLogRepo tbCallBotLogRepo; + private final TbCallBotRecRepo tbCallBotRecRepo; + private final TbCallUserRecRepo tbCallUserRecRepo; + + public Long test36() { + //5184000건 + //6개월 + Long sTime = System.currentTimeMillis(); + for (int i = 0; i < 180; i++) { + //24시간 + for (int k = 0; k < 24; k++) { + //60분 + List callInfo = new ArrayList<>(); + List botLog = new ArrayList<>(); + List botRec = new ArrayList<>(); + List userLog = new ArrayList<>(); + List userRec = new ArrayList<>(); + List breakNodes = new ArrayList<>(); + + for (int l = 0; l < 60; l++) { + //1시간에20건 + for (int n = 0; n < 20; n++) { +// String token = UUID.randomUUID().toString().substring(0, 43); + String token = UUID.randomUUID().toString() + l; + LocalDateTime insertTime = LocalDateTime.of(2023, 4, 21, 23, 59) + .minusDays(i) + .minusHours(k) + .minusMinutes(l + 5); + callInfo.add(TbCallInfo.builder() + .token(token) + .oprMngCode("UPLUS_RCP_AISTORE") + .inChannelType("VOICE") + .callId(token) + .telNo("01012341234") + .dnisNo("07012341234") + .callInitDate(insertTime.minusSeconds(n)) + .callEndDate(insertTime.plusSeconds(300)) + .callTime(10) + .callEndType("END") + .callEndConversion("END") + .callEndReason("SCENARIO") + .build()); + int beaknode = n; + //봇로그 복녹음 유저로그 유저녹음 5개배수 + //봇로그 복녹음 유저로그 유저녹음 5개배수 + for (int m = 0; m < 5; m++) { + botLog.add(TbCallBotLog.builder() + .token(token) + .talkSeq(m + 1) + .mentSpeechNo(1) + .botText("text" + m) + .itemName("") + .rcpInfo("RCPINFO") + .registDate(insertTime.minusSeconds(n)) + .build()); + botRec.add(TbCallBotRec.builder() + .token(token) + .talkSeq(m + 1) + .recFilePath(token + m) + .registDate(insertTime.minusSeconds(n)) + .build()); + userLog.add(TbCallUserLog.builder() + .token(token) + .talkSeq(m + 1) + .oprMngCode("UPLUS_RCP_AISTORE") + .userText("userText" + m + 1) + .intentId((long) m) + .intentName("") + .score("") + .intentResultCode("INTENT_SUCCESS") + .ifMappingId((long) m) + .ifReturnCode("000") + .ifReturnMsg("INTENT_SUCCESS") + .registDate(insertTime.minusSeconds(n)) + .scenarioSeq((long) m) + .scenarioName("senarioname" + m) + .build()); + userRec.add(TbCallUserRec.builder() + .token(token) + .talkSeq(m + 1) + .itemCode("") + .recFilePath(token + m) + .registDate(insertTime.minusSeconds(n)) + .build()); + //브레이크노드 저장 + //브레이크노드 20프로 이탈 + if (beaknode % 5 == 0) { + breakNodes.add(TbScenarioBreakNode.builder() + .token(token) + .talkSeq(m) + .oprMngCode("UPLUS_RCP_AISTORE") + .scenatioSeq((long) (l + 1)) + .releaseSeq((long) m + 1) + .scenarioName("names") + .scenarioResultCode("S") + .nodeCode("nc" + m + 1) + .nodeName("nodeName" + m + 1) + .nodeType("type") + .registDate(insertTime.minusSeconds(n)) + .build()); + } + } + } + } + tbCallInfoRepo.saveAllAndFlush(callInfo); + tbCallBotLogRepo.saveAllAndFlush(botLog); + tbCallBotRecRepo.saveAllAndFlush(botRec); + tbCallUserLogRepo.saveAllAndFlush(userLog); + tbCallUserRecRepo.saveAllAndFlush(userRec); + tbScenarioBreakNodeRepo.saveAllAndFlush(breakNodes); +// log.info("chk callInfo - {}", new Gson().toJson(callInfo)); +// log.info("chk botLog - {}", new Gson().toJson(botLog)); +// log.info("chk userLog - {}", new Gson().toJson(userLog)); +// log.info("chk break - {}", new Gson().toJson(breakNodes)); + } + } + Long eTime = System.currentTimeMillis(); + return eTime - sTime; + } + + public String test37(){ + return "a"; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/TestVoUser.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/TestVoUser.java new file mode 100644 index 0000000..274ae65 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/TestVoUser.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.biz.test.controller; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.validation.constraints.NotBlank; + +@Getter +@Setter +@NoArgsConstructor +public class TestVoUser { + + private String serviceGroup; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/testvo/APINodeVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/testvo/APINodeVo.java new file mode 100644 index 0000000..3634592 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/testvo/APINodeVo.java @@ -0,0 +1,23 @@ +package com.icomsys.main_vm.biz.test.controller.testvo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class APINodeVo { + + private String apiNodeName; + private String urlType; + private String URL; + private List header; + private List param; + private List request; + private List response; + private String body; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/testvo/KeyValueVo.java b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/testvo/KeyValueVo.java new file mode 100644 index 0000000..9e0f157 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/biz/test/controller/testvo/KeyValueVo.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.biz.test.controller.testvo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class KeyValueVo { + + private String key; + private String value; + private String desc; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/EnumToMap.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/EnumToMap.java new file mode 100644 index 0000000..de6b914 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/EnumToMap.java @@ -0,0 +1,92 @@ +package com.icomsys.main_vm.common.code; + +import com.google.gson.Gson; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.common.code.enumresource.PolicyResource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.util.*; + +@Component +@Slf4j +public class EnumToMap { + + public static final Map> urlToMap = new HashMap<>(); + public static final Map MenuSeqToMenuMap = new HashMap<>(); + public static final Map MenuSeqUpperToMenuMap = new HashMap<>(); + public static final Map MenuSeqToPolicyMap = new HashMap<>(); + public static final Map PolicyToMenuMap = new HashMap<>(); + public static final Map PolicyToParentMap = new HashMap<>(); + public static final Map> authToMap = new HashMap<>(); + public static final Map spaceMap = new HashMap<>(); + @Order(0) + @PostConstruct + private void MenuSeqToMenuMap() { + MenuResource.ALL.stream().forEach(e ->{ + MenuSeqToMenuMap.put(e.getMenuSeq(), e); + }); + } + + @Order(1) + @PostConstruct + private void MenuSeqUpperToMenuMap() { + MenuResource.ALL.stream().forEach(e ->{ + MenuSeqUpperToMenuMap.put(e.getMenuSeqUpper(), e); + }); + } + + @Order(2) + @PostConstruct + private void MenuSeqToPolicyMap() { + PolicyResource.ALL.stream().forEach(e ->{ + MenuSeqToPolicyMap.put(e.getMenu().getMenuSeq(), e.getName()); + }); + } + + @Order(3) + @PostConstruct + private void PolicyToMenuMap() { + PolicyResource.ALL.stream().forEach(e ->{ + PolicyToMenuMap.put(e.getName(), e.getMenu().getMenuName()); + }); + } + + @Order(4) + @PostConstruct + private void PolicyToParentMap() { + + Map mstpm = new HashMap<>(); + + PolicyResource.ALL.stream().forEach(e ->{ + mstpm.put(e.getMenu().getMenuSeq(), e.getName()); + }); + + PolicyResource.ALL.stream().forEach(e ->{ + Long seqq = e.getMenu().getMenuSeqUpper(); + log.info(e.getName()); + if(seqq == 0L || seqq == 1L ){ + PolicyToParentMap.put(e.getName(), "#"); + } + else { + PolicyToParentMap.put(e.getName(), mstpm.get(seqq)); + } + }); + } + + + @PostConstruct + private void WhiteSpace() { + spaceMap.put(0, ""); + spaceMap.put(1, " "); + spaceMap.put(2, " "); + spaceMap.put(3, " "); + spaceMap.put(4, " "); + spaceMap.put(5, " "); + } + + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/MenuCategoryVo.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/MenuCategoryVo.java new file mode 100644 index 0000000..eee3a09 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/MenuCategoryVo.java @@ -0,0 +1,21 @@ +package com.icomsys.main_vm.common.code; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class MenuCategoryVo { + + private String typeName; + private String categoryValue; + + @Builder + public MenuCategoryVo(String typeName, String categoryValue) { + this.typeName = typeName; + this.categoryValue = categoryValue; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/MenuVo.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/MenuVo.java new file mode 100644 index 0000000..b17d9fe --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/MenuVo.java @@ -0,0 +1,30 @@ +package com.icomsys.main_vm.common.code; + +import lombok.*; + +@Getter +@Setter +@NoArgsConstructor +public class MenuVo { + + private String menuName; + private Long seq; + private Long seqUpper; + private int level; + private int nextLevel; + private String authName; + private String url; + + + @Builder + public MenuVo(String menuName, Long seq, Long seqUpper, int level, int nextLevel, String authName, String url) { + this.menuName = menuName; + this.seq = seq; + this.seqUpper = seqUpper; + this.level = level; + this.nextLevel = nextLevel; + this.authName = authName; + this.url = url; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/code/LongTextManagerColumnCode.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/code/LongTextManagerColumnCode.java new file mode 100644 index 0000000..69144a0 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/code/LongTextManagerColumnCode.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.common.code.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum LongTextManagerColumnCode { + DIAGRAM("DIAGRAM", 1), + SCENARIO("SCENARIO", 2), + CONTENT("CONTENT", 3), + DUMMY_TEST("CONTENT", 4); + + private String columnName; + private int code; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/code/LongTextManagerTableCode.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/code/LongTextManagerTableCode.java new file mode 100644 index 0000000..0f3d84e --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/code/LongTextManagerTableCode.java @@ -0,0 +1,19 @@ +package com.icomsys.main_vm.common.code.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum LongTextManagerTableCode { + TB_SCENARIO_RELEASE("TB_SCENARIO_RELEASE", 1), + TB_SCENARIO_HISTORY("TB_SCENARIO_HISTORY", 2), + TB_SCENARIO_TEMPLATE("TB_SCENARIO_TEMPLATE", 3), + TB_COMMON_NODE("TB_COMMON_NODE", 4), + TB_API_NODE("TB_API_NODE", 5); + + private String tableName; + private int code; +} + + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/code/ServiceStatusType.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/code/ServiceStatusType.java new file mode 100644 index 0000000..35972b2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/code/ServiceStatusType.java @@ -0,0 +1,24 @@ +package com.icomsys.main_vm.common.code.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @Name ServiceStatusType + * @Description 서비스 상태 유형 (실행 시간 기준 상태정보) + * @Author sungbumoh + * @CreateDate 2020. 8. 6. + */ +@Getter +@AllArgsConstructor +public enum ServiceStatusType { + + CLEAN("CLEAN", 0.5), // OK + WARNING("WARNING", 1.0), // 경고 + BAD("BAD", 2.0), // 나쁨 + CRITICAL("CRITICAL", 5.0); // 이슈 + + private String value; + private double serviceTime; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/code/UseYNCode.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/code/UseYNCode.java new file mode 100644 index 0000000..3ba6a6f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/code/UseYNCode.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm.common.code.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum UseYNCode { + + Y, + N + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/ActionResource.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/ActionResource.java new file mode 100644 index 0000000..1da1416 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/ActionResource.java @@ -0,0 +1,47 @@ +package com.icomsys.main_vm.common.code.enumresource; + +import lombok.Getter; + +import java.util.Arrays; +import java.util.List; + +@Getter +public enum ActionResource { + + insert("등록"), + update("수정"), + delete("삭제"), + upload("업로드"), + download("다운로드"), + release("배포"), + rollback("롤백"), + login("로그인"), + learn("학습"), + reflect("반영"), + listen("듣기"); + private String typeName; + + ActionResource(String typeName) { + this.typeName = typeName; + } + + + public String getName() { + return name(); + } + + public static List ALL = Arrays.asList( + + insert, + update, + delete, + upload, + download, + release, + rollback, + login, + learn, + reflect, + listen + ); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/MenuResource.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/MenuResource.java new file mode 100644 index 0000000..e12fb82 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/MenuResource.java @@ -0,0 +1,156 @@ +package com.icomsys.main_vm.common.code.enumresource; + +import lombok.Getter; + +import java.util.Arrays; +import java.util.List; + +@Getter +public enum MenuResource { + + root("common", 1L, 0L, 1, "대쉬보드", "대쉬보드", "/admin/common/dashboard/manage.do"), +// root("common", 1L, 0L, 1, "대쉬보드", "대쉬보드", "0"), + rcpconversation("rcp", 1800000L, 1L, 2, "대화관리", "대화관리", "0"), + rcpconversationintentmanage("rcp", 1800001L, 1800000L, 3, "인텐트관리", "인텐트관리", "/admin/rcp/conversation/intent/manage.do"), + rcpconversationscenariomanage("rcp", 1800002L, 1800000L, 3, "시나리오관리", "시나리오관리", "/admin/rcp/conversation/scenario/manage.do"), + rcpconversationsynonymmanage("rcp", 1800003L, 1800000L, 3, "동의어관리", "동의어관리", "/admin/rcp/conversation/synonym/manage.do"), + rcpconversationsystemEntitymanage("rcp", 1800004L, 1800000L, 3, "시스템엔티티", "시스템엔티티", "/admin/rcp/conversation/systemEntity/manage.do"), + rcpconversationapiNodemanage("rcp", 1800005L, 1800000L, 3, "API노드관리", "API노드관리", "/admin/rcp/conversation/apiNode/manage.do"), + rcpconversationcmmNodemanage("rcp", 1800006L, 1800000L, 3, "COMMON노드관리", "COMMON노드관리", "/admin/rcp/conversation/cmmNode/manage.do"), + rcplearningTest("rcp", 1900000L, 1L, 2, "학습및테스트", "학습및테스트", "0"), + rcplearningTestsimulatormanage("rcp", 1900001L, 1900000L, 3, "시뮬레이터", "시뮬레이터", "/admin/rcp/learningTest/simulator/manage.do"), + rcplearningTestinferencemanage("rcp", 1900002L, 1900000L, 3, "의도추론 테스트", "의도추론 테스트", "/admin/rcp/learningTest/inference/manage.do"), + rcplearningTeststttestmanage("rcp", 1900003L, 1900000L, 3, "STT 테스트", "STT 테스트", "/admin/rcp/learningTest/stttest/manage.do"), + rcplearningTestttstestmanage("rcp", 1900004L, 1900000L, 3, "TTS 테스트", "TTS 테스트", "/admin/rcp/learningTest/ttstest/manage.do"), + rcpmonitoring("rcp", 2000000L, 1L, 2, "모니터링", "모니터링", "0"), + rcpmonitoringconsultingmanage("rcp", 2000001L, 2000000L, 3, "응대이력", "응대이력", "/admin/rcp/statistics/monitoring/consulting/manage.do"), + rcpmonitoringconversationMarkmanage("rcp", 2000002L, 2000000L, 3, "대화책갈피", "대화책갈피", "/admin/rcp/statistics/monitoring/conversationMark/manage.do"), + rcpmonitoringintentAnalysismanage("rcp", 2000003L, 2000000L, 3, "인텐트분석관리", "인텐트분석관리", "/admin/rcp/statistics/monitoring/intentAnalysis/manage.do"), + rcpmonitoringoutscenariomanage("rcp", 2000004L, 2000000L, 3, "시나리오이탈노드관리", "시나리오이탈노드관리", "/admin/rcp/statistics/monitoring/outscenario/manage.do"), + rcpmonitoringworkhistorymanage("rcp", 2000005L, 2000000L, 3, "작업이력조회", "작업이력조회", "/admin/rcp/statistics/monitoring/workhistory/manage.do"), + rcpmonitoringaienginemanage("rcp", 2000006L, 2000000L, 3, "AI엔진 트래픽모니터링", "AI엔진 트래픽모니터링", "/admin/rcp/statistics/monitoring/aiengine/manage.do"), + + rcpstatistics("rcp", 2100000L, 1L, 2, "통계", "통계", "0"), + rcpstatisticsintent("rcp", 2100100L, 2100000L, 3, "인텐트통계", "인텐트통계", "0"), + rcpstatisticsintentdaymanage("rcp", 2100101L, 2100100L, 4, "날짜별통계", "인텐트날짜별통계", "/admin/rcp/statistics/intent/day/manage.do"), + rcpstatisticsintentitemmanage("rcp", 2100102L, 2100100L, 4, "항목별통계", "인텐트항목별통계", "/admin/rcp/statistics/intent/item/manage.do"), + rcpstatisticsscenario("rcp", 2100200L, 2100000L, 3, "시나리오통계", "시나리오통계", "0"), + rcpstatisticsscenariodaymanage("rcp", 2100201L, 2100200L, 4, "날짜별통계", "시나리오날짜별통계", "/admin/rcp/statistics/scenario/day/manage.do"), + rcpstatisticsscenarioitemmanage("rcp", 2100202L, 2100200L, 4, "항목별통계", "시나리오항목별통계", "/admin/rcp/statistics/scenario/item/manage.do"), + rcpstatisticscall("rcp", 2100300L, 2100000L, 3, "콜통계", "콜통계", "0"), + rcpstatisticscallinfomanage("rcp", 2100301L, 2100300L, 4, "콜통계", "콜통계", "/admin/rcp/statistics/call/info/manage.do"), + rcpstatisticsaienginemanage("rcp", 2100302L, 2100300L, 4, "AI엔진통계", "AI엔진통계", "/admin/rcp/statistics/call/aiengine/manage.do"), + rcpstatisticsdashboardmanage("rcp", 2100400L, 2100000L, 3, "대쉬보드", "대쉬보드", "/admin/common/dashboard/manage.do"), + + rcpoprmanage("rcp", 2200000L, 1L, 2, "운영관리", "운영관리", "0"), + rcpoprmanagenlpSettingmanage("rcp", 2200001L, 2200000L, 3, "NLP설정", "NLP설정", "/admin/rcp/oprmanage/nlpSetting/manage.do"), + rcpoprmanagebgmmanage("rcp", 2200002L, 2200000L, 3, "배경음관리", "배경음관리", "/admin/rcp/oprmanage/bgm/manage.do"), + rcpoprmanagettstagmanage("rcp",2200003L,2200000L,3,"TTS태그관리","TTS태그관리","/admin/rcp/oprmanage/ttstag/manage.do"), + + + commonsystem("common", 9000000L, 1L, 2, "시스템관리", "시스템관리", "0"), + commonsystempolicyMenumanage("common", 9000001L, 9000000L, 3, "정책별 메뉴 조회", "정책별 메뉴 조회", "/admin/common/system/policyMenu/manage.do"), + commonsystemcustmanage("common", 9000002L, 9000000L, 3, "고객사 관리", "고객사 관리", "/admin/common/system/cust/manage.do"), + commonsystemserviceGroupmanage("common", 9000003L, 9000000L, 3, "서비스그룹 관리", "서비스그룹 관리", "/admin/common/system/serviceGroup/manage.do"), + commonsystemgroupAuthmanage("common", 9000004L, 9000000L, 3, "그룹별 권한관리", "그룹별 권한관리", "/admin/common/system/groupAuth/manage.do"), + commonsystemuserAdminmanage("common", 9000005L, 9000000L, 3, "운영자 관리(사용안함)", "운영자 관리", "/admin/common/system/userAdmin/manage.do"), + commonsystemusermanage("common", 9000006L, 9000000L, 3, "사용자 관리", "사용자 관리", "/admin/common/system/user/manage.do"), + commonsystemoprmngcodemanage("common", 9000007L, 9000000L, 3, "공통코드 관리", "공통코드 관리", "/admin/common/system/oprmngcode/manage.do"); + + + private String solVal; + private Long menuSeq; + private Long menuSeqUpper; + private int level; + private String menuName; + private String menuDesc; + private String menuUrl; + + MenuResource(String solVal, Long menuSeq, Long menuSeqUpper, int level, String menuName, String menuDesc, String menuUrl) { + this.solVal = solVal; + this.menuSeq = menuSeq; + this.menuSeqUpper = menuSeqUpper; + this.level = level; + this.menuName = menuName; + this.menuDesc = menuDesc; + this.menuUrl = menuUrl; + } + + public String getName() { + return name(); + } + + public static List ALL = Arrays.asList( + root, + + rcpconversation, + rcpconversationintentmanage, + rcpconversationscenariomanage, + rcpconversationsynonymmanage, + rcpconversationsystemEntitymanage, + rcpconversationapiNodemanage, + rcpconversationcmmNodemanage, + + rcplearningTest, + rcplearningTestsimulatormanage, + rcplearningTestinferencemanage, + rcplearningTeststttestmanage, + rcplearningTestttstestmanage, + + rcpmonitoring, + rcpmonitoringconsultingmanage, + rcpmonitoringconversationMarkmanage, + rcpmonitoringintentAnalysismanage, + rcpmonitoringoutscenariomanage, + rcpmonitoringworkhistorymanage, + rcpmonitoringaienginemanage, + + rcpstatistics, + rcpstatisticsintent, + rcpstatisticsintentdaymanage, + rcpstatisticsintentitemmanage, + rcpstatisticsscenario, + rcpstatisticsscenariodaymanage, + rcpstatisticsscenarioitemmanage, + rcpstatisticscall, + rcpstatisticscallinfomanage, + rcpstatisticsaienginemanage, + + rcpoprmanage, + rcpoprmanagenlpSettingmanage, + rcpoprmanagebgmmanage, + rcpoprmanagettstagmanage, + + commonsystem, + commonsystemcustmanage, + commonsystemserviceGroupmanage, + commonsystemgroupAuthmanage, + commonsystemuserAdminmanage, + commonsystemusermanage, + commonsystemoprmngcodemanage + + + ); + + + public static List LOGLIST = Arrays.asList( + rcpconversationintentmanage, + rcpconversationscenariomanage, + rcpconversationsynonymmanage, + rcpconversationapiNodemanage, + rcpconversationcmmNodemanage, + rcplearningTestsimulatormanage, + rcplearningTestinferencemanage, + rcpmonitoringconsultingmanage, + rcpmonitoringconversationMarkmanage, + rcpmonitoringintentAnalysismanage, + rcpmonitoringoutscenariomanage, + rcpstatisticsintentdaymanage, + rcpstatisticsintentitemmanage, + rcpstatisticsscenariodaymanage, + rcpstatisticsscenarioitemmanage, + rcpstatisticscallinfomanage + + ); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/PolicyResource.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/PolicyResource.java new file mode 100644 index 0000000..5dbf7f6 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/PolicyResource.java @@ -0,0 +1,193 @@ +package com.icomsys.main_vm.common.code.enumresource; + +import lombok.Getter; + +import java.util.Arrays; +import java.util.List; + +@Getter +public enum PolicyResource { + rootRead(MenuResource.root, "대쉬보드읽기권한", "Y", 1, Arrays.asList()), + rcpconversationRead(MenuResource.rcpconversation, "대화관리읽기권한", "Y", 1, Arrays.asList()), + rcpconversationintentmanageRead(MenuResource.rcpconversationintentmanage, "인텐트관리읽기권한", "Y", 1, Arrays.asList()), + rcpconversationscenariomanageRead(MenuResource.rcpconversationscenariomanage, "시나리오관리읽기권한", "Y", 1, Arrays.asList()), + rcpconversationsynonymmanageRead(MenuResource.rcpconversationsynonymmanage, "동의어관리읽기권한", "Y", 1, Arrays.asList()), + rcpconversationsystemEntitymanageRead(MenuResource.rcpconversationsystemEntitymanage, "시스템엔티티읽기권한", "Y", 1, Arrays.asList()), + rcpconversationapiNodemanageRead(MenuResource.rcpconversationapiNodemanage, "API노드관리읽기권한", "Y", 1, Arrays.asList()), + rcpconversationcmmNodemanageRead(MenuResource.rcpconversationcmmNodemanage, "COMMON노드관리읽기권한", "Y", 1, Arrays.asList()), + + rcplearningTestRead(MenuResource.rcplearningTest, "학습및테스트읽기권한", "Y", 1, Arrays.asList()), + rcplearningTestsimulatormanageRead(MenuResource.rcplearningTestsimulatormanage, "시뮬레이터읽기권한", "Y", 1, Arrays.asList()), + rcplearningTestinferencemanageRead(MenuResource.rcplearningTestinferencemanage, "의도추론 테스트읽기권한", "Y", 1, Arrays.asList()), + rcplearningTeststttestmanageRead(MenuResource.rcplearningTeststttestmanage, "STT 테스트읽기권한", "Y", 1, Arrays.asList()), + rcplearningTestttstestmanageRead(MenuResource.rcplearningTestttstestmanage, "TTS 테스트읽기권한", "Y", 1, Arrays.asList()), + rcpmonitoringRead(MenuResource.rcpmonitoring, "모니터링읽기권한", "Y", 1, Arrays.asList()), + rcpmonitoringconsultingmanageRead(MenuResource.rcpmonitoringconsultingmanage, "상담이력관리읽기권한", "Y", 1, Arrays.asList()), + rcpmonitoringconversationMarkmanageRead(MenuResource.rcpmonitoringconversationMarkmanage, "대화책갈피관리읽기권한", "Y", 1, Arrays.asList()), + rcpmonitoringintentAnalysismanageRead(MenuResource.rcpmonitoringintentAnalysismanage, "인텐트분석관리읽기권한", "Y", 1, Arrays.asList()), + rcpmonitoringoutscenariomanageRead(MenuResource.rcpmonitoringoutscenariomanage, "시나리오이탈노드관리읽기권한", "Y", 1, Arrays.asList()), + rcpmonitoringworkhistorymanageRead(MenuResource.rcpmonitoringworkhistorymanage, "작업이력조회읽기권한", "Y", 1, Arrays.asList()), + rcpmonitoringaienginemanageRead(MenuResource.rcpmonitoringaienginemanage, "AI엔진 트래픽모니터링읽기권한", "Y", 1, Arrays.asList()), + rcpstatisticsRead(MenuResource.rcpstatistics, "통계읽기권한", "Y", 1, Arrays.asList()), + rcpstatisticsintentRead(MenuResource.rcpstatisticsintent, "인텐트통계읽기권한", "Y", 1, Arrays.asList()), + rcpstatisticsintentdaymanageRead(MenuResource.rcpstatisticsintentdaymanage, "날짜별통계읽기권한", "Y", 1, Arrays.asList()), + rcpstatisticsintentitemmanageRead(MenuResource.rcpstatisticsintentitemmanage, "항목별통계읽기권한", "Y", 1, Arrays.asList()), + rcpstatisticsscenarioRead(MenuResource.rcpstatisticsscenario, "시나리오통계읽기권한", "Y", 1, Arrays.asList()), + rcpstatisticsscenariodaymanageRead(MenuResource.rcpstatisticsscenariodaymanage, "날짜별통계읽기권한", "Y", 1, Arrays.asList()), + rcpstatisticsscenarioitemmanageRead(MenuResource.rcpstatisticsscenarioitemmanage, "항목별통계읽기권한", "Y", 1, Arrays.asList()), + rcpstatisticscallRead(MenuResource.rcpstatisticscall, "콜통계읽기권한", "Y", 1, Arrays.asList()), + rcpstatisticscallinfomanageRead(MenuResource.rcpstatisticscallinfomanage, "콜통계읽기권한", "Y", 1, Arrays.asList()), + rcpstatisticsaienginemanageRead(MenuResource.rcpstatisticsaienginemanage, "AI엔진통계읽기권한", "Y", 1, Arrays.asList()), + rcpoprmanageRead(MenuResource.rcpoprmanage, "운영관리읽기권한", "Y", 1, Arrays.asList()), + rcpoprmanagenlpSettingmanageRead(MenuResource.rcpoprmanagenlpSettingmanage, "NLP설정읽기권한", "Y", 1, Arrays.asList()), + rcpoprmanagebgmmanageRead(MenuResource.rcpoprmanagebgmmanage, "배경음관리읽기권한", "Y", 1, Arrays.asList()), + rcpoprmanagettstagmanageRead(MenuResource.rcpoprmanagettstagmanage, "TTS태그관리읽기권한", "Y", 1, Arrays.asList()), + + + commonsystemRead(MenuResource.commonsystem, "시스템관리읽기권한", "Y", 10000, Arrays.asList()), + + // commonsystempolicyMenumanageRead(MenuResource.commonsystempolicyMenumanage, "정책별 메뉴 조회읽기권한", "Y", 1000000, Arrays.asList()), + commonsystemcustmanageRead(MenuResource.commonsystemcustmanage, "고객사 관리읽기권한", "Y", 1000000, Arrays.asList()), + commonsystemserviceGroupmanageRead(MenuResource.commonsystemserviceGroupmanage, "서비스그룹 관리읽기권한", "Y", 1000000, Arrays.asList()), + commonsystemgroupAuthmanageRead(MenuResource.commonsystemgroupAuthmanage, "그룹별 권한관리읽기권한", "Y", 10000, Arrays.asList()), + commonsystemuserAdminmanageRead(MenuResource.commonsystemuserAdminmanage, "운영자 관리읽기권한", "Y", 1000000, Arrays.asList()), + commonsystemusermanageRead(MenuResource.commonsystemusermanage, "사용자 관리읽기권한", "Y", 10000, Arrays.asList()), + commonsystemoprmngcodemanageRead(MenuResource.commonsystemoprmngcodemanage, "공통코드 관리읽기권한", "Y", 10000, Arrays.asList()), + + + rcpconversationintentmanageFull(MenuResource.rcpconversationintentmanage, "인텐트관리전체권한", "Y", 1, Arrays.asList()), + rcpconversationscenariomanageFull(MenuResource.rcpconversationscenariomanage, "시나리오관리전체권한", "Y", 1, Arrays.asList()), + rcpconversationsynonymmanageFull(MenuResource.rcpconversationsynonymmanage, "동의어관리전체권한", "Y", 1, Arrays.asList()), + rcpconversationsystemEntitymanageFull(MenuResource.rcpconversationsystemEntitymanage, "시스템엔티티전체권한", "Y", 1, Arrays.asList()), + rcpconversationapiNodemanageFull(MenuResource.rcpconversationapiNodemanage, "API노드관리전체권한", "Y", 1, Arrays.asList()), + rcpconversationcmmNodemanageFull(MenuResource.rcpconversationcmmNodemanage, "COMMON노드관리전체권한", "Y", 1, Arrays.asList()), + rcplearningTestsimulatormanageFull(MenuResource.rcplearningTestsimulatormanage, "시뮬레이터전체권한", "Y", 1, Arrays.asList()), + rcplearningTestinferencemanageFull(MenuResource.rcplearningTestinferencemanage, "의도추론 테스트전체권한", "Y", 1, Arrays.asList()), + + rcpmonitoringconsultingmanageFull(MenuResource.rcpmonitoringconsultingmanage, "상담이력관리전체권한", "Y", 1, Arrays.asList()), + rcpmonitoringconversationMarkmanageFull(MenuResource.rcpmonitoringconversationMarkmanage, "대화책갈피관리전체권한", "Y", 1, Arrays.asList()), + rcpmonitoringintentAnalysismanageFull(MenuResource.rcpmonitoringintentAnalysismanage, "인텐트분석관리전체권한", "Y", 1, Arrays.asList()), + rcpmonitoringoutscenariomanageFull(MenuResource.rcpmonitoringoutscenariomanage, "시나리오이탈노드관리전체권한", "Y", 1, Arrays.asList()), + rcpstatisticsdashboardmanageFull(MenuResource.rcpstatisticsdashboardmanage, "대쉬보드전체권한", "Y", 1, Arrays.asList()), + + + rcpoprmanagenlpSettingmanageFull(MenuResource.rcpoprmanagenlpSettingmanage, "NLP설정전체권한", "Y", 1, Arrays.asList()), + rcpoprmanagebgmmanageFull(MenuResource.rcpoprmanagebgmmanage, "배경음관리전체권한", "Y", 1, Arrays.asList()), + rcpoprmanagettstagmanageFull(MenuResource.rcpoprmanagettstagmanage, "TTS태그관리전체권한", "Y", 1, Arrays.asList()), + + + commonsystemcustmanageFull(MenuResource.commonsystemcustmanage, "고객사 관리전체권한", "Y", 1000000, Arrays.asList()), + commonsystemserviceGroupmanageFull(MenuResource.commonsystemserviceGroupmanage, "서비스그룹 관리전체권한", "Y", 1000000, Arrays.asList()), + commonsystemgroupAuthmanageFull(MenuResource.commonsystemgroupAuthmanage, "그룹별 권한관리전체권한", "Y", 10000, Arrays.asList()), + commonsystemuserAdminmanageFull(MenuResource.commonsystemuserAdminmanage, "운영자 관리전체권한", "Y", 1000000, Arrays.asList()), + commonsystemusermanageFull(MenuResource.commonsystemusermanage, "사용자 관리전체권한", "Y", 10000, Arrays.asList()), + commonsystemoprmngcodemanageFull(MenuResource.commonsystemoprmngcodemanage, "공통코드 관리전체권한", "Y", 10000, Arrays.asList()), + + + //기타권한 + privacymasking(MenuResource.root, "마스킹해제", "N", 1, Arrays.asList()), + rcpconversationscenariomanageRelease(MenuResource.root, "시나리오관리배포", "N", 1, Arrays.asList()); + + + private MenuResource menu; + private String policyName; + private String createYn; + private int roleValSeq; + private List urlList; + + PolicyResource(MenuResource menu, String policyName, String createYn, int roleValSeq, List urlList) { + this.menu = menu; + this.policyName = policyName; + this.createYn = createYn; + this.roleValSeq = roleValSeq; + this.urlList = urlList; + } + + public String getName() { + return name(); + } + + public static final List ALL = Arrays.asList( + rootRead, + + rcpconversationRead, + rcpconversationintentmanageRead, + rcpconversationscenariomanageRead, + rcpconversationsynonymmanageRead, + rcpconversationsystemEntitymanageRead, + rcpconversationapiNodemanageRead, + rcpconversationcmmNodemanageRead, + + rcplearningTestRead, + rcplearningTestsimulatormanageRead, + rcplearningTestinferencemanageRead, + rcplearningTeststttestmanageRead, + rcplearningTestttstestmanageRead, + + rcpmonitoringRead, + rcpmonitoringconsultingmanageRead, + rcpmonitoringconversationMarkmanageRead, + rcpmonitoringintentAnalysismanageRead, + rcpmonitoringoutscenariomanageRead, + rcpmonitoringworkhistorymanageRead, + rcpmonitoringaienginemanageRead, + + rcpstatisticsRead, + rcpstatisticsintentRead, + rcpstatisticsintentdaymanageRead, + rcpstatisticsintentitemmanageRead, + rcpstatisticsscenarioRead, + rcpstatisticsscenariodaymanageRead, + rcpstatisticsscenarioitemmanageRead, + rcpstatisticscallRead, + rcpstatisticscallinfomanageRead, + rcpstatisticsaienginemanageRead, + + rcpoprmanageRead, + rcpoprmanagenlpSettingmanageRead, + rcpoprmanagebgmmanageRead, + rcpoprmanagettstagmanageRead, + + commonsystemRead, + commonsystemcustmanageRead, + commonsystemserviceGroupmanageRead, + commonsystemgroupAuthmanageRead, + commonsystemuserAdminmanageRead, + commonsystemusermanageRead, + commonsystemoprmngcodemanageRead, + + rcpconversationintentmanageFull, + rcpconversationscenariomanageFull, + rcpconversationsynonymmanageFull, + rcpconversationsystemEntitymanageFull, + rcpconversationapiNodemanageFull, + rcpconversationcmmNodemanageFull, + + rcplearningTestsimulatormanageFull, + rcplearningTestinferencemanageFull, + + rcpmonitoringconsultingmanageFull, + rcpmonitoringconversationMarkmanageFull, + rcpmonitoringintentAnalysismanageFull, + rcpmonitoringoutscenariomanageFull, + rcpstatisticsdashboardmanageFull, + + rcpoprmanagenlpSettingmanageFull, + rcpoprmanagebgmmanageFull, + rcpoprmanagettstagmanageFull, + + commonsystemcustmanageFull, + commonsystemserviceGroupmanageFull, + commonsystemgroupAuthmanageFull, + commonsystemuserAdminmanageFull, + commonsystemusermanageFull, + commonsystemoprmngcodemanageFull, + + //기타권한 + privacymasking, + rcpconversationscenariomanageRelease + + ); + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/RoleResource.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/RoleResource.java new file mode 100644 index 0000000..e559a88 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/RoleResource.java @@ -0,0 +1,32 @@ +package com.icomsys.main_vm.common.code.enumresource; + +import lombok.Getter; + +import java.util.Arrays; +import java.util.List; + +@Getter +public enum RoleResource { + + SYSTEMADMIN(1000001L, "시스템어드민", "아이컴시스 시스템관리자"), + USERADMIN(10001L, "운영자","서비스그룹 관리자"), + USER(11L,"사용자","일반 사용자") + ; + + private Long roleValSeq; + private String roleName; + private String roleDesc; + + RoleResource(Long roleValSeq, String roleName, String roleDesc) { + this.roleValSeq = roleValSeq; + this.roleName = roleName; + this.roleDesc = roleDesc; + } + + public String getName(){ + return name(); + } + + public static final List CreatUserRole = Arrays.asList(USERADMIN, USER); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/ScenarioNodeType.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/ScenarioNodeType.java new file mode 100644 index 0000000..e1ff7e0 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/ScenarioNodeType.java @@ -0,0 +1,34 @@ +package com.icomsys.main_vm.common.code.enumresource; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum ScenarioNodeType { + Intent("INTENT"), + Speak("SPEAK"), + Slot("SLOT"), + Split("SPLIT"), + API("API"), + Common("COMMON"), + Function("FUNCTION"), + Call("CALL"), + IN("IN"), + OUT("OUT"), + HORIZONTALCONTAINER("HORIZONTALCONTAINER"), + VERTICALCONTAINER("VERTICALCONTAINER"), + NotDefine("NOT_DEFINE"); + + private final String name; + + public static ScenarioNodeType findByName(String nodeName) { + for(ScenarioNodeType nodeType : ScenarioNodeType.values()) { + if(nodeType.name.equals(nodeName)) { + return nodeType; + } + } + + return NotDefine; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/SessionResource.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/SessionResource.java new file mode 100644 index 0000000..56f725a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/SessionResource.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm.common.code.enumresource; + +public enum SessionResource { + + LoginVO, + PolicyList, + UserVO; + + public String getName(){ + return name(); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/SolTypeResource.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/SolTypeResource.java new file mode 100644 index 0000000..9971d26 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/SolTypeResource.java @@ -0,0 +1,34 @@ +package com.icomsys.main_vm.common.code.enumresource; + +import lombok.Getter; + +import java.util.Arrays; +import java.util.List; + +@Getter +public enum SolTypeResource { + + MAIN("MAIN", "상위서비스그룹"), + ADD("주소봇","주소봇"), + BOT("스텐다드봇","STANDARDBOT"), + GUD("상담가이드봇","상담가이드봇"), + RCP("무인접수봇","무인접수봇"), + VDO("영상상담봇","영상상담봇") + ; + + private String solName; + private String solDesc; + + SolTypeResource(String solName, String solDesc) { + this.solName = solName; + this.solDesc = solDesc; + } + + public String getName(){ + return name(); + } + + public static final List ALL = Arrays.asList(ADD, BOT, GUD, RCP, VDO); + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/URLResource.java b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/URLResource.java new file mode 100644 index 0000000..e5d78d9 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/code/enumresource/URLResource.java @@ -0,0 +1,29 @@ +package com.icomsys.main_vm.common.code.enumresource; + +import lombok.Getter; + +@Getter +public enum URLResource { + + DEFAULT("", "default","기본"), + BOTADD("","address bot view page","주소봇" ), + test1("/test1","test1","test1"), + test2("/test2","test2","test2"), + test3("/test3","test3","test3"), + ; + + private String url; + private String urlName; + private String urlDesc; + + public String getName(){ + return name(); + } + + URLResource(String url, String urlName, String urlDesc) { + this.url = url; + this.urlName = urlName; + this.urlDesc = urlDesc; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/config/AWSConfig.java b/main_vm/src/main/java/com/icomsys/main_vm/common/config/AWSConfig.java new file mode 100644 index 0000000..c27e087 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/config/AWSConfig.java @@ -0,0 +1,41 @@ +/* +package com.icomsys.main_vm.common.config; + +import com.amazonaws.auth.AWSCredentials; +import com.amazonaws.services.s3.AmazonS3; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import com.amazonaws.auth.AWSStaticCredentialsProvider; +import com.amazonaws.auth.BasicAWSCredentials; +import com.amazonaws.services.s3.AmazonS3Client; +import com.amazonaws.services.s3.AmazonS3ClientBuilder; +import software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.s3.S3Client; + +@Configuration +public class AWSConfig { + + */ +/** + * Key는 중요정보이기 때문에 properties 파일에 저장한 뒤 가져와 사용하는 방법이 좋습니다. + *//* + + @Value("${cloud.aws.credentials.accessKey}") + private String accessKey; + + @Value("${cloud.aws.credentials.secretKey}") + private String secretKey; + private String region = "s3-dev-aisb-soe"; // Bucket Region + + @Bean + public AmazonS3 amazonS3() { + AWSCredentials awsCredentials = new BasicAWSCredentials(accessKey, secretKey); + return AmazonS3ClientBuilder.standard() + .withRegion(region) + .withCredentials(new AWSStaticCredentialsProvider(awsCredentials)) + .build(); + } +} +*/ diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigDatasource.java b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigDatasource.java new file mode 100644 index 0000000..715d93a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigDatasource.java @@ -0,0 +1,203 @@ +package com.icomsys.main_vm.common.config; + +import com.querydsl.sql.MySQLTemplates; +import com.querydsl.sql.OracleTemplates; +import com.querydsl.sql.SQLQueryFactory; +import com.querydsl.sql.SQLTemplates; +import com.querydsl.sql.spring.SpringExceptionTranslator; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.SqlSessionTemplate; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.jdbc.DataSourceBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; +import org.springframework.jdbc.datasource.DriverManagerDataSource; +import org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy; +import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; +import org.springframework.orm.jpa.JpaTransactionManager; +import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; +import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +import javax.annotation.PostConstruct; +import javax.persistence.EntityManagerFactory; +import javax.sql.DataSource; +import java.util.Map; +import java.util.Properties; +import java.util.concurrent.ConcurrentHashMap; + +@Configuration +@MapperScan(basePackages = "com.icomsys.main_vm.db.mybatis.mapper") +@EnableTransactionManagement +@EnableJpaRepositories("com.icomsys.main_vm.db.jpa.repo") +@Slf4j +public class ConfigDatasource { + + + @Value("${spring.datasource.url}") + private String url; + @Value("${spring.datasource.username}") + private String userName; + @Value("${spring.datasource.password}") + private String passVal; + private String tags = "#"; + @Value("${spring.jpa.properties.hibernate.dialect}") + private String dialect; + @Value("${spring.jpa.show_sql}") + private boolean showSql; + @Value("${spring.jpa.format_sql}") + private boolean formatSql; + @Value("${spring.jpa.hibernate.ddl-auto}") + private String hbm2ddlAuto; + @Value("${spring.datasource.driver-class-name}") + private String driverClassName; + private String validationQuery = "SELECT 1"; + + private final Map dataSourceMap = new ConcurrentHashMap<>(); + private AbstractRoutingDataSource multiDataSource; + + @Value("${spring.datasource.owner}") + private String ownerAndSchema; + @Value("${spring.config.activate.on-profile}") + private String profile; + + private DataSource profileDataSource() { + String password = passVal; + return DataSourceBuilder.create() + .driverClassName(driverClassName) + .url(url) + .username(userName) + .password(password) + .build(); + } + + @Bean + public DataSource dataSource() { + multiDataSource = new AbstractRoutingDataSource() { + @Override + protected Object determineCurrentLookupKey() { + return profile; + } + }; + multiDataSource.setDefaultTargetDataSource(defaultDataSource()); + multiDataSource.setTargetDataSources(dataSourceMap); + multiDataSource.afterPropertiesSet(); + return multiDataSource; + } + +// @Bean +// @Primary +// public DataSource lazyDataSource() { +// return new LazyConnectionDataSourceProxy(dataSource()); +// } + + + @PostConstruct + private void setDataSourceMap() { + log.info("passval - {}", passVal); + String password = passVal; + dataSourceMap.put(profile, DataSourceBuilder.create() + .driverClassName(driverClassName) + .url(url) + .username(userName) + .password(password) + .build()); + } + + private DriverManagerDataSource defaultDataSource() { + String password = passVal; + DriverManagerDataSource defaultDataSource = new DriverManagerDataSource(); + defaultDataSource.setDriverClassName(driverClassName); + defaultDataSource.setUrl(url); + defaultDataSource.setUsername(userName); + defaultDataSource.setPassword(password); + return defaultDataSource; + } + + @Bean + public PlatformTransactionManager transactionManager() throws InterruptedException { + JpaTransactionManager transactionManager = new JpaTransactionManager(); + transactionManager.setEntityManagerFactory(this.entityManagerFactory()); + return transactionManager; + } + + @Bean + public Properties hibernateProperties() throws InterruptedException { + // println형태의 콘솔출력을 사용할때 + Properties properties = new Properties(); + properties.put("hibernate.dialect", dialect); + properties.put("hibernate.show_sql", showSql); + properties.put("hibernate.format_sql", formatSql); + properties.put("hibernate.hbm2ddl.auto", hbm2ddlAuto); + properties.put("useSSL", false); + + log.info("default schema - "); + //오라클create ddl용 + if (profile.equals("create")) { + log.info("default schema - setting"); + properties.put("hibernate.default_schema", ownerAndSchema); + } + return properties; + } + + @Bean + public EntityManagerFactory entityManagerFactory() throws InterruptedException { + final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); + em.setDataSource(dataSource()); + em.setPackagesToScan("com.icomsys.main_vm.db.jpa.entity"); + final HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); +// vendorAdapter.setShowSql(true); +// vendorAdapter.setGenerateDdl(true); + em.setJpaVendorAdapter(vendorAdapter); + em.setJpaProperties(hibernateProperties()); + em.afterPropertiesSet(); + return em.getObject(); + } + + @Bean + public com.querydsl.sql.Configuration querydslConfiguration() { +// SQLTemplates templates = PostgreSQLTemplates.builder() + SQLTemplates templates = MySQLTemplates.builder() +// SQLTemplates templates = OracleTemplates.builder() + .printSchema() + .quote() + .newLineToSingleSpace() + .build(); //change to your Templates + com.querydsl.sql.Configuration configuration = new com.querydsl.sql.Configuration(templates); + SpringExceptionTranslator springExceptionTranslator = new SpringExceptionTranslator(); + configuration.setExceptionTranslator(springExceptionTranslator); + return configuration; + } + + @Bean + public SQLQueryFactory SQLQueryFactory() { + SQLQueryFactory sqlQueryFactory = new SQLQueryFactory(querydslConfiguration(), + dataSource() + ); + return sqlQueryFactory; + } + + @Bean + public SqlSessionFactory sqlSession() throws Exception { + PathMatchingResourcePatternResolver pmrpr = new PathMatchingResourcePatternResolver(); + SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); + sqlSessionFactoryBean.setDataSource(dataSource()); + sqlSessionFactoryBean.setMapperLocations(pmrpr.getResources("classpath:/mapper/**/*.xml")); + sqlSessionFactoryBean.setTypeAliasesPackage("com.icomsys.main_vm.db.mybatis.alias"); + return sqlSessionFactoryBean.getObject(); + } + + @Bean + public SqlSessionTemplate sqlSessionTemplate() throws Exception { + SqlSessionTemplate sst = new SqlSessionTemplate(sqlSession()); + return sst; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigFeign.java b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigFeign.java new file mode 100644 index 0000000..38e4c7c --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigFeign.java @@ -0,0 +1,41 @@ +package com.icomsys.main_vm.common.config; + +import feign.Logger; +import feign.RequestInterceptor; +import feign.Retryer; +import feign.codec.ErrorDecoder; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +@Slf4j +public class ConfigFeign { + + @Bean + public Logger.Level FeignLevel() { + return Logger.Level.FULL; + } + + @Bean + public RequestInterceptor requestInterceptor() { + return requestTemplate -> { + requestTemplate.header("Content-Type", "application/json"); + requestTemplate.header("accept", "application/json"); + }; + } + + //커스터마이징 필요 + @Bean + public ErrorDecoder errorDecoder() { + return new CustomErrorDecoder(); + } + + //요청 실패시 재시도를 한다. 1초간격 5번 + @Bean + public Retryer retryer() { + return new Retryer.Default(); + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigLogging.java b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigLogging.java new file mode 100644 index 0000000..b6287d1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigLogging.java @@ -0,0 +1,307 @@ +package com.icomsys.main_vm.common.config; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.common.base.Splitter; +import com.icomsys.main_vm.common.code.code.ServiceStatusType; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.exception.ExceptionUtils; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Component; +import org.springframework.util.StopWatch; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.util.ContentCachingRequestWrapper; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.Date; + +/** + * @Name ServiceAspect + * @Description 서비스 공통 Logging AOP + * @Author sungbumoh + * @CreateDate 2020. 8. 13. + */ +@Aspect +@Component +@Slf4j +@RequiredArgsConstructor +public class ConfigLogging { + private final HttpServletRequest request; + private final HttpServletResponse rsesponse; + public static final String SERVICE_TIMER_TASK_NAME = "SERVICE_TIMER"; + public static final int SERVICE_LOGPRINT_MAXLINES = 10; + public static final int SERVICE_LOGPRINT_MAXLENGTH = 150; + +// @Around("execution(* com.icomsys.main_vm.biz..*Controller.*(..))") + public Object loggingWsTest(ProceedingJoinPoint joinPoint) throws Throwable { + final StopWatch sw = new StopWatch(); + sw.start(); + Object result = joinPoint.proceed(); + + log.info("=========== logTest"); + log.info("method - {}", joinPoint.getSignature().getName()); + log.info("getKind - {}", joinPoint.getKind()); + log.info("getTarget - {}", joinPoint.getTarget()); + log.info("toLongString - {}", joinPoint.toLongString()); + log.info("toShortString - {}", joinPoint.toShortString()); + log.info("getSignature - {}", joinPoint.getSignature()); + log.info("getThis - {}", joinPoint.getThis()); + log.info("getStaticPart - {}", joinPoint.getStaticPart()); + log.info("getSourceLocation - {}", joinPoint.getSourceLocation()); + + + sw.stop(); + + log.info("time - {}", sw.getTotalTimeMillis()); + + return result; + } + + + /** + * @param joinPoint + * @return + * @throws Throwable + * @Name processServiceLogging + * @Description 서비스 요청 처리 시 요청 및 처리정보 출력 + * @Author sungbumoh + * @CreateDate 2020. 8. 13. + * @ChangeDescription + */ + @SuppressWarnings("unchecked") + @Around("execution(* com.icomsys.main_vm.biz..*Controller.*(..))") + public Object loggingServiceRequest(ProceedingJoinPoint joinPoint) throws Throwable { + // stop watch 설정 + + StopWatch stopWatch = new StopWatch(); + // 시간체크 시작 지점 + stopWatch.start(SERVICE_TIMER_TASK_NAME); + Date inPointTime = new Date(); + // 서비스 상태 유형 (CLEAN ~ CRITICAL) + ServiceStatusType serviceStatus; + // 응답 상태코드 + HttpStatus responseStatus = null; + // JSON 문자열 처리 OM + ObjectMapper objectMapper = new ObjectMapper(); + // Request Parameter(body) 정보 + Object requestBody = ""; + // Response Parameter(body) 정보 + String responseBody = ""; + String contentType = request.getContentType(); + + int contentLength = request.getContentLength(); + + /* + if (contentType !=null && contentType.startsWith("multipart/form-data")) { + requestBody = "Multipart"; + } + if (contentType !=null && contentType.startsWith("application/json") ) { + ContentCachingRequestWrapper wrappingRequest = (ContentCachingRequestWrapper) ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest(); + requestBody = objectMapper.readTree(wrappingRequest.getContentAsByteArray()); + } + */ + + // Target 엔드포인트 실행 + Object result = joinPoint.proceed(); + + // 결과 타입이 정상적으로 ResponseEntity 일 경우 + if (result instanceof ResponseEntity) { + ResponseEntity responseEntity = (ResponseEntity) result; + // 응답 상태코드 설정 + responseStatus = responseEntity.getStatusCode(); + // 응답 데이터 (to json string) +// if (responseEntity.getBody() != null) +// responseBody = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(responseEntity.getBody()); + } + // 시간체크 종료 지점 + stopWatch.stop(); + Date outPointTime = new Date(); + + // 실행 시간 (inPointTime ~ outPointTime) + double resultTime = stopWatch.getTotalTimeSeconds(); + + // 실행 시간 별 서비스 상태 설정 (시간 수정은 ServiceStatusType enum type 수정) + if (resultTime <= ServiceStatusType.CLEAN.getServiceTime()) { + serviceStatus = ServiceStatusType.CLEAN; + } else if (resultTime <= ServiceStatusType.WARNING.getServiceTime()) { + serviceStatus = ServiceStatusType.WARNING; + } else if (resultTime <= ServiceStatusType.BAD.getServiceTime()) { + serviceStatus = ServiceStatusType.BAD; + } else { + serviceStatus = ServiceStatusType.CRITICAL; + } + // 요청 URL + String servletPath = request.getServletPath(); + // 요청 METHOD (GET/POST/PUT/DELETE) + String headerMethod = request.getMethod().toUpperCase(); + String queryString = request.getQueryString(); + if (servletPath.equals("/adm/main/actionSecurityLogin.do") || servletPath.equals("/adm/main/actionMain.do")) { + queryString = ""; + } + + // 요청 Host + String remoteHost = request.getRemoteHost(); + // 실행 Class, Method 정보 + String excuteClass = joinPoint.getTarget().getClass().getName(); + String excuteMethod = joinPoint.getSignature().getName(); + + // 요청 IP + String remoteIp = this.getIpFromRequest(request); + // Console logging 처리 + log.info(" "); + log.info("+============================================================================================"); + log.info("|------------------------------- ICOMSYS API LOGGING PRINT IN -------------------------------"); + log.info("| "); + log.info("| +-REQUEST INFO-+"); + log.info("| {} {}", headerMethod, servletPath); +// log.info("| query string: {}", queryString); +// log.info("| Body string: {}", requestBody); + log.info("| "); + log.info("| +-REMOTE INFO-+"); + log.info("| remote host: {}", remoteHost); + log.info("| remote addr: {}", remoteIp); + log.info("| "); + log.info("| +-PROCESS INFO-+"); + log.info("| service class name: {}\t", excuteClass); + log.info("| service method name: {}\t", excuteMethod); + log.info("| service in time: {}\t", inPointTime); + log.info("| service out time: {}\t", outPointTime); + log.info("| service excute time: {}\t", resultTime + "s"); + log.info("| service pass status [ {} ]", serviceStatus.getValue()); + if (responseStatus != null) { + log.info("| http status [ {} ]", responseStatus); + } +// log.info("| "); +// log.info("| +-DATA INFO-+"); +// log.info("| request data:"); +// if (!StringUtils.isEmpty(requestBody)) { +// Arrays.asList(requestBody.lines().toArray(String[]::new)).stream().forEach(line -> { +// log.info("| {}", line); +// }); +// } +// log.info("| response data:"); +// if (!StringUtils.isEmpty(responseBody)) { +// Arrays.asList(responseBody.lines().toArray(String[]::new)).stream().forEach(line -> { +// log.info("| {}", line); +// }); +// } + log.info("| "); + log.info("|------------------------------- ICOMSYS API LOGGING PRINT OUT ------------------------------"); + log.info("+============================================================================================"); + log.info(" "); + + return result; + } + + /** + * @param joinPoint + * @param exception + * @Name processExceptionLogging + * @Description 에러 발생 시 에러정보 출력 + * (예외처리 되지않은 Runtime Exception의 경우는 이곳을 타지 않음..) + * @Author sungbumoh + * @CreateDate 2020. 8. 13. + * @ChangeDescription + */ +// @AfterThrowing(pointcut = "execution(* com.icomsys.samsunglife.biz..*Controller.*(..))", throwing = "exception") + public void loggingServiceException(JoinPoint joinPoint, Throwable exception) { +// ContentCachingRequestWrapper request = (ContentCachingRequestWrapper) httpServletRequest; +// ContentCachingResponseWrapper response = (ContentCachingResponseWrapper) httpServletResponse; + + // 요청 Host + String remoteHost = request.getRemoteHost(); + // 요청 IP + String remoteIp = this.getIpFromRequest(request); + + // 요청 URL + String servletPath = request.getServletPath(); + // 요청 METHOD (GET/POST/PUT/DELETE) + String headerMethod = request.getMethod().toUpperCase(); + + // 실행 Class, Method 정보 + String excuteClass = joinPoint.getTarget().getClass().getName(); + String excuteMethod = joinPoint.getSignature().getName(); + + log.error(" "); + log.error("+============================================================================================"); + log.error("|------------------------------- ICOMSYS ERROR LOGGING PRINT IN -----------------------------"); + log.error("| "); + log.error("| +-LOGGING SERVLET-+"); + log.error("| {} {}", headerMethod, servletPath); + log.error("| query string: {}", request.getQueryString()); + log.error("| "); + log.error("| +-REMOTE INFO-+"); + log.error("| remote host: {}", remoteHost); + log.error("| remote addr: {}", remoteIp); + log.error("| "); + log.error("| service class name: {}\t", excuteClass); + log.error("| service method name: {}\t", excuteMethod); + log.error("| "); + log.error("| +-ERROR INFO-+"); + if (exception.getCause() != null) { + // Root Exception 출력 + log.error("| error type: {}", exception.getCause().getClass().getSimpleName()); + // Exception 상세 (최대 라인까지만 출력) + log.error("| error detail: "); + int[] exceptionPrintIndex = {0}; + Arrays.asList(ExceptionUtils.getStackFrames(exception)).stream().anyMatch(printLine -> { + printLine = printLine.trim(); + exceptionPrintIndex[0]++; + if (printLine.length() > SERVICE_LOGPRINT_MAXLENGTH) { + Splitter.fixedLength(SERVICE_LOGPRINT_MAXLENGTH).splitToList(printLine).stream().forEach(fixedPrintLine -> { + log.error("| " + fixedPrintLine); + }); + } else { + log.error("| " + printLine); + } + // 최대 라인까지만 출력 + return exceptionPrintIndex[0] > SERVICE_LOGPRINT_MAXLINES; + }); + } else { + log.error("| unknown exception cause info"); + } + log.error("| "); + log.error("|------------------------------ ICOMSYS ERROR LOGGING PRINT OUT -----------------------------"); + log.error("+============================================================================================"); + log.error(" "); + } + + /** + * @param request + * @return + * @Name getIpFormRequest + * @Description 요청 정보에서 IP 추출 + * @Author sungbumoh + * @CreateDate 2020. 8. 14. + * @ChangeDescription + */ + private String getIpFromRequest(HttpServletRequest request) { + String ip = request.getHeader("X-Forwarded-For"); + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CLIENT_IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + return ip; + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigMessage.java b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigMessage.java new file mode 100644 index 0000000..291737b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigMessage.java @@ -0,0 +1,34 @@ +package com.icomsys.main_vm.common.config; + +import org.springframework.context.MessageSource; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.support.ReloadableResourceBundleMessageSource; +import org.springframework.validation.Validator; +import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import java.util.Locale; + +@Configuration +public class ConfigMessage implements WebMvcConfigurer { + + + @Bean + public MessageSource messageSource(){ + ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); + messageSource.setBasenames("classpath:/message/messages","classpath:/message/validation"); + messageSource.setDefaultEncoding("UTF-8"); + messageSource.setCacheSeconds(10); + messageSource.setDefaultLocale(Locale.getDefault()); + return messageSource; + } + + @Override + public Validator getValidator() { + LocalValidatorFactoryBean lvfb = new LocalValidatorFactoryBean(); + lvfb.setValidationMessageSource(messageSource()); + return lvfb; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigModelMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigModelMapper.java new file mode 100644 index 0000000..acd15aa --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigModelMapper.java @@ -0,0 +1,38 @@ +package com.icomsys.main_vm.common.config; + +import org.modelmapper.ModelMapper; +import org.modelmapper.convention.MatchingStrategies; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class ConfigModelMapper { + + + @Bean + public ModelMapper strictMapper() { + ModelMapper modelMapper = new ModelMapper(); + modelMapper.getConfiguration() + .setMatchingStrategy(MatchingStrategies.STRICT); + return modelMapper; + } + /* + @Bean + public ModelMapper StandardMapper() { + ModelMapper modelMapper = new ModelMapper(); + modelMapper.getConfiguration() + .setMatchingStrategy(MatchingStrategies.STANDARD); + return modelMapper; + } + */ + /* + @Bean + public ModelMapper LooseMapper() { + ModelMapper modelMapper = new ModelMapper(); + modelMapper.getConfiguration() + .setMatchingStrategy(MatchingStrategies.LOOSE); + return modelMapper; + } + */ +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigMvc.java b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigMvc.java new file mode 100644 index 0000000..0201a2c --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigMvc.java @@ -0,0 +1,127 @@ +package com.icomsys.main_vm.common.config; + +import lombok.extern.slf4j.Slf4j; +import org.apache.http.impl.client.HttpClientBuilder; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; +import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; +import org.springframework.web.servlet.i18n.SessionLocaleResolver; +import org.springframework.web.servlet.view.JstlView; +import org.springframework.web.servlet.view.UrlBasedViewResolver; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; +import org.springframework.web.client.RestTemplate; +import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; +import org.apache.http.client.HttpClient; + + + +@Configuration +@Slf4j +public class ConfigMvc extends WebMvcConfigurationSupport { + + @Value("${file.path}") + private String filePath; +// @Value("${Server.servlet.context-path}") +// private String context; + + + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + /* + Path path = Paths.get(filePath).toAbsolutePath().normalize(); + String patsString = path.toString(); + log.info("path = {}",path); + log.info("pathString = {}",patsString); + */ + registry.addResourceHandler("/**","/img/**") + .addResourceLocations("/"); +// .addResourceLocations("file:///"+patsString+"/"); + registry.addResourceHandler("/files/**").addResourceLocations("file:/logs/was/aicb/cinnamon_ui/files/"); + + } + + + @Override + public void addViewControllers(ViewControllerRegistry registry) { +// registry.addViewController("/**/*.do").setViewName("redirect:/adm/main/egovLoginUsr.do"); +// registry.addViewController("/").setViewName("redirect:/adm/main/egovLoginUsr.do"); +// registry.setOrder(Ordered.HIGHEST_PRECEDENCE); + } +// @Override +// public void addResourceHandlers(ResourceHandlerRegistry registry) { +// registry.addResourceHandler("/**").addResourceLocations("/"); +// } + + @Bean + public UrlBasedViewResolver urlBasedViewResolver() { + UrlBasedViewResolver urlBasedViewResolver = new UrlBasedViewResolver(); + urlBasedViewResolver.setOrder(1); + urlBasedViewResolver.setViewClass(JstlView.class); + urlBasedViewResolver.setPrefix("/WEB-INF/jsp/"); + urlBasedViewResolver.setSuffix(".jsp"); + return urlBasedViewResolver; + } + + @Bean + public SessionLocaleResolver localeResolver() { + return new SessionLocaleResolver(); + } + + @Bean + public LocaleChangeInterceptor localeChangeInterceptor() { + LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor(); + interceptor.setParamName("language"); + return interceptor; + } + + @Bean + public MappingJackson2JsonView jsonView() { + MappingJackson2JsonView jackson2JsonView = new MappingJackson2JsonView(); +// jackson2JsonView.setContentType("\"text/html;charset=UTF-8\""); + return jackson2JsonView; + } + +// @Override +// public void configureHandlerExceptionResolvers(List exceptionResolvers) { +// Properties prop = new Properties(); +// prop.setProperty("org.springframework.dao.DataAccessException", "cmm/error/dataAccessFailure"); +// prop.setProperty("org.springframework.transaction.TransactionException", "cmm/error/transactionFailure"); +// prop.setProperty("org.springframework.security.AccessDeniedException", "cmm/error/accessDenied"); +// prop.setProperty("java.lang.Throwable", "cmm/error/egovBizException"); +// prop.setProperty("java.lang.NoSuchFieldException", "cmm/error/egovError"); +// prop.setProperty("javax.el.PropertyNotFoundException", "cmm/error/egovError"); +// prop.setProperty("org.springframework.web.servlet.PageNotFound", "cmm/error/egovError"); +// +// Properties statusCode = new Properties(); +// statusCode.setProperty("cmm/error/egovBizException", "400"); +// statusCode.setProperty("cmm/error/accessDenied", "401"); +// statusCode.setProperty("cmm/error/accessDenied", "403"); +// statusCode.setProperty("cmm/error/egovError", "404"); +// statusCode.setProperty("cmm/error/egovBizException", "500"); +// SimpleMappingExceptionResolver smer = new SimpleMappingExceptionResolver(); +// smer.setDefaultErrorView("cmm/error/egovError"); +// smer.setExceptionMappings(prop); +// smer.setStatusCodes(statusCode); +// exceptionResolvers.add(smer); +// } + + + + @Bean + public RestTemplate restTemplate() { + HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(); + HttpClient client = HttpClientBuilder.create() + .setMaxConnTotal(50) + .setMaxConnPerRoute(20).build(); + factory.setHttpClient(client); + factory.setConnectTimeout(10000); + factory.setReadTimeout(5000); + return new RestTemplate(factory); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigSecurity.java b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigSecurity.java new file mode 100644 index 0000000..0d980e5 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigSecurity.java @@ -0,0 +1,104 @@ +package com.icomsys.main_vm.common.config; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.icomsys.main_vm.biz.common.login.service.CustomUserDetailsService; +import com.icomsys.main_vm.common.filter.LoginFilter; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Bean; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityCustomizer; +import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.security.web.SecurityFilterChain; +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; + +@EnableWebSecurity +@RequiredArgsConstructor +public class ConfigSecurity { + //WebSecurityConfigurerAdapter 디프리케이트 후 + //참조소스 + //https://stackoverflow.com/questions/72381114/spring-security-upgrading-the-deprecated-websecurityconfigureradapter-in-spring + private final ObjectMapper objectMapper; + private final CustomUserDetailsService customUserDetailsService; + private final LoginFilter loginFilter; + @Bean + public PasswordEncoder passwordEncoder() { + return new BCryptPasswordEncoder(); + } + + @Bean + public WebSecurityCustomizer configure() { + return (web) -> web.ignoring().mvcMatchers( +// "/v3/api-docs/**", // doc용 +// "/swagger-ui/**", //스웨거 + "/ws/**", // 테스트API, + "/login", + "/logout" + ); + } + +// @Bean +// public AuthTokenFilter authenticationJwtTokenFilter() { +// return new AuthTokenFilter(); +// } + + @Bean + public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception { + return authenticationConfiguration.getAuthenticationManager(); + } + + public void configure(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception { + authenticationManagerBuilder.userDetailsService(customUserDetailsService).passwordEncoder(passwordEncoder()); + } + + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { + return http.antMatcher("/**") + .authorizeRequests() + .and() + .csrf().disable() + .cors().disable() + .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) + .and() + .authorizeRequests() + .anyRequest().permitAll() + .and() +// .exceptionHandling() +// .authenticationEntryPoint(((request, response, authException) -> { +// response.setStatus(HttpStatus.UNAUTHORIZED.value()); +// response.setContentType(MediaType.APPLICATION_JSON_VALUE); +// objectMapper.writeValue( +// response.getOutputStream(), +// ExceptionResponse.of(ExceptionCode.FAIL_AUTHENTICATION) +// ); +// })) +// .accessDeniedHandler(((request, response, accessDeniedException) -> { +// response.setStatus(HttpStatus.FORBIDDEN.value()); +// response.setContentType(MediaType.APPLICATION_JSON_VALUE); +// objectMapper.writeValue( +// response.getOutputStream(), +// ExceptionResponse.of(ExceptionCode.FAIL_AUTHORIZATION) +// ); +// })) + .addFilterBefore(loginFilter, UsernamePasswordAuthenticationFilter.class) + .build(); + } +// @Bean +// public WebMvcConfigurer corsConfigurer() { +// return new WebMvcConfigurer() { +// @Override +// public void addCorsMappings(CorsRegistry registry) { +// registry.addMapping("/**") +// .allowedMethods("*"); +// } +// }; +// } + + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigSqlQuery.java b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigSqlQuery.java new file mode 100644 index 0000000..a1ef2c1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigSqlQuery.java @@ -0,0 +1,44 @@ +package com.icomsys.main_vm.common.config; + +import com.querydsl.jpa.impl.JPAQueryFactory; +import com.querydsl.jpa.sql.JPASQLQuery; +import com.querydsl.sql.MySQLTemplates; +import com.querydsl.sql.OracleTemplates; +import com.querydsl.sql.SQLTemplates; +import com.querydsl.sql.spring.SpringExceptionTranslator; +import lombok.RequiredArgsConstructor; +import org.hibernate.dialect.MySQL57Dialect; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + +@Configuration +@RequiredArgsConstructor +public class ConfigSqlQuery { + + @PersistenceContext + private EntityManager entityManager; + + @Bean + public JPAQueryFactory jpaQueryFactory() { + return new JPAQueryFactory(entityManager); + } + + @Bean + public JPASQLQuery jpasqlQuery(){ +// SQLTemplates templates = PostgreSQLTemplates.builder() + SQLTemplates templates = MySQLTemplates.builder() +// SQLTemplates templates = OracleTemplates.builder() + .printSchema() + .quote() + .newLineToSingleSpace() + .build(); //change to your Templates + com.querydsl.sql.Configuration configuration = new com.querydsl.sql.Configuration(templates); + SpringExceptionTranslator springExceptionTranslator = new SpringExceptionTranslator(); + configuration.setExceptionTranslator(springExceptionTranslator); + return new JPASQLQuery(entityManager,configuration); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigWebsocket.java b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigWebsocket.java new file mode 100644 index 0000000..066e57b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/config/ConfigWebsocket.java @@ -0,0 +1,35 @@ +package com.icomsys.main_vm.common.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.messaging.simp.config.MessageBrokerRegistry; +import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker; +import org.springframework.web.socket.config.annotation.StompEndpointRegistry; +import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer; + +@Configuration +@EnableWebSocketMessageBroker +public class ConfigWebsocket implements WebSocketMessageBrokerConfigurer { + + + @Override + public void configureMessageBroker(MessageBrokerRegistry registry) { +// registry.enableSimpleBroker("/user", "/topic", "/queue"); + registry.enableSimpleBroker("/subscribe"); + registry.setApplicationDestinationPrefixes("/send"); + } + + @Override + public void registerStompEndpoints(StompEndpointRegistry registry) { + registry.addEndpoint("/ws") +// .setAllowedOrigins("*") + .setAllowedOriginPatterns("*") + .withSockJS() +// .setClientLibraryUrl("https://cdn.jsdelivr.net/npm/sockjs-client@1/dist/sockjs.min.js") + ; + + // registry.addEndpoint("/notification").setAllowedOriginPatterns("*") +// .setHandshakeHandler(new CustomHandshakeHandler()).withSockJS(); + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/config/CustomErrorDecoder.java b/main_vm/src/main/java/com/icomsys/main_vm/common/config/CustomErrorDecoder.java new file mode 100644 index 0000000..25a7313 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/config/CustomErrorDecoder.java @@ -0,0 +1,36 @@ +package com.icomsys.main_vm.common.config; + +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import feign.Response; +import feign.codec.ErrorDecoder; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpStatus; +import org.springframework.web.server.ResponseStatusException; + +import javax.naming.AuthenticationException; + +@Slf4j +public class CustomErrorDecoder implements ErrorDecoder { + @Override + public Exception decode(String methodKey, Response response) { + log.info("{} status : {}, body : {}", methodKey, response.status(), response.body()); + switch (response.status()) { + case 400: + return new CustomBadRequestException(); + case 401: + return new AuthenticationException(); + case 403: + return new CustomNotFoundException(); + case 404: + return new ResponseStatusException(HttpStatus.valueOf(response.status()), "User's orders is empty."); + case 405: + return new ResponseStatusException(HttpStatus.valueOf(response.status()), "User's orders is empty."); + default: + return new Exception("Generic error"); + } + + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/filter/HibernateInterceptor.java b/main_vm/src/main/java/com/icomsys/main_vm/common/filter/HibernateInterceptor.java new file mode 100644 index 0000000..1024002 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/filter/HibernateInterceptor.java @@ -0,0 +1,31 @@ +package com.icomsys.main_vm.common.filter; + +import lombok.extern.slf4j.Slf4j; +import org.hibernate.EmptyInterceptor; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; + +@Configuration +@Slf4j +public class HibernateInterceptor extends EmptyInterceptor { + + @Value("${spring.datasource.owner}") + private String ownerAndSchema; + @Value("${spring.config.activate.on-profile}") + private String profile; + @Override + public String onPrepareStatement(String sql) { + log.info("profile = {}", profile); + log.info("sql = {}", sql); +// if(profile.equals("create")){ +// sql = sql.replaceAll("#ownerAndSchema#", ownerAndSchema); +// } +// else{ +// sql = sql.replaceAll("#ownerAndSchema#.", ""); +// } + return super.onPrepareStatement(sql); +// return sql; + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/filter/LoginFilter.java b/main_vm/src/main/java/com/icomsys/main_vm/common/filter/LoginFilter.java new file mode 100644 index 0000000..229d662 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/filter/LoginFilter.java @@ -0,0 +1,109 @@ +package com.icomsys.main_vm.common.filter; + +import com.fasterxml.jackson.databind.ObjectMapper; +//import com.icomsys.main_vm.db.jpa.repo.bot.TbBotAuthMenuRepo; +//import com.icomsys.main_vm.db.jpa.repo.bot.TbBotMenuRepo; +import com.google.gson.Gson; +import com.icomsys.main_vm.common.code.enumresource.SessionResource; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.filter.OncePerRequestFilter; +import org.springframework.web.util.ContentCachingRequestWrapper; +import org.springframework.web.util.ContentCachingResponseWrapper; + +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.time.LocalDateTime; + +@Configuration +@Slf4j +@RequiredArgsConstructor +public class LoginFilter extends OncePerRequestFilter { + + private final ObjectMapper objectMapper; +// private final TbBotAuthMenuRepo tbBotAuthMenuRepo; +// private final TbBotMenuRepo tbBotMenuRepo; +// @Value("${Server.servlet.context-path}") +// private String context; + + @Override + protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { + int chk = 0; +// ContentCachingRequestWrapper wrapRequest = new ContentCachingRequestWrapper(request); // 커스텀으로 생성한 Wrapper +// ContentCachingResponseWrapper wrapResponse = new ContentCachingResponseWrapper(response); +// String reqUrl = request.getRequestURI().toString().replaceAll(context, ""); + String reqUrl = request.getRequestURI(); +// log.info("meyhod-"+ reqUrl+ request.getMethod()); +// log.info("필터 요청유알엘 - {}, {}", reqUrl); + + + if (reqUrl.startsWith("/re1")){ + response.sendError(490); + return; + } + + if (reqUrl.startsWith("/re2")){ + response.sendError(491); + return; + } + + if (reqUrl.startsWith("/lib") + || reqUrl.startsWith("/css") + || reqUrl.startsWith("/images") + || reqUrl.startsWith("/js") + || reqUrl.startsWith("/adm") + || reqUrl.startsWith("/ws") + || reqUrl.startsWith("/rest") + || reqUrl.startsWith("/create") + || reqUrl.startsWith("/data") + || reqUrl.startsWith("/createEnv") + || reqUrl.startsWith("/error") + || reqUrl.startsWith("/files") + || reqUrl.equals("/") + ) { + filterChain.doFilter(request, response); + } else { + if (request.getSession().getAttribute(SessionResource.UserVO.getName()) == null || request.getSession().getAttribute(SessionResource.UserVO.getName()).equals("")) { + log.info("session Check"); + response.sendError(490); + return; + } else { + log.info("Permission Check"); + //세션이 있으면 URL별 권한 확인. + //ajax로 호출되는 url은 auth메뉴에 리스트업이 안되있어서 검사를 어떻게할지 계획이 필요함. +// LoginVO loginVO = (LoginVO) request.getSession().getAttribute("LoginVO"); +// List auths = +// if(!tbBotMenuRepo.findByMenuNoInOrderByMenuNoAsc(tbBotAuthMenuRepo.findByAuthCode(loginVO.getAuthCode()) +// .stream().map(e -> e.getMenuNo()) +// .collect(Collectors.toList())) +// .stream() +// .map(f -> f.getUrlPath()) +// .collect(Collectors.toList()) +// .contains(reqUrl)){ +// wrapResponse.sendRedirect("adm/main/egovLoginUsr.do"); +// } +// log.info("auths - {}", new Gson().toJson(auths)); +// +// for (String e : auths) { +// if (e != null && !e.equals("") && !e.equals("null") && e.equals(reqUrl)) { +// chk+=1; +// break; +// } +// } +// if(chk == 0){ +// wrapResponse.setStatus(404); +// wrapResponse.sendRedirect("adm/main/egovLoginUsr.do"); +// } + filterChain.doFilter(request, response); + } + } +// response.copyBodyToResponse(); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/util/ClientIp.java b/main_vm/src/main/java/com/icomsys/main_vm/common/util/ClientIp.java new file mode 100644 index 0000000..2a315f1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/util/ClientIp.java @@ -0,0 +1,52 @@ +package com.icomsys.main_vm.common.util; + +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Configuration; + +import javax.servlet.http.HttpServletRequest; + +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; + +import java.net.InetAddress; +import java.net.UnknownHostException; + + +@Component +@RequiredArgsConstructor +public class ClientIp { + private final String LOCALHOST_IPV4 = "127.0.0.1"; + private final String LOCALHOST_IPV6 = "0:0:0:0:0:0:0:1"; + private final HttpServletRequest request; + public String getClientIp() { + String ipAddress = request.getHeader("X-Forwarded-For"); + if (StringUtils.isEmpty(ipAddress) || "unknown".equalsIgnoreCase(ipAddress)) { + ipAddress = request.getHeader("Proxy-Client-IP"); + } + + if (StringUtils.isEmpty(ipAddress) || "unknown".equalsIgnoreCase(ipAddress)) { + ipAddress = request.getHeader("WL-Proxy-Client-IP"); + } + + if (StringUtils.isEmpty(ipAddress) || "unknown".equalsIgnoreCase(ipAddress)) { + ipAddress = request.getRemoteAddr(); + if (LOCALHOST_IPV4.equals(ipAddress) || LOCALHOST_IPV6.equals(ipAddress)) { + try { + InetAddress inetAddress = InetAddress.getLocalHost(); + ipAddress = inetAddress.getHostAddress(); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + } + } + if (!StringUtils.isEmpty(ipAddress) + && ipAddress.length() > 15 + && ipAddress.indexOf(",") > 0) { + ipAddress = ipAddress.substring(0, ipAddress.indexOf(",")); + } + return ipAddress; + } + + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/util/CustomDialect.java b/main_vm/src/main/java/com/icomsys/main_vm/common/util/CustomDialect.java new file mode 100644 index 0000000..2b1547f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/util/CustomDialect.java @@ -0,0 +1,23 @@ +package com.icomsys.main_vm.common.util; + +import org.hibernate.dialect.MySQL57Dialect; +import org.hibernate.dialect.function.SQLFunctionTemplate; +import org.hibernate.dialect.function.StandardSQLFunction; +import org.hibernate.type.StandardBasicTypes; + +public class CustomDialect extends MySQL57Dialect { + + public CustomDialect(){ + + super(); +// registerFunction("match", +// new SQLFunctionTemplate(StandardBasicTypes.DOUBLE,"match(?1, ?2) against (?3 in boolean mode)")); + + registerFunction( + "GROUP_CONCAT", + new StandardSQLFunction("group_concat", StandardBasicTypes.STRING) + ); + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/util/EgovFileScrty.java b/main_vm/src/main/java/com/icomsys/main_vm/common/util/EgovFileScrty.java new file mode 100644 index 0000000..5f9b547 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/util/EgovFileScrty.java @@ -0,0 +1,290 @@ +package com.icomsys.main_vm.common.util; +import org.apache.commons.codec.binary.Base64; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.*; +import java.security.MessageDigest; + +public class EgovFileScrty { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileScrty.class); + + // 파일구분자 + static final char FILE_SEPARATOR = File.separatorChar; + // 버퍼사이즈 + static final int BUFFER_SIZE = 1024; + + /** + * 파일을 암호화하는 기능 + * + * @param String source 암호화할 파일 + * @param String target 암호화된 파일 + * @return boolean result 암호화여부 True/False + * @exception Exception + */ + public static boolean encryptFile(String source, String target) throws Exception { + + // 암호화 여부 + boolean result = false; + + String sourceFile = source.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + String targetFile = target.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(sourceFile); + + BufferedInputStream input = null; + BufferedOutputStream output = null; + + byte[] buffer = new byte[BUFFER_SIZE]; + + try { + if (srcFile.exists() && srcFile.isFile()) { + + input = new BufferedInputStream(new FileInputStream(srcFile)); + output = new BufferedOutputStream(new FileOutputStream(targetFile)); + + int length = 0; + while ((length = input.read(buffer)) >= 0) { + byte[] data = new byte[length]; + System.arraycopy(buffer, 0, data, 0, length); + output.write(encodeBinary(data).getBytes()); + output.write(System.getProperty("line.separator").getBytes()); + } + + result = true; + } + } finally { + if (input != null) { + try { + input.close(); + } catch (Exception ignore) { + LOGGER.debug("IGNORE: {}", ignore); + } + } + if (output != null) { + try { + output.close(); + } catch (Exception ignore) { + LOGGER.debug("IGNORE: {}", ignore); + } + } + } + return result; + } + + /** + * 파일을 복호화하는 기능 + * + * @param String source 복호화할 파일 + * @param String target 복호화된 파일 + * @return boolean result 복호화여부 True/False + * @exception Exception + */ + public static boolean decryptFile(String source, String target) throws Exception { + + // 복호화 여부 + boolean result = false; + + String sourceFile = source.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + String targetFile = target.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(sourceFile); + + BufferedReader input = null; + BufferedOutputStream output = null; + + //byte[] buffer = new byte[BUFFER_SIZE]; + String line = null; + + try { + if (srcFile.exists() && srcFile.isFile()) { + + input = new BufferedReader(new InputStreamReader(new FileInputStream(srcFile))); + output = new BufferedOutputStream(new FileOutputStream(targetFile)); + + while ((line = input.readLine()) != null) { + byte[] data = line.getBytes(); + output.write(decodeBinary(new String(data))); + } + + result = true; + } + } finally { + if (input != null) { + try { + input.close(); + } catch (Exception ignore) { + LOGGER.debug("IGNORE: {}", ignore); + } + } + if (output != null) { + try { + output.close(); + } catch (Exception ignore) { + LOGGER.debug("IGNORE: {}", ignore); + } + } + } + return result; + } + + /** + * 데이터를 암호화하는 기능 + * + * @param byte[] data 암호화할 데이터 + * @return String result 암호화된 데이터 + * @exception Exception + */ + public static String encodeBinary(byte[] data) throws Exception { + if (data == null) { + return ""; + } + + return new String(Base64.encodeBase64(data)); + } + + /** + * 데이터를 암호화하는 기능 + * + * @param String data 암호화할 데이터 + * @return String result 암호화된 데이터 + * @exception Exception + */ + public static String encode(String data) throws Exception { + return encodeBinary(data.getBytes()); + } + + /** + * 데이터를 복호화하는 기능 + * + * @param String data 복호화할 데이터 + * @return String result 복호화된 데이터 + * @exception Exception + */ + public static byte[] decodeBinary(String data) throws Exception { + return Base64.decodeBase64(data.getBytes()); + } + + /** + * 데이터를 복호화하는 기능 + * + * @param String data 복호화할 데이터 + * @return String result 복호화된 데이터 + * @exception Exception + */ + public static String decode(String data) throws Exception { + return new String(decodeBinary(data)); + } + + /** + * 비밀번호를 암호화하는 기능(복호화가 되면 안되므로 SHA-256 인코딩 방식 적용). + * + * deprecated : 보안 강화를 위하여 salt로 ID를 지정하는 encryptPassword(password, id) 사용 + * + * @param String data 암호화할 비밀번호 + * @return String result 암호화된 비밀번호 + * @exception Exception + */ + @Deprecated + public static String encryptPassword(String data) throws Exception { + + if (data == null) { + return ""; + } + + byte[] plainText = null; // 평문 + byte[] hashValue = null; // 해쉬값 + plainText = data.getBytes(); + + MessageDigest md = MessageDigest.getInstance("SHA-256"); + + // 변경 시 기존 hash 값에 검증 불가.. => deprecated 시키고 유지 + /* + // Random 방식의 salt 추가 + SecureRandom ng = new SecureRandom(); + byte[] randomBytes = new byte[16]; + ng.nextBytes(randomBytes); + + md.reset(); + md.update(randomBytes); + + */ + hashValue = md.digest(plainText); + + /* + BASE64Encoder encoder = new BASE64Encoder(); + return encoder.encode(hashValue); + */ + return new String(Base64.encodeBase64(hashValue)); + } + + /** + * 비밀번호를 암호화하는 기능(복호화가 되면 안되므로 SHA-256 인코딩 방식 적용) + * + * @param password 암호화될 패스워드 + * @param id salt로 사용될 사용자 ID 지정 + * @return + * @throws Exception + */ + public static String encryptPassword(String password, String id) throws Exception { + + if (password == null) { + return ""; + } + + byte[] hashValue = null; // 해쉬값 + + MessageDigest md = MessageDigest.getInstance("SHA-256"); + + md.reset(); + md.update(id.getBytes()); + + hashValue = md.digest(password.getBytes()); + + return new String(Base64.encodeBase64(hashValue)); + } + + /** + * 비밀번호를 암호화하는 기능(복호화가 되면 안되므로 SHA-256 인코딩 방식 적용) + * @param data 암호화할 비밀번호 + * @param salt Salt + * @return 암호화된 비밀번호 + * @throws Exception + */ + public static String encryptPassword(String data, byte[] salt) throws Exception { + + if (data == null) { + return ""; + } + + byte[] hashValue = null; // 해쉬값 + + MessageDigest md = MessageDigest.getInstance("SHA-256"); + + md.reset(); + md.update(salt); + + hashValue = md.digest(data.getBytes()); + + return new String(Base64.encodeBase64(hashValue)); + } + + /** + * 비밀번호를 암호화된 패스워드 검증(salt가 사용된 경우만 적용). + * + * @param data 원 패스워드 + * @param encoded 해쉬처리된 패스워드(Base64 인코딩) + * @return + * @throws Exception + */ + public static boolean checkPassword(String data, String encoded, byte[] salt) throws Exception { + byte[] hashValue = null; // 해쉬값 + + MessageDigest md = MessageDigest.getInstance("SHA-256"); + + md.reset(); + md.update(salt); + hashValue = md.digest(data.getBytes()); + + return MessageDigest.isEqual(hashValue, Base64.decodeBase64(encoded.getBytes())); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/util/ExcelUtils.java b/main_vm/src/main/java/com/icomsys/main_vm/common/util/ExcelUtils.java new file mode 100644 index 0000000..8157d84 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/util/ExcelUtils.java @@ -0,0 +1,59 @@ +package com.icomsys.main_vm.common.util; + +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.*; + +public class ExcelUtils { + + /** + * xlsx 엑셀 스타일 적용 + */ + public static XSSFCell createXSSFCellStyle(XSSFRow row, int col, Font font, short bgColor, HorizontalAlignment hAlign, BorderStyle border, String cellValue) { + + XSSFSheet sheet = row.getSheet(); + XSSFWorkbook wb = sheet.getWorkbook(); + XSSFCellStyle cs = wb.createCellStyle(); + + //정렬 + cs.setAlignment(hAlign); + cs.setVerticalAlignment(VerticalAlignment.CENTER); + + //테두리 설정 + cs.setBorderTop(border); + cs.setBorderRight(border); + cs.setBorderBottom(border); + cs.setBorderLeft(border); + + //글꼴 설정 + cs.setFont(font); + + //배경색 설정 + if (bgColor > 0) { + cs.setFillForegroundColor(bgColor); + cs.setFillPattern(FillPatternType.SOLID_FOREGROUND); + } + + + //셀 생성 + XSSFCell cell = row.createCell(col); + cell.setCellStyle(cs); + cell.setCellValue(cellValue); + + return cell; + } + + /** + * Default value cell + */ + public static XSSFCell createDefaultValueCellStyle(XSSFRow row, int col, XSSFFont font, String cellValue) { + return createXSSFCellStyle(row, col, font, IndexedColors.WHITE.getIndex(), HorizontalAlignment.CENTER, BorderStyle.THIN, cellValue); + } + + /** + * Default header cell + */ + public static XSSFCell createDefaultHeaderCellStyle(XSSFRow row, int col, XSSFFont font, String cellValue) { + return createXSSFCellStyle(row, col, font, IndexedColors.GREY_25_PERCENT.getIndex(), HorizontalAlignment.CENTER, BorderStyle.THIN, cellValue); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/util/HashUtil.java b/main_vm/src/main/java/com/icomsys/main_vm/common/util/HashUtil.java new file mode 100644 index 0000000..0ebbb28 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/util/HashUtil.java @@ -0,0 +1,15 @@ +package com.icomsys.main_vm.common.util; + +import javax.xml.bind.DatatypeConverter; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +public class HashUtil { + + public static String getStringToChecksum(String contents) throws NoSuchAlgorithmException { + // String 값을 입력받아 md5 hash + base64 encoding + MessageDigest md = MessageDigest.getInstance("MD5"); + md.update(contents.getBytes()); + return DatatypeConverter.printBase64Binary(md.digest()); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/common/util/README.md b/main_vm/src/main/java/com/icomsys/main_vm/common/util/README.md new file mode 100644 index 0000000..be0ce12 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/common/util/README.md @@ -0,0 +1 @@ +EgovFileScrty = 전자정부 패쓰워드 엔코더용 파일 \ No newline at end of file diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbDictionaryMaster.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbDictionaryMaster.java new file mode 100644 index 0000000..2e30eca --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbDictionaryMaster.java @@ -0,0 +1,55 @@ +package com.icomsys.main_vm.db.jpa.entity.conversation; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.time.LocalDateTime; + +@Table(name = "TB_DICTIONARY_MASTER") +@Entity +@Getter +@Setter +@NoArgsConstructor +public class TbDictionaryMaster { + @Id + @Column(name = "SEQ", nullable = false, length = 20) + private Long seq; + @Column(name = "OPR_MNG_CODE", nullable = false, length = 40) + private String oprMngCode; + @Column(name = "GROUP_SEQ", nullable = false, length = 20) + private Long groupSeq; + @Column(name = "REP_WORD", nullable = false, length = 20) + private String repWord; + @Column(name = "IF_MAPPING_ID", nullable = true, length = 20) + private Long ifMappingId; + @Column(name = "USE_YN", nullable = false, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = false, length = 30) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 30) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + @Builder + public TbDictionaryMaster(Long seq, String oprMngCode, Long groupSeq, String repWord, Long ifMappingId, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.seq = seq; + this.oprMngCode = oprMngCode; + this.groupSeq = groupSeq; + this.repWord = repWord; + this.ifMappingId = ifMappingId; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbEntityMaster.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbEntityMaster.java new file mode 100644 index 0000000..d39810e --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbEntityMaster.java @@ -0,0 +1,34 @@ +package com.icomsys.main_vm.db.jpa.entity.conversation; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.time.LocalDateTime; + +@Table(name = "TB_ENTITY_MASTER") +@Entity +@Getter +@Setter +@NoArgsConstructor +public class TbEntityMaster { + @Id + @Column(name = "ENTITY_NAME", nullable = true, length = 50) + private String entityName; + @Column(name = "REGIST_ID", nullable = true, length = 30) + private String registId; + @Column(name = "REGIST_DATE", nullable = true) + private LocalDateTime registDate; + + @Builder + public TbEntityMaster(String entityName, String registId, LocalDateTime registDate) { + this.entityName = entityName; + this.registId = registId; + this.registDate = registDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbIcsLog.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbIcsLog.java new file mode 100644 index 0000000..cd67906 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbIcsLog.java @@ -0,0 +1,64 @@ +package com.icomsys.main_vm.db.jpa.entity.conversation; + +import com.icomsys.main_vm.db.jpa.entity.conversation.id.TbIcsLogId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_ICS_LOG") +@Entity +@Getter +@Setter +@NoArgsConstructor +@IdClass(TbIcsLogId.class) +public class TbIcsLog { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "SEQ", nullable = false, length = 20) + private Long seq; + @Id + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Id + @Column(name = "USER_ID", nullable = false, length = 20) + private String userId; + @Column(name = "ACTION_CODE", nullable = false, length = 20) + private String actionCode; + @Column(name = "MENU_AUTH", nullable = false, length = 100) + private String menuAuth; + @Column(name = "IP", nullable = false, length = 20) + private String ip; + @Column(name = "REMARK", nullable = true, length = 1000) + private String remark; + @Column(name = "SERVICE_GROUP", nullable = false, length = 20) + private String serviceGroup; + @Column(name = "ATTRIBUTE_1", nullable = true, length = 20) + private String attribute1; + @Column(name = "ATTRIBUTE_2", nullable = true, length = 20) + private String attribute2; + @Column(name = "ATTRIBUTE_3", nullable = true, length = 20) + private String attribute3; + @Column(name = "ATTRIBUTE_4", nullable = true, length = 20) + private String attribute4; + + @Builder + public TbIcsLog(Long seq, LocalDateTime registDate, String userId, String actionCode, String menuAuth, String ip, String remark, String serviceGroup, String attribute1, String attribute2, String attribute3, String attribute4) { + this.seq = seq; + this.registDate = registDate; + this.userId = userId; + this.actionCode = actionCode; + this.menuAuth = menuAuth; + this.ip = ip; + this.remark = remark; + this.serviceGroup = serviceGroup; + this.attribute1 = attribute1; + this.attribute2 = attribute2; + this.attribute3 = attribute3; + this.attribute4 = attribute4; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbIntentExample.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbIntentExample.java new file mode 100644 index 0000000..53a074e --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbIntentExample.java @@ -0,0 +1,69 @@ +package com.icomsys.main_vm.db.jpa.entity.conversation; + +import com.icomsys.main_vm.biz.rcp.conversation.dto.TbIntentExampleDto; +import com.icomsys.main_vm.db.jpa.entity.conversation.id.TbIntentExampleId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_INTENT_EXAMPLE") +@Entity +@Getter +@Setter +@NoArgsConstructor +//@IdClass(TbIntentExampleId.class) +public class TbIntentExample { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "SEQ", nullable = false, length = 20) + private Long seq; +// @Id + @Column(name = "INTENT_SEQ", nullable = false, length = 20) + private Long intentSeq; + @Column(name = "EXAMPLE_TEXT", nullable = true, length = 200) + private String exampleText; + @Column(name = "IF_MAPPING_ID", nullable = true, length = 20) + private Long ifMappingId; + @Column(name = "USE_YN", nullable = true, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + @Builder + public TbIntentExample(Long seq, Long intentSeq, String exampleText, Long ifMappingId, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.seq = seq; + this.intentSeq = intentSeq; + this.exampleText = exampleText; + this.ifMappingId = ifMappingId; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } + + public TbIntentExampleDto toTbIntentExampleDto() { + TbIntentExampleDto tied = new TbIntentExampleDto(); + tied.setSeq(this.seq); + tied.setIntentSeq(this.intentSeq); + tied.setExampleText(this.exampleText); + tied.setIfMappingId(this.ifMappingId); + tied.setUseYn(this.useYn); + tied.setRegistId(this.registId); + tied.setRegistDate(this.registDate); + tied.setUpdateId(this.updateId); + tied.setUpdateDate(this.updateDate); + return tied; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbIntentMaster.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbIntentMaster.java new file mode 100644 index 0000000..c655561 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbIntentMaster.java @@ -0,0 +1,53 @@ +package com.icomsys.main_vm.db.jpa.entity.conversation; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_INTENT_MASTER") +@Entity +@Getter +@Setter +@NoArgsConstructor +public class TbIntentMaster { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY ) + @Column(name = "SEQ", nullable = false, length = 20) + private Long seq; + @Column(name = "OPR_MNG_CODE", nullable = true, length = 50) + private String oprMngCode; + @Column(name = "INTENT_NAME", nullable = true, length = 50) + private String intentName; + @Column(name = "CATEGORY", nullable = true, length = 20) + private String category; + @Column(name = "IF_MAPPING_ID", nullable = true, length = 20) + private Long ifMappingId; + @Column(name = "USE_YN", nullable = true, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + @Builder + public TbIntentMaster(Long seq, String oprMngCode, String intentName, String category, Long ifMappingId, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.seq = seq; + this.oprMngCode = oprMngCode; + this.intentName = intentName; + this.category = category; + this.ifMappingId = ifMappingId; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbProjectSetting.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbProjectSetting.java new file mode 100644 index 0000000..e1aebb9 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbProjectSetting.java @@ -0,0 +1,83 @@ +package com.icomsys.main_vm.db.jpa.entity.conversation; + +import com.icomsys.main_vm.biz.rcp.conversation.vo.SelectSimilarityCriteriaVO; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.time.LocalDateTime; +import java.util.Map; + +@Table(name = "TB_PROJECT_SETTING") +@Entity +@Getter +@Setter +@NoArgsConstructor +public class TbProjectSetting { + @Id + @Column(name = "OPR_MNG_CODE", nullable = false, length = 40) + private String oprMngCode; + @Column(name = "SIMILARITY_CRITERIA", nullable = true) + private double similarityCriteria; + @Column(name = "CLASS_CRITERIA", nullable = true) + private double classCriteria; + @Column(name = "CLASS_RESULT_CRITERIA", nullable = true) + private double classResultCriteria; + @Column(name = "FALLBACK_MSG", nullable = true, length = 500) + private String fallbackMsg; + @Column(name = "GREETING_MSG", nullable = true, length = 500) + private String greetingMsg; + @Column(name = "IF_MAPPING_ID", nullable = true, length = 20) + private Long ifMappingId; + @Column(name = "REGIST_ID", nullable = false, length = 30) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + + @Builder + public TbProjectSetting(String oprMngCode, double similarityCriteria, double classCriteria, double classResultCriteria, String fallbackMsg, String greetingMsg, Long ifMappingId, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.oprMngCode = oprMngCode; + this.similarityCriteria = similarityCriteria; + this.classCriteria = classCriteria; + this.classResultCriteria = classResultCriteria; + this.fallbackMsg = fallbackMsg; + this.greetingMsg = greetingMsg; + this.ifMappingId = ifMappingId; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } + + public SelectSimilarityCriteriaVO toSelectSimilarityCriteriaVo() { + SelectSimilarityCriteriaVO sscv = new SelectSimilarityCriteriaVO(); + sscv.setOprMngCode(this.oprMngCode); + sscv.setSimilarityCriteria(this.similarityCriteria); + sscv.setClassResultCriteria(this.classResultCriteria); + sscv.setFallbackMsg(this.fallbackMsg); + sscv.setGreetingMsg(this.greetingMsg); + return sscv; + } + +// public TbProjectSetting UpdateProject(Map dataMap) { +// this.similarityCriteria = Double.parseDouble(dataMap.get("similarityCriteria")); +// this.classCriteria = Double.parseDouble(dataMap.get("classCriteria")); +// this.classResultCriteria = Double.parseDouble(dataMap.get("classResultCriteria")); +// this.fallbackMsg = dataMap.get("fallbackMsg"); +// this.greetingMsg = dataMap.get("greetingMsg"); +// this.updateId = resultVO.getUserId(); +// this.updateDate = LocalDateTime.now(); +// return this; +// } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbSlotMaster.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbSlotMaster.java new file mode 100644 index 0000000..ea6aac1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbSlotMaster.java @@ -0,0 +1,67 @@ +package com.icomsys.main_vm.db.jpa.entity.conversation; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.time.LocalDateTime; + +@Table(name = "TB_SLOT_MASTER") +@Entity +@Getter +@Setter +@NoArgsConstructor +public class TbSlotMaster { + @Id + @Column(name = "SEQ", nullable = false, length = 20) + private Long seq; + @Column(name = "OPR_MNG_CODE", nullable = false, length = 50) + private String oprMngCode; + @Column(name = "GROUP_NAME", nullable = true, length = 50) + private String groupName; + @Column(name = "INTENT_SEQ", nullable = false, length = 11) + private Long intentSeq; + @Column(name = "IF_MAPPING_ID", nullable = true, length = 20) + private Long ifMappingId; + @Column(name = "USE_YN", nullable = true, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + @Builder + public TbSlotMaster(Long seq, String oprMngCode, String groupName, Long intentSeq, Long ifMappingId, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.seq = seq; + this.oprMngCode = oprMngCode; + this.groupName = groupName; + this.intentSeq = intentSeq; + this.ifMappingId = ifMappingId; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } + + public TbSlotMaster updateUseY(){ + this.useYn = "Y"; + return this; + } + + + public TbSlotMaster updateUseN(){ + this.useYn = "N"; + return this; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbSynonymMaster.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbSynonymMaster.java new file mode 100644 index 0000000..675d5e5 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbSynonymMaster.java @@ -0,0 +1,72 @@ +package com.icomsys.main_vm.db.jpa.entity.conversation; + +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.*; +import javax.servlet.http.HttpServletRequest; +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; + +@Table(name = "TB_SYNONYM_MASTER") +@Entity +@Getter +@Setter +@NoArgsConstructor +public class TbSynonymMaster { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "SEQ", nullable = false, length = 20) + private Long seq; + @Column(name = "OPR_MNG_CODE", nullable = true, length = 50) + private String oprMngCode; + @Column(name = "IDIV_WORD", nullable = true, length = 50) + private String idivWord; + @Column(name = "REP_WORD", nullable = true, length = 20) + private String repWord; + @Column(name = "IF_MAPPING_ID", nullable = true, length = 20) + private Long ifMappingId; + @Column(name = "USE_YN", nullable = true, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + @Builder + public TbSynonymMaster(Long seq, String oprMngCode, String idivWord, String repWord, Long ifMappingId, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.seq = seq; + this.oprMngCode = oprMngCode; + this.idivWord = idivWord; + this.repWord = repWord; + this.ifMappingId = ifMappingId; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } + + @OneToMany(cascade = CascadeType.ALL, targetEntity = TbSynonymWord.class, fetch = FetchType.EAGER) + @JoinColumn(name = "MASTER_SEQ",referencedColumnName ="SEQ") + private List tbSynonymWords; + + public TbSynonymMaster UpdateSynonymMaster(HashMap eMap) { + this.idivWord = eMap.get("idivWord").toString(); + this.repWord = eMap.get("repWord").toString(); + this.useYn = "Y"; + this.updateId = eMap.get("userId").toString(); + this.updateDate = LocalDateTime.now(); + + return this; + }; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbSynonymWord.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbSynonymWord.java new file mode 100644 index 0000000..4842a60 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/TbSynonymWord.java @@ -0,0 +1,69 @@ +package com.icomsys.main_vm.db.jpa.entity.conversation; + +import com.icomsys.main_vm.db.jpa.entity.conversation.id.TbSynonymWordId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.naming.ldap.HasControls; +import javax.persistence.*; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +@Table(name = "TB_SYNONYM_WORD") +@Entity +@Getter +@Setter +@NoArgsConstructor +//@IdClass(TbSynonymWordId.class) +public class TbSynonymWord { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "SEQ", nullable = false, length = 20) + private Long seq; + @Column(name = "MASTER_SEQ", nullable = false, length = 20) + private Long masterSeq; + @Column(name = "OPR_MNG_CODE", nullable = true, length = 50) + private String oprMngCode; + @Column(name = "SYNONYM_WORD", nullable = true, length = 50) + private String synonymWord; + @Column(name = "IF_MAPPING_ID", nullable = true, length = 20) + private Long ifMappingId; + @Column(name = "USE_YN", nullable = true, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + @Builder + public TbSynonymWord(Long seq, Long masterSeq, String oprMngCode, String synonymWord, Long ifMappingId, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.seq = seq; + this.masterSeq = masterSeq; + this.oprMngCode = oprMngCode; + this.synonymWord = synonymWord; + this.ifMappingId = ifMappingId; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } + + public TbSynonymWord updateSeq(Long masterSeq){ + this.seq = masterSeq; + +// public TbSynonymWord DeleteSynonymWord(){ +// this.useYn = "N"; + return this; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/id/TbIcsLogId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/id/TbIcsLogId.java new file mode 100644 index 0000000..8494eff --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/id/TbIcsLogId.java @@ -0,0 +1,23 @@ +package com.icomsys.main_vm.db.jpa.entity.conversation.id; + +import lombok.*; + +import javax.persistence.Column; +import java.io.Serializable; +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class TbIcsLogId implements Serializable { + + @Column(name = "SEQ") + private Long seq; + + @Column(name = "REGIST_DATE") + private LocalDateTime registDate; + + @Column(name = "USER_ID") + private String userId; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/id/TbIntentExampleId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/id/TbIntentExampleId.java new file mode 100644 index 0000000..da8f6ec --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/id/TbIntentExampleId.java @@ -0,0 +1,12 @@ +package com.icomsys.main_vm.db.jpa.entity.conversation.id; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class TbIntentExampleId implements Serializable { + private Long seq; + private Long intentSeq; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/id/TbSynonymWordId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/id/TbSynonymWordId.java new file mode 100644 index 0000000..fd5e5d2 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/conversation/id/TbSynonymWordId.java @@ -0,0 +1,11 @@ +package com.icomsys.main_vm.db.jpa.entity.conversation.id; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class TbSynonymWordId implements Serializable { + private Long seq; + private Long masterSeq; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/learningTest/TbIntentTest.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/learningTest/TbIntentTest.java new file mode 100644 index 0000000..a8709d0 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/learningTest/TbIntentTest.java @@ -0,0 +1,65 @@ +package com.icomsys.main_vm.db.jpa.entity.learningTest; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_INTENT_TEST") +@Entity +@Getter +@Setter +@NoArgsConstructor +public class TbIntentTest { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY ) + @Column(name = "SEQ", nullable = false, length = 20) + private Long seq; + @Column(name = "OPR_MNG_CODE", nullable = true, length = 40) + private String oprMngCode; + @Column(name = "ROW_NUM", nullable = true, length = 11) + private Long rowNum; + @Column(name = "UPLOAD_FILE_PATH", nullable = true, length = 200) + private String uploadFilePath; + @Column(name = "UPLOAD_FILE_NAME", nullable = true, length = 100) + private String uploadFileName; + @Column(name = "RESULT_FILE_PATH", nullable = true, length = 1) + private String resultFilePath; + @Column(name = "RESULT_FILE_NAME", nullable = true, length = 30) + private String resultFileName; + @Column(name = "TEST_CNT", nullable = true, length = 11) + private Long testCnt; + @Column(name = "TEST_RESULT", nullable = true, length = 30) + private String testResult; + @Column(name = "USE_YN", nullable = true, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = true, length = 30) + private String registId; + @Column(name = "REGIST_DATE", nullable = true) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 30) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + @Builder + public TbIntentTest(Long seq, String oprMngCode, Long rowNum, String uploadFilePath, String uploadFileName, String resultFilePath, String resultFileName, Long testCnt, String testResult, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.seq = seq; + this.oprMngCode = oprMngCode; + this.rowNum = rowNum; + this.uploadFilePath = uploadFilePath; + this.uploadFileName = uploadFileName; + this.resultFilePath = resultFilePath; + this.resultFileName = resultFileName; + this.testCnt = testCnt; + this.testResult = testResult; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallBotLog.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallBotLog.java new file mode 100644 index 0000000..17b7d7a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallBotLog.java @@ -0,0 +1,51 @@ +package com.icomsys.main_vm.db.jpa.entity.monitoring; + +import com.icomsys.main_vm.db.jpa.entity.monitoring.id.TbCallBotLogId; +import com.icomsys.main_vm.db.jpa.entity.monitoring.id.TbCallRecId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_CALL_BOT_LOG") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbCallBotLogId.class) +public class TbCallBotLog { + + @Id + @Column(name = "TOKEN", nullable = false) + private String token; + @Id + @Column(name = "TALK_SEQ", nullable = false) + private int talkSeq; + @Id + @Column(name = "MENT_SPEECH_NO", nullable = false) + private int mentSpeechNo; + @Column(name = "BOT_TEXT", nullable = false) + private String botText; + @Column(name = "ITEM_NAME", nullable = false) + private String itemName; + @Column(name = "RCP_INFO", nullable = false) + private String rcpInfo; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + + @Builder + public TbCallBotLog(String token, int talkSeq, int mentSpeechNo, String botText, String itemName, String rcpInfo, LocalDateTime registDate) { + this.token = token; + this.talkSeq = talkSeq; + this.mentSpeechNo = mentSpeechNo; + this.botText = botText; + this.itemName = itemName; + this.rcpInfo = rcpInfo; + this.registDate = registDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallBotRec.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallBotRec.java new file mode 100644 index 0000000..3df34e6 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallBotRec.java @@ -0,0 +1,41 @@ +package com.icomsys.main_vm.db.jpa.entity.monitoring; + +import com.icomsys.main_vm.db.jpa.entity.monitoring.id.TbCallInfoId; +import com.icomsys.main_vm.db.jpa.entity.monitoring.id.TbCallRecId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_CALL_BOT_REC") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbCallRecId.class) +public class TbCallBotRec { + + @Id + @Column(name = "TOKEN", nullable = false) + private String token; + @Id + @Column(name = "TALK_SEQ", nullable = false) + private int talkSeq; + @Column(name = "REC_FILE_PATH", nullable = false, length = 200) + private String recFilePath; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + + @Builder + public TbCallBotRec(String token, int talkSeq, String recFilePath, LocalDateTime registDate) { + this.token = token; + this.talkSeq = talkSeq; + this.recFilePath = recFilePath; + this.registDate = registDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallInfo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallInfo.java new file mode 100644 index 0000000..9c892d3 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallInfo.java @@ -0,0 +1,84 @@ +package com.icomsys.main_vm.db.jpa.entity.monitoring; + + +import com.icomsys.main_vm.db.jpa.entity.monitoring.id.TbCallInfoId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_CALL_INFO") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbCallInfoId.class) +public class TbCallInfo { + + @Id + @Column(name = "TOKEN", nullable = false, length = 44) + private String token; + + @Column(name = "OPR_MNG_CODE", nullable = false, length = 100) + private String oprMngCode; + + @Column(name = "IN_CHANNEL_TYPE", nullable = false, length = 5) + private String inChannelType; + + @Id + @Column(name = "CALL_ID", nullable = false, length = 100) + private String callId; + + @Column(name = "TEL_NO", nullable = false, length = 20) + private String telNo; + + @Column(name = "DNIS_NO", nullable = false, length = 20) + private String dnisNo; + + @Column(name = "CALL_INIT_DATE", nullable = true) + private LocalDateTime callInitDate; + + @Column(name = "CALL_END_DATE", nullable = false) + private LocalDateTime callEndDate; + + @Column(name = "CALL_TIME", nullable = false) + private int callTime; + + @Column(name = "CALL_END_TYPE", nullable = false, length = 20) + private String callEndType; + + @Column(name = "CALL_END_CONVERSION", nullable = true, length = 20) + private String callEndConversion; + +// USER_REQ : 사용자 요청 +// SCENARIO : 시나리오 흐름 +// INIT_END : 인입 후 끊음 +// SILENT_FB : 묵음 폴백 +// SPEAK_FB : 발화 폴백 +// USER_END : 고객 끊음 + @Column(name = "CALL_END_REASON", nullable = false, length = 20) + private String callEndReason; + + @Builder + public TbCallInfo(String token, String oprMngCode, String inChannelType, String callId, String telNo, String dnisNo, LocalDateTime callInitDate, LocalDateTime callEndDate, int callTime, String callEndType, String callEndConversion, String callEndReason) { + this.token = token; + this.oprMngCode = oprMngCode; + this.inChannelType = inChannelType; + this.callId = callId; + this.telNo = telNo; + this.dnisNo = dnisNo; + this.callInitDate = callInitDate; + this.callEndDate = callEndDate; + this.callTime = callTime; + this.callEndType = callEndType; + this.callEndConversion = callEndConversion; + this.callEndReason = callEndReason; + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallUserLog.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallUserLog.java new file mode 100644 index 0000000..91e251f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallUserLog.java @@ -0,0 +1,88 @@ +package com.icomsys.main_vm.db.jpa.entity.monitoring; + +import com.icomsys.main_vm.db.jpa.entity.monitoring.id.TbCallUserLogId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_CALL_USER_LOG") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbCallUserLogId.class) +public class TbCallUserLog { + + @Id + @Column(name = "TOKEN", nullable = false, length = 44) + private String token; + + @Id + @Column(name = "TALK_SEQ", nullable = false) + private int talkSeq; + + @Column(name = "OPR_MNG_CODE", nullable = false, length = 100) + private String oprMngCode; + + @Column(name = "USER_TEXT", nullable = true, length = 1000) + private String userText; + + @Column(name = "INTENT_ID", nullable = true) + private Long intentId; + + @Column(name = "INTENT_NAME", nullable = true, length = 50) + private String intentName; + + @Column(name = "SCORE", nullable = true, length = 10) + private String score; + + @Column(name = "IF_MAPPING_ID", nullable = true) + private Long ifMappingId; + + @Column(name = "IF_RETURN_CODE", nullable = true, length = 10) + private String ifReturnCode; + + @Column(name = "IF_RETURN_MSG", nullable = true, length = 200) + private String ifReturnMsg; + + @Column(name = "REGIST_DATE", nullable = true) + private LocalDateTime registDate; + +// SCORE_FAIL : 점수 미달 +// INTENT_FAIL : 인텐트 실패 +// INTENT_SUCCESS : 인텐트 성공 + @Column(name = "INTENT_RESULT_CODE", nullable = true, length = 20) + private String intentResultCode; + + @Column(name = "SCENARIO_NAME", nullable = true,length = 200) + private String scenarioName; + + @Column(name = "SCENARIO_SEQ", nullable = true) + private Long scenarioSeq; + + @Builder + public TbCallUserLog(String token, int talkSeq, String oprMngCode, String userText, Long intentId, String intentName, String score, String intentResultCode, Long ifMappingId, String ifReturnCode, String ifReturnMsg, LocalDateTime registDate, Long scenarioSeq, String scenarioName) { + this.token = token; + this.talkSeq = talkSeq; + this.oprMngCode = oprMngCode; + this.userText = userText; + this.intentId = intentId; + this.intentName = intentName; + this.score = score; + this.intentResultCode = intentResultCode; + this.ifMappingId = ifMappingId; + this.ifReturnCode = ifReturnCode; + this.ifReturnMsg = ifReturnMsg; + this.registDate = registDate; + this.scenarioSeq = scenarioSeq; + this.scenarioName = scenarioName; + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallUserRec.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallUserRec.java new file mode 100644 index 0000000..5872e25 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbCallUserRec.java @@ -0,0 +1,43 @@ +package com.icomsys.main_vm.db.jpa.entity.monitoring; + +import com.icomsys.main_vm.db.jpa.entity.monitoring.id.TbCallRecId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_CALL_USER_REC") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbCallRecId.class) +public class TbCallUserRec { + + @Id + @Column(name = "TOKEN", nullable = false) + private String token; + @Id + @Column(name = "TALK_SEQ", nullable = false) + private int talkSeq; + @Column(name = "ITEM_CODE", nullable = false, length = 50) + private String itemCode; + @Column(name = "REC_FILE_PATH", nullable = false, length = 200) + private String recFilePath; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + + @Builder + public TbCallUserRec(String token, int talkSeq, String itemCode, String recFilePath, LocalDateTime registDate) { + this.token = token; + this.talkSeq = talkSeq; + this.itemCode = itemCode; + this.recFilePath = recFilePath; + this.registDate = registDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbScenarioBreakNode.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbScenarioBreakNode.java new file mode 100644 index 0000000..e8f7291 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbScenarioBreakNode.java @@ -0,0 +1,75 @@ +package com.icomsys.main_vm.db.jpa.entity.monitoring; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_SCENARIO_BREAK_NODE") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +public class TbScenarioBreakNode { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "SEQ", nullable = false) + private Long seq; + + @Column(name = "TOKEN", nullable = false, length = 44) + private String token; + + @Column(name = "TALK_SEQ", nullable = false) + private int talkSeq; + + @Column(name = "OPR_MNG_CODE", nullable = false, length = 100) + private String oprMngCode; + + @Column(name = "SCENARIO_SEQ", nullable = false) + private Long scenatioSeq; + + @Column(name = "RELEASE_SEQ", nullable = false) + private Long releaseSeq; + + @Column(name = "SCENARIO_NAME", nullable = true, length = 50) + private String scenarioName; + +// S : 성공 +// F : 이탈 + @Column(name = "SCENARIO_RESULT_CODE", nullable = false, length = 1) + private String scenarioResultCode; + + @Column(name = "NODE_CODE", nullable = false,length = 4) + private String nodeCode; + + @Column(name = "NODE_NAME", nullable = true, length = 50) + private String nodeName; + + @Column(name = "NODE_TYPE", nullable = true, length = 50) + private String nodeType; + + @Column(name = "REGIST_DATE", nullable = true) + private LocalDateTime registDate; + + @Builder + public TbScenarioBreakNode(Long seq, String token, int talkSeq, String oprMngCode, Long scenatioSeq, Long releaseSeq, String scenarioName, String scenarioResultCode, String nodeCode, String nodeName, String nodeType, LocalDateTime registDate) { + this.seq = seq; + this.token = token; + this.talkSeq = talkSeq; + this.oprMngCode = oprMngCode; + this.scenatioSeq = scenatioSeq; + this.releaseSeq = releaseSeq; + this.scenarioName = scenarioName; + this.scenarioResultCode = scenarioResultCode; + this.nodeCode = nodeCode; + this.nodeName = nodeName; + this.nodeType = nodeType; + this.registDate = registDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbTalkBookmark.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbTalkBookmark.java new file mode 100644 index 0000000..8837a18 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/TbTalkBookmark.java @@ -0,0 +1,77 @@ +package com.icomsys.main_vm.db.jpa.entity.monitoring; + + +import com.icomsys.main_vm.db.jpa.entity.system.id.TbBotCommonCodeId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +//@Table(name = "TB_TALK_BOOKMARK") +//@Entity +@Getter +@Setter +@NoArgsConstructor +//@DynamicUpdate +public class TbTalkBookmark { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "SEQ", nullable = false) + private Long seq; + +// 고객통화로그:C +// 봇통화로그:B + @Column(name = "LOG_TYPE", nullable = false, length = 1) + private String logType; + + @Column(name = "TOKEN", nullable = false, length = 44) + private String token; + + @Column(name = "TALK_SEQ", nullable = false) + private int talkSeq; + + + @Column(name = "TALK_TEXT", nullable = true, length = 1000) + private String talkText; + +// STT_ERR : STT 오류 +// TTS_ERR : TTS 오류 +// INTENT_ERR : 인텐트 오류 +// ETC : 기타 + @Column(name = "BOOKMARK_ERR_CODE", nullable = true, length = 20) + private String bookmarkErrCode; + +// COMPLETE : 조치 완료 +// DEL : 삭제 + @Column(name = "MEASURE_TYPE", nullable = true, length = 20) + private String measureType; + + @Column(name = "REGIST_ID", nullable = true, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = true) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + @Builder + public TbTalkBookmark(Long seq, String logType, String token, int talkSeq, String talkText, String bookmarkErrCode, String measureType, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.seq = seq; + this.logType = logType; + this.token = token; + this.talkSeq = talkSeq; + this.talkText = talkText; + this.bookmarkErrCode = bookmarkErrCode; + this.measureType = measureType; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallBotLogId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallBotLogId.java new file mode 100644 index 0000000..77f1f72 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallBotLogId.java @@ -0,0 +1,15 @@ +package com.icomsys.main_vm.db.jpa.entity.monitoring.id; + +import lombok.Data; +import org.junit.experimental.theories.DataPoints; + +import javax.persistence.Column; +import javax.persistence.Id; +import java.io.Serializable; + +@Data +public class TbCallBotLogId implements Serializable { + private String token; + private int talkSeq; + private int mentSpeechNo; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallInfoId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallInfoId.java new file mode 100644 index 0000000..2d2ee1a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallInfoId.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.db.jpa.entity.monitoring.id; + +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Id; +import java.io.Serializable; + +@Data +public class TbCallInfoId implements Serializable { + + private String token; + private String callId; + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallRecId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallRecId.java new file mode 100644 index 0000000..cdcbf6d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallRecId.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.db.jpa.entity.monitoring.id; + +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Id; +import java.io.Serializable; + +@Data +public class TbCallRecId implements Serializable { + + private String token; + private int talkSeq; + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallUserLogId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallUserLogId.java new file mode 100644 index 0000000..e84a995 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/monitoring/id/TbCallUserLogId.java @@ -0,0 +1,15 @@ +package com.icomsys.main_vm.db.jpa.entity.monitoring.id; + +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Id; +import java.io.Serializable; + +@Data +public class TbCallUserLogId implements Serializable { + + private String token; + private int talkSeq; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/oprManage/TbBgmMng.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/oprManage/TbBgmMng.java new file mode 100644 index 0000000..f5cdd41 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/oprManage/TbBgmMng.java @@ -0,0 +1,44 @@ +package com.icomsys.main_vm.db.jpa.entity.oprManage; + + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.GenericGenerator; + +import javax.persistence.*; +import java.io.Serializable; + +@Table(name = "TB_BGM_MNG") +@Entity +@Getter +@Setter +@NoArgsConstructor +public class TbBgmMng implements Serializable { + @Id + @Column(name = "FILE_NAME", nullable = false, length = 100) + private String fileName; + + @Column(name = "FILE_PATH", nullable = false, length = 200) + private String filePath; + + @Column(name = "CUST_CODE", nullable = false, length = 20) + private String custCode; + + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + + @Column(name = "REGIST_DATE", nullable = false) + private String registDate; + + @Builder + public TbBgmMng(String fileName, String filePath, String custCode, String registId, String registDate) { + this.fileName = fileName; + this.filePath = filePath; + this.custCode = custCode; + this.registId = registId; + this.registDate = registDate; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/oprManage/TbBotTtsTag.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/oprManage/TbBotTtsTag.java new file mode 100644 index 0000000..b3c9efa --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/oprManage/TbBotTtsTag.java @@ -0,0 +1,53 @@ +package com.icomsys.main_vm.db.jpa.entity.oprManage; + +import com.icomsys.main_vm.db.jpa.entity.system.id.TbBotTtsTagId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_BOT_TTS_TAG") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbBotTtsTagId.class) +public class TbBotTtsTag { + + @Id + @Column(name = "TTS_PROD_CODE", nullable = false, length = 20) + private String ttsProdCode; + @Id + @Column(name = "TAG_CODE", nullable = false, length = 20) + private String tagCode; + @Column(name = "TTS_START_TAG", nullable = true, length = 200) + private String ttsStartTag; + @Column(name = "TTS_END_TAG", nullable = true, length = 200) + private String ttsEndTag; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = false, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = false) + private LocalDateTime updateDate; + + @Builder + public TbBotTtsTag(String ttsProdCode, String tagCode, String ttsStartTag, String ttsEndTag, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.ttsProdCode = ttsProdCode; + this.tagCode = tagCode; + this.ttsStartTag = ttsStartTag; + this.ttsEndTag = ttsEndTag; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } + +} \ No newline at end of file diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbApiNode.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbApiNode.java new file mode 100644 index 0000000..0b9e21f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbApiNode.java @@ -0,0 +1,51 @@ +package com.icomsys.main_vm.db.jpa.entity.scenario; + + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_API_NODE") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +public class TbApiNode { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "SEQ", nullable = false) + private Long seq; + @Column(name = "NODE_NAME", nullable = true, length = 50) + private String nodeName; + @Column(name = "USE_YN", nullable = false, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = true, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = true) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + @Column(name = "OPR_MNG_CODE", nullable = false, length = 50) + private String oprMngCode; + + @Builder + public TbApiNode(Long seq, String nodeName, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate, String oprMngCode) { + this.seq = seq; + this.nodeName = nodeName; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + this.oprMngCode = oprMngCode; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbCommonNode.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbCommonNode.java new file mode 100644 index 0000000..49b20d5 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbCommonNode.java @@ -0,0 +1,50 @@ +package com.icomsys.main_vm.db.jpa.entity.scenario; + + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_COMMON_NODE") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +public class TbCommonNode { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "SEQ", nullable = false) + private Long seq; + @Column(name = "NODE_NAME", nullable = true, length = 50) + private String nodeName; + @Column(name = "USE_YN", nullable = false, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + @Column(name = "OPR_MNG_CODE", nullable = false, length = 50) + private String oprMngCode; + + @Builder + public TbCommonNode(Long seq, String nodeName, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate, String oprMngCode) { + this.seq = seq; + this.nodeName = nodeName; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + this.oprMngCode = oprMngCode; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbLongtextManager.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbLongtextManager.java new file mode 100644 index 0000000..19c2790 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbLongtextManager.java @@ -0,0 +1,45 @@ +package com.icomsys.main_vm.db.jpa.entity.scenario; + + +import com.icomsys.main_vm.db.jpa.entity.scenario.id.TbLongtextManagerId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; + +@Table(name = "TB_LONGTEXT_MANAGER") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbLongtextManagerId.class) +public class TbLongtextManager { + + @Id + @Column(name = "RF_SEQ", nullable = false) + private Long rfSeq; + @Id + @Column(name = "TABLE_CODE", nullable = false) + private int tableCode; + @Id + @Column(name = "COLUMN_CODE", nullable = false) + private int columnCode; + @Column(name = "TEXT_CONTENTS", nullable = false, columnDefinition = "MEDIUMTEXT") + private String textContents; + @Column(name = "CHECKSUM", nullable = true, length = 32) + private String checksum; + + @Builder + public TbLongtextManager(Long rfSeq, int tableCode, int columnCode, String textContents, String checksum) { + this.rfSeq = rfSeq; + this.tableCode = tableCode; + this.columnCode = columnCode; + this.textContents = textContents; + this.checksum = checksum; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioHistory.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioHistory.java new file mode 100644 index 0000000..ef582ca --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioHistory.java @@ -0,0 +1,49 @@ +package com.icomsys.main_vm.db.jpa.entity.scenario; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_SCENARIO_HISTORY") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +public class TbScenarioHistory { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "SEQ", nullable = false) + private Long seq; + @Column(name = "MASTER_SEQ", nullable = false) + private Long masterSeq; + @Column(name = "LAST_YN", nullable = false, length = 1) + private String lastYn; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + + @Builder + public TbScenarioHistory(Long seq, Long masterSeq, String lastYn, String registId, LocalDateTime registDate) { + this.seq = seq; + this.masterSeq = masterSeq; + this.lastYn = lastYn; + this.registId = registId; + this.registDate = registDate; + } + + @Builder + public TbScenarioHistory(Long masterSeq, String lastYn, String registId, LocalDateTime registDate) { + this.masterSeq = masterSeq; + this.lastYn = lastYn; + this.registId = registId; + this.registDate = registDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioMaster.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioMaster.java new file mode 100644 index 0000000..cc94144 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioMaster.java @@ -0,0 +1,51 @@ +package com.icomsys.main_vm.db.jpa.entity.scenario; + + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_SCENARIO_MASTER") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +public class TbScenarioMaster { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "SEQ", nullable = false) + private Long seq; + @Column(name = "OPR_MNG_CODE", nullable = false, length = 50) + private String oprMngCode; + @Column(name = "SCENARIO_NAME", nullable = false, length = 50) + private String scenarioName; + @Column(name = "USE_YN", nullable = false, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + @Builder + public TbScenarioMaster(Long seq, String oprMngCode, String scenarioName, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.seq = seq; + this.oprMngCode = oprMngCode; + this.scenarioName = scenarioName; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioRelatedIntent.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioRelatedIntent.java new file mode 100644 index 0000000..ea851e7 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioRelatedIntent.java @@ -0,0 +1,35 @@ +package com.icomsys.main_vm.db.jpa.entity.scenario; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.io.Serializable; +import java.time.LocalDateTime; + +@Table(name = "TB_SCENARIO_RELATED_INTENT") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbScenarioRelatedIntent.class) +public class TbScenarioRelatedIntent implements Serializable { + + @Id + @Column(name = "SCENARIO_SEQ", nullable = false) + private Long scenarioSeq; + @Id + @Column(name = "INTENT_SEQ", nullable = false) + private Long intentSeq; + + @Builder + public TbScenarioRelatedIntent(Long scenarioSeq, Long intentSeq) { + this.scenarioSeq = scenarioSeq; + this.intentSeq = intentSeq; + + } +} \ No newline at end of file diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioRelease.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioRelease.java new file mode 100644 index 0000000..aa4cf2f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioRelease.java @@ -0,0 +1,47 @@ +package com.icomsys.main_vm.db.jpa.entity.scenario; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_SCENARIO_RELEASE") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +public class TbScenarioRelease { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "SEQ", nullable = false) + private Long seq; + @Column(name = "MASTER_SEQ", nullable = false) + private Long masterSeq; + @Column(name = "RELEASE_YN", nullable = false) + private String releaseYn; + @Column(name = "VERSION", nullable = false) + private int version; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "INTENT_SEQ", nullable = false) + private Long intentSeq; + + @Builder + public TbScenarioRelease(Long seq, Long masterSeq, String releaseYn, int version, String registId, LocalDateTime registDate, Long intentSeq) { + this.seq = seq; + this.masterSeq = masterSeq; + this.releaseYn = releaseYn; + this.version = version; + this.registId = registId; + this.registDate = registDate; + this.intentSeq = intentSeq; + } +} \ No newline at end of file diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioTemplate.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioTemplate.java new file mode 100644 index 0000000..ef4047c --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/TbScenarioTemplate.java @@ -0,0 +1,35 @@ +package com.icomsys.main_vm.db.jpa.entity.scenario; + + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; + +@Table(name = "TB_SCENARIO_TEMPLATE") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +public class TbScenarioTemplate { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "SEQ", nullable = false) + private Long seq; + @Column(name = "TEMPLATE_NAME", nullable = false, length = 50) + private String templateName; + @Column(name = "USE_YN", nullable = false, length = 1) + private String useYn; + + @Builder + public TbScenarioTemplate(Long seq, String templateName, String useYn) { + this.seq = seq; + this.templateName = templateName; + this.useYn = useYn; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/id/TbLongtextManagerId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/id/TbLongtextManagerId.java new file mode 100644 index 0000000..a799fda --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/id/TbLongtextManagerId.java @@ -0,0 +1,20 @@ +package com.icomsys.main_vm.db.jpa.entity.scenario.id; + +import com.icomsys.main_vm.biz.rcp.conversation.vo.LongtextManagerVO; +import lombok.*; + +import javax.persistence.Column; +import javax.persistence.Id; +import java.io.Serializable; + +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class TbLongtextManagerId implements Serializable { + private Long rfSeq; + private int tableCode; + private int columnCode; + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/id/TbScenarioRelatedIntentId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/id/TbScenarioRelatedIntentId.java new file mode 100644 index 0000000..ac89443 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/scenario/id/TbScenarioRelatedIntentId.java @@ -0,0 +1,15 @@ +package com.icomsys.main_vm.db.jpa.entity.scenario.id; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class TbScenarioRelatedIntentId { + private Long scenarioSeq; + private Long intentSeq; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbBotCommonCode.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbBotCommonCode.java new file mode 100644 index 0000000..e90bdca --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbBotCommonCode.java @@ -0,0 +1,130 @@ +package com.icomsys.main_vm.db.jpa.entity.system; + + +import com.icomsys.main_vm.biz.advice.excep.CustomBadRequestException; +import com.icomsys.main_vm.biz.advice.excep.CustomNotFoundException; +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeUpdateReq; +import com.icomsys.main_vm.biz.rcp.conversation.vo.RetrieveCustNameVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.TbBotCommonCodeVo; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbBotCommonCodeId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_BOT_COMMON_CODE") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbBotCommonCodeId.class) +public class TbBotCommonCode { + + @Id + @Column(name = "CUST_CODE", nullable = false, length = 20) + private String custCode; + @Id + @Column(name = "MINOR_CODE", nullable = false, length = 20) + private String minorCode; + @Id + @Column(name = "MAJOR_CODE", nullable = false, length = 20) + private String majorCode; + @Id + @Column(name = "OPR_MNG_CODE", nullable = false, length = 40) + private String oprMngCode; + @Column(name = "CODE_NAME", nullable = true, length = 100) + private String codeName; + @Column(name = "ATTRIBUTE_1", nullable = true, length = 200) + private String attribute1; + @Column(name = "ATTRIBUTE_2", nullable = true, length = 200) + private String attribute2; + @Column(name = "ATTRIBUTE_3", nullable = true, length = 200) + private String attribute3; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + @Builder + public TbBotCommonCode(String custCode, String minorCode, String majorCode, String oprMngCode, String codeName, String attribute1, String attribute2, String attribute3, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.custCode = custCode; + this.minorCode = minorCode; + this.majorCode = majorCode; + this.oprMngCode = oprMngCode; + this.codeName = codeName; + this.attribute1 = attribute1; + this.attribute2 = attribute2; + this.attribute3 = attribute3; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } + + //Description 가 충돌나서 컨버팅 해주는 메소드 + public TbBotCommonCodeVo toDecs() { + TbBotCommonCodeVo tbccv = new TbBotCommonCodeVo(); + tbccv.setCustCode(this.custCode); + tbccv.setMajorCode(this.majorCode); + tbccv.setMinorCode(this.minorCode); + tbccv.setOprMngCode(this.oprMngCode); + tbccv.setCodeName(this.codeName); + tbccv.setAttribute1(this.attribute1); + tbccv.setAttribute2(this.attribute2); + tbccv.setAttribute3(this.attribute3); + tbccv.setRegistId(this.registId); + tbccv.setRegistDate(this.registDate); + tbccv.setUpdateId(this.updateId); + tbccv.setUpdateDate(this.updateDate); + return tbccv; + } + + public RetrieveCustNameVo toRetrieveCustName() { + RetrieveCustNameVo rcn = new RetrieveCustNameVo(); + rcn.setCodeName(this.codeName); + rcn.setMinorCode(this.minorCode); + return rcn; + } + + public TbBotCommonCode toUpdate(SystemCommoncodeUpdateReq dto, UserVo uv) throws CustomNotFoundException { + + if (dto.getAttribute1().equals(this.attribute1) && dto.getAttribute2().equals(this.attribute2) + && dto.getAttribute3().equals(this.attribute3) && dto.getCodeName().equals(this.codeName)) { + throw new CustomNotFoundException(); + } else { + if (dto.getAttribute1() != null && !dto.getAttribute1().equals("") && dto.getAttribute1() != this.attribute1) { + this.attribute1 = dto.getAttribute1(); + this.updateId = uv.getUserId(); + this.updateDate = LocalDateTime.now(); + } + if (dto.getAttribute2() != null && !dto.getAttribute2().equals("") && dto.getAttribute2() != this.attribute2) { + this.attribute2 = dto.getAttribute2(); + this.updateId = uv.getUserId(); + this.updateDate = LocalDateTime.now(); + } + if (dto.getAttribute3() != null && !dto.getAttribute3().equals("") && dto.getAttribute3() != this.attribute3) { + this.attribute3 = dto.getAttribute3(); + this.updateId = uv.getUserId(); + this.updateDate = LocalDateTime.now(); + } + if (dto.getCodeName() != null && !dto.getCodeName().equals("") && dto.getCodeName() != this.codeName) { + this.codeName = dto.getCodeName(); + this.updateId = uv.getUserId(); + this.updateDate = LocalDateTime.now(); + } + } + + return this; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbBotUser.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbBotUser.java new file mode 100644 index 0000000..b737ab5 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbBotUser.java @@ -0,0 +1,169 @@ +package com.icomsys.main_vm.db.jpa.entity.system; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.system.vo.SystemBotUserUpdateReq; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; +import org.springframework.security.core.userdetails.User; +import org.springframework.security.crypto.password.PasswordEncoder; + +import javax.persistence.*; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@Table(name = "TB_BOT_USER") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +public class TbBotUser { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "USER_SEQ", nullable = false) + private Long userSeq; + @Column(name = "CUST_CODE", nullable = false, length = 20) + private String custCode; + @Column(name = "LAST_USE_SERVICE_GROUP", nullable = false, length = 20) + private String lastUseServiceGroup; + @Column(name = "ROLE_VAL", nullable = false, length = 100) + private String roleVal; + @Column(name = "USER_ID", nullable = false, length = 20) + private String userId; + @Column(name = "PASSWORD", nullable = false, length = 200) + private String password; + @Column(name = "USER_NAME", nullable = false, length = 20) + private String userName; + @Column(name = "E_MAIL", nullable = true, length = 50) + private String eMail; + @Column(name = "MOBILE_NO", nullable = true, length = 15) + private String mobileNo; + @Column(name = "LOGIN_CHECK", nullable = false, length = 10) + private int loginCheck; + @Column(name = "USE_YN", nullable = false, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + + @Builder + public TbBotUser(Long userSeq, String custCode, String lastUseServiceGroup, String roleVal, String userId, String password, String userName, String eMail, String mobileNo, int loginCheck, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.userSeq = userSeq; + this.custCode = custCode; + this.lastUseServiceGroup = lastUseServiceGroup; + this.roleVal = roleVal; + this.userId = userId; + this.password = password; + this.userName = userName; + this.eMail = eMail; + this.mobileNo = mobileNo; + this.loginCheck = loginCheck; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } + + + public LoginVO toLoginVO() { + LoginVO re = new LoginVO(); + re.setUserId(this.userId); + re.setUserName(this.userName); + re.setPassword(this.password); + re.seteMail(this.eMail); + re.setSiteCode(this.custCode); + re.setSystemUserId(this.userSeq.toString()); + re.setAuthCode(this.roleVal); + re.setLoginCheck(this.loginCheck); + re.setUpdate_date(this.updateDate.format(DateTimeFormatter.ofPattern("yyyyMMdd"))); + return re; + } + + public UserVo toUserVO() { + UserVo uv = new UserVo(); + uv.setUserSeq(this.userSeq); + uv.setCustCode(this.custCode); + uv.setLastUseServiceGroup(this.lastUseServiceGroup); + uv.setRoleVal(this.roleVal); + uv.setUserId(this.userId); + uv.setUserName(this.userName); + uv.setEMail(this.eMail); + uv.setMobileNo(this.mobileNo); + uv.setLoginCheck(this.loginCheck); + uv.setUseYn(this.useYn); + uv.setRegistId(this.registId); + uv.setRegistDate(this.registDate); + uv.setUpdateId(this.updateId); + uv.setUpdateDate(this.updateDate); + return uv; + } + + + public TbBotUser resetLoginFailCheck() { + this.loginCheck = 0; + return this; + } + + public TbBotUser loginFailCheck() { + this.loginCheck += 1; + return this; + } + + public TbBotUser useYn(String use) { + this.useYn = use; + return this; + } + + public TbBotUser updateLastService(String lastService) { + this.lastUseServiceGroup = lastService; + return this; + } + + public TbBotUser updatePassword(String pass) { + this.password = pass; + this.updateDate = LocalDateTime.now(); + return this; + } + + + + public TbBotUser toUpdate(SystemBotUserUpdateReq dto, UserVo uv, PasswordEncoder pe) { + if (this.roleVal != dto.getRoleVal()) { + this.roleVal = dto.getRoleVal(); + } + if (dto.getUserId() != null && !dto.getUserId().equals("") && this.userId != dto.getUserId()) { + this.userId = dto.getUserId(); + } + if (dto.getUserPass() != null && !dto.getUserPass().equals("")) { + this.password = pe.encode(dto.getUserPass()); + } + if (dto.getUserName() != null && !dto.getUserName().equals("") && this.userName != dto.getUserName()) { + this.userName = dto.getUserName(); + } + if (dto.getEmail() != null && !dto.getEmail().equals("") && this.eMail != dto.getEmail()) { + this.eMail = dto.getEmail(); + } + if (dto.getMobileNo() != null && !dto.getMobileNo().equals("") && this.mobileNo != dto.getMobileNo()) { + this.mobileNo = dto.getMobileNo(); + } + if (dto.getUseYn() != null && !dto.getUseYn().equals("") && this.useYn != dto.getUseYn()) { + this.useYn = dto.getUseYn(); + } + this.loginCheck = dto.getLoginCheck(); + this.updateId = uv.getUserId(); + this.updateDate = LocalDateTime.now(); + return this; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbCustPolicy.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbCustPolicy.java new file mode 100644 index 0000000..1ceff6f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbCustPolicy.java @@ -0,0 +1,38 @@ +package com.icomsys.main_vm.db.jpa.entity.system; + +import com.icomsys.main_vm.db.jpa.entity.system.id.TbCustPolicyId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; + +@Table(name = "TB_CUST_POLICY") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbCustPolicyId.class) +public class TbCustPolicy { + + @Id + @Column(name = "SERVICE_GROUP", nullable = false, length = 20) + private String serviceGroup; + @Id + @Column(name = "POLICY_VAL", nullable = false, length = 50) + private String policyVal; + @Id + @Column(name = "CUST_CODE", nullable = false, length = 20) + private String custCode; + + @Builder + public TbCustPolicy(String serviceGroup, String policyVal, String custCode) { + this.serviceGroup = serviceGroup; + this.policyVal = policyVal; + this.custCode = custCode; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbIcsCustInfo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbIcsCustInfo.java new file mode 100644 index 0000000..8ed1ea4 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbIcsCustInfo.java @@ -0,0 +1,69 @@ +package com.icomsys.main_vm.db.jpa.entity.system; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.system.vo.SystemCustSaveReq; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_ICS_CUST_INFO") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +public class TbIcsCustInfo { + + @Id + @Column(name = "CUST_CODE", nullable = false, length = 20) + private String custCode; + @Column(name = "CUST_NAME", nullable = false, length = 50) + private String custName; + @Column(name = "CUST_TEL", nullable = true, length = 20) + private String custTel; + @Column(name = "CUST_SERVICE_MENT", nullable = true, length = 500) + private String custServiceMent; + @Column(name = "USE_YN", nullable = false, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + @Builder + public TbIcsCustInfo(String custCode, String custName, String custTel, String custServiceMent, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.custCode = custCode; + this.custName = custName; + this.custTel = custTel; + this.custServiceMent = custServiceMent; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } + + public TbIcsCustInfo UpdateCust(SystemCustSaveReq dto, UserVo uv) { + if (dto.getCustName() != null && !dto.getCustName().equals("") && dto.getCustName() != this.custName) { + this.custName = dto.getCustName(); + } + if (dto.getCustUseYn() != null && !dto.getCustUseYn().equals("") && dto.getCustUseYn() != this.useYn) { + this.useYn = dto.getCustUseYn(); + } +// this.custTel = custTel; +// this.custServiceMent = custServiceMent; + this.updateId = uv.getUserId(); + this.updateDate = LocalDateTime.now(); + return this; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbIcsOprMngInfo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbIcsOprMngInfo.java new file mode 100644 index 0000000..79a0d49 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbIcsOprMngInfo.java @@ -0,0 +1,63 @@ +package com.icomsys.main_vm.db.jpa.entity.system; + +import com.icomsys.main_vm.db.jpa.entity.system.id.TbIcsOprMngInfoId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_ICS_OPR_MNG_INFO") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbIcsOprMngInfoId.class) +public class TbIcsOprMngInfo { + + @Id + @Column(name = "CUST_CODE", nullable = false, length = 40) + private String custCode; + @Id + @Column(name = "SERVICE_CODE", nullable = false, length = 40) + private String serviceGroup; + @Id + @Column(name = "OPR_MNG_CODE", nullable = false, length = 100) + private String oprMngCode; + @Id + @Column(name = "SOL_VAL", nullable = false, length = 40) + private String solVal; + @Column(name = "DTMF", nullable = true) + private int dtmf; + @Column(name = "ROUTE_URL", nullable = true, length = 200) + private String routeUrl; + @Column(name = "USE_YN", nullable = false, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + @Builder + public TbIcsOprMngInfo(String custCode, String serviceGroup, String oprMngCode, String solVal, int dtmf, String routeUrl, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.custCode = custCode; + this.serviceGroup = serviceGroup; + this.oprMngCode = oprMngCode; + this.solVal = solVal; + this.dtmf = dtmf; + this.routeUrl = routeUrl; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbServiceAuthGroup.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbServiceAuthGroup.java new file mode 100644 index 0000000..05636a0 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbServiceAuthGroup.java @@ -0,0 +1,76 @@ +package com.icomsys.main_vm.db.jpa.entity.system; + +import com.icomsys.main_vm.db.jpa.entity.system.id.TbServiceAuthGroupId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_SERVICE_AUTH_GROUP") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +public class TbServiceAuthGroup { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "AUTH_GROUP_SEQ", nullable = false) + private Long authGroupSeq; + @Column(name = "SERVICE_GROUP", nullable = false, length = 20) + private String serviceGroup; + @Column(name = "CUST_CODE", nullable = false, length = 20) + private String custCode; + @Column(name = "POLICY_GROUP_NAME", nullable = false, length = 50) + private String policyGroupName; + @Column(name = "POLICY_GROUP_DESC", nullable = true, length = 50) + private String policyGroupDesc; + @Column(name = "USE_YN", nullable = false, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + @Builder + public TbServiceAuthGroup(Long authGroupSeq, String serviceGroup, String custCode, String policyGroupName, String policyGroupDesc, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.authGroupSeq = authGroupSeq; + this.serviceGroup = serviceGroup; + this.custCode = custCode; + this.policyGroupName = policyGroupName; + this.policyGroupDesc = policyGroupDesc; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } + + public TbServiceAuthGroup TbServiceAuthGroupModify(TbServiceAuthGroup dto){ + + if(dto.authGroupSeq != null || !dto.authGroupSeq.equals("")){ + this.authGroupSeq = dto.authGroupSeq; + } + if(dto.policyGroupName != null || !dto.policyGroupName.equals("")){ + this.policyGroupName = dto.policyGroupName; + } + if(dto.policyGroupDesc != null || !dto.policyGroupDesc.equals("")){ + this.policyGroupDesc = dto.policyGroupDesc; + } + + this.updateId = dto.updateId; + this.updateDate = dto.updateDate; + + return this; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbServiceGrouop.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbServiceGrouop.java new file mode 100644 index 0000000..52fb927 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbServiceGrouop.java @@ -0,0 +1,105 @@ +package com.icomsys.main_vm.db.jpa.entity.system; + +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.system.vo.SystemCustSaveSubReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceGroupUpdateReq; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbServiceGrouopId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Table(name = "TB_SERVICE_GROUP") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbServiceGrouopId.class) +public class TbServiceGrouop { + + @Id + @Column(name = "SERVICE_GROUP", nullable = false, length = 20) + private String serviceGroup; + @Id + @Column(name = "SERVICE_GROUP_UPPER", nullable = false, length = 20) + private String serviceGroupUpper; + @Id + @Column(name = "CUST_CODE", nullable = false, length = 20) + private String custCode; + @Column(name = "SERVICE_TYPE", nullable = false, length = 1) + private String serviceType; + @Column(name = "SERVICE_GROUP_NAME", nullable = false, length = 50) + private String serviceGroupName; + @Column(name = "SERVICE_GROUP_DESC", nullable = true, length = 100) + private String serviceGroupDesc; + @Column(name = "USE_YN", nullable = false, length = 1) + private String useYn; + @Column(name = "REGIST_ID", nullable = false, length = 20) + private String registId; + @Column(name = "REGIST_DATE", nullable = false) + private LocalDateTime registDate; + @Column(name = "UPDATE_ID", nullable = true, length = 20) + private String updateId; + @Column(name = "UPDATE_DATE", nullable = true) + private LocalDateTime updateDate; + + @Builder + public TbServiceGrouop(String serviceGroup, String serviceGroupUpper, String custCode, String serviceType, String serviceGroupName, String serviceGroupDesc, String useYn, String registId, LocalDateTime registDate, String updateId, LocalDateTime updateDate) { + this.serviceGroup = serviceGroup; + this.serviceGroupUpper = serviceGroupUpper; + this.custCode = custCode; + this.serviceType = serviceType; + this.serviceGroupName = serviceGroupName; + this.serviceGroupDesc = serviceGroupDesc; + this.useYn = useYn; + this.registId = registId; + this.registDate = registDate; + this.updateId = updateId; + this.updateDate = updateDate; + } + + public TbServiceGrouop toUpdateMainService(SystemCustSaveSubReq dto, UserVo uv) { + if (dto.getAddServiceGroupName() != null && !dto.getAddServiceGroupName().equals("")) { + this.serviceGroupName = dto.getAddServiceGroupName(); + this.updateId = uv.getUserId(); + this.updateDate = LocalDateTime.now(); + } + if (dto.getAddServiceGroupDesc() != null && !dto.getAddServiceGroupDesc().equals("")) { + this.serviceGroupDesc = dto.getAddServiceGroupDesc(); + this.updateId = uv.getUserId(); + this.updateDate = LocalDateTime.now(); + } + if (dto.getAddUseYn() != null && !dto.getAddUseYn().equals("")) { + this.useYn = dto.getAddUseYn(); + this.updateId = uv.getUserId(); + this.updateDate = LocalDateTime.now(); + } + return this; + } + + public TbServiceGrouop toUpdateSubService(SystemServiceGroupUpdateReq dto, UserVo uv) { + if (dto.getSubServiceGroupName() != null && !dto.getSubServiceGroupName().equals("") && this.serviceGroupName != dto.getSubServiceGroupName()) { + this.serviceGroupName = dto.getSubServiceGroupName(); + this.updateId = uv.getUserId(); + this.updateDate = LocalDateTime.now(); + } + if (dto.getSubServiceGroupDesc() != null && !dto.getSubServiceGroupDesc().equals("") && this.serviceGroupDesc != dto.getSubServiceGroupDesc()) { + this.serviceGroupDesc = dto.getSubServiceGroupDesc(); + this.updateId = uv.getUserId(); + this.updateDate = LocalDateTime.now(); + } + if (dto.getSubUseYn() != null && !dto.getSubUseYn().equals("") && this.useYn != dto.getSubUseYn()) { + this.useYn = dto.getSubUseYn(); + this.updateId = uv.getUserId(); + this.updateDate = LocalDateTime.now(); + } + return this; + + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbServiceGroupPolicy.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbServiceGroupPolicy.java new file mode 100644 index 0000000..4ee464b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbServiceGroupPolicy.java @@ -0,0 +1,42 @@ +package com.icomsys.main_vm.db.jpa.entity.system; + + +import com.icomsys.main_vm.db.jpa.entity.system.id.TbServiceGroupPolicyId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; + +@Table(name = "TB_SERVICE_GROUP_POLICY") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbServiceGroupPolicyId.class) +public class TbServiceGroupPolicy { + + @Id + @Column(name = "AUTH_GROUP_SEQ", nullable = false) + private Long authGroupSeq; + @Id + @Column(name = "SERVICE_GROUP", nullable = false, length = 20) + private String serviceGroup; + @Id + @Column(name = "POLICY_VAL", nullable = false, length = 50) + private String policyVal; + @Id + @Column(name = "CUST_CODE", nullable = false, length = 20) + private String custCode; + + @Builder + public TbServiceGroupPolicy(Long authGroupSeq, String serviceGroup, String policyVal, String custCode) { + this.authGroupSeq = authGroupSeq; + this.serviceGroup = serviceGroup; + this.policyVal = policyVal; + this.custCode = custCode; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbUserAuthGroup.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbUserAuthGroup.java new file mode 100644 index 0000000..11451d1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbUserAuthGroup.java @@ -0,0 +1,41 @@ +package com.icomsys.main_vm.db.jpa.entity.system; + +import com.icomsys.main_vm.db.jpa.entity.system.id.TbUserAuthGroupId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; + +@Table(name = "TB_USER_AUTH_GROUP") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbUserAuthGroupId.class) +public class TbUserAuthGroup { + + @Id + @Column(name = "USER_SEQ", nullable = false) + private Long userSeq; + @Id + @Column(name = "AUTH_GROUP_SEQ", nullable = false) + private Long authGroupSeq; + @Id + @Column(name = "SERVICE_GROUP", nullable = false, length = 20) + private String serviceGroup; + @Id + @Column(name = "CUST_CODE", nullable = false, length = 20) + private String custCode; + + @Builder + public TbUserAuthGroup(Long userSeq, Long authGroupSeq, String serviceGroup, String custCode) { + this.userSeq = userSeq; + this.authGroupSeq = authGroupSeq; + this.serviceGroup = serviceGroup; + this.custCode = custCode; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbUserCust.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbUserCust.java new file mode 100644 index 0000000..cddd7ea --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/TbUserCust.java @@ -0,0 +1,40 @@ +package com.icomsys.main_vm.db.jpa.entity.system; + +import com.icomsys.main_vm.db.jpa.entity.system.id.TbUserCustId; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; + +@Table(name = "TB_USER_CUST") +@Entity +@Getter +@Setter +@NoArgsConstructor +@DynamicUpdate +@IdClass(TbUserCustId.class) +public class TbUserCust { + + @Id + @Column(name = "CUST_CODE", nullable = false, length = 20) + private String custCode; + @Id + @Column(name = "SERVICE_GROUP", nullable = false, length = 20) + private String serviceGroup; + @Id + @Column(name = "USER_SEQ", nullable = false) + private Long userSeq; +// @Id +// @Column(name = "LAST_USE_SERVICE_GROUP", nullable = false) +// private String lastUseServiceGroup; + + @Builder + public TbUserCust(String custCode, String serviceGroup, Long userSeq) { + this.custCode = custCode; + this.serviceGroup = serviceGroup; + this.userSeq = userSeq; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbBotCommonCodeId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbBotCommonCodeId.java new file mode 100644 index 0000000..5a07fb6 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbBotCommonCodeId.java @@ -0,0 +1,25 @@ +package com.icomsys.main_vm.db.jpa.entity.system.id; + +import lombok.*; + +import java.io.Serializable; + +@Getter +@Setter +@NoArgsConstructor +public class TbBotCommonCodeId implements Serializable { + + private String custCode; + private String minorCode; + private String majorCode; + private String oprMngCode; + + @Builder + public TbBotCommonCodeId(String custCode, String minorCode, String majorCode, String oprMngCode) { + this.custCode = custCode; + this.minorCode = minorCode; + this.majorCode = majorCode; + this.oprMngCode = oprMngCode; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbBotTtsTagId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbBotTtsTagId.java new file mode 100644 index 0000000..69b3a46 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbBotTtsTagId.java @@ -0,0 +1,23 @@ +package com.icomsys.main_vm.db.jpa.entity.system.id; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.io.Serializable; + +@Getter +@Setter +@NoArgsConstructor +public class TbBotTtsTagId implements Serializable { + + private String ttsProdCode; + private String tagCode; + + @Builder + public TbBotTtsTagId(String ttsProdCode, String tagCode) { + this.ttsProdCode = ttsProdCode; + this.tagCode = tagCode; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbBotUserId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbBotUserId.java new file mode 100644 index 0000000..6bf78fb --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbBotUserId.java @@ -0,0 +1,16 @@ + +package com.icomsys.main_vm.db.jpa.entity.system.id; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class TbBotUserId implements Serializable { + + private Long userSeq; + private String custCode; + private String lastUseServiceGroup; + private String roleVal; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbCustPolicyId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbCustPolicyId.java new file mode 100644 index 0000000..b8c48b5 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbCustPolicyId.java @@ -0,0 +1,22 @@ +package com.icomsys.main_vm.db.jpa.entity.system.id; + +import lombok.*; + +import java.io.Serializable; + +@Getter +@Setter +@NoArgsConstructor +public class TbCustPolicyId implements Serializable { + + private String serviceGroup; + private String policyVal; + private String custCode; + + @Builder + public TbCustPolicyId(String serviceGroup, String policyVal, String custCode) { + this.serviceGroup = serviceGroup; + this.policyVal = policyVal; + this.custCode = custCode; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbIcsOprMngInfoId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbIcsOprMngInfoId.java new file mode 100644 index 0000000..1f964ad --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbIcsOprMngInfoId.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm.db.jpa.entity.system.id; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class TbIcsOprMngInfoId implements Serializable { + + private String custCode; + private String serviceGroup; + private String oprMngCode; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbServiceAuthGroupId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbServiceAuthGroupId.java new file mode 100644 index 0000000..ed915a1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbServiceAuthGroupId.java @@ -0,0 +1,14 @@ +package com.icomsys.main_vm.db.jpa.entity.system.id; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class TbServiceAuthGroupId implements Serializable { + + private Long authGroupSeq; + private String serviceGroup; + private String custCode; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbServiceGrouopId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbServiceGrouopId.java new file mode 100644 index 0000000..3252fab --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbServiceGrouopId.java @@ -0,0 +1,14 @@ +package com.icomsys.main_vm.db.jpa.entity.system.id; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class TbServiceGrouopId implements Serializable { + + private String serviceGroup; + private String custCode; + private String serviceGroupUpper; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbServiceGroupPolicyId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbServiceGroupPolicyId.java new file mode 100644 index 0000000..ea021b7 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbServiceGroupPolicyId.java @@ -0,0 +1,23 @@ +package com.icomsys.main_vm.db.jpa.entity.system.id; + +import lombok.*; + +import java.io.Serializable; + +@Getter +@Setter +@NoArgsConstructor +public class TbServiceGroupPolicyId implements Serializable { + private Long authGroupSeq; + private String serviceGroup; + private String policyVal; + private String custCode; + + @Builder + public TbServiceGroupPolicyId(Long authGroupSeq, String serviceGroup, String policyVal, String custCode) { + this.authGroupSeq = authGroupSeq; + this.serviceGroup = serviceGroup; + this.policyVal = policyVal; + this.custCode = custCode; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbUserAuthGroupId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbUserAuthGroupId.java new file mode 100644 index 0000000..5d66a49 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbUserAuthGroupId.java @@ -0,0 +1,24 @@ +package com.icomsys.main_vm.db.jpa.entity.system.id; + +import lombok.*; + +import java.io.Serializable; + +@Getter +@Setter +@NoArgsConstructor +public class TbUserAuthGroupId implements Serializable { + + private Long userSeq; + private Long authGroupSeq; + private String serviceGroup; + private String custCode; + + @Builder + public TbUserAuthGroupId(Long userSeq, Long authGroupSeq, String serviceGroup, String custCode) { + this.userSeq = userSeq; + this.authGroupSeq = authGroupSeq; + this.serviceGroup = serviceGroup; + this.custCode = custCode; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbUserCustId.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbUserCustId.java new file mode 100644 index 0000000..8a6b3f7 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/entity/system/id/TbUserCustId.java @@ -0,0 +1,22 @@ +package com.icomsys.main_vm.db.jpa.entity.system.id; + +import lombok.*; + +import java.io.Serializable; + +@Getter +@Setter +@NoArgsConstructor +public class TbUserCustId implements Serializable { + + private String custCode; + private String serviceGroup; + private Long userSeq; + + @Builder + public TbUserCustId(String custCode, String serviceGroup, Long userSeq) { + this.custCode = custCode; + this.serviceGroup = serviceGroup; + this.userSeq = userSeq; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/conversation/TbProjectSettingRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/conversation/TbProjectSettingRepo.java new file mode 100644 index 0000000..b8761de --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/conversation/TbProjectSettingRepo.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.db.jpa.repo.conversation; + +import com.icomsys.main_vm.db.jpa.entity.conversation.TbProjectSetting; +import com.icomsys.main_vm.db.jpa.repo.conversation.dsl.TbProjectSettingRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.Optional; + +public interface TbProjectSettingRepo extends JpaRepository, TbProjectSettingRepoDsl { + + Optional findByOprMngCode(String serviceCode); + + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/conversation/dsl/TbProjectSettingRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/conversation/dsl/TbProjectSettingRepoDsl.java new file mode 100644 index 0000000..9d93f13 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/conversation/dsl/TbProjectSettingRepoDsl.java @@ -0,0 +1,17 @@ +package com.icomsys.main_vm.db.jpa.repo.conversation.dsl; + +import com.icomsys.main_vm.biz.rcp.conversation.vo.ProjectSettingVO; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SelectSimilarityCriteriaVO; +import com.icomsys.main_vm.biz.rcp.learningTest.vo.SelectProjectSettingInfoVO; + +import java.util.List; + +public interface TbProjectSettingRepoDsl { + + List selectSimilarityCriteria(String serviceGroup); + + void updateServiceInfo(ProjectSettingVO vo); + + SelectProjectSettingInfoVO selectProjectSettingInfo(String serviceGroup); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/conversation/dsl/TbProjectSettingRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/conversation/dsl/TbProjectSettingRepoDslImpl.java new file mode 100644 index 0000000..fd93f65 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/conversation/dsl/TbProjectSettingRepoDslImpl.java @@ -0,0 +1,82 @@ +package com.icomsys.main_vm.db.jpa.repo.conversation.dsl; + +import com.icomsys.main_vm.biz.rcp.conversation.vo.ProjectSettingVO; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SelectSimilarityCriteriaVO; +import com.icomsys.main_vm.biz.rcp.learningTest.vo.SelectProjectSettingInfoVO; +import com.icomsys.main_vm.db.jpa.entity.conversation.QTbProjectSetting; +import com.icomsys.main_vm.db.jpa.entity.system.QTbBotUser; +import com.icomsys.main_vm.db.jpa.entity.system.QTbIcsOprMngInfo; +import com.querydsl.core.types.Projections; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +import java.time.LocalDateTime; +import java.util.List; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbProjectSettingRepoDslImpl implements TbProjectSettingRepoDsl{ + + private final JPAQueryFactory queryFactory; + private QTbProjectSetting qTbProjectSetting = QTbProjectSetting.tbProjectSetting; + + @Override + public List selectSimilarityCriteria(String serviceGroup) { + var result = queryFactory.select(Projections.fields( + SelectSimilarityCriteriaVO.class, + qTbProjectSetting.oprMngCode, + qTbProjectSetting.similarityCriteria, + qTbProjectSetting.classCriteria, + qTbProjectSetting.classResultCriteria, + qTbProjectSetting.fallbackMsg, + qTbProjectSetting.greetingMsg + ) + ).from(qTbProjectSetting) + .where(qTbProjectSetting.oprMngCode.eq(serviceGroup)) + .fetch(); + + return result; + } + + public void updateServiceInfo(ProjectSettingVO vo){ + com.querydsl.jpa.impl.JPAUpdateClause query = null; + + query = queryFactory.update(qTbProjectSetting) + .set(qTbProjectSetting.similarityCriteria, vo.getSimilarityCriteria()) + .set(qTbProjectSetting.classCriteria, vo.getClassCriteria()) + .set(qTbProjectSetting.classResultCriteria, vo.getClassResultCriteria()) + .set(qTbProjectSetting.fallbackMsg, vo.getFallbackMsg()) + .set(qTbProjectSetting.greetingMsg, vo.getGreetingMsg()) + .set(qTbProjectSetting.updateId, vo.getUpdateId()) + .set(qTbProjectSetting.updateDate, LocalDateTime.now()) + .where(qTbProjectSetting.oprMngCode.eq(vo.getOprMngCode())); + query.execute(); + + } + + @Override + public SelectProjectSettingInfoVO selectProjectSettingInfo(String serviceGroup) { + var result = queryFactory.select(Projections.fields( + SelectProjectSettingInfoVO.class, + qTbProjectSetting.oprMngCode, + qTbProjectSetting.similarityCriteria, + qTbProjectSetting.classCriteria, + qTbProjectSetting.classResultCriteria, + qTbProjectSetting.fallbackMsg, + qTbProjectSetting.greetingMsg, + qTbProjectSetting.ifMappingId, + qTbProjectSetting.registId, + qTbProjectSetting.registDate, + qTbProjectSetting.updateId, + qTbProjectSetting.updateDate + ) + ).from(qTbProjectSetting) + .where(qTbProjectSetting.oprMngCode.eq(serviceGroup)) + .fetchOne(); + return result; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/learningTest/TbIntentTestRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/learningTest/TbIntentTestRepo.java new file mode 100644 index 0000000..c87f577 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/learningTest/TbIntentTestRepo.java @@ -0,0 +1,12 @@ +package com.icomsys.main_vm.db.jpa.repo.learningTest; + +import com.icomsys.main_vm.db.jpa.entity.learningTest.TbIntentTest; +import com.icomsys.main_vm.db.jpa.repo.learningTest.dsl.TbIntentTestDslRepo; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface TbIntentTestRepo extends JpaRepository, TbIntentTestDslRepo { + + Optional findByOprMngCode(String oprMngCode); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/learningTest/dsl/TbIntentTestDslRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/learningTest/dsl/TbIntentTestDslRepo.java new file mode 100644 index 0000000..f7025c1 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/learningTest/dsl/TbIntentTestDslRepo.java @@ -0,0 +1,10 @@ +package com.icomsys.main_vm.db.jpa.repo.learningTest.dsl; + +import com.icomsys.main_vm.biz.rcp.learningTest.vo.SelectIntentTestVO; + +import java.util.List; + +public interface TbIntentTestDslRepo { + + List selectIntentTestList (String oprMngCode); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/learningTest/dsl/TbIntentTestDslRepoImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/learningTest/dsl/TbIntentTestDslRepoImpl.java new file mode 100644 index 0000000..6327aef --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/learningTest/dsl/TbIntentTestDslRepoImpl.java @@ -0,0 +1,43 @@ +package com.icomsys.main_vm.db.jpa.repo.learningTest.dsl; + +import com.icomsys.main_vm.biz.rcp.learningTest.vo.SelectIntentTestVO; +import com.icomsys.main_vm.db.jpa.entity.learningTest.QTbIntentTest; +import com.querydsl.core.types.Projections; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +import java.util.List; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbIntentTestDslRepoImpl implements TbIntentTestDslRepo { + + private final JPAQueryFactory queryFactory; + private QTbIntentTest qTbIntentTest = QTbIntentTest.tbIntentTest; + + @Override + public List selectIntentTestList (String oprMngCode) { + + var result = queryFactory.select( + Projections.fields( + SelectIntentTestVO.class, + qTbIntentTest.seq, + qTbIntentTest.rowNum, + qTbIntentTest.uploadFileName, + qTbIntentTest.testCnt, + qTbIntentTest.updateId.as("testId"), + qTbIntentTest.updateDate.as("testDate"), + qTbIntentTest.testResult + ) + ) + .from(qTbIntentTest) + .where(qTbIntentTest.oprMngCode.eq(oprMngCode)) + .orderBy(qTbIntentTest.updateDate.desc()) + .fetch(); + + return result; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallBotLogRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallBotLogRepo.java new file mode 100644 index 0000000..d93029f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallBotLogRepo.java @@ -0,0 +1,8 @@ +package com.icomsys.main_vm.db.jpa.repo.monitoring; + +import com.icomsys.main_vm.db.jpa.entity.monitoring.TbCallBotLog; +import com.icomsys.main_vm.db.jpa.entity.monitoring.id.TbCallBotLogId; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface TbCallBotLogRepo extends JpaRepository { +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallBotRecRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallBotRecRepo.java new file mode 100644 index 0000000..7e34434 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallBotRecRepo.java @@ -0,0 +1,8 @@ +package com.icomsys.main_vm.db.jpa.repo.monitoring; + +import com.icomsys.main_vm.db.jpa.entity.monitoring.TbCallBotRec; +import com.icomsys.main_vm.db.jpa.entity.monitoring.id.TbCallRecId; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface TbCallBotRecRepo extends JpaRepository { +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallInfoRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallInfoRepo.java new file mode 100644 index 0000000..66d50d8 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallInfoRepo.java @@ -0,0 +1,8 @@ +package com.icomsys.main_vm.db.jpa.repo.monitoring; + +import com.icomsys.main_vm.db.jpa.entity.monitoring.TbCallInfo; +import com.icomsys.main_vm.db.jpa.entity.monitoring.id.TbCallInfoId; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface TbCallInfoRepo extends JpaRepository { +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallUserLogRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallUserLogRepo.java new file mode 100644 index 0000000..4b1f1c8 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallUserLogRepo.java @@ -0,0 +1,8 @@ +package com.icomsys.main_vm.db.jpa.repo.monitoring; + +import com.icomsys.main_vm.db.jpa.entity.monitoring.TbCallUserLog; +import com.icomsys.main_vm.db.jpa.entity.monitoring.id.TbCallUserLogId; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface TbCallUserLogRepo extends JpaRepository { +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallUserRecRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallUserRecRepo.java new file mode 100644 index 0000000..6548da8 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbCallUserRecRepo.java @@ -0,0 +1,9 @@ +package com.icomsys.main_vm.db.jpa.repo.monitoring; + +import com.icomsys.main_vm.db.jpa.entity.monitoring.TbCallBotRec; +import com.icomsys.main_vm.db.jpa.entity.monitoring.TbCallUserRec; +import com.icomsys.main_vm.db.jpa.entity.monitoring.id.TbCallRecId; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface TbCallUserRecRepo extends JpaRepository { +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbScenarioBreakNodeRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbScenarioBreakNodeRepo.java new file mode 100644 index 0000000..befca50 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/monitoring/TbScenarioBreakNodeRepo.java @@ -0,0 +1,8 @@ +package com.icomsys.main_vm.db.jpa.repo.monitoring; + +import com.icomsys.main_vm.db.jpa.entity.monitoring.TbScenarioBreakNode; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface TbScenarioBreakNodeRepo extends JpaRepository { + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/TbBgmMngRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/TbBgmMngRepo.java new file mode 100644 index 0000000..5cc5d2d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/TbBgmMngRepo.java @@ -0,0 +1,9 @@ +package com.icomsys.main_vm.db.jpa.repo.oprManage; + +import com.icomsys.main_vm.db.jpa.entity.oprManage.TbBgmMng; +import com.icomsys.main_vm.db.jpa.repo.oprManage.dsl.TbBgmMngDslRepo; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface TbBgmMngRepo extends JpaRepository, TbBgmMngDslRepo { + //List findByFileName(String searchKeyword); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/TbBotTtsTagRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/TbBotTtsTagRepo.java new file mode 100644 index 0000000..dbbd596 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/TbBotTtsTagRepo.java @@ -0,0 +1,10 @@ +package com.icomsys.main_vm.db.jpa.repo.oprManage; + +import com.icomsys.main_vm.db.jpa.entity.oprManage.TbBotTtsTag; +import com.icomsys.main_vm.db.jpa.repo.oprManage.dsl.TbBotTtsTagRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; + + +public interface TbBotTtsTagRepo extends JpaRepository, TbBotTtsTagRepoDsl { + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBgmMngDslRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBgmMngDslRepo.java new file mode 100644 index 0000000..76e6815 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBgmMngDslRepo.java @@ -0,0 +1,9 @@ +package com.icomsys.main_vm.db.jpa.repo.oprManage.dsl; + +import com.icomsys.main_vm.biz.rcp.oprManage.vo.OprManageBgmVO; +import com.icomsys.main_vm.db.mybatis.alias.OprManageBgmListVo; +import com.querydsl.core.QueryResults; + +public interface TbBgmMngDslRepo { + public QueryResults selectBgmList(OprManageBgmVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBgmMngDslRepoImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBgmMngDslRepoImpl.java new file mode 100644 index 0000000..be55a29 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBgmMngDslRepoImpl.java @@ -0,0 +1,38 @@ +package com.icomsys.main_vm.db.jpa.repo.oprManage.dsl; + +import com.icomsys.main_vm.biz.rcp.oprManage.vo.OprManageBgmVO; +import com.icomsys.main_vm.db.jpa.entity.oprManage.QTbBgmMng; +import com.icomsys.main_vm.db.mybatis.alias.OprManageBgmListVo; +import com.querydsl.core.QueryResults; +import com.querydsl.core.types.Projections; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbBgmMngDslRepoImpl implements TbBgmMngDslRepo { + + private final JPAQueryFactory queryFactory; + private QTbBgmMng qTbBgmMng = QTbBgmMng.tbBgmMng; + OprManageBgmListVo lvo = new OprManageBgmListVo(); + public QueryResults selectBgmList(OprManageBgmVO vo){ + var result = queryFactory.select( + Projections.fields( + OprManageBgmListVo.class, + qTbBgmMng.fileName, + qTbBgmMng.filePath, + qTbBgmMng.registId, + qTbBgmMng.registDate + ) + ) + .from(qTbBgmMng) + .where(qTbBgmMng.fileName.like("%".concat(vo.getSearchKeyword()).concat("%"))) + .fetchResults(); + + log.info("result : " + result.getResults()); + return result; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBotTtsTagRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBotTtsTagRepoDsl.java new file mode 100644 index 0000000..0b02341 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBotTtsTagRepoDsl.java @@ -0,0 +1,14 @@ +package com.icomsys.main_vm.db.jpa.repo.oprManage.dsl; + +import com.icomsys.main_vm.biz.common.system.vo.SystemBotTtsTagRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemBotTtsTagVo; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeRes; + +import java.util.List; + +public interface TbBotTtsTagRepoDsl { + + List selectTtsProdCodeList (String majorCode); + List selectTtsTagList (String custCode, String majorCode, String prodCode); + SystemBotTtsTagVo existsById(SystemBotTtsTagVo vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBotTtsTagRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBotTtsTagRepoDslImpl.java new file mode 100644 index 0000000..692c1c8 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/oprManage/dsl/TbBotTtsTagRepoDslImpl.java @@ -0,0 +1,83 @@ +package com.icomsys.main_vm.db.jpa.repo.oprManage.dsl; + +import com.icomsys.main_vm.biz.common.system.vo.SystemBotTtsTagRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemBotTtsTagVo; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeRes; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ProjectSettingVO; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbIcsLog; +import com.icomsys.main_vm.db.jpa.entity.oprManage.QTbBotTtsTag; +import com.icomsys.main_vm.db.jpa.entity.system.QTbBotCommonCode; +import com.querydsl.core.types.Projections; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +import java.time.LocalDateTime; +import java.util.List; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbBotTtsTagRepoDslImpl implements TbBotTtsTagRepoDsl { + + private final JPAQueryFactory queryFactory; + private QTbBotCommonCode qTbBotCommonCode = QTbBotCommonCode.tbBotCommonCode; + private QTbBotTtsTag qTbBotTtsTag = QTbBotTtsTag.tbBotTtsTag; + + @Override + public List selectTtsProdCodeList (String majorCode) { + List result = null; + result = queryFactory.select( + Projections.fields( + SystemCommoncodeRes.class, + qTbBotCommonCode.minorCode, + qTbBotCommonCode.codeName + ) + ) + .from(qTbBotCommonCode) + .where(qTbBotCommonCode.majorCode.eq(majorCode)) + .orderBy(qTbBotCommonCode.updateDate.desc()) + .fetch(); + + return result; + } + @Override + public List selectTtsTagList (String custCode, String majorCode, String prodCode) { + List result = null; + result = queryFactory.select( + Projections.fields( + SystemBotTtsTagRes.class, + qTbBotCommonCode.codeName, + qTbBotCommonCode.attribute1, + qTbBotCommonCode.attribute2, + qTbBotTtsTag.ttsStartTag, + qTbBotTtsTag.ttsEndTag, + qTbBotTtsTag.updateDate + ) + ) + .from(qTbBotCommonCode) + .leftJoin(qTbBotTtsTag) + .on(qTbBotCommonCode.minorCode.eq(qTbBotTtsTag.tagCode).and(qTbBotTtsTag.ttsProdCode.eq(prodCode))) + .where(qTbBotCommonCode.custCode.eq(custCode).and(qTbBotCommonCode.majorCode.eq(majorCode))) + .orderBy(qTbBotCommonCode.updateDate.desc()) + .fetch(); + + return result; + } + + @Override + public SystemBotTtsTagVo existsById(SystemBotTtsTagVo vo) { + return queryFactory.select( + Projections.fields(SystemBotTtsTagVo.class, + qTbBotTtsTag.registId, + qTbBotTtsTag.registDate + ) + ) + .from(qTbBotTtsTag) + .where(qTbBotTtsTag.ttsProdCode.eq(vo.getTtsProdCode()) + .and(qTbBotTtsTag.tagCode.eq(vo.getTagCode()))) + .fetchFirst(); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbApiNodeRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbApiNodeRepo.java new file mode 100644 index 0000000..4dfb1cc --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbApiNodeRepo.java @@ -0,0 +1,14 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario; + +import com.icomsys.main_vm.db.jpa.entity.scenario.TbApiNode; +import com.icomsys.main_vm.db.jpa.repo.scenario.dsl.TbApiNodeRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + +public interface TbApiNodeRepo extends JpaRepository, TbApiNodeRepoDsl { + List findByNodeNameContains(String apiNodeName); + + Optional findBySeqAndUseYn(Long seq, String useYn); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbCommonNodeRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbCommonNodeRepo.java new file mode 100644 index 0000000..7c38af6 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbCommonNodeRepo.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario; + +import com.icomsys.main_vm.db.jpa.entity.scenario.TbCommonNode; +import com.icomsys.main_vm.db.jpa.repo.scenario.dsl.TbCommonNodeRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface TbCommonNodeRepo extends JpaRepository, TbCommonNodeRepoDsl { + + Optional findBySeqAndUseYn(Long seq, String useYn); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbEntityMasterRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbEntityMasterRepo.java new file mode 100644 index 0000000..cc3adc3 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbEntityMasterRepo.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario; + +import com.icomsys.main_vm.db.jpa.entity.conversation.TbEntityMaster; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.transaction.annotation.Transactional; + +public interface TbEntityMasterRepo extends JpaRepository { + + @Transactional + @Modifying + @Query(value = "truncate TB_ENTITY_MASTER", nativeQuery = true) + void truncateEntityMaster(); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbLongtextManagerRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbLongtextManagerRepo.java new file mode 100644 index 0000000..0b14def --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbLongtextManagerRepo.java @@ -0,0 +1,15 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario; + +import com.icomsys.main_vm.db.jpa.entity.scenario.TbLongtextManager; +import com.icomsys.main_vm.db.jpa.entity.scenario.id.TbLongtextManagerId; +import com.icomsys.main_vm.db.jpa.repo.scenario.dsl.TbLongTextManagerDsl; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.HashMap; +import java.util.Optional; + +public interface TbLongtextManagerRepo extends JpaRepository, TbLongTextManagerDsl { +// Optional findById(int , Long , int ); + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioHistoryRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioHistoryRepo.java new file mode 100644 index 0000000..d58b3ef --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioHistoryRepo.java @@ -0,0 +1,10 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario; + +import com.icomsys.main_vm.db.jpa.entity.scenario.TbScenarioHistory; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface TbScenarioHistoryRepo extends JpaRepository { + List findByMasterSeqAndLastYn(Long masterSeq, String lastYN); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioMasterRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioMasterRepo.java new file mode 100644 index 0000000..e34a492 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioMasterRepo.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario; + +import com.icomsys.main_vm.db.jpa.entity.scenario.TbScenarioMaster; +import com.icomsys.main_vm.db.jpa.repo.scenario.dsl.TbScenarioManagerRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface TbScenarioMasterRepo extends JpaRepository, TbScenarioManagerRepoDsl { + + Optional findBySeqAndUseYn(Long seq, String useYn); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioRelatedIntentRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioRelatedIntentRepo.java new file mode 100644 index 0000000..444535c --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioRelatedIntentRepo.java @@ -0,0 +1,12 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario; + +import com.icomsys.main_vm.db.jpa.entity.scenario.TbScenarioRelatedIntent; +import com.icomsys.main_vm.db.jpa.entity.scenario.id.TbScenarioRelatedIntentId; +import com.icomsys.main_vm.db.jpa.repo.scenario.dsl.TbScenarioRelatedIntentRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface TbScenarioRelatedIntentRepo extends JpaRepository, TbScenarioRelatedIntentRepoDsl { + List findByScenarioSeqOrderByIntentSeq(Long scSeq); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioReleaseRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioReleaseRepo.java new file mode 100644 index 0000000..1596f07 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioReleaseRepo.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario; + +import com.icomsys.main_vm.db.jpa.entity.scenario.TbScenarioRelease; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + +public interface TbScenarioReleaseRepo extends JpaRepository { + TbScenarioRelease findByMasterSeqAndReleaseYn(Long masterSeq, String releaseYn); + TbScenarioRelease findTopByMasterSeqOrderByVersionDesc(Long masterSeq); + List findByIntentSeqAndReleaseYn(Long intentSeq, String releaseYn); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioTemplateRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioTemplateRepo.java new file mode 100644 index 0000000..9e72aa4 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/TbScenarioTemplateRepo.java @@ -0,0 +1,7 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario; + +import com.icomsys.main_vm.db.jpa.entity.scenario.TbScenarioTemplate; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface TbScenarioTemplateRepo extends JpaRepository { +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbApiNodeRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbApiNodeRepoDsl.java new file mode 100644 index 0000000..1078fc7 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbApiNodeRepoDsl.java @@ -0,0 +1,18 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario.dsl; + +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationApiNodeEditReq; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationApiNodeInfoReq; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationApiNodeInfoRes; +import com.querydsl.core.QueryResults; + +import java.util.HashMap; +import java.util.List; + +public interface TbApiNodeRepoDsl { + QueryResults searchApiNodeList(ConversationApiNodeInfoReq dto); + void updateApiNode(ConversationApiNodeEditReq dto); + + List selectApiNode(Long seq); + + void deleteApiNode(Long seq); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbApiNodeRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbApiNodeRepoDslImpl.java new file mode 100644 index 0000000..0b36b2e --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbApiNodeRepoDslImpl.java @@ -0,0 +1,140 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario.dsl; + +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationApiNodeEditReq; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationApiNodeInfoReq; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationApiNodeInfoRes; +import com.icomsys.main_vm.db.jpa.entity.scenario.QTbApiNode; +import com.icomsys.main_vm.db.jpa.entity.system.QTbIcsOprMngInfo; +import com.icomsys.main_vm.db.jpa.entity.system.QTbServiceGrouop; +import com.querydsl.core.QueryResults; +import com.querydsl.core.types.Projections; +import com.querydsl.core.types.dsl.BooleanExpression; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Name : TbApiNodeRepoDslImpl + * date : 2023-02-09 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-09 Mong 최초 생성 + */ +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbApiNodeRepoDslImpl implements TbApiNodeRepoDsl { + + private final JPAQueryFactory queryFactory; + + private QTbApiNode qTbApiNode = QTbApiNode.tbApiNode; + private QTbIcsOprMngInfo qTbIcsOprMngInfo = QTbIcsOprMngInfo.tbIcsOprMngInfo; + private QTbServiceGrouop qTbServiceGroup = QTbServiceGrouop.tbServiceGrouop; + + + private final LoginService loginService; + + @Override + public QueryResults searchApiNodeList(ConversationApiNodeInfoReq dto) { + + QueryResults result = + queryFactory.select( + Projections.fields( + ConversationApiNodeInfoRes.class, + qTbApiNode.seq, + qTbApiNode.nodeName, + qTbApiNode.updateDate, + qTbApiNode.updateId, + qTbApiNode.oprMngCode, + qTbServiceGroup.serviceGroupName + ) + ).from(qTbApiNode).innerJoin(qTbIcsOprMngInfo).on(qTbApiNode.oprMngCode.eq(qTbIcsOprMngInfo.oprMngCode)) + .innerJoin(qTbServiceGroup).on(qTbIcsOprMngInfo.serviceGroup.eq(qTbServiceGroup.serviceGroup)) + .where(scenarioNameEq(dto) + ,oprMngCodeEq(dto) + ,(qTbApiNode.useYn.eq("Y")) + ) + .fetchResults(); + return result; + } + + private BooleanExpression scenarioNameEq(ConversationApiNodeInfoReq dto) { + if (dto.getNodeName() == null || dto.getNodeName().equals("")) { + return null; + } else { + return qTbApiNode.nodeName.contains(dto.getNodeName()); + } + } + + private BooleanExpression oprMngCodeEq(ConversationApiNodeInfoReq dto) { + if (dto.getCustCode() == null || dto.getCustCode().equals("")) { + return null; + } else if (dto.getServiceGroup() == null || dto.getServiceGroup().equals("")) { + return null; + } else { + List oprMngCodes = new ArrayList<>(); + oprMngCodes.add(dto.getCustCode() + "_RCP_" + dto.getServiceGroup()); + + if (dto.isContainUpper()) { + oprMngCodes.add(dto.getCustCode() + "_RCP_" + dto.getServiceGroupUpper()); + } + return qTbApiNode.oprMngCode.in(oprMngCodes); + } + } + + @Override + public void updateApiNode(ConversationApiNodeEditReq dto) { + + String userId = loginService.getUserVo().getUserId(); + String oprMngCode = dto.getCustCode() + "_RCP_" + dto.getServiceGroup(); + var query = queryFactory.update(qTbApiNode) + .set(qTbApiNode.nodeName, dto.getNodeName()) + .set(qTbApiNode.updateDate, LocalDateTime.now()) + .set(qTbApiNode.updateId, userId) + .set(qTbApiNode.oprMngCode, oprMngCode) + .where(qTbApiNode.seq.eq(dto.getSeq()).and(qTbApiNode.useYn.eq("Y"))); + query.execute(); + } + + @Override + public List selectApiNode(Long seq) { + + var query = queryFactory.select( + Projections.fields( + ConversationApiNodeInfoRes.class, + qTbApiNode.nodeName, + qTbApiNode.seq, + qTbApiNode.updateId, + qTbApiNode.updateDate, + qTbApiNode.oprMngCode + ) + ).from(qTbApiNode) + .where(qTbApiNode.seq.eq(seq).and(qTbApiNode.useYn.eq("Y"))) + .fetch(); + + return query; + + } + + @Override + public void deleteApiNode(Long seq) { + String userId = loginService.getUserVo().getUserId(); + var query = queryFactory.update(qTbApiNode) + .set(qTbApiNode.useYn, "N") + .set(qTbApiNode.updateDate, LocalDateTime.now()) + .set(qTbApiNode.updateId, userId) + .where(qTbApiNode.seq.eq(seq)); + query.execute(); + + + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbCommonNodeRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbCommonNodeRepoDsl.java new file mode 100644 index 0000000..526ce6b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbCommonNodeRepoDsl.java @@ -0,0 +1,20 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario.dsl; + +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationCmmNodeEditReq; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationCmmNodeInfoReq; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationCmmNodeInfoRes; +import com.querydsl.core.QueryResults; + +import java.util.HashMap; +import java.util.List; + +public interface TbCommonNodeRepoDsl { + + QueryResults serachCmmNodeList(ConversationCmmNodeInfoReq dto); + + void updateCmmNode(ConversationCmmNodeEditReq dto); + + List selectCmmNode(Long seq); + + void deleteCmmNode(Long seq); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbCommonNodeRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbCommonNodeRepoDslImpl.java new file mode 100644 index 0000000..2f295d5 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbCommonNodeRepoDslImpl.java @@ -0,0 +1,127 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario.dsl; + +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.rcp.conversation.vo.*; +import com.icomsys.main_vm.db.jpa.entity.scenario.QTbCommonNode; +import com.querydsl.core.QueryResults; +import com.querydsl.core.types.Projections; +import com.querydsl.core.types.dsl.BooleanExpression; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Name : TbCommonNodeRepoDslImpl + * date : 2023-02-13 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-13 Mong 최초 생성 + */ +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbCommonNodeRepoDslImpl implements TbCommonNodeRepoDsl{ + + private final JPAQueryFactory queryFactory; + + private QTbCommonNode qTbCommonNode = QTbCommonNode.tbCommonNode; + + private final LoginService loginService; + + @Override + public QueryResults serachCmmNodeList(ConversationCmmNodeInfoReq dto) { + + QueryResults result = + queryFactory.select( + Projections.fields( + ConversationCmmNodeInfoRes.class, + qTbCommonNode.seq, + qTbCommonNode.nodeName, + qTbCommonNode.updateDate, + qTbCommonNode.updateId + ) + ).from(qTbCommonNode) + .where(scenarioNameEq(dto) + ,oprMngCodeEq(dto) + ,(qTbCommonNode.useYn.eq("Y")) + ) + .fetchResults(); + return result; + } + + @Override + public void updateCmmNode(ConversationCmmNodeEditReq dto) { + + String userId = loginService.getUserVo().getUserId(); + String oprMngCode = dto.getCustCode() + "_RCP_" + dto.getServiceGroup(); + var query = queryFactory.update(qTbCommonNode) + .set(qTbCommonNode.nodeName, dto.getNodeName()) + .set(qTbCommonNode.updateDate, LocalDateTime.now()) + .set(qTbCommonNode.updateId, userId) + .set(qTbCommonNode.oprMngCode, oprMngCode) + .where(qTbCommonNode.seq.eq(dto.getSeq()).and(qTbCommonNode.useYn.eq("Y"))); + query.execute(); + + } + + private BooleanExpression scenarioNameEq(ConversationCmmNodeInfoReq dto) { + if (dto.getNodeName() == null || dto.getNodeName().equals("")) { + return null; + } else { + return qTbCommonNode.nodeName.contains(dto.getNodeName()); + } + } + + private BooleanExpression oprMngCodeEq(ConversationCmmNodeInfoReq dto) { + if (dto.getCustCode() == null || dto.getCustCode().equals("")) { + return null; + } else if (dto.getServiceGroup() == null || dto.getServiceGroup().equals("")) { + return null; + } else { + List oprMngCodes = new ArrayList<>(); + oprMngCodes.add(dto.getCustCode() + "_RCP_" + dto.getServiceGroup()); + + if (dto.isContainUpper()) { + oprMngCodes.add(dto.getCustCode() + "_RCP_" + dto.getServiceGroupUpper()); + } + return qTbCommonNode.oprMngCode.in(oprMngCodes); + } + } + + @Override + public List selectCmmNode(Long seq) { + var query = queryFactory.select( + Projections.fields( + ConversationCmmNodeInfoRes.class, + qTbCommonNode.nodeName, + qTbCommonNode.seq, + qTbCommonNode.updateId, + qTbCommonNode.updateDate + ) + ).from(qTbCommonNode) + .where(qTbCommonNode.seq.eq(seq).and(qTbCommonNode.useYn.eq("Y"))) + .fetch(); + + return query; + } + + @Override + public void deleteCmmNode(Long seq) { + String userId = loginService.getUserVo().getUserId(); + var query = queryFactory.update(qTbCommonNode) + .set(qTbCommonNode.useYn, "N") + .set(qTbCommonNode.updateDate, LocalDateTime.now()) + .set(qTbCommonNode.updateId, userId) + .where(qTbCommonNode.seq.eq(seq)); + query.execute(); + + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbLongTextManagerDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbLongTextManagerDsl.java new file mode 100644 index 0000000..f502b8a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbLongTextManagerDsl.java @@ -0,0 +1,14 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario.dsl; + +import com.icomsys.main_vm.biz.rcp.conversation.vo.LongtextManagerVO; + +import java.util.HashMap; +import java.util.List; + +public interface TbLongTextManagerDsl { + + void updateApiLongTextManager(LongtextManagerVO vo); + + List selectLongTextManager(LongtextManagerVO vo); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbLongTextManagerDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbLongTextManagerDslImpl.java new file mode 100644 index 0000000..af2b9e4 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbLongTextManagerDslImpl.java @@ -0,0 +1,68 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario.dsl; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.common.login.service.LoginService; +import com.icomsys.main_vm.biz.rcp.conversation.vo.LongtextManagerVO; +import com.icomsys.main_vm.db.jpa.entity.scenario.QTbApiNode; +import com.icomsys.main_vm.db.jpa.entity.scenario.QTbLongtextManager; +import com.querydsl.core.types.Projections; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +import java.util.HashMap; +import java.util.List; + +/** + * Name : TbLongTextManagerDslImpl + * date : 2023-02-09 + * author : Mong + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-02-09 Mong 최초 생성 + */ +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbLongTextManagerDslImpl implements TbLongTextManagerDsl{ + + private final JPAQueryFactory queryFactory; + + private QTbLongtextManager qTbLongtextManager = QTbLongtextManager.tbLongtextManager; + + private QTbApiNode qTbApiNode = QTbApiNode.tbApiNode; + + @Override + public void updateApiLongTextManager(LongtextManagerVO vo) { + var query = queryFactory.update(qTbLongtextManager) + .set(qTbLongtextManager.textContents, vo.getTextContents()) + .set(qTbLongtextManager.checksum, vo.getChecksum()) + .where(qTbLongtextManager.rfSeq.eq(vo.getRfSeq()) + .and(qTbLongtextManager.tableCode.eq(vo.getTableCode()) + .and(qTbLongtextManager.columnCode.eq(vo.getColumnCode()))) + ); + query.execute(); + } + + @Override + public List selectLongTextManager(LongtextManagerVO vo) { + var query = queryFactory.select( + Projections.fields( + LongtextManagerVO.class, + qTbLongtextManager.textContents + ) + ).from(qTbLongtextManager) + .leftJoin(qTbLongtextManager).on(qTbApiNode.seq.eq(qTbLongtextManager.rfSeq)) + .where(qTbLongtextManager.rfSeq.eq(vo.getRfSeq()) + .and(qTbLongtextManager.columnCode.eq(vo.getColumnCode())) + .and(qTbLongtextManager.tableCode.eq(vo.getTableCode())) + ).fetch(); + + return query; + + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioManagerRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioManagerRepoDsl.java new file mode 100644 index 0000000..31fd583 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioManagerRepoDsl.java @@ -0,0 +1,11 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario.dsl; + +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioManagerRes; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioManagerSearchReq; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioReleaseRes; +import com.querydsl.core.QueryResults; + +public interface TbScenarioManagerRepoDsl { + QueryResults searchScenarioList(ConversationScenarioManagerSearchReq dto); + QueryResults searchScenarioReleaseList(ConversationScenarioManagerSearchReq dto); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioManagerRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioManagerRepoDslImpl.java new file mode 100644 index 0000000..54cafc3 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioManagerRepoDslImpl.java @@ -0,0 +1,122 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario.dsl; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioManagerRes; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioManagerSearchReq; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioReleaseRes; +import com.icomsys.main_vm.db.jpa.entity.conversation.QTbIntentMaster; +import com.icomsys.main_vm.db.jpa.entity.scenario.QTbScenarioMaster; +import com.icomsys.main_vm.db.jpa.entity.scenario.QTbScenarioRelatedIntent; +import com.icomsys.main_vm.db.jpa.entity.scenario.QTbScenarioRelease; +import com.icomsys.main_vm.db.jpa.entity.system.QTbBotUser; +import com.querydsl.core.QueryResults; +import com.querydsl.core.types.ExpressionUtils; +import com.querydsl.core.types.Projections; +import com.querydsl.core.types.dsl.BooleanExpression; +import com.querydsl.core.types.dsl.Expressions; +import com.querydsl.jpa.JPAExpressions; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbScenarioManagerRepoDslImpl implements TbScenarioManagerRepoDsl { + private final JPAQueryFactory queryFactory; + + private QTbScenarioMaster qTbScenarioMaster = QTbScenarioMaster.tbScenarioMaster; + private QTbScenarioRelease qTbScenarioRelease = QTbScenarioRelease.tbScenarioRelease; + private QTbScenarioRelatedIntent qTbScenarioRelatedIntent = QTbScenarioRelatedIntent.tbScenarioRelatedIntent; + private QTbIntentMaster qTbIntentMaster = QTbIntentMaster.tbIntentMaster; + private QTbBotUser qTbBotUser = QTbBotUser.tbBotUser; + + @Override + public QueryResults searchScenarioList(ConversationScenarioManagerSearchReq dto) { + log.info(new Gson().toJson(dto)); + QueryResults result = + queryFactory.select( + Projections.fields( + ConversationScenarioManagerRes.class, + qTbScenarioMaster.seq, + qTbScenarioMaster.scenarioName, + qTbBotUser.userName.as("updateName"), + qTbScenarioMaster.updateDate, + qTbScenarioRelease.version, + ExpressionUtils.as( + JPAExpressions.select(Expressions.stringTemplate("group_concat({0})", qTbIntentMaster.intentName)) + .from(qTbScenarioRelatedIntent) + .innerJoin(qTbIntentMaster).on(qTbScenarioRelatedIntent.intentSeq.eq(qTbIntentMaster.seq)) + .where(qTbScenarioRelatedIntent.scenarioSeq.eq(qTbScenarioMaster.seq)), + "relatedIntents") + ) + ) + .from(qTbScenarioMaster) + .leftJoin(qTbScenarioRelease).on(qTbScenarioMaster.seq.eq(qTbScenarioRelease.masterSeq)) + .innerJoin(qTbBotUser).on(qTbScenarioMaster.updateId.eq(qTbBotUser.userId)) + .where( oprMngCodeEq(dto) + , scenarioNameEq(dto) + , qTbScenarioMaster.useYn.eq("Y") + , qTbScenarioRelease.releaseYn.eq("Y") + .or(qTbScenarioRelease.releaseYn.isNull()) + ) + .limit(dto.getSize()) + .offset(dto.getPage() * dto.getSize()) + .orderBy(qTbScenarioMaster.updateDate.desc()) + .fetchResults(); + + return result; + } + + private BooleanExpression scenarioNameEq(ConversationScenarioManagerSearchReq dto) { + if (dto.getScenarioName() == null || dto.getScenarioName().equals("")) { + return null; + } else { + return qTbScenarioMaster.scenarioName.contains(dto.getScenarioName()); + } + } + + private BooleanExpression oprMngCodeEq(ConversationScenarioManagerSearchReq dto) { + if (dto.getCustCode() == null || dto.getCustCode().equals("")) { + return null; + } else if (dto.getServiceGroup() == null || dto.getServiceGroup().equals("")) { + return null; + } else { + return qTbScenarioMaster.oprMngCode.eq(dto.getCustCode() + "_RCP_" + dto.getServiceGroup()); + } + } + + @Override + public QueryResults searchScenarioReleaseList(ConversationScenarioManagerSearchReq dto){ + log.info(new Gson().toJson(dto)); + QueryResults result = + queryFactory.select( + Projections.fields( + ConversationScenarioReleaseRes.class, + qTbScenarioRelease.seq, + qTbScenarioRelease.version, + qTbScenarioRelease.releaseYn, + qTbBotUser.userName.as("registName"), + qTbScenarioRelease.registDate + ) + ) + .from(qTbScenarioRelease) + .leftJoin(qTbBotUser).on(qTbScenarioRelease.registId.eq(qTbBotUser.userId)) + .where( scenarioReleaseMasterSeqEq(dto)) + .limit(dto.getSize()) + .offset(dto.getPage() * dto.getSize()) + .orderBy(qTbScenarioRelease.version.desc()) + .fetchResults(); + return result; + } + + private BooleanExpression scenarioReleaseMasterSeqEq(ConversationScenarioManagerSearchReq dto) { + if (dto.getScenarioMasterSeq() == null ) { // masterSeq가 없을 경우 -1로 조회하여 조회결과 없도록 처리 + return qTbScenarioRelease.masterSeq.eq(-1L); + } else { + return qTbScenarioRelease.masterSeq.eq(dto.getScenarioMasterSeq()); + } + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioRelatedIntentRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioRelatedIntentRepoDsl.java new file mode 100644 index 0000000..6be8328 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioRelatedIntentRepoDsl.java @@ -0,0 +1,10 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario.dsl; + + +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioMasterVO; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioRelatedIntentVO; +import com.querydsl.core.QueryResults; + +public interface TbScenarioRelatedIntentRepoDsl { + QueryResults findRelatedIntentList(ConversationScenarioMasterVO dto); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioRelatedIntentRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioRelatedIntentRepoDslImpl.java new file mode 100644 index 0000000..a951752 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/scenario/dsl/TbScenarioRelatedIntentRepoDslImpl.java @@ -0,0 +1,44 @@ +package com.icomsys.main_vm.db.jpa.repo.scenario.dsl; + +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioMasterVO; +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioRelatedIntentVO; +import com.icomsys.main_vm.db.jpa.entity.conversation.QTbIntentMaster; +import com.icomsys.main_vm.db.jpa.entity.scenario.QTbScenarioMaster; +import com.icomsys.main_vm.db.jpa.entity.scenario.QTbScenarioRelatedIntent; +import com.icomsys.main_vm.db.jpa.entity.scenario.QTbScenarioRelease; +import com.querydsl.core.QueryResults; +import com.querydsl.core.types.Projections; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbScenarioRelatedIntentRepoDslImpl implements TbScenarioRelatedIntentRepoDsl { + private final JPAQueryFactory queryFactory; + + private QTbScenarioRelatedIntent qTbScenarioRelatedIntent = QTbScenarioRelatedIntent.tbScenarioRelatedIntent; + private QTbIntentMaster qTbIntentMaster = QTbIntentMaster.tbIntentMaster; + + @Override + public QueryResults findRelatedIntentList(ConversationScenarioMasterVO dto){ + QueryResults result = + queryFactory.select( + Projections.fields( + ConversationScenarioRelatedIntentVO.class, + qTbScenarioRelatedIntent.scenarioSeq, + qTbScenarioRelatedIntent.intentSeq, + qTbIntentMaster.intentName + ) + + ) + .from(qTbScenarioRelatedIntent) + .innerJoin(qTbIntentMaster).on(qTbScenarioRelatedIntent.intentSeq.eq(qTbIntentMaster.seq)) + .where(qTbScenarioRelatedIntent.scenarioSeq.eq(dto.getSeq())) + .fetchResults(); + + return result; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbBotCommonCodeRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbBotCommonCodeRepo.java new file mode 100644 index 0000000..e00ba3a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbBotCommonCodeRepo.java @@ -0,0 +1,22 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.entity.system.TbBotCommonCode; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbBotCommonCodeId; +import com.icomsys.main_vm.db.jpa.repo.system.dsl.TbBotCommonCodeRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface TbBotCommonCodeRepo extends JpaRepository, TbBotCommonCodeRepoDsl { + + boolean existsByOprMngCodeAndMajorCodeAndMinorCode(String opr, String ma, String mi); + + List findByOprMngCodeAndMajorCode(String opr, String major); + List findByMajorCodeAndOprMngCodeOrderByCodeNameAsc(String major, String oprMgr); + List findByMajorCode(String custName); + + List findByCustCodeAndMajorCodeAndOprMngCodeOrderByCodeNameAsc(String custCode, String major, String oprMngCode); + + List findByCustCodeAndMajorCode(String custCode, String major); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbBotUserRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbBotUserRepo.java new file mode 100644 index 0000000..8fb0e63 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbBotUserRepo.java @@ -0,0 +1,47 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.entity.system.TbBotUser; +import com.icomsys.main_vm.db.jpa.repo.system.dsl.TbBotUserRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Optional; + +public interface TbBotUserRepo extends JpaRepository, TbBotUserRepoDsl { + + Optional findByUserId(String userId); + Optional findByUserSeq(Long userSeq); + boolean existsByUserId(String userId); + Optional findByUserIdAndUseYn(String userId, String useYn); + Optional findByUserIdAndPasswordAndUseYn(String userId, String pass, String useYn); + boolean existsByUserIdAndPasswordAndUseYn(String userId, String pass, String useYn); + Optional findByUserSeqAndUseYn(Long seq, String use); + + List findByCustCodeAndUseYn(String custCode, String yn); + + @Modifying + @Transactional + @Query( + value = "UPDATE TB_BOT_USER " + + "SET LOGIN_CHECK = LOGIN_CHECK + 1 " + + "WHERE USER_ID = :userId " +// "AND SOLUTION_CODE = 'VM'" + , nativeQuery = true + ) + int loginFail(@Param("userId") String userId); + + @Modifying + @Transactional + @Query( + value = "UPDATE TB_BOT_USER " + + "SET USE_Yn = :useYn " + + "WHERE USER_ID = :userId " +// "AND SOLUTION_CODE = 'VM'" + , nativeQuery = true + ) + void jpqlUesYn(@Param("userId") String userId, @Param("useYn") String useYn); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbCustPolicyRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbCustPolicyRepo.java new file mode 100644 index 0000000..32cd08f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbCustPolicyRepo.java @@ -0,0 +1,24 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.entity.system.TbCustPolicy; +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGroupPolicy; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbCustPolicyId; +import com.icomsys.main_vm.db.jpa.repo.system.dsl.TbCustPolicyRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +public interface TbCustPolicyRepo extends JpaRepository , TbCustPolicyRepoDsl { + + + List findByCustCode(String cust); + List findByServiceGroup(String serviceGroup); + List findByServiceGroupIn(List serviceGroup); + + void deleteByServiceGroupInAndPolicyValIn(List service, List delpol); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIcsCustInfoRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIcsCustInfoRepo.java new file mode 100644 index 0000000..0c3bc4d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIcsCustInfoRepo.java @@ -0,0 +1,14 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.entity.system.TbIcsCustInfo; +import com.icomsys.main_vm.db.jpa.repo.system.dsl.TbIcsCustInfoRepoDsl; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface TbIcsCustInfoRepo extends JpaRepository , TbIcsCustInfoRepoDsl { + + Pageable findAllBy(PageRequest dto); + boolean existsByCustCode(String custCode); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIcsLogRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIcsLogRepo.java new file mode 100644 index 0000000..ee7a7bc --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIcsLogRepo.java @@ -0,0 +1,9 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.entity.conversation.TbIcsLog; +import com.icomsys.main_vm.db.jpa.entity.conversation.id.TbIcsLogId; +import com.icomsys.main_vm.db.jpa.repo.system.dsl.TbIcsLogDsl; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface TbIcsLogRepo extends JpaRepository, TbIcsLogDsl { +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIcsOprMngInfoRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIcsOprMngInfoRepo.java new file mode 100644 index 0000000..4e92687 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIcsOprMngInfoRepo.java @@ -0,0 +1,11 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.entity.system.TbIcsOprMngInfo; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbIcsOprMngInfoId; +import com.icomsys.main_vm.db.jpa.repo.system.dsl.TbIcsOprMngInfoRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface TbIcsOprMngInfoRepo extends JpaRepository , TbIcsOprMngInfoRepoDsl { + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIntentExampleRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIntentExampleRepo.java new file mode 100644 index 0000000..8111180 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIntentExampleRepo.java @@ -0,0 +1,19 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.entity.conversation.TbIntentExample; +import com.icomsys.main_vm.db.jpa.entity.conversation.id.TbIntentExampleId; +import com.icomsys.main_vm.db.jpa.repo.system.dsl.TbIntentExampleRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + +public interface TbIntentExampleRepo extends JpaRepository, TbIntentExampleRepoDsl { + + List findByIntentSeqAndUseYn(Long intentSeq, String use); + List findByIntentSeq(Long seq); + + +// Optional findBySeq(Object seq); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIntentMasterRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIntentMasterRepo.java new file mode 100644 index 0000000..c032d24 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbIntentMasterRepo.java @@ -0,0 +1,28 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.entity.conversation.TbIntentMaster; +import com.icomsys.main_vm.db.jpa.repo.system.dsl.TbIntentMasterRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +public interface TbIntentMasterRepo extends JpaRepository, TbIntentMasterRepoDsl { + + List findByUseYnAndOprMngCode(String use, String opr); + + @Modifying + @Transactional + @Query( + value = "UPDATE TB_INTENT_MASTER " + + "set USE_YN = :useYn " + + "where SEQ = :seq " + ,nativeQuery = true + ) + int deleteDictionary(@Param("useYn") String useYn, @Param("seq") Long seq); + + boolean existsByIntentNameAndUseYn(String intentName, String use); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbServiceAuthGroupRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbServiceAuthGroupRepo.java new file mode 100644 index 0000000..839259b --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbServiceAuthGroupRepo.java @@ -0,0 +1,18 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceAuthGroup; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbServiceAuthGroupId; +import com.icomsys.main_vm.db.jpa.repo.system.dsl.TbServiceAuthGroupRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + +public interface TbServiceAuthGroupRepo extends JpaRepository , TbServiceAuthGroupRepoDsl { + + List findByServiceGroup(String serviceGroup); + + Optional findByAuthGroupSeq(Long seq); + + List findByCustCodeAndServiceGroup(String cust, String service); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbServiceGrouopRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbServiceGrouopRepo.java new file mode 100644 index 0000000..ab35d82 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbServiceGrouopRepo.java @@ -0,0 +1,26 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGrouop; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbServiceGrouopId; +import com.icomsys.main_vm.db.jpa.repo.system.dsl.TbServiceGrouopRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + +public interface TbServiceGrouopRepo extends JpaRepository, TbServiceGrouopRepoDsl { + + List findByServiceGroupIn(List service); + List findByServiceGroupInAndServiceGroupUpper(List service, String lastService); + Optional findByServiceGroup(String serviceGroup); + List findByServiceGroupUpperAndServiceType(String serviceGroup, String type); + List findByServiceGroupUpper(String serviceGroup); + boolean existsByCustCodeAndServiceGroup(String custCode, String service); + List findByServiceType(String type); + boolean existsByServiceGroup(String service); + List findByCustCodeAndServiceType(String cust,String type); + List findByCustCode(String cust); + Optional findByServiceGroupAndCustCode(String service, String cust); + TbServiceGrouop findByCustCodeAndServiceGroup(String custCode, String service); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbServiceGroupPolicyRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbServiceGroupPolicyRepo.java new file mode 100644 index 0000000..12315b4 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbServiceGroupPolicyRepo.java @@ -0,0 +1,18 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.entity.system.TbServiceGroupPolicy; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbServiceGroupPolicyId; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface TbServiceGroupPolicyRepo extends JpaRepository { + + List findByAuthGroupSeq(Long seq); + void deleteByServiceGroupInAndPolicyValIn(List service, List delpol); + void deleteByServiceGroupAndPolicyValIn(String service, List delpol); + void deleteByAuthGroupSeqAndPolicyValIn(Long authSeq, List delpol); + boolean existsByAuthGroupSeq(Long seq); + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbSynonymMasterRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbSynonymMasterRepo.java new file mode 100644 index 0000000..1d44d2c --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbSynonymMasterRepo.java @@ -0,0 +1,30 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.repo.system.dsl.TbSynonymMasterRepoDsl; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbSynonymMaster; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.List; +import java.util.Optional; + +public interface TbSynonymMasterRepo extends JpaRepository, TbSynonymMasterRepoDsl { + + List findByUseYnAndOprMngCode(String use, String opr); + + /* @Modifying + @Transactional + @Query( + value = "UPDATE TB_SYNONYM_MASTER " + + "set USE_YN = 'N' " + + "where SEQ = :seq " + , nativeQuery = true + )*/ + //int deleteSynonym(@Param("seq") HashMap eMap); + boolean existsBySeq(Long seq); + Optional findBySeq(Long seq); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbSynonymWordRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbSynonymWordRepo.java new file mode 100644 index 0000000..b791f07 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbSynonymWordRepo.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.entity.conversation.TbIntentExample; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbSynonymWord; +import com.icomsys.main_vm.db.jpa.repo.system.dsl.TbSynonymWordRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + +public interface TbSynonymWordRepo extends JpaRepository, TbSynonymWordRepoDsl { + + Optional findBySynonymWordAndOprMngCode(String synonymWord, String serviceCode); + + List findByMasterSeqAndUseYn(Long seq, String useYn); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbUserAuthGroupRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbUserAuthGroupRepo.java new file mode 100644 index 0000000..3fe37ff --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbUserAuthGroupRepo.java @@ -0,0 +1,25 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.entity.system.TbBotUser; +import com.icomsys.main_vm.db.jpa.entity.system.TbUserAuthGroup; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbUserAuthGroupId; +import com.icomsys.main_vm.db.jpa.repo.system.dsl.TbUserAuthGroupRepoDsl; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + +public interface TbUserAuthGroupRepo extends JpaRepository, TbUserAuthGroupRepoDsl { + + boolean existsByAuthGroupSeq(Long authGroupSeq); + + boolean existsByServiceGroupAndUserSeqAndAuthGroupSeqNot(String service, Long userSeq, Long authSeq); + + + List findByAuthGroupSeq(Long authGroupSeq); + + List findByUserSeq(Long userSeq); + + List findByUserSeqAndServiceGroupAndCustCode(Long user, String service, String cust); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbUserCustRepo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbUserCustRepo.java new file mode 100644 index 0000000..0aa8e02 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/TbUserCustRepo.java @@ -0,0 +1,14 @@ +package com.icomsys.main_vm.db.jpa.repo.system; + +import com.icomsys.main_vm.db.jpa.entity.system.TbUserCust; +import com.icomsys.main_vm.db.jpa.entity.system.id.TbUserCustId; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface TbUserCustRepo extends JpaRepository { + + List findByUserSeqAndServiceGroup(Long seq, String lastService); + List findByUserSeq(Long seq); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotCommonCodeRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotCommonCodeRepoDsl.java new file mode 100644 index 0000000..caeb96f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotCommonCodeRepoDsl.java @@ -0,0 +1,11 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeRes; +import com.querydsl.core.QueryResults; + +public interface TbBotCommonCodeRepoDsl { + QueryResults SystemCommoncodeList(SystemCommoncodeReq dto); + QueryResults SystemCommoncodeCallNumList(SystemCommoncodeReq dto); + QueryResults SystemCommoncodeProductList(SystemCommoncodeReq dto); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotCommonCodeRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotCommonCodeRepoDslImpl.java new file mode 100644 index 0000000..724cf35 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotCommonCodeRepoDslImpl.java @@ -0,0 +1,187 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemCommoncodeRes; +import com.icomsys.main_vm.common.code.enumresource.RoleResource; +import com.icomsys.main_vm.db.jpa.entity.system.QTbBotCommonCode; +import com.icomsys.main_vm.db.jpa.entity.system.QTbIcsOprMngInfo; +import com.icomsys.main_vm.db.jpa.entity.system.QTbServiceGrouop; +import com.icomsys.main_vm.db.jpa.entity.system.QTbUserCust; +import com.querydsl.core.QueryResults; +import com.querydsl.core.types.Projections; +import com.querydsl.core.types.dsl.BooleanExpression; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbBotCommonCodeRepoDslImpl implements TbBotCommonCodeRepoDsl { + private final JPAQueryFactory queryFactory; + private QTbBotCommonCode qTbBotCommonCode = QTbBotCommonCode.tbBotCommonCode; + private QTbServiceGrouop qTbServiceGrouop = QTbServiceGrouop.tbServiceGrouop; + private QTbIcsOprMngInfo qTbIcsOprMngInfo = QTbIcsOprMngInfo.tbIcsOprMngInfo; + private QTbUserCust qTbUserCust = QTbUserCust.tbUserCust; + + @Override + public QueryResults SystemCommoncodeList(SystemCommoncodeReq dto) { + + + QueryResults result = null; + if (dto.getUserVo().getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) { + return result = queryFactory.select( + Projections.fields( + SystemCommoncodeRes.class, + qTbServiceGrouop.custCode, + qTbServiceGrouop.serviceGroupName, + qTbIcsOprMngInfo.serviceGroup, + qTbBotCommonCode.oprMngCode, + qTbBotCommonCode.minorCode, + qTbBotCommonCode.majorCode, + qTbBotCommonCode.codeName, + qTbBotCommonCode.attribute1, + qTbBotCommonCode.attribute2, + qTbBotCommonCode.attribute3 + ) + ) + .from(qTbBotCommonCode) + .innerJoin(qTbIcsOprMngInfo).on(qTbBotCommonCode.oprMngCode.eq(qTbIcsOprMngInfo.oprMngCode)) + .innerJoin(qTbServiceGrouop).on(qTbServiceGrouop.serviceGroup.eq(qTbIcsOprMngInfo.serviceGroup)) + .where( + qTbServiceGrouopeq(dto) + , typeeq(dto) + ) + .limit(dto.getSize()) + .offset(dto.getPage() * dto.getSize()) + .orderBy(qTbBotCommonCode.majorCode.asc(), qTbBotCommonCode.registDate.desc()) + .fetchResults(); + } + else { + return result = queryFactory.select( + Projections.fields( + SystemCommoncodeRes.class, + qTbServiceGrouop.custCode, + qTbServiceGrouop.serviceGroupName, + qTbIcsOprMngInfo.serviceGroup, + qTbBotCommonCode.oprMngCode, + qTbBotCommonCode.minorCode, + qTbBotCommonCode.majorCode, + qTbBotCommonCode.codeName, + qTbBotCommonCode.attribute1, + qTbBotCommonCode.attribute2, + qTbBotCommonCode.attribute3 + ) + ) + .from(qTbServiceGrouop) + .innerJoin(qTbIcsOprMngInfo).on(qTbServiceGrouop.serviceGroup.eq(qTbIcsOprMngInfo.serviceGroup)) + .innerJoin(qTbBotCommonCode).on(qTbIcsOprMngInfo.oprMngCode.eq(qTbBotCommonCode.oprMngCode)) + .where( + qTbServiceGrouop.serviceGroupUpper.eq(dto.getUserVo().getLastUseServiceGroup()) + , qTbServiceGrouopeq(dto) + , typeeq(dto) + ) + .limit(dto.getSize()) + .offset(dto.getPage() * dto.getSize()) + .orderBy(qTbBotCommonCode.majorCode.asc(), qTbBotCommonCode.registDate.desc()) + .fetchResults(); + } + + } + + private BooleanExpression qTbServiceGrouopeq(SystemCommoncodeReq dto) { + return dto.getServiceGroup().equals("ALL") ? + null : qTbServiceGrouop.serviceGroup.eq(dto.getServiceGroup()); + } + + private BooleanExpression typeeq(SystemCommoncodeReq dto) { + log.info(" typeeq dto- {}", new Gson().toJson(dto)); + if (dto.getCodeText() == null || dto.getCodeText().equals("")) { + return null; + } else { + if (dto.getCodeType().equals("ALL")) { + return qTbBotCommonCode.minorCode.upper().contains(dto.getCodeText().toUpperCase()).or(qTbBotCommonCode.majorCode.upper().contains(dto.getCodeText().toUpperCase())); + } else if (dto.getCodeType().equals("major")) { + return qTbBotCommonCode.majorCode.upper().contains(dto.getCodeText().toUpperCase()); + } else if (dto.getCodeType().equals("minor")) { + return qTbBotCommonCode.minorCode.upper().contains(dto.getCodeText().toUpperCase()); + } else { + return null; + } + } + + } + + @Override + public QueryResults SystemCommoncodeCallNumList(SystemCommoncodeReq dto) { + QueryResults result = null; + if (dto.getUserVo().getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) { + return result = queryFactory.select( + Projections.fields( + SystemCommoncodeRes.class, + qTbBotCommonCode.codeName, + qTbBotCommonCode.attribute1 + ) + ) + .from(qTbBotCommonCode) + .innerJoin(qTbIcsOprMngInfo).on(qTbIcsOprMngInfo.serviceGroup.eq(dto.getServiceGroup()).and(qTbBotCommonCode.oprMngCode.eq(qTbIcsOprMngInfo.oprMngCode))) + .where(qTbBotCommonCode.majorCode.eq("CUST_CALL_NUM")) + .orderBy(qTbBotCommonCode.codeName.asc()) + .fetchResults(); + } else { + return result = queryFactory.select( + Projections.fields( + SystemCommoncodeRes.class, + qTbBotCommonCode.codeName, + qTbBotCommonCode.attribute1 + ) + ) + .from(qTbBotCommonCode) + .innerJoin(qTbIcsOprMngInfo).on(qTbIcsOprMngInfo.serviceGroup.eq(dto.getServiceGroup()).and(qTbBotCommonCode.oprMngCode.eq(qTbIcsOprMngInfo.oprMngCode))) + .where(qTbBotCommonCode.majorCode.eq("CUST_CALL_NUM").and(qTbBotCommonCode.oprMngCode.eq(dto.getOprmngCode()))) + .orderBy(qTbBotCommonCode.codeName.asc()) + .fetchResults(); + } + } + + @Override + public QueryResults SystemCommoncodeProductList(SystemCommoncodeReq dto) { + QueryResults result = null; + if (dto.getUserVo().getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) { + return result = queryFactory.select( + Projections.fields( + SystemCommoncodeRes.class, + qTbBotCommonCode.minorCode, + qTbBotCommonCode.codeName, + qTbBotCommonCode.attribute1, + qTbBotCommonCode.attribute2, + qTbBotCommonCode.attribute3 + ) + ) + .from(qTbBotCommonCode) + .innerJoin(qTbIcsOprMngInfo).on(qTbIcsOprMngInfo.serviceGroup.eq(dto.getServiceGroup()).and(qTbBotCommonCode.oprMngCode.eq(qTbIcsOprMngInfo.oprMngCode))) + .where(qTbBotCommonCode.majorCode.eq(dto.getCodeType())) + .orderBy(qTbBotCommonCode.codeName.asc()) + .fetchResults(); + } else { + return result = queryFactory.select( + Projections.fields( + SystemCommoncodeRes.class, + qTbBotCommonCode.minorCode, + qTbBotCommonCode.codeName, + qTbBotCommonCode.attribute1, + qTbBotCommonCode.attribute2, + qTbBotCommonCode.attribute3 + ) + ) + .from(qTbBotCommonCode) + .innerJoin(qTbIcsOprMngInfo).on(qTbIcsOprMngInfo.serviceGroup.eq(dto.getServiceGroup()).and(qTbBotCommonCode.oprMngCode.eq(qTbIcsOprMngInfo.oprMngCode))) + .where(qTbBotCommonCode.majorCode.eq(dto.getCodeType()).and(qTbBotCommonCode.oprMngCode.eq(dto.getOprmngCode()))) + .orderBy(qTbBotCommonCode.codeName.asc()) + .fetchResults(); + } + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotUserRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotUserRepoDsl.java new file mode 100644 index 0000000..67519f8 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotUserRepoDsl.java @@ -0,0 +1,18 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.common.system.vo.SystemBotUserReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemBotUserRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceAuthGroupUserSearchReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceAuthGroupUserSearchRes; +import com.icomsys.main_vm.biz.test.controller.TestVoUser; +import com.querydsl.core.QueryResults; + +import java.util.List; + +public interface TbBotUserRepoDsl { + + QueryResults SystemUserList(SystemBotUserReq dto, String role); + List AuthGroupUserList(Long authGroupSeq); + public List GroupAuthUpdateDataUserSearch(SystemServiceAuthGroupUserSearchReq dto); +// List testConCat(); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotUserRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotUserRepoDslImpl.java new file mode 100644 index 0000000..24381af --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbBotUserRepoDslImpl.java @@ -0,0 +1,265 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.common.system.vo.SystemBotUserReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemBotUserRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceAuthGroupUserSearchReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceAuthGroupUserSearchRes; +import com.icomsys.main_vm.biz.test.controller.TestVoUser; +import com.icomsys.main_vm.common.code.enumresource.RoleResource; +import com.icomsys.main_vm.db.jpa.entity.system.*; +import com.querydsl.core.QueryResults; +import com.querydsl.core.types.ExpressionUtils; +import com.querydsl.core.types.Projections; +import com.querydsl.core.types.dsl.BooleanExpression; +import com.querydsl.core.types.dsl.Expressions; +import com.querydsl.jpa.JPAExpressions; +import com.querydsl.jpa.impl.JPAQueryFactory; +import com.querydsl.jpa.sql.JPASQLQuery; +import com.querydsl.sql.SQLExpressions; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +import java.util.ArrayList; +import java.util.List; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbBotUserRepoDslImpl implements TbBotUserRepoDsl { + + private final JPAQueryFactory queryFactory; + private QTbBotUser qTbBotUser = QTbBotUser.tbBotUser; + private QTbUserCust qTbUserCust = QTbUserCust.tbUserCust; + private QTbServiceGrouop qTbServiceGrouop = QTbServiceGrouop.tbServiceGrouop; + private QTbIcsCustInfo qTbIcsCustInfo = QTbIcsCustInfo.tbIcsCustInfo; + private QTbUserAuthGroup qTbUserAuthGroup = QTbUserAuthGroup.tbUserAuthGroup; + + @Override + public QueryResults SystemUserList(SystemBotUserReq dto, String role) { + QueryResults result = null; + + if (dto.getUserVo().getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) { + return result = queryFactory.select( + Projections.fields( + SystemBotUserRes.class, + qTbBotUser.custCode, + qTbIcsCustInfo.custName, + qTbBotUser.userSeq, + qTbBotUser.userId, + qTbBotUser.userName, + qTbBotUser.eMail, + qTbBotUser.mobileNo, + qTbBotUser.useYn, + qTbBotUser.registDate + ) + ).from(qTbBotUser) + .innerJoin(qTbIcsCustInfo).on(qTbIcsCustInfo.custCode.eq(qTbBotUser.custCode)) + .where( +// qTbServiceGrouop.serviceGroupUpper.eq(dto.getUserVo().getLastUseServiceGroup()) + qTbCustCodeeq(dto) + , qTbBotUsersearcheq(dto) + , qTbBotUser.roleVal.eq(RoleResource.USERADMIN.getName()).or(qTbBotUser.roleVal.eq(RoleResource.USER.getName())) + ) + + .limit(dto.getSize()) + .offset(dto.getPage() * dto.getSize()) + .orderBy(qTbBotUser.registDate.desc()) + .groupBy( + qTbBotUser.custCode, + qTbIcsCustInfo.custName, + qTbBotUser.userSeq, + qTbBotUser.userId, + qTbBotUser.userName, + qTbBotUser.eMail, + qTbBotUser.mobileNo, + qTbBotUser.useYn, + qTbBotUser.registDate + ) + .fetchResults(); + } else { + return result = queryFactory.select( + Projections.fields( + SystemBotUserRes.class, + qTbBotUser.custCode, + qTbIcsCustInfo.custName, +// qTbServiceGrouop.serviceGroup, +// qTbServiceGrouop.serviceGroupName, + qTbBotUser.userSeq, + qTbBotUser.userId, + qTbBotUser.userName, + qTbBotUser.eMail, + qTbBotUser.mobileNo, + qTbBotUser.useYn, + qTbBotUser.registDate + ) + ).from(qTbBotUser) + .innerJoin(qTbIcsCustInfo).on(qTbBotUser.custCode.eq(qTbIcsCustInfo.custCode)) + .innerJoin(qTbServiceGrouop).on(qTbBotUser.lastUseServiceGroup.eq(qTbServiceGrouop.serviceGroupUpper)) + /* + .from(qTbUserCust) + //내가사용할 수 있는 UserCust의 서비스그룹 + .innerJoin(qTbServiceGrouop).on(qTbUserCust.serviceGroup.eq(qTbServiceGrouop.serviceGroup)) + .innerJoin(qTbIcsCustInfo).on(qTbUserCust.custCode.eq(qTbIcsCustInfo.custCode)) + .innerJoin(qTbBotUser).on(qTbUserCust.userSeq.eq(qTbBotUser.userSeq)) + .where(qTbUserCust.userSeq.eq(dto.getUserVo().getUserSeq()) + , qTbUserCust.serviceGroup.eq(qTbServiceGrouop.serviceGroup) + , qTbServiceGrouop.serviceGroupUpper.eq(dto.getUserVo().getLastUseServiceGroup()) + , qTbServiceGrouopeq(dto) + , qTbBotUsersearcheq(dto) + */ + .where( + qTbServiceGrouop.serviceGroupUpper.eq(dto.getUserVo().getLastUseServiceGroup()) + , qTbCustCodeeq(dto) + , qTbBotUsersearcheq(dto) + , qTbBotUser.roleVal.eq(RoleResource.USERADMIN.getName()).or(qTbBotUser.roleVal.eq(RoleResource.USER.getName())) + ) + .limit(dto.getSize()) + .offset(dto.getPage() * dto.getSize()) + .orderBy(qTbBotUser.registDate.desc()) + .groupBy( + qTbBotUser.custCode, + qTbIcsCustInfo.custName, + qTbBotUser.userSeq, + qTbBotUser.userId, + qTbBotUser.userName, + qTbBotUser.eMail, + qTbBotUser.mobileNo, + qTbBotUser.useYn, + qTbBotUser.registDate + ) + .fetchResults(); + } + } + + private BooleanExpression qTbCustCodeeq(SystemBotUserReq dto) { + return dto.getCustCode().equals("ALL") ? + null : qTbIcsCustInfo.custCode.eq(dto.getCustCode()); + } + + private BooleanExpression qTbBotUsersearcheq(SystemBotUserReq dto) { + if (dto.getCodeText() == null || dto.getCodeText().equals("")) { + return null; + } else { + if (dto.getCodeType().equals("ALL")) { + return qTbBotUser.userId.upper().contains(dto.getCodeText().toUpperCase()).or(qTbBotUser.userName.upper().contains(dto.getCodeText().toUpperCase())); + } else if (dto.getCodeType().equals("userId")) { + return qTbBotUser.userId.upper().contains(dto.getCodeText().toUpperCase()); + } else if (dto.getCodeType().equals("userName")) { + return qTbBotUser.userName.upper().contains(dto.getCodeText().toUpperCase()); + } else { + return null; + } + } + } + + public List AuthGroupUserList(Long authGroupSeq) { + List result = + queryFactory.select( + Projections.fields( + SystemBotUserRes.class, + qTbBotUser.custCode, + qTbIcsCustInfo.custName, +// qTbServiceGrouop.serviceGroup, +// qTbServiceGrouop.serviceGroupName, + qTbBotUser.userSeq, + qTbBotUser.userId, + qTbBotUser.userName, + qTbBotUser.eMail, + qTbBotUser.mobileNo, + qTbBotUser.useYn, + qTbBotUser.registDate + ) + ) + .from(qTbUserAuthGroup) + .innerJoin(qTbBotUser).on(qTbBotUser.userSeq.eq(qTbUserAuthGroup.userSeq)) +// .innerJoin(qTbServiceGrouop).on(qTbServiceGrouop.serviceGroup.eq(qTbUserAuthGroup.serviceGroup)) + .innerJoin(qTbIcsCustInfo).on(qTbIcsCustInfo.custCode.eq(qTbUserAuthGroup.custCode)) + .where(qTbUserAuthGroup.authGroupSeq.eq(authGroupSeq)) + .groupBy(qTbBotUser.custCode, + qTbIcsCustInfo.custName, +// qTbServiceGrouop.serviceGroup, +// qTbServiceGrouop.serviceGroupName, + qTbBotUser.userSeq, + qTbBotUser.userId, + qTbBotUser.userName, + qTbBotUser.eMail, + qTbBotUser.mobileNo, + qTbBotUser.useYn, + qTbBotUser.registDate) + .fetch(); + return result; + } + +// @Override +// public List testConCat() { +// return queryFactory.select( +// Projections.fields( +// TestVoUser.class, +// Expressions.stringTemplate("group_concat( {0} ) ", +// qTbUserAuthGroup.serviceGroup +//// ExpressionUtils.distinctList(JPAExpressions.select(qTbUserAuthGroup.serviceGroup) +//// .from(qTbUserAuthGroup) +//// .where(qTbUserAuthGroup.userSeq.eq(qTbBotUser.userSeq)) +//// .groupBy(qTbUserAuthGroup.serviceGroup))) +// ).as("serviceGroup") +// ) +// ) +// .from(qTbBotUser) +// .innerJoin(qTbUserAuthGroup).on(qTbUserAuthGroup.userSeq.eq(qTbBotUser.userSeq)) +// .fetch(); +// } + +// private String eqTbIntentMasterIntentName(List names) { +// return names != null ? Expressions.allOf( +// names.stream().map(this::isintentName) +// .toArray(BooleanExpression[]::new)) : null; +// } + + public List GroupAuthUpdateDataUserSearch(SystemServiceAuthGroupUserSearchReq dto) { + + List result = new ArrayList<>(); + + result = queryFactory.select( + Projections.fields( + SystemServiceAuthGroupUserSearchRes.class, + qTbBotUser.userSeq, + qTbBotUser.custCode, + qTbBotUser.lastUseServiceGroup, + qTbBotUser.roleVal, + qTbBotUser.userId, + qTbBotUser.userName, + qTbBotUser.eMail, + qTbBotUser.mobileNo, + qTbBotUser.useYn + ) + ) + .from(qTbBotUser) + .where(userTextEq(dto.getUserSearchText())) + .limit(30) + .groupBy( + qTbBotUser.userSeq, + qTbBotUser.custCode, + qTbBotUser.lastUseServiceGroup, + qTbBotUser.roleVal, + qTbBotUser.userId, + qTbBotUser.userName, + qTbBotUser.eMail, + qTbBotUser.mobileNo, + qTbBotUser.useYn + ) + .fetchResults() + .getResults(); + return result; + } + + private BooleanExpression userTextEq(String s){ + if(s == null){ + return null; + } + else { + return qTbBotUser.userId.toUpperCase().contains(s.toUpperCase()).or(qTbBotUser.userName.toUpperCase().contains(s.toUpperCase())); + } + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbCustPolicyRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbCustPolicyRepoDsl.java new file mode 100644 index 0000000..325f5b6 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbCustPolicyRepoDsl.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.common.system.vo.SystemPolicyMenuReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemPolicyMenuRes; +import com.querydsl.core.QueryResults; + +import java.util.List; + +public interface TbCustPolicyRepoDsl { + + QueryResults PolicyMenuListQueryResult(SystemPolicyMenuReq dto); + List PolicyMenuListQueryList(SystemPolicyMenuReq dto); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbCustPolicyRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbCustPolicyRepoDslImpl.java new file mode 100644 index 0000000..6832fc7 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbCustPolicyRepoDslImpl.java @@ -0,0 +1,143 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.common.system.vo.SystemBotUserRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemPolicyMenuReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemPolicyMenuRes; +import com.icomsys.main_vm.common.code.enumresource.RoleResource; +import com.icomsys.main_vm.db.jpa.entity.system.QTbCustPolicy; +import com.icomsys.main_vm.db.jpa.entity.system.QTbIcsCustInfo; +import com.icomsys.main_vm.db.jpa.entity.system.QTbServiceGrouop; +import com.icomsys.main_vm.db.jpa.entity.system.QTbUserCust; +import com.querydsl.core.QueryResults; +import com.querydsl.core.types.Projections; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +import java.util.List; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbCustPolicyRepoDslImpl implements TbCustPolicyRepoDsl { + + private final JPAQueryFactory queryFactory; + private QTbCustPolicy qTbCustPolicy = QTbCustPolicy.tbCustPolicy; + private QTbIcsCustInfo qTbIcsCustInfo = QTbIcsCustInfo.tbIcsCustInfo; + private QTbServiceGrouop qTbServiceGrouop = QTbServiceGrouop.tbServiceGrouop; + private QTbUserCust qTbUserCust = QTbUserCust.tbUserCust; + + @Override + public QueryResults PolicyMenuListQueryResult(SystemPolicyMenuReq dto) { + log.info("PolicyMenuList - {}", new Gson().toJson(dto)); + QueryResults result = null; + + if (dto.getUserVo().getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) { + result = queryFactory.select( + Projections.fields( + SystemPolicyMenuRes.class, + qTbCustPolicy.custCode, + qTbIcsCustInfo.custName, + qTbCustPolicy.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbCustPolicy.policyVal + ) + ) + .from(qTbCustPolicy) + .innerJoin(qTbIcsCustInfo).on(qTbCustPolicy.custCode.eq(qTbIcsCustInfo.custCode)) + .innerJoin(qTbServiceGrouop).on(qTbCustPolicy.serviceGroup.eq(qTbServiceGrouop.serviceGroup)) + .orderBy(qTbCustPolicy.policyVal.asc()) + .limit(dto.getSize()) + .offset(dto.getSize() * dto.getPage()) + .fetchResults(); + return result; + } else { + log.info("dsl init -{} ", new Gson().toJson(dto) ); + result = queryFactory.select(Projections.fields( + SystemPolicyMenuRes.class, + qTbCustPolicy.custCode, + qTbIcsCustInfo.custName, + qTbCustPolicy.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbCustPolicy.policyVal + ) + ) + .from(qTbUserCust) + .innerJoin(qTbServiceGrouop).on(qTbUserCust.serviceGroup.eq(qTbServiceGrouop.serviceGroup)) + .innerJoin(qTbIcsCustInfo).on(qTbUserCust.custCode.eq(qTbIcsCustInfo.custCode)) + .innerJoin(qTbCustPolicy).on(qTbServiceGrouop.serviceGroup.eq(qTbCustPolicy.serviceGroup)) + .where(qTbUserCust.userSeq.eq(dto.getUserVo().getUserSeq()) + , qTbUserCust.serviceGroup.eq(qTbServiceGrouop.serviceGroup) + , qTbServiceGrouop.serviceGroupUpper.eq(dto.getUserVo().getLastUseServiceGroup()) + ) + .limit(dto.getSize()) + .offset(dto.getSize() * dto.getPage()) + .orderBy(qTbCustPolicy.policyVal.asc()) + .groupBy( + qTbCustPolicy.custCode, + qTbIcsCustInfo.custName, + qTbCustPolicy.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbCustPolicy.policyVal) + .fetchResults(); + return result; + } + + } + + @Override + public List PolicyMenuListQueryList(SystemPolicyMenuReq dto) { + log.info("PolicyMenuList - {}", new Gson().toJson(dto)); + List result = null; + + if (dto.getUserVo().getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) { + result = queryFactory.select( + Projections.fields( + SystemPolicyMenuRes.class, + qTbCustPolicy.custCode, + qTbIcsCustInfo.custName, + qTbCustPolicy.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbCustPolicy.policyVal + ) + ) + .from(qTbCustPolicy) + .innerJoin(qTbIcsCustInfo).on(qTbCustPolicy.custCode.eq(qTbIcsCustInfo.custCode)) + .innerJoin(qTbServiceGrouop).on(qTbCustPolicy.serviceGroup.eq(qTbServiceGrouop.serviceGroup)) + .orderBy(qTbCustPolicy.policyVal.asc()) + .fetch(); + return result; + } else { + result = queryFactory.select(Projections.fields( + SystemPolicyMenuRes.class, + qTbCustPolicy.custCode, + qTbIcsCustInfo.custName, + qTbCustPolicy.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbCustPolicy.policyVal + ) + ) + .from(qTbUserCust) + .innerJoin(qTbServiceGrouop).on(qTbUserCust.serviceGroup.eq(qTbServiceGrouop.serviceGroup)) + .innerJoin(qTbIcsCustInfo).on(qTbUserCust.custCode.eq(qTbIcsCustInfo.custCode)) + .innerJoin(qTbCustPolicy).on(qTbServiceGrouop.serviceGroup.eq(qTbCustPolicy.serviceGroup)) + .where(qTbUserCust.userSeq.eq(dto.getUserVo().getUserSeq()) + , qTbUserCust.serviceGroup.eq(qTbServiceGrouop.serviceGroup) + , qTbServiceGrouop.serviceGroupUpper.eq(dto.getUserVo().getLastUseServiceGroup()) + ) + .orderBy(qTbCustPolicy.policyVal.asc()) + .groupBy( + qTbCustPolicy.custCode, + qTbIcsCustInfo.custName, + qTbCustPolicy.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbCustPolicy.policyVal) + .fetch(); + return result; + } + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsCustInfoRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsCustInfoRepoDsl.java new file mode 100644 index 0000000..fc18068 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsCustInfoRepoDsl.java @@ -0,0 +1,11 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.common.system.vo.SystemIcsCustInfoReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemIcsCustInfoRes; +import com.querydsl.core.QueryResults; + +public interface TbIcsCustInfoRepoDsl { + + QueryResults SelectCustInfo(SystemIcsCustInfoReq dto); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsCustInfoRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsCustInfoRepoDslImpl.java new file mode 100644 index 0000000..4619bc4 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsCustInfoRepoDslImpl.java @@ -0,0 +1,56 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + + +import com.icomsys.main_vm.biz.common.system.vo.SystemIcsCustInfoReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemIcsCustInfoRes; +import com.icomsys.main_vm.db.jpa.entity.system.QTbIcsCustInfo; +import com.querydsl.core.QueryResults; +import com.querydsl.core.types.Projections; +import com.querydsl.core.types.dsl.BooleanExpression; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbIcsCustInfoRepoDslImpl implements TbIcsCustInfoRepoDsl { + private final JPAQueryFactory queryFactory; + private QTbIcsCustInfo qTbIcsCustInfo = QTbIcsCustInfo.tbIcsCustInfo; + + @Override + public QueryResults SelectCustInfo(SystemIcsCustInfoReq dto) { + QueryResults result = + queryFactory.select( + Projections.fields( + SystemIcsCustInfoRes.class, + qTbIcsCustInfo.custCode, + qTbIcsCustInfo.custName, + qTbIcsCustInfo.custTel, + qTbIcsCustInfo.custServiceMent, + qTbIcsCustInfo.useYn, + qTbIcsCustInfo.registId, + qTbIcsCustInfo.registDate, + qTbIcsCustInfo.updateId, + qTbIcsCustInfo.updateDate + ) + ) + .from(qTbIcsCustInfo) + .where(custNameeq(dto)) + .orderBy(qTbIcsCustInfo.registDate.desc()) + .limit(dto.getSize()) + .offset(dto.getSize() * dto.getPage()) + .fetchResults(); + return result; + } + + private BooleanExpression custNameeq(SystemIcsCustInfoReq dto){ + if (dto.getCodeText() == null || dto.getCodeText().equals("")) { + return null; + } else { + return qTbIcsCustInfo.custName.upper().contains(dto.getCodeText().toUpperCase()); + } + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsLogDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsLogDsl.java new file mode 100644 index 0000000..9c2f01a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsLogDsl.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioWorkHistoryRes; +import com.icomsys.main_vm.biz.rcp.monitoring.vo.RetrieveWorkHstListVo; +import com.icomsys.main_vm.biz.rcp.monitoring.vo.SearchWorkHstVo; +import com.querydsl.core.QueryResults; + +public interface TbIcsLogDsl { + + QueryResults retrieveWorkHst(SearchWorkHstVo searchWorkHstVo); + + QueryResults scenarioWorkHistory(String menuAuth, String scenarioSeq); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsLogDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsLogDslImpl.java new file mode 100644 index 0000000..22c09aa --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsLogDslImpl.java @@ -0,0 +1,127 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.rcp.conversation.vo.ConversationScenarioWorkHistoryRes; +import com.icomsys.main_vm.biz.rcp.monitoring.vo.RetrieveWorkHstListVo; +import com.icomsys.main_vm.biz.rcp.monitoring.vo.SearchWorkHstVo; +import com.icomsys.main_vm.common.code.enumresource.MenuResource; +import com.icomsys.main_vm.db.jpa.entity.conversation.QTbIcsLog; +import com.icomsys.main_vm.db.jpa.entity.system.QTbBotCommonCode; +import com.icomsys.main_vm.db.jpa.entity.system.QTbBotUser; +import com.icomsys.main_vm.db.jpa.entity.system.QTbIcsOprMngInfo; +import com.icomsys.main_vm.db.jpa.entity.system.QTbServiceGrouop; +import com.querydsl.core.QueryResults; +import com.querydsl.core.types.ConstantImpl; +import com.querydsl.core.types.Projections; +import com.querydsl.core.types.dsl.Expressions; +import com.querydsl.core.types.dsl.StringTemplate; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbIcsLogDslImpl implements TbIcsLogDsl { + + private final JPAQueryFactory queryFactory; + QTbIcsLog qTbIcsLog = QTbIcsLog.tbIcsLog; + QTbBotUser qTbBotUser = QTbBotUser.tbBotUser; + QTbServiceGrouop qTbServiceGrouop = QTbServiceGrouop.tbServiceGrouop; + QTbIcsOprMngInfo qTbIcsOprMngInfo = QTbIcsOprMngInfo.tbIcsOprMngInfo; + + StringTemplate dateTemplate = Expressions.stringTemplate( + "DATE_FORMAT({0}, {1})" + , qTbIcsLog.registDate + , ConstantImpl.create("%Y-%m-%d") + ); + + @Override + public QueryResults retrieveWorkHst(SearchWorkHstVo searchWorkHstVo) { + QueryResults result = null; + + var query = queryFactory.select( + Projections.fields(RetrieveWorkHstListVo.class + , qTbIcsLog.seq + , Expressions.stringTemplate( + "DATE_FORMAT({0}, {1})" + , qTbIcsLog.registDate + , ConstantImpl.create("%Y-%m-%d %H:%i:%s") + ).as("registDate") +// , qTbIcsLog.serviceGroup.coalesce("-").as("serviceGroup") + , qTbServiceGrouop.serviceGroupName.coalesce("-").as("serviceGroup") + , qTbIcsLog.userId + , qTbBotUser.userName + , qTbIcsLog.menuAuth + , qTbIcsLog.actionCode + , qTbIcsLog.ip + , qTbIcsLog.remark.coalesce("-").as("remark"))) + .from(qTbIcsLog) + .innerJoin(qTbBotUser).on(qTbIcsLog.userId.eq(qTbBotUser.userId)) + .innerJoin(qTbServiceGrouop).on(qTbIcsLog.serviceGroup.eq(qTbServiceGrouop.serviceGroup)) + .where(dateTemplate.goe(searchWorkHstVo.getStartDate()) + .and(dateTemplate.loe(searchWorkHstVo.getEndDate()))); + query.limit(searchWorkHstVo.getSize()).offset(searchWorkHstVo.getPage() * searchWorkHstVo.getSize()); + //조회조건 + if (searchWorkHstVo.getSearchKey1().equals("id")) { + query.where(qTbIcsLog.userId.upper().contains(searchWorkHstVo.getCodeText().toUpperCase())); + } + if (searchWorkHstVo.getSearchKey1().equals("userName")) { + query.where(qTbBotUser.userName.upper().contains(searchWorkHstVo.getCodeText().toUpperCase())); + } + if (searchWorkHstVo.getSearchKey1().equals("ip")) { + query.where(qTbIcsLog.ip.upper().contains(searchWorkHstVo.getCodeText().toUpperCase())); + } + if (searchWorkHstVo.getSearchKey1().equals("remark")) { + query.where(qTbIcsLog.remark.upper().contains(searchWorkHstVo.getCodeText().toUpperCase())); + } + if (searchWorkHstVo.getServiceGroup() != null && !(searchWorkHstVo.getServiceGroup().equals("ALL"))) { + query.where(qTbIcsLog.serviceGroup.eq(searchWorkHstVo.getServiceGroup())); + } + if (searchWorkHstVo.getMenuCategory() != null && !(searchWorkHstVo.getMenuCategory().equals("ALL"))) { + query.where(qTbIcsLog.actionCode.eq(searchWorkHstVo.getMenuCategory())); + } + if (searchWorkHstVo.getMenuName() != null && !(searchWorkHstVo.getMenuName().equals("ALL"))) { + query.where(qTbIcsLog.menuAuth.eq(searchWorkHstVo.getMenuName())); + } + //order By + query.orderBy(qTbIcsLog.seq.desc()); + result = query.fetchResults(); + + return result; + } + + public QueryResults scenarioWorkHistory(String menuAuth, String scenarioSeq) { + QueryResults result = queryFactory.select( + Projections.fields( + ConversationScenarioWorkHistoryRes.class, + qTbIcsLog.seq, + qTbIcsLog.registDate, + qTbIcsLog.actionCode, + qTbIcsLog.actionCode.as("action"), // Todo: Common Code 정의 후 다시 생성 +// qTbBotCommonCode.description.as("action"), + qTbIcsLog.userId, + qTbBotUser.userName, + qTbIcsLog.ip, + qTbIcsLog.remark, + qTbIcsLog.attribute1, + qTbIcsLog.attribute2, + qTbIcsLog.attribute3, + qTbIcsLog.attribute4 + ) + ) + .from(qTbIcsLog) + .innerJoin(qTbBotUser).on(qTbIcsLog.userId.eq(qTbBotUser.userId)) +// .innerJoin(qTbBotCommonCode).on(qTbIcsLog.actionCode.eq(qTbBotCommonCode.minorCode)) + .where( qTbIcsLog.menuAuth.eq(menuAuth), + qTbIcsLog.attribute1.eq(scenarioSeq) + ) + .orderBy(qTbIcsLog.registDate.asc()) + .fetchResults(); + + return result; + } + + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsOprMngInfoRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsOprMngInfoRepoDsl.java new file mode 100644 index 0000000..6b10388 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsOprMngInfoRepoDsl.java @@ -0,0 +1,6 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +public interface TbIcsOprMngInfoRepoDsl { + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsOprMngInfoRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsOprMngInfoRepoDslImpl.java new file mode 100644 index 0000000..3e3fc79 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIcsOprMngInfoRepoDslImpl.java @@ -0,0 +1,19 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.db.jpa.entity.system.QTbIcsCustInfo; +import com.icomsys.main_vm.db.jpa.entity.system.QTbIcsOprMngInfo; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbIcsOprMngInfoRepoDslImpl implements TbIcsOprMngInfoRepoDsl { + + private final JPAQueryFactory queryFactory; + private QTbIcsCustInfo qTbIcsCustInfo = QTbIcsCustInfo.tbIcsCustInfo; + private QTbIcsOprMngInfo qTbIcsOprMngInfo = QTbIcsOprMngInfo.tbIcsOprMngInfo; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentExamplRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentExamplRepoDslImpl.java new file mode 100644 index 0000000..936b975 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentExamplRepoDslImpl.java @@ -0,0 +1,88 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import java.util.HashMap; + +public class TbIntentExamplRepoDslImpl implements TbIntentExampleRepoDsl { + /* @Override + public void updateDeleteIntentExample(HashMap eMap) { + + + *//*DELETE FROM TB_INTENT_EXAMPLE + + AND INTENT_SEQ = #{intentSeq} + + AND SEQ NOT IN ( + + + + #{item.seq} + + + ) + + *//* + + }*/ + + /* @Override + public void insertIntentExample(HashMap eMap) { + + *//* INSERT INTO TB_INTENT_EXAMPLE ( + INTENT_SEQ + , EXAMPLE_TEXT + , IF_MAPPING_ID + , REGIST_ID + , REGIST_DATE + , UPDATE_ID + , UPDATE_DATE + , USE_YN + ) VALUES + + + + + ( + + + (SELECT IFNULL(MAX(SEQ), 0) FROM TB_INTENT_MASTER), + + + #{intentSeq}, + + + #{item.exampleText}, + #{mappingId}, + #{registId}, + NOW(), + #{registId}, + NOW(), + 'Y' + ) + + + + + ( + + + (SELECT IFNULL(MAX(SEQ), 0) FROM TB_INTENT_MASTER) A, + + + #{intentSeq}, + + + #{exampleText}, + #{registId}, + NOW(), + #{registId}, + NOW(), + 'Y' + ) + + + + + SELECT LAST_INSERT_ID() + *//* + }*/ +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentExampleRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentExampleRepoDsl.java new file mode 100644 index 0000000..c5ff46d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentExampleRepoDsl.java @@ -0,0 +1,9 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import java.util.HashMap; + +public interface TbIntentExampleRepoDsl { + //void updateDeleteIntentExample(HashMap eMap); + + // void insertIntentExample(HashMap eMap); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentMasterRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentMasterRepoDsl.java new file mode 100644 index 0000000..6402092 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentMasterRepoDsl.java @@ -0,0 +1,21 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.rcp.conversation.dto.IntentRequestDTO; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SearchIntentListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SelectIntentListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SelectSlotIntentListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.intent.ExcelIntentListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.intent.IntentSearchVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.selectIntentEntityNameListVo; + +import java.util.HashMap; +import java.util.List; + +public interface TbIntentMasterRepoDsl { + List selectSlotIntentList(String opr); + ListselectIntentEntityNameList(String opr, String entityType); + List selectIntentList(IntentSearchVo dto); + List excelIntentList(IntentSearchVo dto); + // void updateIntentMaster(HashMap eMap); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentMasterRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentMasterRepoDslImpl.java new file mode 100644 index 0000000..bb5dc51 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbIntentMasterRepoDslImpl.java @@ -0,0 +1,244 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.rcp.conversation.dto.IntentRequestDTO; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SearchIntentListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SelectIntentListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SelectSlotIntentListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.intent.ExcelIntentListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.intent.IntentSearchVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.selectIntentEntityNameListVo; +import com.icomsys.main_vm.db.jpa.entity.conversation.*; +import com.icomsys.main_vm.db.jpa.entity.system.*; +import com.querydsl.core.types.ExpressionUtils; +import com.querydsl.core.types.Projections; +import com.querydsl.core.types.dsl.BooleanExpression; +import com.querydsl.core.types.dsl.Expressions; +import com.querydsl.jpa.JPAExpressions; +import com.querydsl.jpa.impl.JPAQuery; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; + +import static com.querydsl.sql.SQLExpressions.set; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbIntentMasterRepoDslImpl implements TbIntentMasterRepoDsl { + + private final JPAQueryFactory queryFactory; + private QTbIntentMaster qTbIntentMaster = QTbIntentMaster.tbIntentMaster; + private QTbSlotMaster qTbSlotMaster = QTbSlotMaster.tbSlotMaster; + private QTbSynonymMaster qTbSynonymMaster = QTbSynonymMaster.tbSynonymMaster; + private QTbDictionaryMaster qTbDictionaryMaster = QTbDictionaryMaster.tbDictionaryMaster; + private QTbBotCommonCode qTbBotCommonCode = QTbBotCommonCode.tbBotCommonCode; + private QTbIntentExample qTbIntentExample = QTbIntentExample.tbIntentExample; + + @Override + public List selectSlotIntentList(String opr) { + + var result = queryFactory.select( + Projections.fields( + SelectSlotIntentListVo.class, + qTbIntentMaster.oprMngCode, + qTbIntentMaster.intentName, + qTbSlotMaster.groupName, + qTbIntentMaster.seq.as("intentSeq") + ) + ) + .from(qTbIntentMaster) + .leftJoin(qTbSlotMaster).on(qTbSlotMaster.oprMngCode.eq(qTbIntentMaster.oprMngCode)) + .where(qTbIntentMaster.useYn.eq("Y").and(qTbIntentMaster.oprMngCode.eq(opr))) + .groupBy(qTbIntentMaster.intentName) + .orderBy(qTbIntentMaster.updateDate.desc()) + .fetch(); + + return result; + } + + @Override + public List selectIntentEntityNameList(String opr, String entityType) { + List result = new ArrayList<>(); + + //if문이 나을듯. + switch (entityType) { + case "B": + result = queryFactory.select( + Projections.fields(selectIntentEntityNameListVo.class, + qTbSynonymMaster.seq, + qTbSynonymMaster.repWord.as("entityName") + ) + ).from(qTbSynonymMaster) + .where(qTbSynonymMaster.useYn.eq("Y") + .and(qTbSynonymMaster.oprMngCode.eq(opr))) + .fetch(); + break; + case "C": + result = queryFactory.select( + Projections.fields(selectIntentEntityNameListVo.class, + qTbDictionaryMaster.seq, + qTbDictionaryMaster.repWord.as("entityName") + ) + ).from(qTbDictionaryMaster) + .where(qTbDictionaryMaster.useYn.eq("Y") + .and(qTbDictionaryMaster.oprMngCode.eq(opr))) + .fetch(); + break; + } + return result; + } + + @Override + public List selectIntentList(IntentSearchVo dto) { + JPAQuery query = null; + query = queryFactory.select( + Projections.fields(SelectIntentListVo.class, + qTbIntentMaster.seq, + qTbIntentMaster.oprMngCode, + qTbIntentMaster.intentName, + qTbIntentMaster.category, + qTbIntentMaster.registId, + qTbIntentMaster.registDate, + qTbIntentMaster.updateId, + qTbIntentMaster.updateDate, + qTbBotCommonCode.codeName, + ExpressionUtils.as( + JPAExpressions.select(qTbIntentExample.count()) + .from(qTbIntentExample) + .where(qTbIntentExample.intentSeq.eq(qTbIntentMaster.seq) + .and(qTbIntentExample.useYn.eq("Y") + ) + ), "exampleCnt") + ) + ).from(qTbIntentMaster) + .innerJoin(qTbBotCommonCode).on(qTbIntentMaster.category.eq(qTbBotCommonCode.minorCode) + .and(qTbBotCommonCode.oprMngCode.eq(dto.getOprMngCodeUpper()))) + .where(qTbIntentMaster.useYn.eq("Y") + .and(qTbBotCommonCode.majorCode.eq("INTENT_GROUP"))); //INTENT_GROUP + + if (dto.getOprMngCode() != null && !(dto.getOprMngCode().equals(""))) { + query.where(qTbIntentMaster.oprMngCode.eq(dto.getOprMngCode())); + } + if (dto.getCategory() != null && !(dto.getCategory().equals(""))) { + query.where(qTbIntentMaster.category.eq(dto.getCategory())); + } + if (dto.getIntentName() != null && !(dto.getIntentName().equals(""))) { + query.where(qTbIntentMaster.intentName.contains(dto.getIntentName())); + } + query.orderBy(qTbIntentMaster.registDate.desc()); + + return query.fetch(); + + + } + +/* List intentnames = null; + String regExp = null; + if (regExp !=null && !regExp.equals("")) { + intentnames = new ArrayList<>(); + intentnames = Arrays.asList(regExp.trim().split("|")); + } + + query.where(qTbIntentMaster.useYn.eq("Y") +// , qTbBotCommonCode.majorCode.eq("INTENT_GROUP") + , eqTbIntentMasterOprMngCode(oprMngCode) + , eqTbIntentMasterCategory(category) + //test case 없어서 확인 못해봄... + , eqTbIntentMasterIntentName(intentnames) + ) + .orderBy(qTbIntentMaster.registDate.desc()); + + return query.fetch(); + } + + private BooleanExpression eqTbIntentMasterOprMngCode(String oprMngCode) { + return oprMngCode != null && !oprMngCode.equals("") && !oprMngCode.equals("ALL") ? qTbIntentMaster.oprMngCode.eq(oprMngCode) : null; + } + + private BooleanExpression eqTbIntentMasterCategory(String category) { + return category != null && !category.equals("") ? qTbIntentMaster.category.eq(category) : null; + } + + //동작할지 모르겠음. + private BooleanExpression eqTbIntentMasterIntentName(List names) { + return names != null ? Expressions.allOf( + names.stream().map(this::isintentName) + .toArray(BooleanExpression[]::new)) : null; + } + + private BooleanExpression isintentName(String intentName) { + return qTbIntentMaster.intentName.contains(intentName); + }*/ + + + /* public void updateIntentMaster(HashMap eMap) { + log.info("dto -> {}", new Gson().toJson(eMap)); + try { + var query = queryFactory.update(qTbIntentMaster) + .set(qTbIntentMaster.updateId, eMap.get("updateId")) + .set(qTbIntentMaster.updateDate, LocalDateTime.now()); + if (dto.getIntentName() != null && !dto.getIntentName().equals("")) { + query.set(qTbIntentMaster.intentName, dto.getIntentName()); + } + if (dto.getCategory() != null && !dto.getCategory().equals("")) { + query.set(qTbIntentMaster.category, dto.getCategory()); + } + if (dto.getUseYn() != null && !dto.getUseYn().equals("")) { + query.set(qTbIntentMaster.useYn, dto.getUseYn()); + } + query.where(qTbIntentMaster.seq.eq(Long.valueOf(dto.getSeq()))); + query.execute(); + }catch (Exception e){ + e.printStackTrace(); + } + }*/ + + @Override + public List excelIntentList(IntentSearchVo dto) { + List result = null; + + var query = queryFactory.select( + Projections.fields(ExcelIntentListVo.class, + qTbIntentMaster.seq + ,qTbIntentMaster.intentName + ,qTbBotCommonCode.codeName +// ,Expressions.stringTemplate("group_concat({0})", qTbIntentExample.exampleText).as("exampleText") + ) + ).from(qTbIntentMaster) + .innerJoin(qTbBotCommonCode).on(qTbIntentMaster.category.eq(qTbBotCommonCode.minorCode) + .and(qTbBotCommonCode.oprMngCode.eq(dto.getOprMngCodeUpper()))) + /*.innerJoin(qTbIntentExample).on(qTbIntentMaster.seq.eq(qTbIntentExample.intentSeq)) + .and(qTbIntentExample.useYn.eq("Y")))*/ + .where(qTbIntentMaster.useYn.eq("Y") + .and(qTbBotCommonCode.majorCode.eq("INTENT_GROUP"))); + if (dto.getOprMngCode() != null && !(dto.getOprMngCode().equals(""))) { + query.where(qTbIntentMaster.oprMngCode.eq(dto.getOprMngCode())); + } + if (dto.getCategory() != null && !(dto.getCategory().equals(""))) { + query.where(qTbIntentMaster.category.eq(dto.getCategory())); + } + if (dto.getIntentName() != null && !(dto.getIntentName().equals(""))) { + query.where(qTbIntentMaster.intentName.contains(dto.getIntentName())); + } + query.groupBy(qTbIntentMaster.seq + , qTbIntentMaster.intentName + , qTbBotCommonCode.codeName + ); + query.orderBy(qTbIntentMaster.intentName.asc()); + + result = query.fetch(); + + return result; + + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceAuthGroupRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceAuthGroupRepoDsl.java new file mode 100644 index 0000000..bb8ae37 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceAuthGroupRepoDsl.java @@ -0,0 +1,11 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceAuthGroupReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceAuthGroupRes; +import com.querydsl.core.QueryResults; + +public interface TbServiceAuthGroupRepoDsl { + + QueryResults ServiceAuthGroupListView(SystemServiceAuthGroupReq uv); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceAuthGroupRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceAuthGroupRepoDslImpl.java new file mode 100644 index 0000000..b0bdb31 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceAuthGroupRepoDslImpl.java @@ -0,0 +1,127 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceAuthGroupReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceAuthGroupRes; +import com.icomsys.main_vm.common.code.enumresource.RoleResource; +import com.icomsys.main_vm.db.jpa.entity.system.QTbIcsCustInfo; +import com.icomsys.main_vm.db.jpa.entity.system.QTbServiceAuthGroup; +import com.icomsys.main_vm.db.jpa.entity.system.QTbServiceGrouop; +import com.icomsys.main_vm.db.jpa.entity.system.QTbUserCust; +import com.querydsl.core.QueryResults; +import com.querydsl.core.types.Projections; +import com.querydsl.core.types.dsl.BooleanExpression; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbServiceAuthGroupRepoDslImpl implements TbServiceAuthGroupRepoDsl { + + private final JPAQueryFactory queryFactory; + private QTbServiceAuthGroup qTbServiceAuthGroup = QTbServiceAuthGroup.tbServiceAuthGroup; + private QTbServiceGrouop qTbServiceGrouop = QTbServiceGrouop.tbServiceGrouop; + private QTbIcsCustInfo qTbIcsCustInfo = QTbIcsCustInfo.tbIcsCustInfo; + private QTbUserCust qTbUserCust = QTbUserCust.tbUserCust; + + @Override + public QueryResults ServiceAuthGroupListView(SystemServiceAuthGroupReq dto) { +// +// QueryResults result = null; + + if (dto.getUserVo().getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) { + return queryFactory.select( + Projections.fields( + SystemServiceAuthGroupRes.class, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceAuthGroup.authGroupSeq, + qTbServiceAuthGroup.policyGroupName, + qTbServiceAuthGroup.policyGroupDesc, + qTbServiceGrouop.custCode, + qTbServiceAuthGroup.registDate + ) + ) +// .from(qTbUserCust) +// //내가사용할 수 있는 UserCust의 서비스그룹 +// .innerJoin(qTbServiceGrouop).on(qTbUserCust.serviceGroup.eq(qTbServiceGrouop.serviceGroup)) +// .innerJoin(qTbServiceAuthGroup).on(qTbServiceGrouop.serviceGroup.eq(qTbServiceAuthGroup.serviceGroup)) + .from(qTbServiceGrouop) + .innerJoin(qTbServiceAuthGroup).on(qTbServiceGrouop.serviceGroup.eq(qTbServiceAuthGroup.serviceGroup)) + .where( +// qTbUserCust.userSeq.eq(dto.getUserVo().getUserSeq()) +// 현재 사용중인 ServiceTypeM = lastUseServiceGroup로 +// qTbServiceGrouop.serviceGroupUpper.eq(dto.getUserVo().getLastUseServiceGroup()) + qTbServiceGrouopeq(dto) + , qTbServiceAuthGroupNameeq(dto) + ) + .limit(dto.getSize()) + .offset(dto.getPage() * dto.getSize()) + .orderBy(qTbServiceAuthGroup.registDate.desc()) + .groupBy(qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceAuthGroup.authGroupSeq, + qTbServiceAuthGroup.policyGroupName, + qTbServiceAuthGroup.policyGroupDesc, + qTbServiceGrouop.custCode, + qTbServiceAuthGroup.registDate) + .fetchResults(); + } else { + return queryFactory.select( + Projections.fields( + SystemServiceAuthGroupRes.class, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceAuthGroup.authGroupSeq, + qTbServiceAuthGroup.policyGroupName, + qTbServiceAuthGroup.policyGroupDesc, + qTbServiceGrouop.custCode, + qTbServiceAuthGroup.registDate + ) + ) +// .from(qTbUserCust) +// //내가사용할 수 있는 UserCust의 서비스그룹 +// .innerJoin(qTbServiceGrouop).on(qTbUserCust.serviceGroup.eq(qTbServiceGrouop.serviceGroup)) +// .innerJoin(qTbServiceAuthGroup).on(qTbServiceGrouop.serviceGroup.eq(qTbServiceAuthGroup.serviceGroup)) + .from(qTbServiceGrouop) + .innerJoin(qTbServiceAuthGroup).on(qTbServiceGrouop.serviceGroup.eq(qTbServiceAuthGroup.serviceGroup)) + .where( +// qTbUserCust.userSeq.eq(dto.getUserVo().getUserSeq()) +// 현재 사용중인 ServiceTypeM = lastUseServiceGroup로 + qTbServiceGrouop.serviceGroupUpper.eq(dto.getUserVo().getLastUseServiceGroup()) + , qTbServiceGrouopeq(dto) + , qTbServiceAuthGroupNameeq(dto) +// , qTbServiceGrouop.serviceType.eq("S") + ) + .limit(dto.getSize()) + .offset(dto.getPage() * dto.getSize()) + .orderBy(qTbServiceAuthGroup.registDate.desc()) + .groupBy(qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceAuthGroup.authGroupSeq, + qTbServiceAuthGroup.policyGroupName, + qTbServiceAuthGroup.policyGroupDesc, + qTbServiceGrouop.custCode, + qTbServiceAuthGroup.registDate) + .fetchResults(); + } + +// return result; + } + + private BooleanExpression qTbServiceGrouopeq(SystemServiceAuthGroupReq dto) { + return dto.getServiceGroup().equals("ALL") ? + null : qTbServiceGrouop.serviceGroup.eq(dto.getServiceGroup()); + } + + private BooleanExpression qTbServiceAuthGroupNameeq(SystemServiceAuthGroupReq dto) { + if (dto.getCodeText() == null || dto.getCodeText().equals("")) { + return null; + } else { + return qTbServiceAuthGroup.policyGroupName.upper().contains(dto.getCodeText().toUpperCase()); + } + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceGrouopRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceGrouopRepoDsl.java new file mode 100644 index 0000000..02d9729 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceGrouopRepoDsl.java @@ -0,0 +1,18 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.common.login.res.OprmngCodeRes; +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceGroupReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceGroupRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceGroupViewVo; +import com.querydsl.core.QueryResults; + +import java.util.List; + +public interface TbServiceGrouopRepoDsl { + QueryResults ServiceGroupList(SystemServiceGroupReq dto); + List getOprmngCode(UserVo dto, String serviceType, String menuval); + List getMainOprmngCode(UserVo dto); + List getServiceGroupView(String serviceGroup); + List getOprmngCodeAdmin(UserVo dto, String serviceType); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceGrouopRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceGrouopRepoDslImpl.java new file mode 100644 index 0000000..689dc78 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbServiceGrouopRepoDslImpl.java @@ -0,0 +1,311 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.common.login.res.OprmngCodeRes; +import com.icomsys.main_vm.biz.common.login.res.UserVo; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceGroupReq; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceGroupRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceGroupViewVo; +import com.icomsys.main_vm.common.code.enumresource.RoleResource; +import com.icomsys.main_vm.db.jpa.entity.system.*; +import com.querydsl.core.QueryResults; +import com.querydsl.core.types.ExpressionUtils; +import com.querydsl.core.types.Projections; +import com.querydsl.core.types.dsl.BooleanExpression; +import com.querydsl.jpa.JPAExpressions; +import com.querydsl.jpa.impl.JPAQueryFactory; +import com.querydsl.jpa.sql.JPASQLQuery; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +import java.util.ArrayList; +import java.util.List; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbServiceGrouopRepoDslImpl implements TbServiceGrouopRepoDsl { + + + private final JPAQueryFactory queryFactory; + private final QTbIcsCustInfo qTbIcsCustInfo = QTbIcsCustInfo.tbIcsCustInfo; + private final QTbServiceGrouop qTbServiceGrouop = QTbServiceGrouop.tbServiceGrouop; + private final QTbIcsOprMngInfo qTbIcsOprMngInfo = QTbIcsOprMngInfo.tbIcsOprMngInfo; + private final QTbUserCust qTbUserCust = QTbUserCust.tbUserCust; + private final QTbCustPolicy qTbCustPolicy = QTbCustPolicy.tbCustPolicy; + private final QTbServiceGroupPolicy qTbServiceGroupPolicy = QTbServiceGroupPolicy.tbServiceGroupPolicy; + private final QTbUserAuthGroup qTbUserAuthGroup = QTbUserAuthGroup.tbUserAuthGroup; + + @Override + public QueryResults ServiceGroupList(SystemServiceGroupReq dto) { + QueryResults result = + queryFactory.select( + Projections.fields( + SystemServiceGroupRes.class, + qTbServiceGrouop.custCode, + qTbIcsCustInfo.custName, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceGrouop.serviceType, + qTbServiceGrouop.useYn, + qTbServiceGrouop.registDate + ) + ).from(qTbServiceGrouop) + .innerJoin(qTbIcsCustInfo).on(qTbIcsCustInfo.custCode.eq(qTbServiceGrouop.custCode)) + .where(qTbServiceGrouopeq(dto) + , QTbserviceGroupNameeq(dto) + , qTbServiceGrouop.serviceType.eq("M") + ) + .limit(dto.getSize()) + .offset(dto.getPage() * dto.getSize()) + .orderBy(qTbServiceGrouop.registDate.asc()) + .fetchResults(); + return result; + } + + private BooleanExpression qTbServiceGrouopeq(SystemServiceGroupReq dto) { + return dto.getServiceGroup().equals("ALL") ? + null : qTbServiceGrouop.serviceGroup.eq(dto.getServiceGroup()); + } + + private BooleanExpression QTbserviceGroupNameeq(SystemServiceGroupReq dto) { + if (dto.getCodeText() == null || dto.getCodeText().equals("")) { + return null; + } else { + return qTbServiceGrouop.serviceGroupName.upper().contains(dto.getCodeText().toUpperCase()); + } + } + + @Override + public List getOprmngCode(UserVo dto, String serviceType, String menuval) { + List result = new ArrayList<>(); + //시스템어드민은다보여줌. + if (dto.getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) { + return result = queryFactory.select( + Projections.fields( + OprmngCodeRes.class, + qTbServiceGrouop.custCode, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceGrouop.serviceGroupUpper + ) + ) + .from(qTbServiceGrouop) + .where(serviceTypeEq(serviceType), qTbServiceGrouop.useYn.eq("Y")) +// .innerJoin(qTbIcsOprMngInfo).on(qTbServiceGrouop.serviceGroup.eq(qTbIcsOprMngInfo.serviceGroup)) + .groupBy(qTbServiceGrouop.custCode, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceGrouop.serviceGroupUpper) + .fetch(); + } else { + if (menuval == null || menuval.equals("")) { + //메뉴발이 없는 유저어드민 + if (dto.getRoleVal().equals(RoleResource.USERADMIN.getName())) { + return result = queryFactory.select( + Projections.fields( + OprmngCodeRes.class, + qTbServiceGrouop.custCode, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceGrouop.serviceGroupUpper + ) + ) + .from(qTbServiceGrouop) + .where(serviceTypeEq(serviceType), qTbServiceGrouop.serviceGroupUpper.eq(dto.getLastUseServiceGroup()), qTbServiceGrouop.useYn.eq("Y")) +// .innerJoin(qTbIcsOprMngInfo).on(qTbServiceGrouop.serviceGroup.eq(qTbIcsOprMngInfo.serviceGroup)) + .groupBy(qTbServiceGrouop.custCode, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceGrouop.serviceGroupUpper) + .fetch(); + } + //메뉴발이 없는 유저 + else { + return result = queryFactory.select( + Projections.fields( + OprmngCodeRes.class, + qTbServiceGrouop.custCode, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceGrouop.serviceGroupUpper + ) + ) + .from(qTbUserCust) + //내가사용할 수 있는 UserCust의 서비스그룹 + .innerJoin(qTbServiceGrouop).on(qTbUserCust.serviceGroup.eq(qTbServiceGrouop.serviceGroup)) + //서비스그룹으로 공통코드 opr 값 뽑기 +// .innerJoin(qTbIcsOprMngInfo).on(qTbServiceGrouop.serviceGroup.eq(qTbIcsOprMngInfo.serviceGroup)) + //뽑은 opr로 공통코드 데이터뽑기 + .where(qTbUserCust.userSeq.eq(dto.getUserSeq()) + //현재 사용중인 ServiceTypeM = lastUseServiceGroup로 + , qTbServiceGrouop.serviceGroupUpper.eq(dto.getLastUseServiceGroup()) + , serviceTypeEq(serviceType) + , qTbServiceGrouop.useYn.eq("Y") + ) + .groupBy(qTbServiceGrouop.custCode, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceGrouop.serviceGroupUpper) + .fetch(); + } + } else { + + //메뉴발이 있는 유저어드민 + //유저어드민은 권한 상관 없이 상위서비스그룹의 메뉴들을 다 볼수 있어야함. + if (dto.getRoleVal().equals(RoleResource.USERADMIN.getName())) { + result = queryFactory.select( + Projections.fields( + OprmngCodeRes.class, + qTbServiceGrouop.custCode, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceGrouop.serviceGroupUpper + ) + ) + .from(qTbServiceGrouop) +// .innerJoin(qTbServiceGroupPolicy).on(qTbServiceGrouop.serviceGroup.eq(qTbServiceGroupPolicy.serviceGroup)) + .where(qTbServiceGrouop.serviceGroupUpper.eq(dto.getLastUseServiceGroup()) + , serviceTypeEq(serviceType) +// , qTbServiceGroupPolicy.policyVal.like(menuval + "%") + ) + .groupBy(qTbServiceGrouop.custCode, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceGrouop.serviceGroupUpper) + .fetch(); + + return result; + } + //메뉴발이 있는 유저 + else { + + result = queryFactory.select( + Projections.fields( + OprmngCodeRes.class, + qTbServiceGrouop.custCode, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceGrouop.serviceGroupUpper + ) + ) + .from(qTbUserAuthGroup) + .innerJoin(qTbServiceGroupPolicy).on(qTbUserAuthGroup.authGroupSeq.eq(qTbServiceGroupPolicy.authGroupSeq)) + .innerJoin(qTbServiceGrouop).on(qTbServiceGroupPolicy.serviceGroup.eq(qTbServiceGrouop.serviceGroup)) + .where(qTbUserAuthGroup.userSeq.eq(dto.getUserSeq()), + qTbServiceGroupPolicy.policyVal.like(menuval + "%") +// , qTbServiceGrouop.serviceType.eq("S") + , serviceTypeEq(serviceType), + qTbServiceGrouop.useYn.eq("Y")) + .groupBy(qTbServiceGrouop.custCode, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceGrouop.serviceGroupUpper) + .fetch(); + + return result; + } + } + } + } + + private BooleanExpression serviceTypeEq(String serviceType) { + if (serviceType == null || serviceType.equals("")) { + return null; + } else { + return qTbServiceGrouop.serviceType.eq(serviceType); + } + } + + @Override + public List getMainOprmngCode(UserVo dto) { + + List result = new ArrayList<>(); + + if (dto.getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) { + result = queryFactory.select( + Projections.fields( + OprmngCodeRes.class, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName + ) + ).from(qTbServiceGrouop) + .where(qTbServiceGrouop.serviceType.eq("M")) + .fetch(); + return result; + } else { + result = queryFactory.select( + Projections.fields( + OprmngCodeRes.class, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName + ) + ).from(qTbUserCust) + .innerJoin(qTbServiceGrouop).on(qTbUserCust.serviceGroup.eq(qTbServiceGrouop.serviceGroup)) + .where( + qTbUserCust.userSeq.eq(dto.getUserSeq()) +// , qTbServiceGrouop.serviceType.eq("M") + ) + .groupBy(qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName) + .fetch(); + return result; + } + } + + @Override + public List getServiceGroupView(String serviceGroup) { + + List result = new ArrayList<>(); + + try { + result = queryFactory.select( + Projections.fields( + SystemServiceGroupViewVo.class, + qTbServiceGrouop.custCode, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceGrouop.serviceGroupDesc, + qTbServiceGrouop.serviceType, + qTbServiceGrouop.useYn, + qTbIcsOprMngInfo.oprMngCode + ) + ).from(qTbServiceGrouop) + .innerJoin(qTbIcsOprMngInfo).on(qTbServiceGrouop.serviceGroup.eq(qTbIcsOprMngInfo.serviceGroup)) + .where(qTbServiceGrouop.serviceGroupUpper.eq(serviceGroup)) + .groupBy( + qTbServiceGrouop.custCode, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbServiceGrouop.serviceGroupDesc, + qTbServiceGrouop.serviceType, + qTbServiceGrouop.useYn, + qTbIcsOprMngInfo.oprMngCode) + .fetch(); + } catch (Exception e) { + log.info("error - {}", e.getMessage()); + } + return result; + } + + @Override + public List getOprmngCodeAdmin(UserVo dto, String serviceType) { + List result = new ArrayList<>(); + return result = queryFactory.select( + Projections.fields( + OprmngCodeRes.class, + qTbIcsOprMngInfo.serviceGroup, + qTbServiceGrouop.serviceGroupName + ) + ) + .from(qTbServiceGrouop) + .innerJoin(qTbIcsOprMngInfo).on(qTbServiceGrouop.serviceGroup.eq(qTbIcsOprMngInfo.serviceGroup)) + //현재 사용중인 서비스그룹의 하위검색 + .where(qTbServiceGrouop.serviceGroupUpper.eq(dto.getLastUseServiceGroup()) + , serviceTypeEq(serviceType) + ) + .fetch(); + } + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymMasterRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymMasterRepoDsl.java new file mode 100644 index 0000000..0b42ad3 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymMasterRepoDsl.java @@ -0,0 +1,30 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.rcp.conversation.vo.SynonymWordListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.synonym.ExcelSynonymListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.synonym.SelectSynonymList2Vo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.synonym.SelectSynonymListVo; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.List; + +public interface TbSynonymMasterRepoDsl { + + @Transactional(readOnly = true) + List selectSynonymList2(String opr, String repWord); + @Transactional(readOnly = true) + List selectSynonymList(String oprMngCode, String repWord); + Long dupIndivWord(HashMap eMap); + Long dupRepWord(HashMap eMap); + Long selectSynonymMaster(HashMap eMap); + Long dupRepWordN(HashMap eMap); + Long dupSynonymY(HashMap eMap); + Long dupSynonymN(HashMap eMap); + List insertSynonymWord(HashMap eMap); + int deleteSynonyms(HashMap eMap); + + void updateSynonymMaster(HashMap eMap); + + //List excelSynonymList(String opr, String repWord); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymMasterRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymMasterRepoDslImpl.java new file mode 100644 index 0000000..289e701 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymMasterRepoDslImpl.java @@ -0,0 +1,266 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SynonymWordListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.synonym.ExcelSynonymListVo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.synonym.SelectSynonymList2Vo; +import com.icomsys.main_vm.biz.rcp.conversation.vo.synonym.SelectSynonymListVo; +import com.icomsys.main_vm.db.jpa.entity.conversation.QTbSynonymMaster; +import com.icomsys.main_vm.db.jpa.entity.conversation.QTbSynonymWord; +import com.querydsl.core.types.ExpressionUtils; +import com.querydsl.core.types.Projections; +import com.querydsl.core.types.dsl.Expressions; +import com.querydsl.jpa.JPAExpressions; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbSynonymMasterRepoDslImpl implements TbSynonymMasterRepoDsl { + + private final JPAQueryFactory queryFactory; + private QTbSynonymMaster qTbSynonymMaster = QTbSynonymMaster.tbSynonymMaster; + private QTbSynonymWord qTbSynonymWord = QTbSynonymWord.tbSynonymWord; + + @Override + public List selectSynonymList(String oprMngCode, String repWord) { + List result = null; + + var query = queryFactory.select(Projections.fields( + SelectSynonymListVo.class, + qTbSynonymMaster.seq, + qTbSynonymMaster.idivWord, + qTbSynonymMaster.repWord + //Expressions.stringTemplate("group_concat({0})", qTbSynonymWord.seq, ",").as("synonymSeqs"), + //Expressions.stringTemplate("group_concat({0})", qTbSynonymWord.synonymWord, ",").as("synonymWords") + ) + ) + .from(qTbSynonymMaster) + .leftJoin(qTbSynonymWord).on(qTbSynonymMaster.seq.eq(qTbSynonymWord.masterSeq) + .and(qTbSynonymWord.useYn.eq("Y"))) + .where(qTbSynonymMaster.useYn.eq("Y") + .and(qTbSynonymWord.useYn.eq("Y") + .and(qTbSynonymMaster.oprMngCode.eq(oprMngCode)))); + if (repWord != null && !(repWord.equals(""))) { + query.where(qTbSynonymMaster.repWord.like("%".concat(repWord).concat("%"))); + } + query.groupBy(qTbSynonymMaster.seq, qTbSynonymMaster.idivWord, qTbSynonymMaster.repWord); + query.orderBy(qTbSynonymMaster.updateDate.desc()); + result = query.fetch(); + + return result; + } + + + //사용안함 + @Override + public List selectSynonymList2(String opr, String repWord) { + log.info("Synonym2 dsl impl"); + + //서브쿼리 리스트 바인딩이.. + var result = queryFactory.select(Projections.fields( + SelectSynonymList2Vo.class, + qTbSynonymMaster.seq, + qTbSynonymMaster.idivWord, + qTbSynonymMaster.repWord, +// qTbSynonymWord.seq.stringValue().as("synonymSeqs"), + ExpressionUtils.as( + JPAExpressions + .select(qTbSynonymWord.seq) + .from(qTbSynonymWord) + .where(qTbSynonymWord.masterSeq.eq(qTbSynonymMaster.seq)), + "synonymSeqs"), +// qTbSynonymWord.synonymWord.stringValue().as("synonymWords") + ExpressionUtils.as(JPAExpressions + .select(qTbSynonymWord.synonymWord) + .from(qTbSynonymWord) + .where(qTbSynonymWord.masterSeq.eq(qTbSynonymMaster.seq)), + "synonymWords") + ) + ) + .from(qTbSynonymMaster) + .leftJoin(qTbSynonymWord).on(qTbSynonymMaster.seq.eq(qTbSynonymWord.masterSeq) + .and(qTbSynonymWord.useYn.eq("Y")) + ) + .where( + qTbSynonymMaster.useYn.eq("Y") + .and(qTbSynonymWord.useYn.eq("Y")) + ).groupBy(qTbSynonymMaster.seq) + .fetch(); + return result; + } + + @Override + public Long dupIndivWord(HashMap eMap) { + Long result = null; + String oprMngCode = eMap.get("custCode") + "_RCP_" + eMap.get("serviceGroup"); + var query = queryFactory.select( + qTbSynonymMaster.count() + ).from(qTbSynonymMaster) + .where(qTbSynonymMaster.idivWord.eq(eMap.get("idivWord").toString()) + .and(qTbSynonymMaster.useYn.eq("Y")) + .and(qTbSynonymMaster.oprMngCode.eq(oprMngCode))); + + if(eMap.get("seq") != null && !(eMap.get("seq").equals(""))) { + query.where(qTbSynonymMaster.seq.ne(Long.valueOf(String.valueOf(eMap.get("seq"))))); + } + result = query.fetchOne(); + return result; + } + + + @Override + public Long dupRepWord(HashMap eMap) { + Long result = null; + String oprMngCode = eMap.get("custCode") + "_RCP_" + eMap.get("serviceGroup"); + + var query = queryFactory.select( + qTbSynonymMaster.count() + ).from(qTbSynonymMaster) + .where(qTbSynonymMaster.repWord.eq(eMap.get("repWord").toString()) + .and(qTbSynonymMaster.useYn.eq("Y")) + .and(qTbSynonymMaster.oprMngCode.eq(oprMngCode))); + if(eMap.get("seq") != null && !(eMap.get("seq").equals(""))) { + query.where(qTbSynonymMaster.seq.ne(Long.valueOf(String.valueOf(eMap.get("seq"))))); + } + result = query.fetchOne(); + return result; + } + + @Override + public Long selectSynonymMaster(HashMap eMap) { + String oprMngCode = eMap.get("custCode") + "_RCP_" + eMap.get("serviceGroup"); + + var query = queryFactory.select( + qTbSynonymMaster.seq + ).from(qTbSynonymMaster) + .where(qTbSynonymMaster.oprMngCode.eq(oprMngCode) + .and(qTbSynonymMaster.idivWord.eq(eMap.get("idivWord").toString()))) + .fetchOne(); + + return query; + } + + @Override + public Long dupRepWordN(HashMap eMap) { + Long result = null; + String oprMngCode = eMap.get("custCode") + "_RCP_" + eMap.get("serviceGroup"); + + var query = queryFactory.select( + qTbSynonymMaster.count() + ).from(qTbSynonymMaster) + .where(qTbSynonymMaster.repWord.eq(eMap.get("repWord").toString()) + .and(qTbSynonymMaster.oprMngCode.eq(oprMngCode))); + if(eMap.get("seq") != null && !(eMap.get("seq").equals(""))) { + query.where(qTbSynonymMaster.seq.ne(Long.valueOf(String.valueOf(eMap.get("seq"))))); + } + result = query.fetchOne(); + return result; + } + + @Override + public Long dupSynonymY(HashMap eMap) { + Long result = null; + String oprMngCode = eMap.get("custCode") + "_RCP_" + eMap.get("serviceGroup"); + + var query = queryFactory.select( + qTbSynonymWord.count() + ).from(qTbSynonymWord) + .where(qTbSynonymWord.synonymWord.eq(eMap.get("synonymWord").toString()) + .and(qTbSynonymWord.useYn.eq("Y")) + .and(qTbSynonymWord.oprMngCode.eq(oprMngCode))); + if (eMap.get("seq") != null && !(eMap.get("seq").equals(""))) { + query.where(qTbSynonymWord.masterSeq.ne(Long.valueOf(String.valueOf(eMap.get("seq"))))); + } + result = query.fetchOne(); + return result; + + } + + @Override + public Long dupSynonymN(HashMap eMap) { + String oprMngCode = eMap.get("custCode") + "_RCP_" + eMap.get("serviceGroup"); + + var query = queryFactory.select( + qTbSynonymWord.count() + ).from(qTbSynonymWord) + .where(qTbSynonymWord.synonymWord.eq(eMap.get("synonymWord").toString()) + .and(qTbSynonymWord.oprMngCode.eq(oprMngCode))) + .fetchOne(); + return query; + } + + @Override + public List insertSynonymWord(HashMap eMap) { + String oprMngCode = eMap.get("custCode") + "_RCP_" + eMap.get("serviceGroup"); + + var query = queryFactory.select( + Projections.fields(SynonymWordListVo.class, + qTbSynonymMaster.seq)) + .from(qTbSynonymMaster) + .where(qTbSynonymMaster.idivWord.eq(eMap.get("idivWord").toString()) + .and(qTbSynonymMaster.oprMngCode.eq(oprMngCode))) + .fetch(); + return query; + } + + @Override + public int deleteSynonyms(HashMap eMap) { + var query = queryFactory.update(qTbSynonymMaster) + .set(qTbSynonymMaster.useYn, "N") + .where(qTbSynonymMaster.seq.eq(Long.valueOf(String.valueOf(eMap.get("seq"))))); + return (int) query.execute(); + + } + + @Override + public void updateSynonymMaster(HashMap eMap) { + var query = queryFactory.update(qTbSynonymMaster) + .set(qTbSynonymMaster.idivWord, eMap.get("idivWord").toString()) + .set(qTbSynonymMaster.repWord, eMap.get("repWord").toString()) + .set(qTbSynonymMaster.useYn, "Y") + .set(qTbSynonymMaster.updateId, eMap.get("userId").toString()) + .set(qTbSynonymMaster.updateDate, LocalDateTime.now()) + .where(qTbSynonymMaster.seq.eq((Long) eMap.get("seq"))) + .execute(); + + } + + /*@Override + public List excelSynonymList(String opr, String repWord) { + List result = null; + + var query = queryFactory.select(Projections.fields( + ExcelSynonymListVo.class, + qTbSynonymMaster.idivWord, + qTbSynonymMaster.repWord + //Expressions.stringTemplate("group_concat({0})", qTbSynonymWord.synonymWord, ",").as("synonymWords") + ) + ) + .from(qTbSynonymMaster) + .leftJoin(qTbSynonymWord).on(qTbSynonymMaster.seq.eq(qTbSynonymWord.masterSeq) + .and(qTbSynonymWord.useYn.eq("Y"))) + .where(qTbSynonymMaster.useYn.eq("Y") + .and(qTbSynonymWord.useYn.eq("Y") + .and(qTbSynonymMaster.oprMngCode.eq(opr)))); + if (repWord != null && !(repWord.equals(""))) { + query.where(qTbSynonymMaster.repWord.like("%".concat(repWord).concat("%"))); + } + query.groupBy(qTbSynonymMaster.seq, qTbSynonymMaster.idivWord, qTbSynonymMaster.repWord); + query.orderBy(qTbSynonymMaster.updateDate.desc()); + result = query.fetch(); + + return result; + }*/ + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymWordRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymWordRepoDsl.java new file mode 100644 index 0000000..0a78c00 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymWordRepoDsl.java @@ -0,0 +1,14 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.rcp.conversation.vo.SynonymWordListVo; + +import java.util.HashMap; +import java.util.List; + +public interface TbSynonymWordRepoDsl { + + List insertSynonymWord(HashMap eMap); + //List updateSynonymWord(HashMap eMap); + void updateSynonymWord(HashMap eMap); + void deleteSynonymWord(HashMap eMap); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymWordRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymWordRepoDslImpl.java new file mode 100644 index 0000000..159eafe --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbSynonymWordRepoDslImpl.java @@ -0,0 +1,80 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.google.gson.Gson; +import com.icomsys.main_vm.biz.rcp.conversation.vo.SynonymWordListVo; +import com.icomsys.main_vm.db.jpa.entity.conversation.QTbSynonymMaster; +import com.icomsys.main_vm.db.jpa.entity.conversation.QTbSynonymWord; +import com.icomsys.main_vm.db.jpa.entity.conversation.TbSynonymWord; +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import com.querydsl.core.types.ExpressionUtils; +import com.querydsl.core.types.Projections; +import com.querydsl.jpa.JPAExpressions; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +import javax.servlet.http.HttpServletRequest; +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbSynonymWordRepoDslImpl implements TbSynonymWordRepoDsl { + + private final JPAQueryFactory queryFactory; + private QTbSynonymMaster qTbSynonymMaster = QTbSynonymMaster.tbSynonymMaster; + private QTbSynonymWord qTbSynonymWord = QTbSynonymWord.tbSynonymWord; + @Override + public List insertSynonymWord(HashMap eMap) { + var query = queryFactory.select( + Projections.fields(SynonymWordListVo.class, + qTbSynonymMaster.seq)) + .from(qTbSynonymMaster) + .where(qTbSynonymMaster.idivWord.eq(eMap.get("idivWord").toString()) + .and(qTbSynonymMaster.oprMngCode.eq(eMap.get("serviceCode").toString()))) + .fetch(); + return query; + } + + + @Override + public void updateSynonymWord(HashMap eMap) { +// var query = queryFactory.select( +// Projections.fields(SynonymWordListVo.class, +// qTbSynonymMaster.seq)) +// .from(qTbSynonymMaster) +// .where(qTbSynonymMaster.idivWord.eq(eMap.get("idivWord").toString()) +// .and(qTbSynonymMaster.oprMngCode.eq(eMap.get("serviceCode").toString())) +// .and(qTbSynonymMaster.useYn.eq("Y"))) +// .fetch(); +// return query; + try { + var query = queryFactory.update(qTbSynonymWord) + .set(qTbSynonymWord.masterSeq, ( + ExpressionUtils.as(JPAExpressions + .select(qTbSynonymMaster.seq).from(qTbSynonymMaster) + .where(qTbSynonymMaster.idivWord.eq(eMap.get("idivWord").toString()) + .and(qTbSynonymMaster.oprMngCode.eq(eMap.get("serviceCode").toString()) + .and(qTbSynonymMaster.useYn.eq("Y")))), "seq"))) + .set(qTbSynonymWord.useYn, "Y") + .set(qTbSynonymWord.updateId, eMap.get("userId").toString()) + .set(qTbSynonymWord.updateDate, LocalDateTime.now()) + .where(qTbSynonymWord.synonymWord.eq(eMap.get("synonymWord").toString()) + .and(qTbSynonymWord.oprMngCode.eq(eMap.get("serviceCode").toString()))) + .execute(); + }catch (Exception e){ + e.printStackTrace(); + } + } + + @Override + public void deleteSynonymWord(HashMap eMap) { + var query = queryFactory.update(qTbSynonymWord) + .set(qTbSynonymWord.useYn, "N") + .where(qTbSynonymWord.masterSeq.eq(Long.valueOf(String.valueOf(eMap.get("seq"))))) + .execute(); + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbUserAuthGroupRepoDsl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbUserAuthGroupRepoDsl.java new file mode 100644 index 0000000..616aae4 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbUserAuthGroupRepoDsl.java @@ -0,0 +1,15 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.common.system.vo.SystemBotUserViewSubRes; +import com.icomsys.main_vm.db.jpa.entity.system.TbBotUser; + +import java.util.List; + +public interface TbUserAuthGroupRepoDsl { + + List userPolicyListSelect(Long userSeq, String lastService); + + List userUseAuthGroup(Long userSeq); + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbUserAuthGroupRepoDslImpl.java b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbUserAuthGroupRepoDslImpl.java new file mode 100644 index 0000000..fcd8778 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/jpa/repo/system/dsl/TbUserAuthGroupRepoDslImpl.java @@ -0,0 +1,88 @@ +package com.icomsys.main_vm.db.jpa.repo.system.dsl; + +import com.icomsys.main_vm.biz.common.system.vo.SystemBotUserViewSubRes; +import com.icomsys.main_vm.biz.common.system.vo.SystemServiceGroupRes; +import com.icomsys.main_vm.common.code.enumresource.PolicyResource; +import com.icomsys.main_vm.common.code.enumresource.RoleResource; +import com.icomsys.main_vm.db.jpa.entity.system.*; +import com.querydsl.core.QueryResults; +import com.querydsl.core.types.Projections; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; + +import java.util.List; +import java.util.stream.Collectors; + +@Aspect +@Slf4j +@RequiredArgsConstructor +public class TbUserAuthGroupRepoDslImpl implements TbUserAuthGroupRepoDsl { + + private final JPAQueryFactory queryFactory; + private final QTbUserAuthGroup qTbUserAuthGroup = QTbUserAuthGroup.tbUserAuthGroup; + private final QTbServiceGroupPolicy qTbServiceGroupPolicy = QTbServiceGroupPolicy.tbServiceGroupPolicy; + private final QTbServiceGrouop qTbServiceGrouop = QTbServiceGrouop.tbServiceGrouop; + private final QTbBotUser qTbBotUser = QTbBotUser.tbBotUser; + private final QTbUserCust qTbUserCust = QTbUserCust.tbUserCust; + + @Override + public List userPolicyListSelect(Long userSeq, String lastService) { + + TbBotUser userget = queryFactory.selectFrom(qTbBotUser).where(qTbBotUser.userSeq.eq(userSeq)) + .fetchOne(); + + if (RoleResource.SYSTEMADMIN.getName().equals(userget.getRoleVal())) { + return PolicyResource.ALL.stream().map(e -> e.getName()).collect(Collectors.toList()); +// return queryFactory.select( +// qTbServiceGroupPolicy.policyVal +// ) +// .from(qTbUserAuthGroup) +// .innerJoin(qTbServiceGroupPolicy).on(qTbUserAuthGroup.authGroupSeq.eq(qTbServiceGroupPolicy.authGroupSeq)) +//// .innerJoin(qTbServiceGrouop).on(qTbServiceGroupPolicy.serviceGroup.eq(qTbServiceGrouop.serviceGroup)) +// .where( +// qTbUserAuthGroup.userSeq.eq(userSeq) +//// , qTbServiceGrouop.serviceGroupUpper.eq(lastService) +// ) +// .groupBy(qTbServiceGroupPolicy.policyVal) +// .fetch(); + } else { + return queryFactory.select( + qTbServiceGroupPolicy.policyVal + ) + .from(qTbServiceGrouop) + .innerJoin(qTbUserCust).on(qTbServiceGrouop.serviceGroup.eq(qTbUserCust.serviceGroup)) + .innerJoin(qTbUserAuthGroup).on(qTbUserCust.serviceGroup.eq(qTbUserAuthGroup.serviceGroup)) + .innerJoin(qTbServiceGroupPolicy).on(qTbUserAuthGroup.authGroupSeq.eq(qTbServiceGroupPolicy.authGroupSeq)) +// .innerJoin(qTbServiceGrouop).on(qTbServiceGroupPolicy.serviceGroup.eq(qTbServiceGrouop.serviceGroup)) + .where( + qTbUserAuthGroup.userSeq.eq(userSeq) + , qTbServiceGrouop.serviceGroupUpper.eq(lastService) + ) + .groupBy(qTbServiceGroupPolicy.policyVal) + .fetch(); + } + + + } + + @Override + public List userUseAuthGroup(Long userSeq) { + List result = + queryFactory.select( + Projections.fields( + SystemBotUserViewSubRes.class, + qTbServiceGrouop.serviceGroup, + qTbServiceGrouop.serviceGroupName, + qTbUserAuthGroup.authGroupSeq + ) + ).from(qTbUserAuthGroup) + .innerJoin(qTbServiceGrouop).on(qTbServiceGrouop.serviceGroup.eq(qTbUserAuthGroup.serviceGroup)) + .where(qTbUserAuthGroup.userSeq.eq(userSeq)) + .fetch(); + + return result; + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/IntentAnalysisDayVO.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/IntentAnalysisDayVO.java new file mode 100644 index 0000000..6e1f3cd --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/IntentAnalysisDayVO.java @@ -0,0 +1,67 @@ +package com.icomsys.main_vm.db.mybatis.alias; + +public class IntentAnalysisDayVO { + private String oprMngCodeName; + private String callInitDate; + private String totCnt; + private String succCnt; + private String failCnt; + private String succPer; + private String avgIntentPer; + + public String getOprMngCodeName() { + return oprMngCodeName; + } + + public void setOprMngCodeName(String oprMngCodeName) { + this.oprMngCodeName = oprMngCodeName; + } + + public String getCallInitDate() { + return callInitDate; + } + + public void setCallInitDate(String callInitDate) { + this.callInitDate = callInitDate; + } + + public String getTotCnt() { + return totCnt; + } + + public void setTotCnt(String totCnt) { + this.totCnt = totCnt; + } + + public String getSuccCnt() { + return succCnt; + } + + public void setSuccCnt(String succCnt) { + this.succCnt = succCnt; + } + + public String getFailCnt() { + return failCnt; + } + + public void setFailCnt(String failCnt) { + this.failCnt = failCnt; + } + + public String getSuccPer() { + return succPer; + } + + public void setSuccPer(String succPer) { + this.succPer = succPer; + } + + public String getAvgIntentPer() { + return avgIntentPer; + } + + public void setAvgIntentPer(String avgIntentPer) { + this.avgIntentPer = avgIntentPer; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/IntentAnalysisItemVO.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/IntentAnalysisItemVO.java new file mode 100644 index 0000000..1403ece --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/IntentAnalysisItemVO.java @@ -0,0 +1,76 @@ +package com.icomsys.main_vm.db.mybatis.alias; + +public class IntentAnalysisItemVO { + private String oprMngCodeName; + private String intentGroup; + private String intentName; + private String totCnt; + private String succCnt; + private String failCnt; + private String succPer; + private String avgIntentPer; + + public String getOprMngCodeName() { + return oprMngCodeName; + } + + public void setOprMngCodeName(String oprMngCodeName) { + this.oprMngCodeName = oprMngCodeName; + } + + public String getIntentGroup() { + return intentGroup; + } + + public void setIntentGroup(String intentGroup) { + this.intentGroup = intentGroup; + } + + public String getIntentName() { + return intentName; + } + + public void setIntentName(String intentName) { + this.intentName = intentName; + } + + public String getTotCnt() { + return totCnt; + } + + public void setTotCnt(String totCnt) { + this.totCnt = totCnt; + } + + public String getSuccCnt() { + return succCnt; + } + + public void setSuccCnt(String succCnt) { + this.succCnt = succCnt; + } + + public String getFailCnt() { + return failCnt; + } + + public void setFailCnt(String failCnt) { + this.failCnt = failCnt; + } + + public String getSuccPer() { + return succPer; + } + + public void setSuccPer(String succPer) { + this.succPer = succPer; + } + + public String getAvgIntentPer() { + return avgIntentPer; + } + + public void setAvgIntentPer(String avgIntentPer) { + this.avgIntentPer = avgIntentPer; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/LoginVO.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/LoginVO.java new file mode 100644 index 0000000..6c5c81f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/LoginVO.java @@ -0,0 +1,93 @@ +package com.icomsys.main_vm.db.mybatis.alias; + +import org.springframework.security.crypto.password.PasswordEncoder; + +import java.io.Serializable; + +/** + * @Class Name : LoginVO.java + * @Description : Login VO class + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.03 박지욱 최초 생성 + * + * @author 공통서비스 개발팀 박지욱 + * @since 2009.03.03 + * @version 1.0 + * @see + * + */ +public class LoginVO implements Serializable{ + private static final long serialVersionUID = -8274004534207618049L; + + private String userId; + private String userName; + private String eMail; + private String password; + private String authCode; + private String siteCode; + private String systemUserId; + private int loginCheck; + private String update_date; + private String ip; + + public String getUserId() { + return userId; + } + public void setUserId(String userId) { + this.userId = userId; + } + public String getUserName() { + return userName; + } + public void setUserName(String userName) { + this.userName = userName; + } + public String geteMail() { + return eMail; + } + public void seteMail(String eMail) { + this.eMail = eMail; + } + public String getPassword() { + return password; + } + public void setPassword(String password) { + this.password = password; + } + public String getSiteCode() { + return siteCode; + } + public void setSiteCode(String siteCode) { + this.siteCode = siteCode; + } + public String getSystemUserId() { + return systemUserId; + } + public void setSystemUserId(String systemUserId) { + this.systemUserId = systemUserId; + } + public String getAuthCode() { + return authCode; + } + public void setAuthCode(String authCode) { + this.authCode = authCode; + } + public int getLoginCheck() { return loginCheck; } + public void setLoginCheck(int loginCheck) { this.loginCheck = loginCheck; } + public String getIp() { + return ip; + } + public void setIp(String ip) { + this.ip = ip; + } + public String getUpdate_date() { return update_date; } + public void setUpdate_date(String update_date) { this.update_date = update_date; } + + public boolean ofValid(PasswordEncoder passwordEncoder, String dbPass) { + return passwordEncoder.matches(this.password, dbPass); + } + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MenuManageVO.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MenuManageVO.java new file mode 100644 index 0000000..207f207 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MenuManageVO.java @@ -0,0 +1,173 @@ +package com.icomsys.main_vm.db.mybatis.alias; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * 메뉴목록관리 처리를 위한 VO 클래스르를 정의한다 + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *   
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2009.03.20  이  용          최초 생성
+ *   2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성 
+ *
+ * 
+ */ + +public class MenuManageVO { + + private int menuNo; + private String menuName; + private int upperMenuNo; + private String menuDesc; + private String urlPath; + private String authCode; + + /* 기타VO변수 + private int tempInt; + */ + private String tempValue; + + /* Login 메뉴관련 VO변수 */ + private String tmp_Id; + private String tmp_Password; + private String tmp_Name; + private String tmp_UserSe; + private String tmp_Email; + private String tmp_OrgnztId; + private String tmp_UniqId; + private String tmp_Cmd; + + public String getTempValue() { + return tempValue; + } + + public void setTempValue(String tempValue) { + this.tempValue = tempValue; + } + + public int getMenuNo() { + return menuNo; + } + + public void setMenuNo(int menuNo) { + this.menuNo = menuNo; + } + + public String getMenuName() { + return menuName; + } + + public void setMenuName(String menuName) { + this.menuName = menuName; + } + + public int getUpperMenuNo() { + return upperMenuNo; + } + + public void setUpperMenuNo(int upperMenuNo) { + this.upperMenuNo = upperMenuNo; + } + + public String getMenuDesc() { + return menuDesc; + } + + public void setMenuDesc(String menuDesc) { + this.menuDesc = menuDesc; + } + + public String getUrlPath() { + return urlPath; + } + + public void setUrlPath(String urlPath) { + this.urlPath = urlPath; + } + + public String getAuthCode() { + return authCode; + } + + public void setAuthCode(String authCode) { + this.authCode = authCode; + } + + public String getTmp_Id() { + return tmp_Id; + } + + public void setTmp_Id(String tmp_Id) { + this.tmp_Id = tmp_Id; + } + + public String getTmp_Password() { + return tmp_Password; + } + + public void setTmp_Password(String tmp_Password) { + this.tmp_Password = tmp_Password; + } + + public String getTmp_Name() { + return tmp_Name; + } + + public void setTmp_Name(String tmp_Name) { + this.tmp_Name = tmp_Name; + } + + public String getTmp_UserSe() { + return tmp_UserSe; + } + + public void setTmp_UserSe(String tmp_UserSe) { + this.tmp_UserSe = tmp_UserSe; + } + + public String getTmp_Email() { + return tmp_Email; + } + + public void setTmp_Email(String tmp_Email) { + this.tmp_Email = tmp_Email; + } + + public String getTmp_OrgnztId() { + return tmp_OrgnztId; + } + + public void setTmp_OrgnztId(String tmp_OrgnztId) { + this.tmp_OrgnztId = tmp_OrgnztId; + } + + public String getTmp_UniqId() { + return tmp_UniqId; + } + + public void setTmp_UniqId(String tmp_UniqId) { + this.tmp_UniqId = tmp_UniqId; + } + + public String getTmp_Cmd() { + return tmp_Cmd; + } + + public void setTmp_Cmd(String tmp_Cmd) { + this.tmp_Cmd = tmp_Cmd; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString() { + return ToStringBuilder.reflectionToString(this); + } +} \ No newline at end of file diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringConsultingVO.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringConsultingVO.java new file mode 100644 index 0000000..3f65c99 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringConsultingVO.java @@ -0,0 +1,188 @@ +package com.icomsys.main_vm.db.mybatis.alias; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.List; + +public class MonitoringConsultingVO { + private String token; + private String custCode; + private List custCodeList; + private String oprMngCode; + private List oprMngCodeList; + private String oprMngCodeUpper; + private List oprMngCodeUpperList; + private Long scenarioSeq; + private String scenarioName; + private String callInitDateFrom; + private String callInitDateTo; + private String callEndConversion; + private String callEndReason; + private String majorCode; + private String telNo; + private String dnisNo; + private int page; + private int pageSize; + private int limit; + private int offset; + + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } + + public String getCustCode() { + return custCode; + } + + public void setCustCode(String custCode) { + this.custCode = custCode; + } + + public List getCustCodeList() { + return custCodeList; + } + + public void setCustCodeList(List custCodeList) { + this.custCodeList = custCodeList; + } + + public String getOprMngCode() { + return oprMngCode; + } + + public void setOprMngCode(String oprMngCode) { + this.oprMngCode = oprMngCode; + } + + public List getOprMngCodeList() { + return oprMngCodeList; + } + + public void setOprMngCodeList(List oprMngCodeList) { + this.oprMngCodeList = oprMngCodeList; + } + + public String getOprMngCodeUpper() { + return oprMngCodeUpper; + } + + public void setOprMngCodeUpper(String oprMngCodeUpper) { + this.oprMngCodeUpper = oprMngCodeUpper; + } + + public List getOprMngCodeUpperList() { + return oprMngCodeUpperList; + } + + public void setOprMngCodeUpperList(List oprMngCodeUpperList) { + this.oprMngCodeUpperList = oprMngCodeUpperList; + } + + public Long getScenarioSeq() { + return scenarioSeq; + } + + public void setScenarioSeq(Long scenarioSeq) { + this.scenarioSeq = scenarioSeq; + } + + public String getScenarioName() { + return scenarioName; + } + + public void setScenarioName(String scenarioName) { + this.scenarioName = scenarioName; + } + + public String getCallInitDateFrom() { + return callInitDateFrom; + } + + public void setCallInitDateFrom(String callInitDateFrom) { + this.callInitDateFrom = callInitDateFrom; + } + + public String getCallInitDateTo() { + return callInitDateTo; + } + + public void setCallInitDateTo(String callInitDateTo) { + this.callInitDateTo = callInitDateTo; + } + + public String getCallEndConversion() { + return callEndConversion; + } + + public void setCallEndConversion(String callEndConversion) { + this.callEndConversion = callEndConversion; + } + + public String getCallEndReason() { + return callEndReason; + } + + public void setCallEndReason(String callEndReason) { + this.callEndReason = callEndReason; + } + + public String getMajorCode() { + return majorCode; + } + + public void setMajorCode(String majorCode) { + this.majorCode = majorCode; + } + + public String getTelNo() { + return telNo; + } + + public void setTelNo(String telNo) { + this.telNo = telNo; + } + + public String getDnisNo() { + return dnisNo; + } + + public void setDnisNo(String dnisNo) { + this.dnisNo = dnisNo; + } + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public int getLimit() { + return limit; + } + + public void setLimit(int limit) { + this.limit = limit; + } + + public int getOffset() { + return offset; + } + + public void setOffset(int offset) { + this.offset = offset; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringConversationMarkVO.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringConversationMarkVO.java new file mode 100644 index 0000000..ddb3b44 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringConversationMarkVO.java @@ -0,0 +1,184 @@ +package com.icomsys.main_vm.db.mybatis.alias; + +public class MonitoringConversationMarkVO { + private Long seq; + private String mainOpr; + private String oprMngCode; + private String logType; + private String token; + private int talkSeq; + private String talkText; + private String bookmarkErrCode; + private String measureType; + private String measureInfo; + private String callInitDateFrom; + private String callInitDateTo; + private String registId; + private String updateId; + private String chkMeasure; + private String menuVal; + private int page; + private int pageSize; + private int limit; + private int offset; + + public Long getSeq() { + return seq; + } + + public void setSeq(Long seq) { + this.seq = seq; + } + + public String getMainOpr() { + return mainOpr; + } + + public void setMainOpr(String mainOpr) { + this.mainOpr = mainOpr; + } + + public String getOprMngCode() { + return oprMngCode; + } + + public void setOprMngCode(String oprMngCode) { + this.oprMngCode = oprMngCode; + } + + public String getLogType() { + return logType; + } + + public void setLogType(String logType) { + this.logType = logType; + } + + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } + + public int getTalkSeq() { + return talkSeq; + } + + public void setTalkSeq(int talkSeq) { + this.talkSeq = talkSeq; + } + + public String getTalkText() { + return talkText; + } + + public void setTalkText(String talkText) { + this.talkText = talkText; + } + + public String getBookmarkErrCode() { + return bookmarkErrCode; + } + + public void setBookmarkErrCode(String bookmarkErrCode) { + this.bookmarkErrCode = bookmarkErrCode; + } + + public String getMeasureType() { + return measureType; + } + + public void setMeasureType(String measureType) { + this.measureType = measureType; + } + + public String getMeasureInfo() { + return measureInfo; + } + + public void setMeasureInfo(String measureInfo) { + this.measureInfo = measureInfo; + } + + public String getCallInitDateFrom() { + return callInitDateFrom; + } + + public void setCallInitDateFrom(String callInitDateFrom) { + this.callInitDateFrom = callInitDateFrom; + } + + public String getCallInitDateTo() { + return callInitDateTo; + } + + public void setCallInitDateTo(String callInitDateTo) { + this.callInitDateTo = callInitDateTo; + } + + public String getRegistId() { + return registId; + } + + public void setRegistId(String registId) { + this.registId = registId; + } + + public String getUpdateId() { + return updateId; + } + + public void setUpdateId(String updateId) { + this.updateId = updateId; + } + + public String getChkMeasure() { + return chkMeasure; + } + + public void setChkMeasure(String chkMeasure) { + this.chkMeasure = chkMeasure; + } + + public String getMenuVal() { + return menuVal; + } + + public void setMenuVal(String menuVal) { + this.menuVal = menuVal; + } + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public int getLimit() { + return limit; + } + + public void setLimit(int limit) { + this.limit = limit; + } + + public int getOffset() { + return offset; + } + + public void setOffset(int offset) { + this.offset = offset; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringIntentAnalysisVO.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringIntentAnalysisVO.java new file mode 100644 index 0000000..75a685c --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringIntentAnalysisVO.java @@ -0,0 +1,31 @@ +package com.icomsys.main_vm.db.mybatis.alias; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class MonitoringIntentAnalysisVO { + private String oprMngCode; + private List oprMngCodeList; + private String callInitDateFrom; + private String callInitDateTo; + private String intentResultCode; + private String scoreFrom; + private String scoreTo; + private List intentIdList; + private List allIntentIdList; + private String chkIntentAll; + private String intentGroupCode; + private String serviceGroup; + private int page; + private int pageSize; + private int limit; + private int offset; + + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringOutscenarioVO.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringOutscenarioVO.java new file mode 100644 index 0000000..71ad3cd --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringOutscenarioVO.java @@ -0,0 +1,29 @@ +package com.icomsys.main_vm.db.mybatis.alias; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class MonitoringOutscenarioVO { + + private String oprMngCode; + private List oprMngCodeList; + private String callInitDateFrom; + private String callInitDateTo; + private List scenarioIdList; + private List allScenarioIdList; + private String chkScenarioAll; + private List tokenList; + private int page; + private int pageSize; + private int limit; + private int offset; + private Long scenarioSeq; + private String nodeCode; + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringScenarioBreakVO.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringScenarioBreakVO.java new file mode 100644 index 0000000..132d372 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/MonitoringScenarioBreakVO.java @@ -0,0 +1,46 @@ +package com.icomsys.main_vm.db.mybatis.alias; + +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class MonitoringScenarioBreakVO { + + //브래이크노드 + private Long seq; + private String token; + private int talkSeq; + private String oprMngCode; + private Long scenarioSeq; + private Long releaseSeq; + private String scenarioName; +// S : 성공 +// F : 이탈 + private String scenarioResultCode; + + + // USER_REQ : 사용자 요청 +// SCENARIO : 시나리오 흐름 +// INIT_END : 인입 후 끊음 +// SILENT_FB : 묵음 폴백 +// SPEAK_FB : 발화 폴백 +// USER_END : 고객 끊음 + + @Builder + public MonitoringScenarioBreakVO(Long seq, String token, int talkSeq, String oprMngCode, Long scenarioSeq, Long releaseSeq, String scenarioName, String scenarioResultCode) { + this.seq = seq; + this.token = token; + this.talkSeq = talkSeq; + this.oprMngCode = oprMngCode; + this.scenarioSeq = scenarioSeq; + this.releaseSeq = releaseSeq; + this.scenarioName = scenarioName; + this.scenarioResultCode = scenarioResultCode; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/OprManageBgmListVo.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/OprManageBgmListVo.java new file mode 100644 index 0000000..18ab37a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/OprManageBgmListVo.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.db.mybatis.alias; + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + + +@Data +public class OprManageBgmListVo { + private String fileName; + //private String fileType; + private String registDate; + private String registId; + private String filePath; + //private String searchKeyword; +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/StatisticsCallInfoVO.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/StatisticsCallInfoVO.java new file mode 100644 index 0000000..148a372 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/StatisticsCallInfoVO.java @@ -0,0 +1,42 @@ +package com.icomsys.main_vm.db.mybatis.alias; + +import java.util.List; + +public class StatisticsCallInfoVO { + private String oprMngCode; + private List oprMngCodeList; + private String callInitDateFrom; + private String callInitDateTo; + + public String getOprMngCode() { + return oprMngCode; + } + + public void setOprMngCode(String oprMngCode) { + this.oprMngCode = oprMngCode; + } + + public List getOprMngCodeList() { + return oprMngCodeList; + } + + public void setOprMngCodeList(List oprMngCodeList) { + this.oprMngCodeList = oprMngCodeList; + } + + public String getCallInitDateFrom() { + return callInitDateFrom; + } + + public void setCallInitDateFrom(String callInitDateFrom) { + this.callInitDateFrom = callInitDateFrom; + } + + public String getCallInitDateTo() { + return callInitDateTo; + } + + public void setCallInitDateTo(String callInitDateTo) { + this.callInitDateTo = callInitDateTo; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/StatisticsDashboardVO.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/StatisticsDashboardVO.java new file mode 100644 index 0000000..1b1da4c --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/alias/StatisticsDashboardVO.java @@ -0,0 +1,24 @@ +package com.icomsys.main_vm.db.mybatis.alias; + +import java.util.List; + +public class StatisticsDashboardVO { + private String oprMngCode; + private List oprMngCodeList; + + public String getOprMngCode() { + return oprMngCode; + } + + public void setOprMngCode(String oprMngCode) { + this.oprMngCode = oprMngCode; + } + + public List getOprMngCodeList() { + return oprMngCodeList; + } + + public void setOprMngCodeList(List oprMngCodeList) { + this.oprMngCodeList = oprMngCodeList; + } +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/BgmManageMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/BgmManageMapper.java new file mode 100644 index 0000000..580f322 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/BgmManageMapper.java @@ -0,0 +1,15 @@ +package com.icomsys.main_vm.db.mybatis.mapper; + +import com.icomsys.main_vm.db.mybatis.alias.OprManageBgmListVo; +import com.icomsys.main_vm.biz.rcp.oprManage.vo.OprManageBgmVO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; + +@Mapper +public interface BgmManageMapper { + + List selectBgmList(OprManageBgmListVo vo); + int insertBgm(OprManageBgmVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/BotTTSTagMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/BotTTSTagMapper.java new file mode 100644 index 0000000..45ac4db --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/BotTTSTagMapper.java @@ -0,0 +1,12 @@ +package com.icomsys.main_vm.db.mybatis.mapper; + +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; + +@Mapper +public interface BotTTSTagMapper { + + List selectTtsTagList (HashMap eMap); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/ConversationMarkMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/ConversationMarkMapper.java new file mode 100644 index 0000000..9adc26d --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/ConversationMarkMapper.java @@ -0,0 +1,20 @@ +package com.icomsys.main_vm.db.mybatis.mapper; + +import com.icomsys.main_vm.db.mybatis.alias.MonitoringConversationMarkVO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; + +@Mapper +public interface ConversationMarkMapper { + List selectBookmarkList(MonitoringConversationMarkVO vo); + + int selectBookmarkListCnt(MonitoringConversationMarkVO vo); + + int insertBookmark(MonitoringConversationMarkVO vo); + + int updateBookmark(MonitoringConversationMarkVO vo); + + HashMap checkBookmarkCnt(MonitoringConversationMarkVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/IntentAnalysisMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/IntentAnalysisMapper.java new file mode 100644 index 0000000..9f7cd25 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/IntentAnalysisMapper.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.db.mybatis.mapper; + +import com.icomsys.main_vm.db.mybatis.alias.MonitoringIntentAnalysisVO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; + +@Mapper +public interface IntentAnalysisMapper { + List selectIntentNameList(MonitoringIntentAnalysisVO vo); + String selectServiceGroupUpper(MonitoringIntentAnalysisVO vo); + String selectOprByServiceCode(MonitoringIntentAnalysisVO vo); + List selectIntentAnalysisList(MonitoringIntentAnalysisVO vo); + int selectIntentAnalysisListCnt(MonitoringIntentAnalysisVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/IntentManageMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/IntentManageMapper.java new file mode 100644 index 0000000..0358d0a --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/IntentManageMapper.java @@ -0,0 +1,42 @@ +package com.icomsys.main_vm.db.mybatis.mapper; + +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; + +@Mapper +public interface IntentManageMapper { + + List selectIntentList(HashMap eMap); + + List selectIntentExampleList(HashMap eMap); + + int selectIntentCnt(HashMap eMap); + + int selectIntentExampleCnt(HashMap eMap); + + List selectIntentCategoryList(HashMap eMap); + + HashMap selectIntentCategoryCode(HashMap eMap); + + void insertIntentMaster(HashMap eMap); + + int insertIntentExample(HashMap eMap); + + void updateIntentMaster(HashMap eMap); + + void updateDeleteIntentExample(HashMap eMap); + + void deleteIntentMaster(HashMap eMap); + + void deleteIntentExample(HashMap eMap); + + void deleteIntentExample_one(HashMap eMap); + + long selectIntentMappingId(HashMap eMap); + + int selectIntentSeq(HashMap eMap); + +} + diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/MonitoringConsultingMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/MonitoringConsultingMapper.java new file mode 100644 index 0000000..54ac183 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/MonitoringConsultingMapper.java @@ -0,0 +1,21 @@ +package com.icomsys.main_vm.db.mybatis.mapper; + +import com.icomsys.main_vm.db.mybatis.alias.MonitoringConsultingVO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; + +@Mapper +public interface MonitoringConsultingMapper { + List selectConsultingList(MonitoringConsultingVO vo); + + int selectConsultingListCnt(MonitoringConsultingVO vo); + + List selectRecordCallList(MonitoringConsultingVO vo); + + List selectScenarioSeqAndName(MonitoringConsultingVO vo); + + List selectCommonCodeAndDesc(MonitoringConsultingVO vo); + int selectUserCallCnt(MonitoringConsultingVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/MonitoringOutscenarioMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/MonitoringOutscenarioMapper.java new file mode 100644 index 0000000..2c666d0 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/MonitoringOutscenarioMapper.java @@ -0,0 +1,19 @@ +package com.icomsys.main_vm.db.mybatis.mapper; + +import com.icomsys.main_vm.db.mybatis.alias.MonitoringOutscenarioVO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; + +@Mapper +public interface MonitoringOutscenarioMapper { + List selectOutscenarioList(MonitoringOutscenarioVO vo); + int selectOutscenarioListCnt(MonitoringOutscenarioVO vo); + + int selectOutscenarioCnt(MonitoringOutscenarioVO vo); + + List selectScenarioNameList(MonitoringOutscenarioVO vo); + List selectTokenListByScenario(MonitoringOutscenarioVO vo); + List selectCallListByScenario(MonitoringOutscenarioVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/NlpWisenutApiMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/NlpWisenutApiMapper.java new file mode 100644 index 0000000..17e7c92 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/NlpWisenutApiMapper.java @@ -0,0 +1,22 @@ +package com.icomsys.main_vm.db.mybatis.mapper; + +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; + +@Mapper +public interface NlpWisenutApiMapper { + + long selectProjectId(HashMap eMap); + long selectProjectIdforOprMngCode(HashMap eMap); + HashMap selectProjectName(HashMap eMap); + long selectIntentId(HashMap eMap); + HashMap selectIntentIdForDelete(HashMap eMap); + long selectIntentSentenctId(HashMap eMap); + HashMap selectIntentSentenctIdforDelete(HashMap eMap); + long selectEntityId(HashMap eMap); + HashMap selectEntityIdForDelete(HashMap eMap); + long selectDictionaryId(HashMap eMap); + HashMap selectDictionaryIdforDelete(HashMap eMap); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsCallInfoMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsCallInfoMapper.java new file mode 100644 index 0000000..60044ba --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsCallInfoMapper.java @@ -0,0 +1,12 @@ +package com.icomsys.main_vm.db.mybatis.mapper; + +import com.icomsys.main_vm.db.mybatis.alias.StatisticsCallInfoVO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; + +@Mapper +public interface StatisticsCallInfoMapper { + List selectStatCallInfo(StatisticsCallInfoVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsDashboardMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsDashboardMapper.java new file mode 100644 index 0000000..85c61cf --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsDashboardMapper.java @@ -0,0 +1,16 @@ +package com.icomsys.main_vm.db.mybatis.mapper; + +import com.icomsys.main_vm.db.mybatis.alias.StatisticsDashboardVO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; + +@Mapper +public interface StatisticsDashboardMapper { + List selectStatCallInfo(StatisticsDashboardVO vo); + List selectStatIntent(StatisticsDashboardVO vo); + List selectStatScenario(StatisticsDashboardVO vo); + List selectCallCntByToday(StatisticsDashboardVO vo); + int selectCurCallCnt(StatisticsDashboardVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsIntentMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsIntentMapper.java new file mode 100644 index 0000000..13aae4f --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsIntentMapper.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm.db.mybatis.mapper; + +import com.icomsys.main_vm.db.mybatis.alias.MonitoringIntentAnalysisVO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; + +@Mapper +public interface StatisticsIntentMapper { + List selectStatIntentDay(MonitoringIntentAnalysisVO vo); + List selectStatIntentItem(MonitoringIntentAnalysisVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsScenarioMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsScenarioMapper.java new file mode 100644 index 0000000..4561ebf --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/StatisticsScenarioMapper.java @@ -0,0 +1,13 @@ +package com.icomsys.main_vm.db.mybatis.mapper; + +import com.icomsys.main_vm.db.mybatis.alias.MonitoringOutscenarioVO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; + +@Mapper +public interface StatisticsScenarioMapper { + List selectStatScenarioDay(MonitoringOutscenarioVO vo); + List selectStatScenarioItem(MonitoringOutscenarioVO vo); +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/SynonymManageMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/SynonymManageMapper.java new file mode 100644 index 0000000..91ad9a7 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/SynonymManageMapper.java @@ -0,0 +1,41 @@ +package com.icomsys.main_vm.db.mybatis.mapper; + +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; + +@Mapper +public interface SynonymManageMapper { + + List selectSynonymList(HashMap eMap); + + int deleteSynonym(HashMap eMap); + + // dupCheck + int dupIndivWord(HashMap eMap); + + int dupRepWord(HashMap eMap); + + int dupRepWordN(HashMap eMap); + + int dupSynonymY(HashMap eMap); + + int dupSynonymN(HashMap eMap); + + int insertSynonymMaster(HashMap eMap); + + void insertSynonymWord(HashMap eMap); + + void updateSynonymWord(HashMap eMap); + + // saveSynonymList + int saveSynonymList(HashMap eMap); + + Integer selectSynonymMaster(HashMap eMap); + + void deleteSynonymWord(HashMap HashMap); + + int countSynonymWord(HashMap eMap); + +} diff --git a/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/TestMapper.java b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/TestMapper.java new file mode 100644 index 0000000..9c36626 --- /dev/null +++ b/main_vm/src/main/java/com/icomsys/main_vm/db/mybatis/mapper/TestMapper.java @@ -0,0 +1,23 @@ +package com.icomsys.main_vm.db.mybatis.mapper; + +import com.icomsys.main_vm.db.mybatis.alias.LoginVO; +import com.icomsys.main_vm.db.mybatis.alias.MonitoringScenarioBreakVO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; + +@Mapper +public interface TestMapper { + String TestMapper1(); + + public LoginVO idLoginFailCheck11(LoginVO vo) ; + + List getUserPolicy(Long seq, String lastService); + + List MonitoringScenarioBreak(String datea, String dateb); + +} + + + diff --git a/main_vm/src/main/resources/application-create-local.yml b/main_vm/src/main/resources/application-create-local.yml new file mode 100644 index 0000000..59d4c6f --- /dev/null +++ b/main_vm/src/main/resources/application-create-local.yml @@ -0,0 +1,45 @@ +#* @Name Env Create Properties +#* @Description 최초 환경설정시 사용 프로퍼티. +#* @Danger 테스트 금지입니다. DDL CREATE +#* @Author JangWonSeok +#* @CreateDate 2022. 11. 10. +Server: + host: localhost + port: 8009 + +spring: + config: + activate: + on-profile: create-local + datasource: + url: jdbc:log4jdbc:mysql://dev-ics-db.c9i6xgmcxx18.ap-northeast-2.rds.amazonaws.com/UPLUS_CINNAMON + username: ics_mgr + password: "#pass180901" + owner: ICS_DEV + driver-class-name: net.sf.log4jdbc.DriverSpy +# driver-class-name: oracle.jdbc.driver.OracleDriver + type: org.apache.tomcat.jdbc.pool.DataSource + hikari: + maximum-pool-size: 10 + connection-timeout: 60000 + + jpa: + hibernate: + ddl-auto: create + properties: + hibernate: +# dialect: org.hibernate.dialect.Oracle10gDialect + dialect: org.hibernate.dialect.MySQL57Dialect +#https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/dialect/package-summary.html + +feign: + url: + test: http://localhost:8014 + cinnamon: http://127.0.0.1:8080 + nlp: http://211.168.38.130:17500/ichatApi + s3Bucket: local + +nlpapi: false + +file: + path: C:\workspace\multipartfile \ No newline at end of file diff --git a/main_vm/src/main/resources/application-create.yml b/main_vm/src/main/resources/application-create.yml new file mode 100644 index 0000000..6ee571d --- /dev/null +++ b/main_vm/src/main/resources/application-create.yml @@ -0,0 +1,50 @@ +#* @Name Env Create Properties +#* @Description 최초 환경설정시 사용 프로퍼티. +#* @Danger 테스트 금지입니다. DDL CREATE +#* @Author JangWonSeok +#* @CreateDate 2022. 11. 10. +Server: + host: localhost + port: 8009 + +spring: + config: + activate: + on-profile: create + datasource: + # url: jdbc:log4jdbc:mysql://dev-ics-db.c9i6xgmcxx18.ap-northeast-2.rds.amazonaws.com/UPLUS_CINNAMON + url: jdbc:log4jdbc:mysql://rdsinst-dev-aisb-db-az2c-instance-1.ctgq4zvwl9iz.ap-northeast-2.rds.amazonaws.com/ICS_CINNAMON + username: aistore + password: roqkf123!!! + owner: ICS_DEV + driver-class-name: net.sf.log4jdbc.DriverSpy +# driver-class-name: oracle.jdbc.driver.OracleDriver + type: org.apache.tomcat.jdbc.pool.DataSource + hikari: + maximum-pool-size: 10 + connection-timeout: 60000 + + jpa: + hibernate: + ddl-auto: create + properties: + hibernate: +# dialect: org.hibernate.dialect.Oracle10gDialect + dialect: org.hibernate.dialect.MySQL57Dialect +#https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/dialect/package-summary.html + +feign: + url: + test: http://localhost:8014 + cinnamon: http://127.0.0.1:8080 + nlp: http://211.168.38.130:17500/ichatApi + s3Bucket: local + +file: + path: C:\workspace\multipartfile + +nlpapi: false + +Globals: + profiles: + active: 'local' diff --git a/main_vm/src/main/resources/application-dev.yml b/main_vm/src/main/resources/application-dev.yml new file mode 100644 index 0000000..f772022 --- /dev/null +++ b/main_vm/src/main/resources/application-dev.yml @@ -0,0 +1,64 @@ +#* @Name Env Create Properties +#* @Description 최초 환경설정시 사용 프로퍼티. +#* @Danger 테스트 금지입니다. DDL CREATE +#* @Author JangWonSeok +#* @CreateDate 2022. 11. 10. +Server: + host: localhost + port: 8050 + +spring: + config: + activate: + on-profile: dev + datasource: + # url: jdbc:log4jdbc:mysql://dev-ics-db.c9i6xgmcxx18.ap-northeast-2.rds.amazonaws.com/UPLUS_CINNAMON + url: jdbc:log4jdbc:mysql://rdsinst-dev-aisb-db-az2c-instance-1.ctgq4zvwl9iz.ap-northeast-2.rds.amazonaws.com/ICS_CINNAMON3 +# url: jdbc:log4jdbc:mysql://rdsinst-dev-aisb-db-az2c-instance-1.ctgq4zvwl9iz.ap-northeast-2.rds.amazonaws.com/migrationUplus + username: aistore + password: roqkf123!!! + owner: ICS_DEV + driver-class-name: net.sf.log4jdbc.DriverSpy + # driver-class-name: oracle.jdbc.driver.OracleDriver + type: org.apache.tomcat.jdbc.pool.DataSource + hikari: + maximum-pool-size: 10 + connection-timeout: 60000 + + jpa: + hibernate: + ddl-auto: none + properties: + hibernate: + # dialect: org.hibernate.dialect.Oracle10gDialect + #dialect: org.hibernate.dialect.MySQL57Dialect + dialect: com.icomsys.main_vm.common.util.CustomDialect +#https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/dialect/package-summary.html + +feign: + url: + test: http://localhost:8014 + cinnamon: http://127.0.0.1:8080 + nlp: http://172.31.34.38:17500/ichatApi + s3Bucket: s3-dev-aisb-soe + bgmpath: bgm/ + selvas: 172.31.34.52 + ttsport: 7890 + sttport: 9999 + +file: + path: /logs/was/aicb/cinnamon_ui/files/ + +nlpapi: true + +Globals: + profiles: + active: 'dev' + +cloud: + aws: + stack: + auto: false +# credentials: +# instance-profile: false +# use-default-aws-credentials-chain: true \ No newline at end of file diff --git a/main_vm/src/main/resources/application-devjj.yml b/main_vm/src/main/resources/application-devjj.yml new file mode 100644 index 0000000..3c9585c --- /dev/null +++ b/main_vm/src/main/resources/application-devjj.yml @@ -0,0 +1,64 @@ +#* @Name Env Create Properties +#* @Description 최초 환경설정시 사용 프로퍼티. +#* @Danger 테스트 금지입니다. DDL CREATE +#* @Author JangWonSeok +#* @CreateDate 2022. 11. 10. +Server: + host: localhost + port: 7080 + +spring: + config: + activate: + on-profile: devjj + datasource: + # url: jdbc:log4jdbc:mysql://dev-ics-db.c9i6xgmcxx18.ap-northeast-2.rds.amazonaws.com/UPLUS_CINNAMON + url: jdbc:log4jdbc:mysql://rdsinst-dev-aisb-db-az2c-instance-1.ctgq4zvwl9iz.ap-northeast-2.rds.amazonaws.com/ICS_CINNAMON + username: aistore + password: roqkf123!!! + owner: ICS_DEV + driver-class-name: net.sf.log4jdbc.DriverSpy + # driver-class-name: oracle.jdbc.driver.OracleDriver + type: org.apache.tomcat.jdbc.pool.DataSource + hikari: + maximum-pool-size: 10 + connection-timeout: 60000 + + jpa: + hibernate: + ddl-auto: none + properties: + hibernate: + # dialect: org.hibernate.dialect.Oracle10gDialect + #dialect: org.hibernate.dialect.MySQL57Dialect + dialect: com.icomsys.main_vm.common.util.CustomDialect +#https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/dialect/package-summary.html + +feign: + url: + test: http://localhost:8014 + cinnamon: http://127.0.0.1:8080 + nlp: http://172.31.34.38:17500/ichatApi + s3Bucket: s3-dev-aisb-soe + bgmpath: bgmfile/ + selvas: 172.31.34.52 + ttsport: 7890 + sttport: 9999 + +file: + path: /logs/was/aicb/cinnamon_ui/files/ + uploadpath: /logs/was/aicb/cinnamon_ui/stttest/ + +nlpapi: false + +Globals: + profiles: + active: 'dev' + +cloud: + aws: + stack: + auto: false +# credentials: +# instance-profile: false +# use-default-aws-credentials-chain: true \ No newline at end of file diff --git a/main_vm/src/main/resources/application-drop.yml b/main_vm/src/main/resources/application-drop.yml new file mode 100644 index 0000000..273275c --- /dev/null +++ b/main_vm/src/main/resources/application-drop.yml @@ -0,0 +1,50 @@ +#* @Name Env Create Properties +#* @Description 최초 환경설정시 사용 프로퍼티. +#* @Danger 테스트 금지입니다. DDL CREATE +#* @Author JangWonSeok +#* @CreateDate 2022. 11. 10. +Server: + host: localhost + port: 8009 + +spring: + config: + activate: + on-profile: drop + datasource: + # url: jdbc:log4jdbc:mysql://dev-ics-db.c9i6xgmcxx18.ap-northeast-2.rds.amazonaws.com/UPLUS_CINNAMON + url: jdbc:log4jdbc:mysql://rdsinst-dev-aisb-db-az2c-instance-1.ctgq4zvwl9iz.ap-northeast-2.rds.amazonaws.com/ICS_CINNAMON + username: aistore + password: roqkf123!!! + owner: ICS_DEV + driver-class-name: net.sf.log4jdbc.DriverSpy +# driver-class-name: oracle.jdbc.driver.OracleDriver + type: org.apache.tomcat.jdbc.pool.DataSource + hikari: + maximum-pool-size: 10 + connection-timeout: 60000 + + jpa: + hibernate: + ddl-auto: create-drop + properties: + hibernate: +# dialect: org.hibernate.dialect.Oracle10gDialect + dialect: org.hibernate.dialect.MySQL57Dialect +#https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/dialect/package-summary.html + +feign: + url: + test: http://localhost:8014 + cinnamon: http://127.0.0.1:8080 + nlp: http://211.168.38.130:17500/ichatApi + s3Bucket: local + +file: + path: C:\workspace\multipartfile + +nlpapi: false + +Globals: + profiles: + active: 'local' diff --git a/main_vm/src/main/resources/application-local-jws.yml b/main_vm/src/main/resources/application-local-jws.yml new file mode 100644 index 0000000..c454dce --- /dev/null +++ b/main_vm/src/main/resources/application-local-jws.yml @@ -0,0 +1,52 @@ +#* @Name Env Create Properties +#* @Description 최초 환경설정시 사용 프로퍼티. +#* @Danger 테스트 금지입니다. DDL CREATE +#* @Author JangWonSeok +#* @CreateDate 2022. 11. 10. +Server: + host: localhost + port: 8009 + +spring: + config: + activate: + on-profile: local-jws + datasource: + url: jdbc:log4jdbc:mysql://localhost:3309/UPLUS_CINNAMON + username: dev + password: dev!23 +# url: jdbc:log4jdbc:mysql://192.168.0.26/UPLUS_CINNAMON_2CH +# username: icomsys +# password: "#pass180901" + owner: UPLUS_CINNAMON + driver-class-name: net.sf.log4jdbc.DriverSpy +# driver-class-name: oracle.jdbc.driver.OracleDriver + type: org.apache.tomcat.jdbc.pool.DataSource + hikari: + maximum-pool-size: 10 + connection-timeout: 60000 + + jpa: + hibernate: + ddl-auto: none + properties: + hibernate: +# dialect: org.hibernate.dialect.Oracle10gDialect + dialect: com.icomsys.main_vm.common.util.CustomDialect +#https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/dialect/package-summary.html + +feign: + url: + test: http://localhost:8014 + cinnamon: http://127.0.0.1:8080 + nlp: http://localhost:8014/ichatApi + s3Bucket: local + bgmpath: bgmfile/ + selvas: 172.31.34.52 + ttsport: 7890 + sttport: 9999 + +nlpapi: false + +file: + path: C:\workspace\multipartfile \ No newline at end of file diff --git a/main_vm/src/main/resources/application-local-kgw.yml b/main_vm/src/main/resources/application-local-kgw.yml new file mode 100644 index 0000000..94320c0 --- /dev/null +++ b/main_vm/src/main/resources/application-local-kgw.yml @@ -0,0 +1,50 @@ +Server: + host: localhost + port: 8011 + +spring: + config: + activate: + on-profile: local-kgw + datasource: +# url: jdbc:log4jdbc:mysql://dev-ics-db.c9i6xgmcxx18.ap-northeast-2.rds.amazonaws.com/UPLUS_CINNAMON +# username: ics_mgr +# password: "#pass180901" + url: jdbc:log4jdbc:mysql://127.0.0.1/uplus_cinnamon + username: root + password: "2973" +# url: jdbc:log4jdbc:oracle:thin:@localhost:1522:XE +# username: LG_LOCAL +# password: pass180901 + owner: LG_LOCAL + driver-class-name: net.sf.log4jdbc.DriverSpy + hikari: + connection-timeout: 60000 + maximum-pool-size: 5 + jpa: + hibernate: + ddl-auto: none + properties: + hibernate: +# dialect: org.hibernate.dialect.Oracle10gDialect + dialect: com.icomsys.main_vm.common.util.CustomDialect +#https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/dialect/package-summary.html +feign: + url: + test: http://localhost:8014 + cinnamon: http://127.0.0.1:8080 + nlp: http://211.168.38.130:17500/ichatApi + s3Bucket: local + bgmpath: bgmfile/ + selvas: 172.31.34.52 + ttsport: 7890 + sttport: 9999 + +file: + path: C:\workspace\uplus_ui_soe\main_vm\src\main\webapp + +nlpapi: false + +Globals: + profiles: + active: 'local' diff --git a/main_vm/src/main/resources/application-local.yml b/main_vm/src/main/resources/application-local.yml new file mode 100644 index 0000000..aff9d62 --- /dev/null +++ b/main_vm/src/main/resources/application-local.yml @@ -0,0 +1,58 @@ +Server: + host: localhost + port: 8011 + +spring: + config: + activate: + on-profile: local + datasource: + url: jdbc:log4jdbc:mysql://dev-ics-db.c9i6xgmcxx18.ap-northeast-2.rds.amazonaws.com/UPLUS_CINNAMON + username: ics_mgr + password: "#pass180901" +# url: jdbc:log4jdbc:oracle:thin:@localhost:1522:XE +# username: LG_LOCAL +# password: pass180901 + owner: LG_LOCAL + driver-class-name: net.sf.log4jdbc.DriverSpy + hikari: + connection-timeout: 60000 + maximum-pool-size: 5 + jpa: + hibernate: + ddl-auto: none + properties: + hibernate: +# dialect: org.hibernate.dialect.Oracle10gDialect +# dialect: org.hibernate.dialect.MySQL57Dialect + dialect: com.icomsys.main_vm.common.util.CustomDialect + generate_statistics: true + +#https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/dialect/package-summary.html + +feign: + url: + test: http://localhost:8014 + cinnamon: http://127.0.0.1:8080 + nlp: http://localhost:8014/ichatApi + s3Bucket: s3-dev-aisb-soe0 + bgmpath: bgmfile/ + selvas: 172.31.34.52 + ttsport: 7890 + sttport: 9999 + +file: + path: C:\workspace\uplus\main_vm\src\main\webapp + +nlpapi: false + +Globals: + profiles: + active: 'local' + +#cloud: +# aws: +# stack: +# auto: false +# region: +# static: ap-northeast-2 \ No newline at end of file diff --git a/main_vm/src/main/resources/application-local_lek.yml b/main_vm/src/main/resources/application-local_lek.yml new file mode 100644 index 0000000..5bd3484 --- /dev/null +++ b/main_vm/src/main/resources/application-local_lek.yml @@ -0,0 +1,56 @@ +Server: + host: localhost + port: 8011 + +spring: + config: + activate: + on-profile: local_lek + datasource: + + password: 'root1!' +# url: jdbc:log4jdbc:mysql://localhost:3306/ICS_CINNAMON #ICS_CINNAMON + url: jdbc:log4jdbc:mysql://localhost:3306/UPLUSDB #ICS_CINNAMON + username: root + +# url: jdbc:log4jdbc:mysql://dev-ics-db.c9i6xgmcxx18.ap-northeast-2.rds.amazonaws.com/UPLUS_CINNAMON +# username: ics_mgr +# password: "#pass180901" +# url: jdbc:log4jdbc:oracle:thin:@localhost:1522:XE +# username: LG_LOCAL +# password: pass180901 + owner: LG_LOCAL + driver-class-name: net.sf.log4jdbc.DriverSpy + hikari: + connection-timeout: 60000 + maximum-pool-size: 5 + jpa: + hibernate: + ddl-auto: none + properties: + hibernate: +# dialect: org.hibernate.dialect.Oracle10gDialect +# dialect: org.hibernate.dialect.MySQL57Dialect + dialect: com.icomsys.main_vm.common.util.CustomDialect +#https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/dialect/package-summary.html +feign: + url: + test: http://localhost:8014 + cinnamon: http://127.0.0.1:8080 + nlp: http://13.125.175.14:17500/ichatApi + s3Bucket: local + bgmpath: bgmfile/ + selvas: 172.31.34.52 + ttsport: 7890 + sttport: 9999 + +file: + path: C:\workspace\multipartfile + +nlpapi: false + +Globals: + profiles: + active: 'local' + + diff --git a/main_vm/src/main/resources/application-prod.yml b/main_vm/src/main/resources/application-prod.yml new file mode 100644 index 0000000..1c4b6c2 --- /dev/null +++ b/main_vm/src/main/resources/application-prod.yml @@ -0,0 +1,54 @@ +Server: + host: localhost + port: 8050 + +spring: + config: + activate: + on-profile: prod + datasource: + url: jdbc:log4jdbc:mysql://rdsinst-prd-aisb-db.cluster-cvqg2qu2yggz.ap-northeast-2.rds.amazonaws.com/ICS_CINNAMON + username: aistore + password: dnsdud123!!! + owner: ICS_DEV + driver-class-name: net.sf.log4jdbc.DriverSpy + # driver-class-name: oracle.jdbc.driver.OracleDriver + type: org.apache.tomcat.jdbc.pool.DataSource + hikari: + maximum-pool-size: 10 + connection-timeout: 60000 + + jpa: + hibernate: + ddl-auto: none + properties: + hibernate: + dialect: com.icomsys.main_vm.common.util.CustomDialect + +feign: + url: + test: http://localhost:8014 + cinnamon: http://nlb-prd-aisb-callbot-455ec1b24bedbc3d.elb.ap-northeast-2.amazonaws.com:8080 + nlp: http://nlb-prd-aisb-callbot-455ec1b24bedbc3d.elb.ap-northeast-2.amazonaws.com:17500/ichatApi + s3Bucket: s3-prd-aisb-soe + bgmpath: bgm/ + selvas: nlb-prd-aisb-callbot-455ec1b24bedbc3d.elb.ap-northeast-2.amazonaws.com + ttsport: 7890 + sttport: 9999 + +file: + path: /logs/was/aicb/cinnamon_ui/files/ + +nlpapi: true + +Globals: + profiles: + active: 'pro' + +cloud: + aws: + stack: + auto: false +# credentials: +# instance-profile: false +# use-default-aws-credentials-chain: true diff --git a/main_vm/src/main/resources/application-stg.yml b/main_vm/src/main/resources/application-stg.yml new file mode 100644 index 0000000..ad7f1b2 --- /dev/null +++ b/main_vm/src/main/resources/application-stg.yml @@ -0,0 +1,53 @@ +Server: + host: localhost + port: 8050 + +spring: + config: + activate: + on-profile: stg + datasource: + url: jdbc:log4jdbc:mysql://rdsinst-stg-aisb-db.cluster-cvws7pmet6x1.ap-northeast-2.rds.amazonaws.com/ICS_CINNAMON + username: aistore + password: dnsdud123!!! + owner: ICS_DEV + driver-class-name: net.sf.log4jdbc.DriverSpy + # driver-class-name: oracle.jdbc.driver.OracleDriver + type: org.apache.tomcat.jdbc.pool.DataSource + hikari: + maximum-pool-size: 10 + connection-timeout: 60000 + jpa: + hibernate: + ddl-auto: none + properties: + hibernate: + dialect: com.icomsys.main_vm.common.util.CustomDialect + +feign: + url: + test: http://localhost:8014 + cinnamon: http://nlb-stg-aisb-callbot-f08fc9a5ae1cc747.elb.ap-northeast-2.amazonaws.com:8080 + nlp: http://nlb-stg-aisb-callbot-f08fc9a5ae1cc747.elb.ap-northeast-2.amazonaws.com:17500/ichatApi + s3Bucket: s3-stg-aisb-soe + bgmpath: bgm/ + selvas: nlb-stg-aisb-callbot-f08fc9a5ae1cc747.elb.ap-northeast-2.amazonaws.com + ttsport: 7890 + sttport: 9999 + +file: + path: /logs/was/aicb/cinnamon_ui/files/ + +nlpapi: true + +Globals: + profiles: + active: 'stg' + +cloud: + aws: + stack: + auto: false +# credentials: +# instance-profile: false +# use-default-aws-credentials-chain: true \ No newline at end of file diff --git a/main_vm/src/main/resources/application.yml b/main_vm/src/main/resources/application.yml new file mode 100644 index 0000000..352fbd4 --- /dev/null +++ b/main_vm/src/main/resources/application.yml @@ -0,0 +1,91 @@ +#boot2.4 이상 +#2022-11-03 jangwonseok +#java -jar {ARG} --spring.profiles.active=dev +#boot2.4 이하 +#java -jar -Dspring.profiles.active=dev {ARG} + + +Server: + shutdown: graceful + servlet: +# context-path: /BotMain_VM + context-path: +# session: +# timeout: 60m + + error: + path: /error + include-exception: false +# include-stacktrace: never + include-stacktrace: always + whitelabel: + enabled: false + session: + tracking-modes: cookie + # path: #에러발생시 전달할 경로 + + +spring: + profiles: + default: local + +# 공통부분 작성 + main: + allow-bean-definition-overriding: true + mvc: + pathmatch: + matching-strategy: ant_path_matcher + application: + name: botmain + jpa: + properties: +# hibernate: #오라클 DB테스트하는중 공통에서 임시제외 +# dialect: org.hibernate.dialect.MySQL57Dialect +# storage_engine: innodb + format_sql: true + default_batch_fetch_size: 1000 + show_sql: true + format_sql: true + use_sql_comments: true + jackson: + serialization: + fail-on-empty-beans: false + + autoconfigure: +# exclude: org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration + devtools: + livereload: + enabled: true + servlet: + multipart: + enabled: true + max-file-size: 10MB + max-request-size: 50MB +logging: +# level: +# org: +# hibernate: +# SQL: debug +# type: trace + ## log4j ??????? xml ??? ????? spring ????? ???. + jdbc: + sqlonly: off + sqltiming: debug + audit: off + resultset: off + resultsettable: debug + connection: off + + +# config server actuator +management: + endpoints: + web: + exposure: + include: refresh, health, beans, info + +#??????? ??? yml?? ?? +#mybatis: +# type-aliases-package: egovframework/example/mapper/aliase +# mapper-locations: sqlmap/mappers/mysql/icomsys/**/*.xml + diff --git a/main_vm/src/main/resources/document/Ourstore_Ai_Manager_User_Manual.pdf b/main_vm/src/main/resources/document/Ourstore_Ai_Manager_User_Manual.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2047b6f61aa4d5fe252a835a26e87016a4a0d462 GIT binary patch literal 3864204 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

*YL`moQmP$uAYSKtSrWq--lJT$vQ=Z z1h*2uk`~1uRq@gj;2ob)&?lm~km=0}S`PS8^VP?S+DgUrm>!Eh-6p>hI;#-UEPn#=lBu*=dOwj|?v?TaRRu<_S zAu0;Gl{OFk)qEZ-pDWxB8YT>>=bP~gQo1ulKXhB>E|&zOuaD0PQA=N%P*`XvV8P-! z3>_ZhG2wzD8oYL&QAxac)8@Mk)6&-$@wf;P@Ax@qWbEuL<)Nv4L!L2xXo>f4r=jP_Nw)&RdxaPjQ(Q4)C588-h89>C1u|T+j$}0KA z#$PK*rgU(+nP8${9<3ybLsglUTzI$@)ETI@R;Y#*6pBrLvv^N$(&8(ow)PEuL6)U| z^-uBC+OK%f`liz|pu}uKu9sqknuPfRgl(Asj@fzc3< z(-?=R>0#SARdJz}td$={8exUByp1Y_5PkV^_o(abUcW!P2vG>tx{3D&ivuw-Tl4+;IL;y#$F%ov#AC}njP9l*r z_rsxM;N}d>s%pl0v*Mtl0?30X;_D`K1S#0q*uYH8 z7O$R0E0JMjUKs!GoYWN*e@?9Gm8tNOj$qHbp=N9>E9;rf)E@7P{Cki{AQvbm0PNn>mWFEv=$Dkc6G0jDzA+~APIEw}GYgkEK{2HX{E;qmT-t(BwY|i5W zX&U`{k0|21Nd5>5cXxMfZEYYjwq_R=PMw*Um`HX!c{$51)1+7N5aa*0)I`$XU&KGo zO*40jJ25Q{W;b3IBZf`HS``|=eCAt1nwy(V(YBAi$2|EWSMTFvkxb<&cva-^O58a) zhxwwp_-<2+_zdsW5}zGy?jIa{Cj+wQY};k)6mqjx*oelBVqI+M$p*5eVYn!R75%Zl zpwLb&DsO_d#pqjhub3S!iK!n7+B8$w8Tu@!Xfr%`VT)Dmk-ChOz|gHWE(7_2-5_7| z_V_xreh$~CS?(Y4;a;OQ>*}@rA)fCzS#O{|GViomzEjq@8+N*4-deQm;a*o zaeU19Lr38W@b!yykoXth$_qr3>1c#rj?%7;lt2#<^VEKc4@dw)%(?)~X}FNB2vo23 z83{gHSUCIJlDR0pnQw+CKtmRKg29XrxHkz|bt<|BOrBBoaLTa#o{gxqMZ_m0aL+D+ zIb~E&hx61bY;D2-e-L`Y7^^`>6KK+|=jM$)@IKQe0|8hILWadJiGb=MR{f|wNBcl)CI)Z`RA zLgXwr)Q5glD)?}QGtDFI*Apuh7_!xwqhKx}uOa5n?jAY6jR8ygU5`I- zMvqafuC|Vz{<(@uB|#8zxS189Rct+X)Tccg@r$->y0+r7uI${Eml*w^H<$wXe6=yyY7x53n*y%F5NLKEpuO z>`ukgm`?7DcqZc#D0DkkS#-S0p2FYom(@sX7?IkNoui}lRo$^hEd0$gLqo#?@6V)z zbjU((>#jRfeRVly4~e5Y=k?oRzglm#F`<+o*+yj1+EHqnD1WtES=jJH}+Xx=;6g7~~uWynW z8KkJ1r^6icW%tm#yEKLyC?vIp5wh0N-rPC_k<%vPZ|JV6 z*^2|acjvE&`ay0PpG`leDQCY2$zn5>JOq2!)$#-PwcGn=GE(0hWF$oCbrDJF@(-AK$Bo+(8JxLz_>S1!`jCog05M+`5D=OgHHPaj?=e~obX7G|(kKpiY zE16p%LOm`=zmoiO&ajNQTq7&e;&wo(aFsrN5b%hut}fBN@0*&MPHu;Kg2l7%Qwp~P zH)pmxexep*iu&{=*Fr|3<;G1yB6b~%RF#8T6hu6;T+D6em(8Qp@R9L1y+D{dLZuzr ze13i|8A&=26IT0LLE+aRM1FB$AvHDiPx*CAnK=A8E2|w~GUH{Pdg9r{#l@G;nk}C%z$MrKG_VDJ!xsR$jUWuAJk(37i#nGZ+_8IpT2SZD^GJtoIhE?&c{I`vtVi z*v)jsO+~YzBB>u6c43D@<4HuyN)Bl{b1N(egQV^4F_`n~xYvKtJ?F0}DvIh~d_nZZ zG97Pad71P+H8my4n>_ndksu3&M`k`5y~dv(Q`uNh)BCi{%(yfuJf@^hMqIGCxTTpAQ`UELzSY(Bo%{Jd zCx^bk7Kk#UT|GS!+LJ(b3T#KYj#GxPwm9_rwH#UCeNz$7U*X-KSLlgc&MX z1w5h|8L_bsfKK?t#K7@*pqKbd%peu@6CX&OYna5U7zYJE&4hm!>>vs9zi4~wsJ5DL zUziHvZApRRQmnWW+$lv1#ocLe*WiTG6u08;#oZlBv7#yNUfkWom$vUY-??jjXRY(y zb?^MKlQr3yy=V69dF1zd=9yaWkj9S}YV6WV*Xn91MeGxcseHJPwr7MQ{2ChUWUV*Y z`C9ju>La_sBNHO)pJI^y1-E|`7-~u*BjN8quyc&^MNGW{-&*0Ok$Y1XY1Nh+% z9A-PiIYGR=Xx>Vu!4e!}&$tv~spA%p)aY?Tn!TG2@c!Zh?n(tW4HIlW1~+Fa1`bva zNz0?Yo(nrB9BMlRwzy`MWj+;w2A3HxKoF zC-ha1FHf6Sj42A%zkNipYOJn4orG_sAe}%g4}F5%?GL(#prxp*y8uyp zRu50h+Z!Cuq&Sr95sNTVv)55^ukm$VS+>tTb5$7PWG&+)UT4vppGR;4N^_HmRg-gG zAbs7fX(IGd#5HZ!Q8Kh~ixrAi@$ru~F#bX*WE6ljgIG=V^VOo&Uc*wun-{%wP_7hi zY_~X)FJ0*GaLg({C#~yyr7}W~KOC=>Lu~l-Nt4FL>L2|FEaSdh5E$TP)5>J1rF=Kd zq{e8dr+zsb&?H*M^w2lg9oeRW#83iEQ&25w#-sxuer>CGFRdOL%6!HwKe+lQGc`Ekpq!HYd-_usl|}&`(05{Q5hH*Djgk# zg^@c9c)4vsbXq%%Y{SJ$V;Q;K)~101Yhv@G@t&o%Z93WUa$Ot~dMO}6WFCvhj~{!R z8(u3#CAfv#zxIA zz0--D#a*reL%E9;220j!Dv6sJh_`F38d1ZCe;TOIbFf>Llxrj>FsWI!8X&XBsZP)| zc0b|RTF0g|xA?+_W$n`Q#A-OWkx*N*P)BHxoNEO=HyUAe81y;BAwLtyGZ7UWfL2cT zg`PHLyiocowNG6oE|X!Phe584WQ;*l9A}`>J8F_$!)rZT)1>berpD_i?~57pNTHJ- zm}ci^V~R-Y)BAx9{m+<@VK^f_T~Co}f3>qyc6JVfMnh8*QUm7(fua^hozU-Lt$VY? zIIaZw?O7D9HImZ?#0iFM%a;>V<7)Wpk^$0qBReb7p~!Fb?i(boH*H|vY%xks>%R(W5kL zjg51&Fbp$>#``=Y9?omo>SnQ~rr+9$ccC@gatzyukacAbwYVZ6ebT$O%uhFY5=kbW zd)?_Na1QYL-UP-aoOsH;6`96noQ!y;gKZN@m~eQ%5hKbvGeJwjbTMzbnatDMiTBUb z^45!F(*v))%3cGH^*F=(9nE-ja-TD0UEMjaxtPBLa~a7WAeQt#J}F6CNePPxZ+&ld z)n;{N1&NzP#ikCLRkJWzo4oeZ67eEX6MJhS@0B4#9o-)%j{iX^FV<1OYAriwZ55mo zQzZzHMrAS0W4AE*xr2!WvsR|lRGn$YG8P2BD#d*1tvLfgI(igzQ#A%FRiAJ zyoHzu=cZ`b*kLIIbi|OeI)^hcFcgBTcgH&S<83Q}Fs4azOy(rD30|RfT6vf(rRJ`S z?XxBC4efE!mjF6NC+9oECBdWn&gE*jh}=?aLc$bMQ49XNs-kEN2?OhDYb7Nl_zdAg zL*Y)+=H~gPru^k8>KbZ;MMT()W>ysxpyZ*K9OeAT?i9wVnRMe<2Tl-s_*3cbY)b%j2#UyZ9OB7LDy zWFXuY(Vr#Do&E*-)1lJ+p;B9CrhVdYGfygKa$3eH8NK&DpW52m3JVLLJ$v?^?7f^^ z%3@VVrsg|TdG+q?8IM+~{_RrvXRwu#;G}mWJ?sTv)Xci^xL<_*bH$BX=mGJ;1&Fit zZs5mr*VY;q7l%BLw6idtnwoGs!_+jRRjYZi{UYF^YOolhPb}QYo|j>pSm3xy8dp+X z$w4JtoomR)Lb}~7*U7ubw?~4%0dDsyw=S6lCl=g$$ze82=tYFdg@v;){L>6g+%oTd zZDl6lbw4HhTKw^3%lR-;N@R(0GaFrgYVs7r@sO#*^d2nWj#N0L6J8{|(E{0isv7lVoAs66LuRd;b%SARmK z!n7?@zHMKqpeV;sY>CGdzQ)(vnW-_Np&Xr@8XFy@X`sEN0a*}+QPyR!Le19&&;?=6 zgYqX$#8soJ*w``XvI9)TJ9C}@0jDR4AF|U5m&#oGRY45u#me+*l1qZXDlKMdY3YAC z5s7^)fnp*VqN;?kz`D5jSe`mpx!Bnx9i|}6Ax7rXvLe>A%Yg*~} zIO$VSQF3xqPgUyY;1AiY6aFO%5gsn)&X#t@<&N}bUfP~EItCDVh^Z-(`!jL(y}zI6 zd#1NbK~YOXQ5IxeM}m9TRFePZYZ5uph(_X8jGDb?acQK}u^gv7d4J(?q@tOm-pRX0 zo&+5FeFi>X);Ca+J5VfKwh%Ognxm{` zM-%m~`vvD`u{4cRwL<$VZ~yplxn>OaUE1gvgJKQqMDxc*a=u6xbv!I!fo zLz$hIIN?GuiHYuKTgw0W4CXs2XxgM=kg$200&=6hqsdhR4!K64F_%CEQNPJI`McH^n#Zasr_ma0yW&EqKmi!nPXcm9>J0_eoFMyl`2%&9=Kt+q_WaUVx{imz5om4HQ+?l&Hwc z$@x1m6xYnx>S1X=MHN%SpAmZ+r7mWQHgo9{!@YMKjYVL(WqBG=?|gQ zbo~6(bOQ;_(I|ud|7x{bfmnYhAIk2}-R|W%(TDC~eL>&j)B51f_WK_;W4?Fj;D4!H zc-mZmhlBRk+sdTIZf5fPZNnwc-Kn_?tyhAOI=6z&y+U$kW>*6rwT!)+6{|?Gq#!|# z;aDd8#II^mp%T%&*Q&TqNj4pg)@5%gah`P-uf_kd1U_vU$#7vwh=Kcc7tF-fOuokQhqRA=|Yiy@}F+^(hHO|eA;k1^AY9sb)s#CB#S@8QZL9g8R z9Bx+57xy2(a!lA}sqHAl%BX3IP9~qO5wX>M$F)ZWa3YIVj6qw<78|0MJT*h@XJB&- zsp7*8fhrxsuCwq{QOMR-!RQW{q}o@oVHT{!KwMQd{lSg5sN(4Qyn0D{VL)}Ki=uve z1dXI^+INe+6k1&jpAmWNFom&U#YjX$?qp}~R= zLnd~6s8}m8{(ic5WmIpA)^-^JO^!OdnokcG_1$Hu7VoRop7Oo)^>sUNv`m_6QzwAc za9l>Zd40Jq3imJ`3f8S7OH*R31^p<)xSO8$eP1Gw|CSa{MRubrb8T^HKEz)8q*nf^ zkF9H|g%$~{2_XA~x82u~5cHengMtF6*8(CE>U|M@GwCe8K9}SO#2ZQ5<=ey7`v;NP zx@)$>`vqP5d-$cR(0it$vJ%$5Frl+vHw}HD%E_L{!h_MLvUdS2`3v@+S zP5xTtM0)G2Kh>OAY`AyvLHOS}9A;EWcz6A9Jx1n?haT$nYvgrvXi?{_tG(~$)I(e6 z_tjsK2>=H1515bd#J`V)>S|~L`}v2Kyl*^=WLe_oaa`BVL~aR_hV8N?fY6#Lx6e#3 zLqEUGl94J;Z8!Z%Q)ZAY$Cy^zr+6REY0GfnrQjaIzczCWD$U8p#XNneY4~EGBgi#x zf(TriLzCz#&K0)DrTnWOeOty4?Z{|74YW0LwtetMMt-h)>E=b)EL~i0rttc#ewl4) z0)Kh4TX^B-%IAy7R&>8<@bpz)AiNtoberaDYM6I{ocv>DF_=aGd$^n7-PChgxEQ1f zw|p25p43~dK}Q?pfi}UysZosJgPLx_SJ&5EvQRBXUm7 z$c_;N55|!0<*#q27e=S02`m+V_GIe)u%O|_H!+XnbpeJe{L|aN*|mJ-pu78OpH!_* z=GHBQ-?;Q^z-V;UM%{s5huCw-r|y?u-4l1amTwX7P-|;z<4n8#XW(nA)z+McRR8w; z%c2m#_d>D#Zu0?gScV#As*BU~x$Ve8xP!d@ws6%nq|3&e-L&HB<|Br{3G7-vZ(D8n&aZeLWvnaw0Di@Hh`BtSA}0dz-o_#%m|-0h5_rJu={0XS7WH+WVc(u)DJp;| zM^fb>Rx4I$_iX!1&_A>m3P5bO`yS}eZ&s2*;k&0kuTcnz!9P(px|Vdw#Dm@}hA3VG#Z9M~(2KzA0N3vo0J^3`Xl^~0_gC|ak; zdts*oR8DQ(h>eqj9Tb3Nt-RP0_mqH+uAxY=J?`h_V%3g6r{x}@Fg*iVpagY5&_O|j zPuWp}#I#-piG8d^`~R#pFYV1t8~{6ANkMPJ3H9o+U_l*tRQTwq-{Ue^N-+Q9&%NWu zO4LTqSKxCojM`JE2~dt1ALlS%ay9AnpGF$Xcjw~oS1B?EvgM5{Ji4Cc!tYi|3X(ZP zBp+jh7N+<7I(j;mK=&z1EX99#qbSd5Yawe2qF>#(I`;Mh>!rGTAE+SqorK=1WO657 zNUrR{SgwlyjT}Rq6UY&U6&U-x@rz<=0#kHB+f*o=(8^+a>UvR@{aHCF?Cpj7%~~w< z;7q6A_!l*GT{up0&F2x_jkUaH4FNr8S8Kuz7PnfiFw?HgxBVZS)^{L@GlmK2Gt4PE z8FAQ@k)=HZ&vl85q@>ZDp38P~sA?}PQ3Ha%8FOrPIb$4$QEQNzN=OE{MmkD9X7#yA z3WJ-s|L{~f&c61WqAFs1E@?w+i*cTtZ`QZDCG^7Ss_Wg?Y-!5viJQj24-hRYAY*U> z37C{hgKkyQ+)3rTbtwZKdTbX{gnP2yH{@;>TjYDi);m#Hn0iTSLMdt@r(dP@l(N$( zqOkKT05WV%Qb#_q#kgQBqkYgh;T}_i3ui>XW_$dLalM8e8Jy6*7aoPEq_gocN86Y7 zdU94Ot+!UJ?~c@(UAMPh_R>csrjVK7X$h1FkhpQJWVN?vv?t`}CzQ7*Bp8ZuYTx_1 zLOoQ1@-gN(>B<8Wu*?0uFJz>~!-6Vq=~!4}&%)V|4<;BSb66JfyoCUFc^3x@7t5u+ z%G%rN)BD8xt9Jv034HXlQ*$1o`0p9#23A`RJdq5(Yk+`A?`31h&A8J6I z4+efFJMlO)Ug=dXXGa$o3M}>)$JJ$4MNPZpgE92@>5(0+uE5{I4rDN;cj(@*;N*yI zLFp{<354b~a6>ui5WIv~+gwmnlzBPi1M72xhAFVsh`2g`bf+abY`s|ENl9^Y$*3*5 z&3kx9V?w*c?>l)z>zKW^ZrrRm_p%r+U))Im8$EaDh4txzfmH!>Rn;5=19H`z)iUD1 z#*f<3_)C2n{}jqc8pp^D6eCjr_Vh|SjgIc7kZ_#rO2ov#UL+~TI2W6ZpA{IE=9LAF z#+;pLTOv75A2i0-y7KZiLiS<@lQDt~$YU~jf4`r|SFD2fv;gu{vUNn91h&8Jr{G7! zN%GbOtW-=Tde*BAqNku)Y$T4B`{1Ph03|poNJFjD)D!GQjrQ2Ve!>m%KBW`_v*WPN@(vs7A)Xx&d9n`;|0BABA;o8bDK6$$GpWNS?7?LaSyI#33h0q z8JgYcwVq{xVbmqC&Z(c5->|?&v$BoN%cG?Flob?sHsJ!hT}GbY*0<*KA|eh(o&`kS zZkrdvQ(Mo-U^|lQa1qIG>#P+=$QKz`<-*^ZOs(z>wNad;0Dte)GYI&oWEXZ5A0JUx zwm3=9Q74^a*1hcac{DkmNVrQV&#Wk-W18`~V?{po>Uf$G_}pX1JeW{#Gaer{+SIZM zNmI*J=^(RK7%o_?+?plyj@J`m4MENP`{oF1utN<`&nQ!m1n<+~>MlYx*=tlvR&y5H zy9{;3;W>`P9iL$u3ISH0tg2l2ZjYa!fm_-9q!;kw;(V!@yvNL$OS)0dPR7Dr+I;FU z`a=_lPbC2-L#L?7g=J+G;lYu$qIGOw4Ip%#3>#q~#gjCY zk-WV}DCDvVth~`8TMGR96i(`@!sch~8s7^|>s+)HXm^=f7_%Q}OZnggk8@_5#BACS zz5hW^Wmya1L|si{8V&EDd&k1^wLev@Yk3E0Eoyna7XYA!0m}#GE;8Pgk;JyV2EfT$ zjc~qbC1X2u^43Na_H1AuMwq$c;El`*mFZ)K%m3&b9+FiAw(MWAH~ZKBBsu+5q1*QC z1yW2vw4qifdT{i9wCy`o*1Cq=ecGZu)}U6`g-s7JF{oW~eW?C>sGxFyv913>{T(rY zsCN6qFak~s*ck`$F_-{zKYIu)9V?XYP!oR{F^oyn%6kJOewr|V{vwo_krgkv%U?1# z3zMobw1uzD4CqA1D2qNereap^S(xOHC(eb@TKr>ZeWwJoy2*2+{!4dxdihIc1^`}m z|CLdKS8&a7mbssuqvQhYya_~K8g_}ivF*Bix322PaIYz=lov=9aKxqScD8x((HagH ze(3%_!P%-L%qa`L-iBNU3B{ufFxp1?h!`BpFs9I(x0;%R$=Y|4qEb>4GBov+2}Ip^ zN64-4Z;z^ibmOo*hYV`Buaa9A_Va1FVm=sreFAn!(_OX8=Adl8m-J9pR+f}Umn%uc z9p0n8p$65r7MH`u-xQS(rINz>8X@-r1@E(510DlvtN1b!KPZ0?GeCWpr4~^iYc}Od z3D9KdqWCsz{2fG3Y&9t4wj!nBeY8%}@#MXTF)iT9UTc-q_Sv(Ys~>NC6%{jF2aK#T z<&<2DcSgaLGW5UD6D?=qz@oO#uu;7@xAj}`^h#}8ACr~Whv}-HN;}b;B~p)PL%x6Q zicM{~yZRWKuTS>t*Lp4uwJDw^#x@Ngn72PxH^Gh?mtftTPN2y%>{Lzn89!G)mT8## zidi+`ll#uIm58%Do%4Z$mU6xgk2QK}+lt&R%eM^RpGHAsz~@j0wkxrtdv>yn_URb| zPJjo_1YYj-^)(VxgHs*si8>1k*T2cFY0A&lx=#aLXiQEf*WXTROkxy?e|VCLdf~y- zMAMzA!ZA7~pUWYk;;+(gUL_f;tqV~1p}{^;k9^D%IzG!T#4$ZS%P{eF6(tKcVMB}^ zvL7as^a*VDArItVMr4wNjVnLGO$*wR1EkE^n|Dq)iUl?AhW*t|`j%*mjKa>&tVPf0 zOybO`AuD!z6Q@6CgLgspT{M_togCqMe%$ z0JxgSG5P>f14h1;+yKd68?WY^35?~MyS;T38hSl8zqqP2(gLJ)PlSYp4?S-Kgu=oU z2W%~Nn|N_xnsB{#5+tOEb4o41C_qWYJLyIXP(NJ{yVXO0Dub)8)X@b~th^YC?vMF! z(h?MXcL}f&>_4XF9-v*FUsRX2HqlLRM<KxJ9*KB#)BMY+u?io)ZyEM1I<>WnQ8mu^eJBvtWFRGB+ug|2t)Uf`$vc z1kM3{*JHe&^KE})g4~|?0Ntd?%X4m4(7-8x_l8F~YFRtcd<{$AS&iDHOTzy$qR`cl zAnbhpGDt~SJ-FeV$Po|n0?JBBC6}_Vr3op>aQm16*M~PF+QbkYm_?pF3BHFNvz5OH zV=u;k;qpZ1M=+SY0_cDBpnopKF;*R*6%zxtQ#2p9Y{iWn~1(=G0B8yvL)L}Omdjc;=ttesR%KQ z+=-qJ*PtPSs@|p>sZE=1gJKY2w8j*uG~=zV%@}#YYzt4Dyju1R%d<9k_!`ZE@hnb* zUb@UZb1z-J7P&L&&s0Y2VE@N}a7vRi|0^%%voHv6J5)w+E}C9(b9vL|T(Km?y=1V0 z#0?yxd1U9WZmtbVR3FK^?WFOp6j*plMZ{qF6_GSX#2lgY&7Aoo0~Y+w^|Km#{H0J% zqnG<9sT_>U*iBR3i!u52k^gs|6L_+uEXunaJblC@%u(|-ufz+;81* z^4gITvTJ-b3sLYDWvRsF*f6rPtM%knMlCJg*^c2W&F(R%$t?89Arz{fJD#*%U}IxE zNYv@u7H6|rc#bC;m6$1GsASlY2#N=n?)V@X4Iu&*F*vY05HWa!xFpxOWZjRh zkYe%SRi2#2vaC~%zu}hd+1<675^l{gSE~5R;w?*Qo}FJE-XLSG+lv(!JoKrU;J2Bf zEeVooIo{vi(LZt{{ruR^0!m#JQ~+zGs#*8xvJcSe`T#OFMwc8wWJlnIiLHijfXVe9 za~OBrNBCKN{oL50 z^rs>)Ii5F64CToi;P;R>z{e%RL1M`7Wx7FPT@)V~{%dWbsxR(yN#O32m#9G<{K#%G za9=D`eGj_DMcU|gP+--Jjj^bU(YdmZ(Ie156?GJU%=#)L;gS0!r!I=)&&GR#5^OF@ zW>kQVr$fPF!8eu9j);Tu9evsqpQ4D11Bp>C&{6-xHNZvp+q1;=-}nnqK>rX2b(|wV zX#e@`wM6G|2ZkU`f1|W4C3+QsSpw7opAL)LPxE)D8ZhTv&&ln|Pb0+E8M}ZF~wEj!2De>_Z5#{7O4JPaA=|P4v zTb0wdzV=EPYQr410Ub<(YXxaHlgy%|Xz6=}SrO-Z=2C`5sA!c&bV6*{=$2pA|H3ho zRR;$LNG^A-O5>_Cey{{mdzsC_=Z&zdn74awT)oaZ^jgxi8|vOSxHWJZEyir1rZFF~ zgxn_dcR}KwNH>>fvWJAk=ZlJ@QvZ=TSx$uK2ItUgRJy>2&2C#M!}J6o`1m0I^X~TI z9|zdSb0Em#Y+dYMAKD5fAiPZ|NbFC0>_Rxf9Yb}^?XK4ds$$a6w3W^QQN3r)EknZ& zpoWp1fpREgXP)g9WeeQyg5JO?Aatv1;c-X*gz6m&J5Gmadml8glXm;@UHzXQ%a; zwlyaQ#6x^ep@}Zc6b~L!wu|Eyg@pw{!X-^V%Jg{^p_?8Wf*1=TRUX%%hU2Q44naEm z9_02ExV#s2e3H#C-(4NYr4P&beI30tnOSYvv#IeL2&*Tivt zB@YMG?AV-tJ$%d9e0owkROUmjrwn2rJ^K3f1Nimr*1m@$0onXyvX=_v>b=vPk%v!+ zuWW&tyNK(x6|#@#J0j211bUJw#-z1{Ts?HQ##hhc}}GX#1JCPciwn?c%t& zh+PaJg{qOAw`kV-J_ zhE~Un-Lb%2MsuqpBFD_fFBO>i0yTRw&EGEbS%1Gz@_i@Qee^WxJxS@lotmP+FWpfU zm7RyUv814)gOh%&>Rn2hD#*R?%T`(4N#T&~dG~fBCE7SBQDO(f)8@M0hs}@-X2_>i zab=VJ?p{@#ZrWw^jbI9#e+L2;0Oar3-)w0~#g9GX4b^YswFU^t4XoLGw?o^=tBqw&wl|7JOE=w`^$;5sq_RM2l^LT8SghOMG zXEFGT)JSm0zTx$}-7BJ!L#utVg6cLeqntQJO!exN0`+yH$lcCR-SUHpF!-LUuZd(T zbjMQFP0p>>HDmDC_aBFbOn~4UD)3K1WKIk)J5%p^O>YN_W;;JJRPJi4%(`T1NcuoS zOw`V8`gS{xH1O@bAlfdg0vjW!Zo0^oy!NPRR5E9HZ%-!$2hVo~7yLz?v|>drUo66k zlYCurK7US;BaZVwv9s1%Ey{%8!dz$YPsc-hyY71C<0e|2?Dpw~=A>!|pp=fS$ENBW zC~5eelUPgbHGzRP(`o)6P_)FJ?cp)eqL#0=f)z4Q+sVw1E-6<@ff4U}*gx<_?@zJ< zJ)8Dv+Ooh={;)~Eh@QpxtmBspgw#E52)~YZtjV3^2Cg!N7_|*zuS7g~sSw(hR;IjZ z0vb}Uf`(q)Tx>A$RI)Gul7w96jHW^l@*F3-K7p=A;#zO#;TagGKh((=c8u^eQe~Nu z-s`sp%Eo>>4t<=OhcSW+tU~lMv=JCpgtfLsxju=jjc1bF-argf{aH`;5LQi6vx{F) zM7{m*$Wg+(i3h|$8!Ye{v<o zkjH*1Gh09f$+YoO^>42>@1)P*)0aJbcJ4N2$5K;$cYM4H^$T0~LCdZSBEyyIz8}xp zx-(yV*D>z!EwVqH_Wj+yIn29X<_#8Sxw(dQn1*zj1JQ)HH{NvQ6O{Cq9KfM z-sTpZLai5v@O%vE+leNw z!2Zv1?;Z*A+O``06n@_?c-6hJO9|ihhNKl4I~05Elw61AI(eJ?0rHKm4X|MxPS@)B zfyunr;DfDB>kCxj5|2%l=;+6<4KC45)Q(N7Z$Fpk+MnE4>`7xwl$NWb39Z!>=A8FQ>_-H;i%B`m+jQ& z+tY-LPwvpz#mfP?51HU9TNRKE#%2NKi(c%HR zDn>f)GPXh#tzMZ}))N;SA1x%#Dz9^`O4tHr-ErGb10(cYm}!-Nb>ZelbIxw~uHA`* z8c*OB(gK!5ZEj8Ksy0Nt&Hj#2qd{Ftfr`ke%1h_NGGzFx^cx2;pA0RL2l@JF5g98I zBW8!=^}FHaz=R=@wyM)kZMx)ptTXoJLYEs=NOvRN<)FRy^|tz{Ee5`G4}oU8PT_(C zq*q!)kVnU-af|3xB-)hv!kIex1w^)#tuOr=Xq4_-vJV(2Z%eE%n0qxSTD#cTCCNRk zC`WH<0|@VnvGSFBO9E4oG6aL)>e<+gp3e6Nxc2;*hXd=>>4xK?7lpp3Bk^)CrTNZv zrz9Y;X+eHbL*BaN_wjf!|5SbuZR{}OM!7LoiU_A@R!M%vvRV%3ZTRxZFt9mG&$vOY+fk%L= zt7e+uzU+!jJcoT_5YZY$Wo@wWG=X{Fr!zxcvkQ(~%6?x3m+_J3%13W} zf7hbl$m{#pak4a@f*k{bxUpS!M^_}f)PNS|abH>1` z!k>0O$NXun0w@90(A3;D9+u5j;RUqU-1cnQ<`Ve|R;yRbNSG%~ke_!c?uW9ibqWRq(8hS9@W^BeObNP$T(QuRAmA{k%MnZHW0 z0ocfhLReUzHm3EaWI!Tk1Plh(NGp11BQ@A7kJ^>d3!jK3YkY=6>id|1fvbwFmEODo zLz)C3!{g=+yx8ZDQY14%sU~dtbln-{?g0FGU*!0h%e=c0f4YF;&h7tJ>~&OjP7alZ zj<>f^()&q+5empO_ss##LvatO!it*!pqV?AI+037o?9+| z8~L9fwIJ@^P<4HAOLfve=EuK>fDvhP#qtkeB?>GTmrIxP3uB{y3n7$?D+Xz|SVL-R zATPnwOey`I^04 z+c#e+U%?-a!(<hMSgydnirrvXrQas#P@lNiv~OALMbr9JA+h( z&8@91q|J4mgfx1Bw8jzs3ue_iwix+L?n~K4#U%vVEp`c=p5G5H2=nI_?QNKGH6e$p zDL#>cS2&w9Hmr&cZ3~F)NBJo?3&X=Fsn_}}L+H;?qI&mTdAYgo58T>sk!e4cMn_kV zQ>mxayEA(|T0~N<8Ca~7I8il2;@gt@+aMFybo&ZzUPIfJ&24vWF~H3qMZi~czi&$sTE-DdzS#QwbQCNq^NOMdp0>ai448OeDOk=4PrrSZ2Z&g z3%A=vGASKfO=tG@md#u}e_?{E&_Ya-i^6KPCXo<-DZ1Fi^K$~Z*1B=>if%AJ5ofjW z&-DsH#YL7n`Lntb26=+?f6;NHzJdAy9epMFQ0#I zzakffz7nO0lNIMAB7sS*pX_gC6gAWyMjRJ~B8W-pIP^HwiY=HoCI?tfCnAqyN=r+t zr(7WrZmyUakj0K{$O_A6;$FRI*LENM-C9e4*X&Z7PC7|&^S!HO6<=8atVi@^oGdqV z`0oJH)`L$F3t@P<-D_1twYV+xBsIIkVD?Q%jotV+6ly=#KQ+#8&21X9-z4-tDgMOy zx^nd3LIrfSl|Q~L;x{mz45e$g^ftAmJhn$pU865dg7V{QT=F$l94av}s+`Gz@$ZpF zwA5R%-Oo0P_Ol5J5MFA!)`I;MoYF9pHW}uk?dkX}1TE8MNKDvmhnNKZgM<^m^C;N}M?o5w--Ww>QY;lEy zi8Fn1$1rBXq-()9Y3kllzEXH;f}46OKtyf}qE&;AbDuMo{gXefto6LN-XK)ZAW-4% zZt>IU& z$^}ft+Lh~aeeu0C9eRIxTM{cRdiTYj@Helix}kIBaplc)x# zYhpx(%ZDkl+B0iHp~+jh<|9ZH;iTl3dDf-I8dz}C?Q)`jN)$;F`v@2(o4UO`Z0yz1 z)s@eS!361R17~Zkw<9xnT`@5(dFWc*s~N}AQfaN?)biTiH%asr2_@PnOjvo3TUVy& z6v{>$r?aJpils^M@r+N6Tr^&kt@yuC-HHh$Yu2k^QMR(pg72=giHd^OM+R((e3W#4Jg z7l`udghYH!erd1vrKNsn-FIunFYE?yBYCnVC13m3ZD=`-f0o6(2VP#BJvC$;-pznQ zl_w#0$uHyw?Gz?S4LNC7`o`Aeb->@(=z4h>=fV^8CO1Reh0>3Yk3&L2va%?PNZ)cM z5yMz>C8#xb-)eG<7MOYo+{?J_HgUKwkmT5aR<=(+4bl}tV$4RU#T9Vyp8Jn4**ZI) zUek*MAHVtKWF?~ZYcO4ZX}IK9oWs+s;)H#c^@RE&*kNRH&+d+9LcWSKiP{phd3?=) z$Zil09~kydi%(Bd)lyPlsSt2|UIsfotvd~F{TvI{Kf~}3W6SDsXV2_7Q8kD2Ckl} zDk_MO*&SCRj*Nwa#Dy17()eEEiQq9~W9hmJ3mqPmkD+BpKQeV$R?1Vgli?we==$=p zAsr1F=`YfSxkO{}&!?P0TjvcnV8ji;cgn=gpY`SGI;x3_Q=6Xk^-jBj2%x=dnsEFd z>2zUF>xxEOukWO}$8W_rIRR`&PC)3vFRN_36axy}6qqL4iPkyeHGq`@hIE)qRWUIc z`-aK)-BY(48R?RH%kbRvir$}a?2b|8&eIkmQUb4q4!YZBTRzoG`d>F*`y>6%rm3#A z!BM&z$TTpTce$q-4L0V6EMncu_ehz(Gp}w0y*sUI&t-KSF>M}x~T@eu7-M2)e%v2)t{AtPAAy6 zbu|PV0+)3p?)ON21Ia&4>{+WLK2L@xk@jY=I11Lx!Z)nX1IFy*?t2cMwTF7v$j5hp zw1KZ;Fgx>Kg7WJ};4iPbDENcK zvj1x1Q79l8j6ZeCf1K?fWj+#8qy4F)|D&D1p?(95hW)8SvgVNOQeaa6`o#X!{Z;z0 zo?*d${i(zL8;=n5G)TsHSg1o0T6_>GA>vgUV;S@xrNKKOjrt|N~$bV^yK7)Z|9@xv)spC~Z z1$oGmoKy-fTz^-}l&ybl`c7D*Q>uAt{~K2LhKl6ax?rx%a-nR$PPg!t{ z3Wr$l_G_U31sI4a|A#$drvxAaj^0pA-!0bF)xD?1X$=kd1N!_&mw%GM{N7}?wTaNu zZuDH@ifNDBf^gU)5|SEpp#Xzha_i6=NA<2r9u*$(lrNS!a>LQhVSZE?0b+4Pj3fBkW*blcA) zO-|WM_uqG2VnIq~!+^QiZxWg-=fP$-?;EYvUHELD)q&|m;+A+4*Vq2kXI}sB(lE?u zXn&Y;{EBplH-T#~q<|kGUTPPwCg&DY#d$G84j9_nU2aH22@prF30U}Ny2hxc`xiM>eK&VyJPngo zyY*~9Vf#k?}HrVrvP{?e(6-pW= zR-IW>Az_ra!Pn#NZyPGmXX8b-E3OE^03S_p{1Y&Cx_eP-7vp}j4eP~gxha}Y=uX=W zyooyttj&bzO=V40^5%bpoacgC~6~-c2V&Jd~ z8?S*}CJzR6Q2f@mleAm3deNb36-`ww4Gm#}3VUrV4{L?d%8E^Nr`ZtLG^0gzpP|G4O7UF(CH9wzrr`_N63jqN1pn|6C57#)kFth>pZF zVT-EK(*n-}X_S#oZ9OpO%*T#6;FWznVIlT&20}){Cb#qeIuK)tsG{ zg?t>y;m6|vS>VMH;M)>CmX@xgbX8E%n2hPFk>wGjIvyEl8Rd=(J#aMmR0(otHj1@( zscp;QF=%NDC~NzW)sLOJKZ5B72?1v9W|QvOD%N9^jtGy-v2z3L=Y67M6Jn0(FBDt` zTQ@C<-l68M#VlAV+Dk}wtJSf|B-F>sS}IC1D&V~M4c~SK=cg>i))T%8MD855$pvvd zv68yZ3bdJnd6=f<<$Ux;%xiP`eM`5nTpgdbfDdT?wi?SSf;*@-Q7&x<#>?bel~eT_ zoSPnkkVel?2Li0%dR@eLB|ye^COk0{&e^~GM8QK+N){?9FJoz7MJ&SUo@Ad&o2)g< z?pa4(!T7US^Tc3YX0UW&TIUCpC_&}S&MZ$lfKcf7S{tD}zJNsV`cb=m3r}@Hmi5ixUGm~VmMv16v<3HpEatC&m}$1Y zlV_nXBuJmYt^P0eDVNz1ttpzY0s*XS#&iPSX}k66S;@5lFl zYJ>P3J<3mw%iyjm z1f)T_yGvr|aOg(5yKCsK{~7gpzvuDyeCvI`cl}w*<$^hL&c5$+&V60`+WX#Hd|#QN zaS`vLYi&r#qGi%A$Q>)rX5XM|YC?_4aj5CB4i@lUNv`m-P~J|3Ue@x~UP4pVSY1v7*37Zgl{V zCkYkc2VSk(%IL9pHBX3aj-^-6SKI-p0X{*F za=XS~XaBWH$b;n<4|pF0e@Pk~8Hr1D86I?T>D=Gn&w`H;AmRNdmf{$rkdcw`&Zt>f z6v~P1-?9EpZGMv$@}^nVf8sAG=wB&^+%-`x(%P4(Fjc8ztO7bHT)TW?jkx)6(URi> z7tvH|McL8OQ2{L|TOs%X^2k-v(Dqg023WdWcBv{I@OeVkLwV}(4?*+eDL1z|bg(jg zkf{9QPNvUS=zviB?mWwzuRGDme1-oxg#u8XhlAtC#-ZxX_tz!AQXl@p`JZ$21E}1! zJzYyMqb4tp6WIxy*!q(w2s(q$F0UraE!>YEf_(x5fmDq@5BYDoMBp9F8laMO@0#W5 ztq(zWP&`n8+w=|_`tf`62!UoSXA>!s8+zzwd@Li*R_w|(?i-!-&9Ce^>IF;FPhi%c zH4^*T61 zk&^~yNjs_9mYe0in?i5iv|jOeT;0p>q$)=9MZNMkKv~d3&cMJt-|o#p|Kv59$0um~ zQ|Nb5EQv#Pf2ilY)3KYjx%-r}TC21L>zd4-co?-q7UPOxAA*3H4}zE5 z#&5BD!qwKo)g}hU#MpI+c{;j!y164lql=%0C~_cDD=Xz-232)btpvr?l_1t)dp-$h}ld`CH7d&%melEBP<3L-=b=vVIDZkn5j;vDc*O$Xcj8F|&A2fU`k3c*~o(v*ER& zpj!R-IyV}ksDhSlW$t6EsqK4qFZ7&h9yoi^kn6T%SX>wdm4$BwkEYp1nqQ0lEtHd+ zp}IR!KtBdsN)S|@L~Aijtc&kTS;KMSA?w1+^0zT6l$=R6U$lVbvdiGG5;F+%&@Y+- zg2%;#7hDiHxZ7i*3{*!z0xlu6h(SVeh&@u%O)Z;OsestLozo7w?wum7zFqM9!Ao-jI*}f0TEmM zUFC+EK5{|$ixf`jkS)^&Ax?Noqi&K2buIeIgWp3`*pE+@euabF(S$piALG{^leJHjR^r zl5eR%j*lv=B35aXv2KI=n@?G}A*!+F@?OhXOk#b(?0z|0dD$b?{p1mYO>*8#crjC)(+d$&#ky~&Tcy5K;8M3;ips1aChf3&|y z`?BOax3L0GeB+ljER2=eyw;nFN;_%bT1FWxUEScX^3yzyc10enb9JUqS55<(Xb~Bf zCC^qIHKn%C`hy7}4qznr%_wN2=JONqeotHd%|O&7mFq^$`81H3I;+gXDkQ*y?S-G$}uhykK) z(Qn>ZNOXpFu2XDbD$2Y5u#cl4$@J4aKkGQ?A-^Aao9 z!2SmST>m@5A^d<^;NR&+T%2SUY9fzgiafQEI@dq64eukoG$3_!dD#GQtoZgV*+ZXI z4S=cuSNlu-@V*Ce2>5@OP_lCU1w3CRBb5jguGh~WR(V^RwJ%vCNeE>D#kyy@re>9> zl^GBir129V{8?xy2|W+`>vu&hrIHYiZZ~o5}7sltHTY5igm4As1Uw%tD*gBT) z-&3-&9km?W?Jsu&)eLjKzE}TafJb--=a#)jCB{f65L~SkTYnj6#$+{eMas zI>G-c6wPX_@LQ^x^?X-C+(cn~q7xiv=_63z%E!%^W#=3ec+;u*sH=5Q;@= zXp{EA6tKORyPUqq?cij$HnaC_D9KEf4>I`h(&5K`tAs?S@}`Va#^=GZfzoQ(0ggo; z*BG&jF%2Mr7ht+)_b01qbQRL$9!2|9ZTt}DW3g0@tMaiO``B8=GTFZHtr8>t6R#IS zl8FsO=UeHOz!|jNX82&3{r>8~-=Uq}m=N3RZdt6~z{Gz+d!BDqOffrLtx$X!*Bj7J zD{Lv2cLy@>wI=Wd#!ih=t|iVy7Xl$|JiXQHdK47gEW;VxAt^V^NuF>zc8e`_S&FX@x{eI2vi3oVPHeU%( z`ip_HwFFXACI%q1HLqr*5DIx8DgXF!{>Fvq4GDK!&10`Vx9g7@6!wB0@% zPaYqp)(M3-em-89xHCR>w8=ikNzJRnh)m{w_t_Vo7S@$xlj&mzrsWRQWu!Y@8Y?TI z51C#h#lvuQqN4Swg*@W<1 zpPVv7rREm0b7`YDuu;il#(IDnzZRpmNQmQuHAHSp8orovII428u`jQrjop7|XYVQ> z_|wk@Y-HIya<6D=+H3f(zuy`mjOy=_iH|bN0|1>u-T2s896pIwn{m`caOa432X&4~ z-^S@i^s4AR3#L%0O^OA-f4w&u^y$yl5CtFj+?DuzEgBaT z+qiH{GEPUH+PArP7I>2{vs;G+&)*>TI5^p&7Qz9_9vQA;JW7se)i2?MVdR&%Gz*Zv zY}Ven$&?zrviFVvHZdyk3=gPQ5)NfW$Ol;a-I= z;(_gfC(#mkWE|M(mzMUOwW#VWfL#_yL@@d#lLPMemEtcONiqH}YCN_MBhY_^n%Y-0s3HzrcyP--y@WwVkgJ#=HKzR%^$)cSl}rkBx2d1%SyGV{sN zWdI1_$O=X0_Wn34h-!Cvpe;%lr1o}(ql%L2ZVwL@L%?tXAIx3M?Soz}Ls#q!tH$ov zn<(nvFYqR@rAMyaj}ZHG0eLqTcHC()C}NHMAu;dsMrDgql;P9P+joSUKBeGfr+D0z zGju@>XwlQPW4Dkt2wtf>YUIG_b`r`22V9@JW+oM4Lse%u`!%$}G=vlQmMS%F2@PuIG#sBjkjhFTF_pG{Lz zncnjJ9B3!RVS6dFh%VRGgm&qWmmG9IFrR=%@JSbjjAofdOy+a3!kH$cyf1J@zy?c! zSxYJiUwU076v9;NG_R|}2&u2KvUAnVk)Woej-BSXD=RQ?ll4ywb$@Jd1&2KzVTG}TEv@)HCn7Qn=OjVrek9-4 zNA=KmJuTo_a)n9DS}RMR+SEg6O{N8(ousMq(c{)|uc@UgQ!DS~`8MqnhdDoX8-tnY zJ#7iY~4e{hc2@&y(Jk z%f@MaaMcd(?FIlEl7)BK^f5 z4}5yw!6$}`871tkN%cVKOVeRDOt=yw)C~yzBwZS2l20LWOjU}CYO6CN0_=|HjiU)} zB7i2g!m!;@g1guH@ghSPF)d_1!Z92?5jGw!zf-FCpHUNcCEMEyVX@Ae{blX>XXU)`kPSa>MC77!5 zwSOG5#Ct2`5+_pkM{exgijV!4VV8BAJ=2h~GIJSj9Xu6#X{D_z@;o=#uISc)ko&43 zZt&c$PNBZMhUUv<_{4qBPalXG$d~69D(v0o+GbxMjl?2C!~B9~Xj|r9w^7J#Mn$LD z$MO0K4aLL#@dL=~Hwl+STiFaQ31z+d6BBRDwl|65&#rbqZq8eS6TEqR*XqV&);sTW zrpGr%g!&cM@iGtID@GTubBR)kON^$7*LTk2|GtJ-vu1O8)br}-eA}eR#FC@j#>u1( z!QcYBjl3%qICno&rr^?M5{ilv(bTS|s(I)y6M)@B1yx59n~l)^$wvOib^voQWNZtx*6P^?(q1V-+bMl@tOovL5;E3KP8^7Xa0R~ueFA_u zgP+>(5XbM~d?SY92#2(NH=z#qZO;Ga^Z>~czld1MKXW$tMen#ux3a4fGf0*2(xP}= z-vv11h;A@uwK`Bu^tijAbLi>y*jn`Uo)>eqqmqTLi3k4!2&B!g_IlQBbEb#3=6V)h zi+Z1g-^p@9%o}<8>GwzNoF?jW3THDF4;*ir-bY87<@fc#OS>g9B(9}3)3uIJS?%P? ze8b9HyE=Q6OAny-Yl=h-{t9KV`F&rBDxAoT?*0DB3@WV?orvG)4tqKsxB!U?j)@Q7 zL+DWDRx8CEtegyW~LK7P~eAEm^&R#MY=wjQ$&8Y6y; z^4-1Z60Z~?iH_DBd%ix+mHfelOepa!pQw#M!$#AEEBgfWoGP$&79pwOw%^}89{|`} z9C1(x zG_PkdRWK&US!*O$#^dh)(gpBkfHRI0ugQH1m$3Ih)rys z4YjYeE^*9fzcS(gz>{{P^KxzOkYR#NGL^N^k%w4k=OOSuJPYYH3TNo;b~7|L*WG43 z=nVp-e=J06l5x({OoKrJ@cN?#F`v_koYM=b3Wjy%W!VDPEwzSP)r61 z6lx5ptEkISJyaTTdEIS+Wgu_YJ2qr9HYSYb=iRAOVOVdQ(q}wTPf$0C+(S-`9kYYJ(4NuTlexYjWydECryqO?m+T)+q*r zX7nOq>RQ_7mapn~4o=OwI_)on!_A9}3@pX+RS*NDAO@fW1nH}>?tP;t3g=EGOAW*7 z5}*QdG?WKl&LOKzxuWD5@&q&(kCt@Bf$dM+^4c-04EvQ^Y}My`Nya}m>?+jNMj#Fb zrZ~&@#On#4&|;%eJ2Ofhpt?PT-oJ7>q@NQv@{_Lq8j81nASfazI2I~;OkC>}8NdG~ z0Ivopn&)x1xk-C(BdvpacWFqs1C1{eY0yn8eh^f1rOd_3+E}sD@XD#%V7o}Ja%ujE zH4Y%Q?lud?Da0B^s&dk60iCHZ45G79;@KHXPEfs-Eo+~}jsvz|r!biba@RkK5OoaZ zo%#nU72FEkxC5+Fj1Bzb?}< z3x|KagM^IHq`vo~#0~N3BO3uCWD}_sv6AGW(wVx>IQ9{6?Gs(d>IW_(-N=7!T7#k{`N?JN64L_|frzTD^oLP#ATIZGlD+u^ zUXBJzwf{M_!2H|`|H)kdbAQM5fwVxRvitoG^(^{rXaR<2$3o`Sl5S1Gg5desVbG1l z#FW(?n>PaPq(XX8C@A%4kk``Bn@Jz-p?+eSNIg0J1z@DccX)c}PUWH`&FwZL4RH(C zhEEeaOCwVA!_!SR&d-{U`df@Hmr{9J*HgYaMY6YTlCV*1NN_7gD^H@bPxl}fpu%xdz|{%#T+R{M21zP zY8Hrq?Ezd=Wg)O(Mz1DcsT5_Pr;dstY-iXg^S1vKNVK%x-@jMZvYEOXU%4D}Wn1Qb zev2>&u5_@g*%uI4!K5K1(NlxKGyWr0}FOEf_`h@tH+N3ar6@!CL zC2^+P*7?u4Ve%%nn-)}==L9pZ)N+*J+@J*)39F&m<+bQU$FR<4GN>=kqsKP@Z2k1|W39tih1e_vJ3w=1f`SfwmST-@6rB1Txa--vC7?fN#bsM(}Z(@_#VS?yvlW>jJ8v@WJ-@wWaP z-zu-2R#%biEMHVcONV>Z3F{)38ZB%1<+!$C+seq;DSj?w2&Eq%XtRE(tN9`mL$Zs$ zb3`#>ncR89t~;V*O)9i_=~VaEz(4y4xG8$>PY!5ByEB9C6VAz`EJ2rguf;V>n7Hj3 zu%X$GDIc3PmN7cdv=t^hPnJ)oP>2HIK}O9}Z_$QyHday)q{1fT8%!H5cEe7gq3B*K zi}VcSem7B+fTf5b?hC(roj;thQBtSOaz?;RhV3yMgO|l{{_;+4oN3^WVq5?msv`Do zBd^!cgif-Zo?hZK%IOKT%!7W#CIr#eIw@K`9zjMd3Z7mzgq%>;Ige>8Bb?4D387B8 zZpPo}eN?U&^(VZHN|#xKS_Q$H$OP397hI_4_QR8#ZZ0QnNgAvJ8p@jW9NfW5@u z^+5z1MJV}h0Q|CY_*2XSi(qR6!-`ACD3`vifBCE_7y(vPI4A`5%7AE!og>0hF5+^@ zpmoVr4dVrnrEzOl$2Zp_D)rCGjJPW~z^Ng!285x2(qAvX5; z$i}Ql96OngP#*Yf>66&~+u4sWz7aq^?7%PVG#e7H1 zxNpk+drzqE=jztn0UkC+ibthgCpBdT@XXShhQ+k7PQ22@MDLo++<~w5BxsA(%bk_< zU*IHFbf5+F^`k)osTYa!#T^t%!}v~BthfV0PZ+*-fD1gtIOBG}qM&-DB09ndi3AT5ZO^X*r(PLw4*&lnvn`ZA%u}OvD5}b2|YpE&%eS8!( z-@KvUic8#*^6_&#qSkjYvna|p6G{qAh7lXr5EZQywnlwEW4dN`bbKrM$T;7Z#_*&pvBIWdm;g!btR z_G|HhB!PM)+js`Ev`kv+-uLdsX3lB4+4Reojopn!Z#%(selcV#6%XvF;nmnm@ik6g zn?JvOD{!pv>6znB9%Bs!DVc$S`~GEe0<10EdN?GoYn#h<$HMr zAyhgbZ^^IhNu@Z1+2K?WD3p{jOdCu5-pnjkQz6mnFhzY52+_EBH);^=RWb|+)q5JH zl%JK)FgqYAN+9u`gUz1pT-ME>nQ7+eT!EX0b&WoAoGZ=M0ZF~CAKpWvB@O(Bteix& zG=PLYhafY>k}*9twM`1*bz@h`S$#xro}u|SBJRs%_w(*U6cl$*q%LE>un3sRnX#UK zmJ_131+Sl4-sjk&r#FAq)TFI04i!2;oF3<1J6+B9?T_qQBsA~+lq3P5v;*8$pI|)y z*AK9v0Q}tr{)CeDXD<0~S9b0dn9pIyL-yWuJy5mXKJrg@PdP{+CSzh^f`q?r>5SnT zl{kpvp%2h0QDyRXtok=W@IJ(=A%qSYvtF8aU4JDG@}Bx%xz&dhx<7zgNJw_#fx#6Y zxb<{WMI^P)7=|P;YdbqXv>Cqv1jg?)^So6j*vE+L<=`j zPNe=WO?YHI+DnYSU;3`R{e$?o4xVC+o;m$7aswn^&!AVe@DPZ+I%QbgugALItktQ#%p!$RZOhIFQ|gfgPGab%Dz>y&&a8>XQxsbCkx8={b1u6 zd`nK5m6KmsNPDqErL|S(B(k0+xC41gS6`NM;HuuwrMZvdAyGjBEnWFmU-zvzJF~7P z%hm08vx#f^MW8c2e|kv~Z>jtDY`g>2GSxJU!#P*^;n+CJ&!D#%Eb_M5S;~o}PJRlmb7SV~028p#4-T+z($nui+V8O?}&iX}J z(V@S)^i2e0fDcU$I#qepVHI9Nh|bm_StZCdrxPblmkO?~U!!xOu7W0PlNT!zCWiP~nOJ8lAwI zEOQ3~;s``p-}*va1boHL@@OwU9{;!u*h^?&Xc(y&u9!JNayK4zYHtm`?%SWyV->AF zJfN(iNf)nZ{AutsTVKmgFo+Tz;;;o!mszRS8b$7rt1|%(5RBZmJZ;v@bh9yXS3_;t z$Ln)z5b-k*1Ms|inAG{f8|?47+~DVf$-8fIPA1UMKRmJcFtTj(K#i z+_rwqJBaEpd}9*wUfEZ27Xn`yf|`@Q)x6UL_P>;I4UNb?CF0ua6DZU*w6VGVZY)o? zU()GMfeAG*e4EdW{$o9PudBG=QL_@4pWoTa%svI+OH2D zZiis>nMR?;@8rrVxdumV zta@gnHTe5x#s&vj7;EkDIrz)X?(Q{+g7U|=4wuH@CazN$hjgfhrWQ|8zGDDdMQ>3? zW>HzT%Gb!zM1*2+?$ZG z$a`}X@d(ycbt`#)NBYOOV$Ze;MCCXlmSA0CUrx)t&G`NMS&C-Y4myL!2KF4ghAXCE zCe3v8b^HQwckF#dn}@p7dWu~P{?BV&A4Y0U4r!zcfHjc}v;2ug3+WbTuy2PdY6gIQ z4P6x#@)b#^#oY0c%V_IP5rsX)S}JPgm5r=zK#gs&iTT5|V;UMRf@R=#cmua%%|i{w zNL%oDh}G62RwH98S~VmqFD;)FBT4&lz&$*a84R8@5=qRe^B zP7)VC5k}^@bokZ=ooQ@u(?Q0u(qX_w#Pd@f$-U1U5E&p^auSf6>(jEMvprR9U*wAm zXdDxA;emy}B8Fy~@u~|S2)JTEfs=DVlCJczs<0y96)cz>R3jQ3ipBD_vfuJL49M4& z;Q;ZnO?4ldpn1+A`?(MTFSEZop)Wi!CHqH_N_n>Y=VPr{>VcxzM$b!OAQW)ESqG0; z9GNL}JLcOxJrB$4-96TQfQ-5VKR+o>7@oh-|BT}7Iq^&dyHoRyR`c`67pkifVd)u15z+ zKS}@=bPw`+FwtKC=?eiTLjRkD!(sUU7PSD>6&V?sk&zK4xALK(A)rc(9XrNPx`_3g z9lqlQ8O0P76u6!2yzAO-S=a@dl5g5^|H~ZW2t$UBCM0&MQ0?vP{$u{oA+NJ;Gi1wC zKQ0G4Zvb}xb%EbeoD)uJoD|CXZc|=#SyLd@e|7|*s{n;f6HJ!f>C)%?;5ACzQSbe0 z+u#mSOooeLg2WXmjCG7NTRoqyV7$yhqb2|2?j!yQvfC&pcS5kB9~ftKHJxkgP>8N* z=^YMrTv}@IOL)tWu2z4t$I7||-X1Y#S$RifMu&-a9810mQNje5p0mfb{{j$CzJj72 zZ+k{2)QC%5pNyn#ZwJSOKZtyhMJ?v)K!T+C9(QMLqx|@q6$XbNr;!gzt*yk~?$2(Y z2g9p&yUHLT6sFwz&YuDK$>SX2V3%h?&ybV%0Nqo8X)ENN?n&c$ubha@O3ZSUfwKcY zdjLU*bSB$f^`#K!h6AU_k~ACMA4qbtt_LYFcc>RYw#G!M(JXi|sT*JN^U zpcDX$hC(RpQ^wd!$}E+w_6HbQdhyxKwWjyiwdSnB1`0>a;TrJX3uo}-@}8;DcK{*Le`ZPCIA3uEam)cl6LsyF&y8ux`NNuZA|z|jVoJdr?j7ge$Q z{*j@z=UiJijGq|@WwX&&8;hpKuVEPs9$6sFC7eJkfRNBghnEOjxofP)yUUP>P{D$} z1D1?0ICFSiZPT2kT`Y?;apWC9Jv#ctC!yqSv~g;xDu`UC$Tw^yv@^ph$YcyxK;E|L zuo%u++=C6J7x~xVM>056sxoUvt1_=I?7#)+TeU@uMv4R!V#2L#VpieFiu958e#Ir! zYLQD4-NM<9hmCtMTQZ#;3xKMetPV}&<&{<_x%0YSF>%r{i^;NaPK7?i#dhA#&QdEY zugK^#0tv4fOJdg|wfxr)cxTB6SXq%WB5q6x6VnF2S z_Ob2{d+Rh-BDovKrY4nH7Ai%Isbv+fG@Z5X)Z2ZyB?@x?I8im^RwQU*jDQf$a2W2) z59hnR5uOpBoh+Y}SLV((bj(9)PfYW7V7D5TBG@nka)CsZ-LZMrW|uSX`m2#?S9jJB zHcW!+w=*+BeYS^vh1CVVI_dVo#4m9KXp`=Kdd(nS*#GqDz0WwW$y^;!iz75%=y|>) zUp$NBOu+JT-j?L?GRd6kav2;`sec7V0OU=GQU~jMdlHa%#74(H$V06VKE(1Nwv2bZ zC@`mW36NZ5wCrQcU9EfRahh9Z`8j~#^8*Z(FSc3Qgx|+N!O_r)=hN&JHJcP4Q>#k`IzZ7jH=S!TIpJm;^A_Z+<1QN}R zKRD>G4}`90l+{wu(!33&A^1pC|IU1~WSD&a;0Oqd;w4TEO*mYy*C*B`M!B$3RkLhQ zS28z|Lhh2jy2qEukTgpchBEuIDe1#AG7$8pTcS+6_vDotpbT`ajg}N;>NcoGB6qEQ zw|WLj#}zGxr|lmu7^%1dM5bYBG4+K8c_ zNCDv?LI#3WZbGxRtenIeYL z=Ybc7385r<(KLHc1bJ4WTRjQ_RJQpE3HB}EXd;JUO*T}G-Uw>vmrrZE5{ApGi639K?zXXeW z{l14_^-3Fn%L;o1p zm@XsMU0~{n9q)nSIc*Hw+%#L1kf}lcH4|Z2(1+pLKQ=e>{0jsBeuZD=&DKBU$6ZXg ziE?3xyuDPQJ5RB&789D>0V92ZH&f%)_l;eI8xPv2-i2LsZVAD7UHpL{nyRgh?rvWC z!fWpvgj4xMN zyM@k8Jm6i0A1s}e!QJ#hqEh(d7gJX>=@(mVmMc)_Cw`#l z!Uq^A=WpD=XqxA*B@~Vt8$LCBt*gY?J{taBz1}e2pVGfqKvnzo*no-+ea9MU>>zzWcrG#x6N*>UDLY?dW zbHn34=zMhL)nLWj6^6@@gz(U63hu4xQq{MUkRq<5&3?W}vKOEmFWt&|@3EWfJ<5`A z<}9Dz4$Sj|MD3OujxQXdx?fsabgfKE6}oF_ge6*?Cg4G*XL~ujX#ukhKC%!zo8+^`!Nv0&bV#Q3i<}5W z5$o-1yInxf@mwNdjqo`Vt$cESd1P3kI`c5J7rFL$SdZ};X5i8)H&wljG)UiW)}Ej0 zYB;J3fd}ydMYy)tb1bgI3r@=nW&H)rNpyte`)2RtY$XgejXP$%eGqqB(sx%B?%eZA)b5~Ra{>F;Kk}UMWoI@%e+kf5Q-8e z0o17;y`Fz3l{vE=y=L*cE!QzVQJ%l*8J~qZ;&pqzy<@l<)Hgt&Q%A{ox`eg+gQm5r zhM?5^C90N=<;b$CyPRrxyKy<*2Un@3rdgS-a>Jd50B+C9?8x3k&PV4H`JV?XHod26 z1C9%QXMDP|5d)I+t1xtik_8S)7J$GeSq=}icO4YxGiaHwDGry%aU%j+)_v#Y6jU5f z7jkk6b`?5XA{&J~zsu^*h4w7Xp1sm`K3VvlF+ekLaAOvwBM81WyqA|_7s;Tl`9w;L z=Imh3$WGs{aU*`qEka{x?eth7?vYRtgz|(?FrUHKPkaW0{@#qnO9P`i!{dkV(}nLe zzmQ27VyoLWbyWj|DfusrLKZkY8|#-kF2hMr#QnH!dDC^Q4QLs5RjrLK+qC^+@FoE- zOO_+o;2B-zk6B<(!r^7bc)1P8^ZWM=b%p(|WB$3ItXTFNU#J1=%sM+JC~_LU0+l!B zy@K{9$^y#9i@k-L9fgA^J}ADp-p?7unt-3YT!h}+c zt+pBam~rWwr%rT_qnV3v=@Vjy)+MTbE{Xk>v}X}jIoq{}_){y^a@YLq?9Qd#?Yp0x zQc9K+`5}hIMAuz6NC^Qm+R``iE}qRo%tNrPqz7F^cjI|{t{e@mo{tM7g);b>_tPRLD%^q%y*mA}H zfk^=Br33^7C>3fd5W&{h*PEM#9kuY0JOT>?;0gd8c=HOJpbflf59HasUdjx>92jPKJEfVU1R*fgs1(PKl(M=s}(UM50=jy>z*U&%~>wk&a z+1Y6=GuPDro<+x`lh-d)EbkFamF}2Unl@k2*%Z?DE(JKu8UXw?%U@_O7sve1YYP7z zbH51u2mAQD$)filly&vIyu4)x9v z4X?oBE4Q1HY&wg#4uPR3l7e0UWBH;Qc<9+0Zfmy-Z86Amm4_iF@y&C#w5-r>TxVEG zQS@(^nO}bx$qj7ZU3tWcPEdw1#qI=kT-KcmU8b_4ET6hKGzuM};uzi_=2x|ByF|M& z%k3K|AYjRD=5>hSJyCwH@ZE5RsgR&MVT$V>NB%Nvt=m+^+Ag}a%)tr{0n{xrf5i;g zxIo?AD=pbhN&SE%r^-+Yz8yn8tyD|0d%Fn(VUbU{I)b+pza>M(1M1bPaao%`of3^K zSXs=_JiVNu(OcrLiB>zRVLB{V)(HldAX3F{A?u6oRv1i%BvLD=^T#Orba+~A!YG$dihC%wG_*z9;N@=ArEpAuAwRPZY#m4=F5v3N5ph72hu1Nqmt(6HoDmX68 zWgO3@KAqjzj>vdU=lIEeABEEAE0Au@Vqc$K;r61=%t_;-KO;7WUc5FYxV)4~+4gO? z@SR>Q_ON9GHn7QJ!dfrDJg&)49`nn`)rYW}Sb`FF2n zbtZtea|0Jto~_ze8fqJzDN~|8In79X$fR$ba^20KI#Gj9jDJ0a9rh!PE*JMDR)G8j z$ju~D9dO2rr43WIR69NzD+Z9?*X=Z1Hn+GDdg-8`W2Ll~%te0jI#-|+4tAB4#Bg+@RWhpswDfMxjaK^C|b8xso@8F~BUchy%CruEQi~=n@r`YUNLGG8*RrHm`w>ewI|po1qnPA-U?sZqIzF~-WJ5(1j9<|CzL_V%`t1$fmt z#ez+<`6u#2xtRG*jtV6Q&-kBit7J}kSmPX8R^;+&6mHyDVL8g#~*r5bz4_hLwzqi5F7RGl0Z=$T>oyhs)v~ zb4ax*tKQtAE!h>lv8Lb$S~!b2(-)YGUfg?h*$}(FnLB?>ujyD)dRlqzXkuSz=7$GV zLIA9|j;Pv-9X?xOO;uI;ZgxGochMe7A!A}pQ0;XVqxnG^yzD*BTv5U?D6c9%ILckS zHFb^!GwLj1&OBki@9|a04(vobRGHnatLm6xhXuHhXOprMK~-n4$CLF*dN6@Y- z{Z37AvEj}Nl5UJJQAe^$&?y-0-hri-*!1Gh&}|cuQ=iQQNWz9PiH$CRdY;Z8r1pvS zyrL|kKH4S5_WH1C*nS36(taeOcGKQzD^zeHgYJA!+s69URg;UooX+@pUEi>i0wZWE z!nS+Q)JDTrSS30q@1lLcaJxz*PP~Siz+?4MC9o6S^l&)a*SI<_!NX+$UAPFc%D4ed zv_vNhC@0||jF~=vmCqV`5D-4LWZ|vY%CEPWEfNucBuW#^4oCA#)ne_(h^86;`p~$9 zaP^C<>dd+6p|^&;*Qa@AI#spKPHvUwDu|nq3Ly6_>80BM;>m#)k61wc5go|WLzwr9 zk(r8)D%Hqg3>WLB^rd(0K0H=!y4?1I3n9L-^V`S%aH1JS2}g0;Uf&6dtCVL^xTyUP zOO(P+oNoZ;XG2!)kJ!T~mK2|;cU)?j`Ub!YU0UEx{vC%5k(GAuDO9UO^AJ-~If+CG z%Bp0bW9<1jIKLd4aoyF!KDKWKL}K-h>&Cvu+DVr^hv*|;(FtO6B7ESy06N^+>#9HB zfHxj%)M_1c=SaS|B?P=5PHe((J&Ls*O=eom)2wU*>Y+12U53?}x}10H6gUcZFF z``{oc|DbaAVLsa2a;nWzbd)#JK#87&jW^liB+JW>ALpv_NxK+3W>ZsjwL2@z9c95v zGHV#w3zJ@_%PGj${V?m~9ZB@@z+=J4T$X=QSG^LlGvytIwZpoYX-7*C=&pk*XAQn; zj0AM~I8GbHrFDnD`5drheOety3pBQ&<}mh9sft=egC0WU2f-}6PjVSRk= zr*CyN+H#8&N`NZgeQ->&j<`5&9M~;qXr(Y9Z*5L^io75S3ee-bAMox(3XsYAKhgIu zMd44sTl@<=Dhkg>T$a$$++6w(kkktj5WteB9;&oiNuz{!bxAt@2gnNBRlAy+n$Bin zU}EA2i2Uye$$O?)4SII;-#?wZ3{JJ0N1Snk&3a5KW^7}bR?l#&r|OE{g}LHW*m9O3 z_n}Mo9kKoO1?2yJo9ND^H-Mr4|MZi#U|q>po@dax{4_E@74LZk_yO(zt+G((1>N6wYt+eD!E2; zdvI{@;Gpz`^nio=sjlqgpsTAZSA5Uf2TU+HFE8)&^xv);+CDfrNo$aVhXa%?8rV2I z&wnBfu2L@mB2~@J%|CL9@Su@?TJOPZ6K4)B-Hpvj_PN60i6KhC5m?vX%J>fwN^W^Q zEJICPN!MF4d_GyDxHIftvH6gFaA)UR)Mr!#3D`9%3vUk~kn`0BMaoXj&aC)SUx=S0 zQ%pQoA8>(yAPc|C328*qn5nsu(SybvMsFYAv1bvp0HvP0kIn0faIsT>im}^`0szjo zpD}?us=m%?&uqlKSc7St?$KGb_Rw2(jeq}|e&eS16zYmyb?eb*1pEht(%cwwtC<*w zy?V%aYhy!ARTb^_&3YahV8T%-1i#?nOeAM#x4&oMBE&4Z4O2B+O@7sy)VXAAVSy|0 zJdR+}+onf5W!-ak2Xf-+Shv-%)%62a--|hHW`od4!)499d9G^DVm@MfYfD2}`EF4k zCa}5rq(o=Xk6@-$)J2;S50m-VwZ6MSC?7Y?64%f0^YTs&4cX4_`X=jI>g%UhR*qp$ zhf4(Uf_S$j5c+&1;M)F=g7-8HO{B~xVgDa(Zvhq8^ZbdDFUgR=0157p5IiurySoS1 z;5xWVl0gy(5FCQLyL)hVcX#(N*xn@H-~Qk3+4pweIq&s3%(>j@xqZ94s=B&9)m8h? zAfCc4Lw2Uv&!2XLP};gPy$~sMF#re6d%3x}d3os^*q^JYd|j>?ZuRj<)CD)6@yk@VzP@1Fb-{A3<}m@q?R7ErqoIN`mpK0aPeo<6<{$iq={Eb^n1b&Yp1h{t@th1Sa3)7yKJuxUrP zr3^gdFg!{W2~nax=k&U3BA=Hf({$I%q6i;(9|X!4i=|MJO>B)Fog7RIZT?(BKUkt7 zGcmK1F_QhcYouQElMAXE^!pKBfLKq@!;pC`j;vfRGv4h&0*gBDMLZob+OdRZ> z)`m_dWTuAJjwTRs3v1vOMEv(HQ4=Gmu?a-h#MTUGgM*QkgPorr75P8!>Xvx0_(DT< zdQsryt<89)+>dJ;!bsm`-$+)u$ZY5}C4miVuneo*0w!irR|j532dbEw&@-Lcr$S=0 zV#eWOFR^B?#jcX@tK$uc4Gh#wH}9F$yA1K3e^nA{PTA(=y-xPrTHtX7CEso?nAp8U zI7<5T>C@8E(rwf49XwF%6kh+{TmwZ`l5_xww(=(BhUFjoI zwTb~g^Ib*SryrTf{=CG`sEnOmDF3Ud^M*}}u$K7q2JC3UgFSk_{p;GS#}Ca67+Z~{ zji)PICMnM|{I0{r*;Dt{=s0!6P$XujigALG*naU+qWB2`FYNYlG%Zw+?03G4-CZDT zfn^ok2l~njedBNun^ZIV&Oq%!f69Tk{pJN%2$DDL^dZE*2dymGz1blo%}Zn@K(*MM!7m z7Zve2ZhZrQr>|dohmv^EiMgFNfq2CJ*Pi1mq0~>?@-M3`1d_DthN|hfi@d7b;l53g zXFc!k!JO&5%oQK1{69nR7T?Rr$Vk~UMPF4{pQ_I-FE5WR=xAzc0uI9Z>VSg-Wn}NS zYU5_Nv{;5DPM?K`ku)QTFumuIFy6Oa)9%r&pu&T}em zZjbAuMg7o=Np*c`f9C z6-y}ri@CA3HDTRTcSFjoOl{5S15mz_D5Uxnz5dbdSi9>~-q%&^`T$?qc;;y$RWkJr0olxLh1 zHeew8zk2lw7|N}!t&31$5fPfWWvyUw@^DE%k2pRr_{FXQ|BWcwOR%L;k~Df#W>%KT zJ^T_EqQ^==ulX(p21C66YUkj9jE=5OjU~%B9`?{(G*!Q@>zwk3v3?>3gpMdHD+5qe z973&0e@scGQ@GvZ!+lcHvKN-e^%g7|t{-Sqy^cl*)AMqSop3c5s! z>>=PzzI|Pw?DLCT&TPPqq>vVLj z-%(TdO!xKlaC&U?JZ(2vyWF1`>+1_rvq$2&ZNQ|Wtaw;PfoFVLz$Oi5DJOWin>*~w zNjYY%ARxL%6R7l@F4k=@9VCD!@j30h^cVV}TjxMgF;CNJy-<6a;=!O(D|l&ZYfI{N z@`OH%SMm_B?GGmdXTIh~MoK?)27Ua9KsmU%wWUWC6CEvf>%P?J9<{?^Gqtc zad9z$1DZ`jZOZ&akuq|W6lX4?xH!)n#Qc{o4R*fIPfSGhdh7e%I~y1PW>hfo(_}73 z@mQqYUtWb3J*tT5KiUQg%0@@a)GLDbI?mFJ1h`uGJu;&fFnW8?SdlI4J*;g4H>L`e z)xtetlN6Isa%|+MZw@Dwr7h%zB^|JRg`raPB{cFSD@z0~l?pc6e9AmHoANfs%FB`C zg*_FEuqq1n;n=XfCx*`Nn{=iKRvpuXc&T^Sv5lD>_Ban}jdwP0VLzC24I6ElLQZoxu+pNS_a6t=fJp605hudko(46x9& zzV9L#m=+6JE2?Po__zf?Z2^OASC_ahUM3nJFK-M)U;c1=Al~uU$ttjo7&R=-%{AX0 z%Zj3t19-{4R|*fXWWR-z*66&(4f0#}ee&|RCcpB;@oL$XbmJyDk^fH3Dy?MZk$DRb_`DO0o%y%`a3jeMQK@8MFo4AW68F2B7f;9S8}Hl z#a!Z+9Y;eJsc%-!2putF`BAFYyP23!x_8v zs2j4)T6Uh%NIv#dm`02|T6jt^(QPfY%2!ya#5fmIOy5&g^s{7*$_Ag39*K!JVyAtp z-cqxV*5qQug+a*#_o^=ZWp~7F;ACBkey2i@;Ss@)`!!^HIm}5{{eC%jW3{F{t4_<{ zvNnU&!eNjbxwv09It=4$$7H9!h2X0EW1=8s^v;m_#ApZ@1bRBc#NGtNcN3QoW6G0z z%p6Sc_gBpj*vh5D+1jf2lF*+6R--&Wy?UpUpHC>kW0em(nE>swZEbHd%|-?#6&(&H zaCF04x^>^s(OBKh@59qdHW#zfJKmb$wm|M2+V#zLA$#X2L^%bisi|VYI24qW%BE?W zL8e$x08tgZoNKi~o$RmNndkGovW79{F29$R9cVaimRT*!%ag(dIm>8kYfl$x3%Ot#t-pv;h%>Tcz+pJPq7d`i9 zfn8h`oG)T2yS08Twi}i{{`?X4AxPq_iaY7?idhP7H459_R>|}Mt*!MWI_&-~A!oSr zYe3*0xGl9MSjAvsl5Q3EfXMr)NJY1Id&K-(k?yg?^n&8#R-N!{n#VJynsaxPki;Jg zrQd_on7+~{-6j6AdrV!~NN{c&5{FzPv>p~2wxv25!z1Mx!PQk&y8$XC`YlV-(;Q`C zqtEekk}&jd2nr}YQ=&-0i%bDNYEXxrx)^Qv@ggga58i;AW!i~pl~3S$pb+wNtTpr9 zCph{sV;SQSm4yZ+U;*D78aoZ=O?0|RaCZ5wl}^(z{h6R9;$IW9*C+Tr@PNaA#bz?F@;~112_;HZsRcqE4c@UcehvRY9n0 zwDr^17?PtSi@dzVn3xyM!8~u}C5`X5uIp>3f6XoEJ(9Khzcew!ee^5%3Hfq)M^~Sv z>q+0eo8QoIJ5y$a)fxlNumIdR^K-H;bb-`D(+yftFZI1IC(GK%OgP}t%Z=_V6|uRI z9LrvgmwS`-uQcGM&G%RH(5A~Nz}X~^^qx`D{;Qt3iHX>$?`*k=kB?7f4V58Yrnj<= zR)oHWqLQYjin_L4MQP~{Wo$R$W1IM2b@nGG7uRkv4saU1*?t|gDa6g6X>@Q8j1fge zZffe!o?x1UsZ;wAWd}E+!Ar;l&i$F;Uq^4?8M!gxZ8CY6ItT+vGoO%EW1Oum%LNn z=`#|61nf|oe+U#d77NXY7@oBM^qXj0pxY1e7veB$Nk7}m4+^>~tZXbNxMy^;qAqP1 z?I#yxWL0#l{xUtht=b)^dr~I}mB_>=vS#?!WY;9iM^;Ej*E2K-p)bk2P9CCn4W6$tZZb?+#Vb(bD!!jn5dk$;kG3 z)Ya8(H#X7KDn(UPmvcM9Sv&d5GzM6Ac6aTa?bE)o``B~ae;(dusbgklF0ae`N(1D| zh@<06~$~oKtQCeZ9UJhTM8dtv^3H&zmk*n{rK?y z8VU3;r#y&O$}%87M;#B7ik`tDkxQYb(tAJj)H9<}7<#fdSpX=P_V)HbaJ2#I)s+)A zSc>xrujDdH>T`MA@EkW{;^2r^$l_(*OSfviB_KdJK0bb23x?#T00st3 zD*1tAK5YRoI|qk~Fc=KZ?7DC@y1hCau-h<3fn8t&R++jRcd0xYDHbq$G(9~%5)u-u7rSl_!^wODRel-J1|clwyj*=_#Z2$dW1lZ( z!VMW2jx1f|7rNxolHMGe2W#<>nF~}q;`_ITt`(U5lOatQSWKxRSr5(DKSgaG8&Pfc z>^~xC7M+Z)xj~Upv%+Oz=FC-!GV9v!Z`5RnknVF_+kJkO@6s$WQbY>EM&tu*OD3OGK?h}u4On7B_&8J<;{y5g@N7k##{H{n;nMqCq`&SQBVflR0x zu@tnHSa~t9(5PL`JjPOito>u(Hn25K<+NTRP$*3x9hK_35>>HJ;fUOe!gPlgF#88U38ihoy6$CjJN2r_E2Aw(n}` z1g7XW=jR9y{i+*FOBvm)qdI8RRPZXx%Ri9J3z0tQtOt_8sH>|3`VcEFHg=WWs<5Z0 z=UfV`-B8i>hqw{#@+V-Kwh?12pi zVnyy{Bju?e*Ry4(v|ZgSU$p{tdl8P|DBuo%#<7`G4l2>J`$}Ew4e6_HixZL1MXb8> zZY&B#4+EnuDu{QOa`eBSJ7FdQ?WWeUj`iQKId4%iD}74le?g&2cfjDlf8b7jIW=g) z;6@zQG|O;od*_dK!#e-XCy; zXk?%7u=sG=Zm?AnYs`1sTs&dTwcx}`wuw~X5sC6grYPrsi1FAB0W0U1S5!^%nF`~A zXaW@P`B^HU?@;Hu|EWH6TQVE=sBH*iFq2Q&a)9bu_AN9ADECqnt)SqV?`C~}iA)YM zv=gMvurt08Rm{))lKE&5+#s!|z07+{ue(5)o5yB8;ytEPql!mt)reVlcQ9K)7eKGq z_zT!mXQk8=aBy${hCM^Ohr64L^YdW=Gw~NRH_CQKZDjT?F4^jbvlSAtb54fe&nOSK z0mZiQ@!=M$CjLWRO-Q3mDDvQ8zX5 zHcc-_ySf4}QjU;?l5`tfyzeikov?6maM-V2s2&FLFA=Hr9OiwStL`n7_jE|nn%rva z>=^4(^9;tF=c7!i>rhikEg0zS&rnuWRZ|+?u0i#09oXxCLQ;KegDS0~R3W^eqN$^( zp+ga61wyJcWUPKm*Wu}8G+nzUWIs3*GQVaSx6T@(Lm5tEtA8tEIKp!^B{=*AsEb6= zWSw%J<~{H%#L`{eGtk9>8VuK?Gqf_%JG~}EgHh@J(`OZDc{M4>fea(q6y(VXHziE? zp;cSdx}7h$S3q)JisXr+{`GkyP@hiQW^`l4>VoFn zNSCFjnoIX`w{^e_2PIhIY2;};Sy;Cb!)!%G#dwH?i;GibRrTHxb3O`8Iq$+jRCFgx zMm5fnO;=aPd~Uis(7o6XSRyK-N}8Tn$jAg&L`G&bHTk4*_VSvQHa92lUUi(VgKA>a zE+o9sbZ^3-GYFIOL-NpeVEc-F17_N*nz>{b`%Fgj zS^-;K7IQ_<{X!)ReQh=A(32%zFYS!p$NjlNv*qKUK|p~FA7#|I-2HU%n4AKiX>p3S zP-vXRPSQKs3rKg@@8j{jxFr+-2X(HkcZV_!n@h^cO_Dm%K_F&F&wy!y%@sVuj~dO* zd`mUXn$VdZs~wjRi-pS~6TdJzI%-ez_U+GQ{T8>{1{EVZ8JVrQ8lgj7p}k8*zs! zwq6ENPxG6Nq)r?Hu_p?TLWddj4AKha1+jUh+^U!#7*wFV9ose6y)#KR7b*n zg}rzkMU<@Q==yA*J$qKg#)h?j=j9#manG3B?$^qC=&3g>Lmca$m)?WxVL8s zZxGT9d(ctLEzHfWbvgWTw4NF}0T@cyGvB48q$v0rJGoZGr~kDbd=d?`;Ux(RokS<% zEcL#<0=AQYc5Y%~!o(5&kw#i)G3vH2P_@3;c}7cRjEO3kfId7H61F5sxy;n-{{p5K6Jve# zWnaYEaAbK|z#)YZ8cHef5=t=e${80Y$dp@)r?72V}|NJ^V(;9qOM ziobZ)R;|9Yx0C!P6}#>zJ{P1|*2j2D1084JalXDf^%tOZTZ9c;Ib0AgYC9Qc-ZXoQ z2g929!Z5G<0<1EnEU}92{)F4PLm|0Ff$2MTYQ|zSn*KUR$M| zSL3^$WQDV{GYIj0)a9O~Rks#TZ2L{uy@FM1Mde zgrkl{LPu*Tw8b+C@z0%~8~-N&(|@(`zr>+bWRyL&@*I6I--X+siu2r{87k%}S5;N@ zZl3Y@{01L^a#B>~>M~hAgZYj~ui#X^*#r+rwItTr2^i=HdV7WbxKtn@#HBaC$IE;h z_ag=efEuEclH81Xt|O2-|7ljt-cZF>KYyALEB$OxDW1!6FjabVIDfnEJwdi!hBAB`lfhDV4A2JCMeT_J>dd3lD0h5-CURVB=zD=jbI z>~mkQN_($HhwZ>DpuxVsa*8Q$o1<)5?-h1G&lOMXWLM&?fj^!KS>9hJOovyF*E3RY zWO-k#2{g~y)=Ts|<@653s&`FaD<%Z3z_J6|S|-{5_E**nXcZL|)!p4a&Crla0vQc$ zXrK=;LDnSXZ^&Wa_?t{7vNs<^$s>vw+VyW8t!6z07%Gm(ySR;NEt4GLrTXA4z?Wj9 z<&wOLgfqIE0bLui1Z-J^iMr|aZG%U}aGXfoXjNv)X^>TO?OY-fzO zaP=?+XaA%qGcx(1{)|o+Z^4k5dV(AS{hJp3pI-fhk?~R<)iz8&?XUY8EY1`Eiw(xc z#wH8z9~j7-U0eHLTAiEQBWYEoJkneAjz)HPzyg<`tNc^~)If_716g!&dyLUNDntA+ z4`}&6xvP?_Z%+=SMDj^NZ7d&Zx!N+1)lQ7) z)bPOc*zC9();Bu_=EdJtN`3c#Ab#qV+XVDOBA+T=z|8<%!E~hz=Wlb%v)81c$^7Kd zDW6_91+VWY?n=0cy}Rc^Wfq+|z@9n1exnq{p6iXx=cu#&lD7*6(OrsoQD?I`@-sis zX6sy9=^#x_ra3OAkFTZ^zoB?u{|I%N;K(Q42J!;@E_eVV^sJv2o4*I3G;1Rxa+ZG6 zieo!MhI+5H_^F;m%6z2))M7zndCX`!?0fGfzKjcGILJ7C^iq^8DmP^LCvc(+Cl;l%?N#84s@{cJ4sQ&S5e;)+={6&I6T}+~7 zCFY;aEO0w7E6-m=Lz%l(xu4m`g!Hda{ND(d|7R>*Yp)@@sOa#>8ST$|BDkib{JqFd zx#eSi@%Q@whtHG4L;>H2y6t4owcD$WNChozZ502u+xv&VZTIeSxX6m`+eo*z&^zsn26{_r?p@ zC0A_CVmTFcX!J&dYgQH1O!KEF^l%GYvx*aNXm=709QWj0{Ve2E9ks zBt}mP8Ne=T`tFXc|11M|==_4&qqmfUQHqPjfp!7^dQb-jU-_p`uV()w7ep`!`aRU^ zk;I`f`VY2Ug+@!Ogg63M@G(@R0d}P=&$U>V`{K(ClX=zYw8Mv zcxMk;9m2t=EO-ic7iI#Fo#Q2q@Trio`nX_QeV;O);a<8(E^srmYuzkx)ckS(kP+`g z#Q_l2GkM~jk*S1VD|!o&`w!~dcHhQ-^-u)#WTy5N$HxW7pQkg_bW2(ny*LSJc^ML6 zoSbu7hb#ibJn`)-ZS-jIN)k))j&xu&C+rdrXs=7;`;;SeT=Qda1`3QX1V2F_vE@qO zQS)}RT=Oxm;>_rW&iNJ9Jc`>J)7@Cop~npY@&n$Dp#vnvz83{#dCe^==G%BM>fvu#E@N1UGtAh-IL@dKn=3d`R39G4M z-P;sYLf1pC!}SjiJYY-FX0`p8WBy5&3*P5)5IWE6slzleUR}J2U8q$2V>fmuaeCR* zUop!#x#*5Zw9JPFBdC&2%No;zo7r(F2~pK(7ml#S^uI;EEDCRZV%xksoxovUbiZ@2 zuJ`NwENq&oLf?8G-m=ksKBAhDr zYlE2PoT^mqZ`wTTHUInuAyQCTc`SlL#?*UxYao7odz&h@|M>d$FWdaB@_+LA@iuIJ zD%`aK>)GbxOvAZvZnFT|if@#+oJ;fp&#TvBs?wU}{$7z+a{lHDy;{irs!<0r#{I<+ z(s6kT-X)sHN&fNnW=wj+-8Y6yMq2|0Tbw0z+a%`yRivTIzIUn`cz3MaQ&W@Uql*ng z^9@^5M@v4e|CeG?6%$%Kd%TQ|18M7wca=CspS;O#1apkS}7-#&C)Nvgi5ldHwi92u~IH6C)=p>jl1`$NKvE z|MbO|_Zeh_jSj!t5Htmz@QLwx!x z|5>qmtO0vmd}|jKlzZF1<-|L`x!BNBej}+_pf>5za4pa}tcQu?bYttX-@s3x=H1GT@^~@4cVfZQ$INKoyN$KI^Y+NC|8=zs_yUuk z(!_5c#Y}zky6HXk^VP4O@qXQm{~l3BAAWgr8CfnI(ShhwSLN-12J@xjrVY#K5PNDp zkLmpO(CuMnP4(!Lh>dO&fMZf2e7U zoyhpB_|9_S(@XX3pA#(VdJ8hVXSrKis;1itb&p4a&;I(@eH>8b1y5~Jk<@Cuw!ph% zo4?4f|Dxz7Kryk;NdcDE=Y6R+$KBa5Za1E>($Rm8vNpD&W3-f3%Pfy4d$R1as`g6i zrXiWh0+B4<&(QAFO23b!1{Rx-lt71pkuH4a`pWR+*!R)p4$Orw^xH0gAU2l-joUm7K2iAIB+r$CM!tDnn1GPhvO#=L+v+~2pM zcVjoX5tHI1YoC@UXF>0Pfns2d)?Fa=-SQsp2K4miDfmD~TtS$22b7*g+x^|zhs9rj z!%l1&`f$HAGEI=xvdh4o&UY(3;|I8MjQ1P9?bhh1xZr1(=f1W5qK^+2zERcgW@r1^ z0cZWMp2IA+u2Te@FH0EAOnei7Xpy(Bs~Hi5HAff_)o>2+KlT7%PVMk?c1i}938Rzo zE4Fpqr-#K}0haRa;gZO8m3z5Fau^Hj)G$y_A)JNaF;S?it>o)c&5cNl_YZ79%r%ZdJ~O-QM-ydX@y({hiGB*XPALt_e4mGhdu{FOy^Gmku4(8J zgxdIv)aS=Pb|nM@Y*jY!5PBm$&r1xwCGIn$3tj7(WR%Vjkp)JL@W{qT1E;&u3zluj zVx#`p?3Jm209brOy~)Dd+}iCPZeiiBYbEm!1YCZH=Z5`?Xr8-bK%`>8+xuq6b{p5F zII$-*sQI$?L98?5U|tN^uBpotH7+w!TfH>Cr0!)NZFy|=wybx`I2ram@W|e}N>W&U zY<$;WaDaCo#x<>~uIaq}9H0{Tam(XUv!}j}@{j>zY#shzExJcmtbJuoN5WaDbN-Wl zA?uY%X%$@V7J&ndyq3c9tElW~7qP89&;&agvPTFP2gQbhuR_)N8Zm}3JPocX=^DP^ zxnQTbwtSsj9p2N9KTYTLnrt`tmb^e>ch|Rwr1K&ic}C8ucls0D2=~nAk?LxjODp;_ zV{P((XBk#-5c3-bu+I^HvP+to+C~y*zbKH-30G8e!~8$# zCIxdH^Mi}y&CQwEWe@J?<9EFej-&}oO>eBs;TM`$m>_)ShjDiVA-B!nQu*V+6aX|( zJ%|059RA;k>EG)BV_-^RVj{x#r5flm*45Ut-%nx#+*PnJIaB|xkkbG2+5t%Z-?b3_ z$3+Dh;8+wC7MA6a?3|qF2cnVxDpT&a_qR1|e<$zHPyfIB_`<@?K4fK7NGZh?5Re_m z&S1|qWP?oCtxh{?ZnM57Lz35LpN0XnCph?x!OHg2>#!>subbfcOj_R;(bBfTYyDzM zo9UUGym^WG8?3v1V$!|Mrh3HlpB3u_o8H;fk*W4IF~vaQqad#+V95^Qsto0QVm`ea zQDBE&EG6b&6a|=<@9;AtT50hM=w_$C%XH;Ss~Jh_FxSbUQK)$JwgWhvG9*$aTk!>} z0b?$9fw7`A=$gHN9zQAqHS4qVQ3=co(LEY0{Q`m31W0t&;1>0*D+Jq-ZYwD(LMnt; z*79dsfw4nhr-}3tn{v!~rbF`kp_1Z_>Du7gE8S;dqai=S!b_EkJxIoVypsaGd2vw^8ImRC7iHWRQwWc}P` z+0Rs6+GYW;*(H09JZUNPnWFD>CIX@2B6YROy?o{3&AbZr0SU>Obld)Y?s+oVxym3|Ij!GG2CcE*(g-5B3`RXk;LgW~$YI;S; zxWnf(%PMSnflNJ9##}QjX5bGwCO8TcoW+2P|9SJxu8x>;q)Km8s&Sthb4P3@0^KCO z|7Qx3RtlB1hzS2IhWN~gi)po5;~*L?*X?N8c*MdU%|yYkQb`0+VCh~BAngy3CNI2w zB^IKeUr-<+F1|qw^8E^#e7jr}x6*-Bzu7;z&2zQb%e6CIPGfOc{VdG^=;Ek7I$=+) zR~_6d5Y@P6Hz;u>Zh@pHwwFRB_bCC{VR0me1ulYyn;~#=JVx^K&CLxu3Gd3LP$J70 zN00@?eu%84=6xXzMJGcd3w8QmQpjY8zq5*p%M^_rh?agq01ztq`(9C2L<9@QlUE&Z zYW!c%g(*(k3;^7RetLhp1bE00eg_wf(@Zgo;D0~f-L~nL9@O6xiSW;bv%Jurt~PA*s*z_uIyqQALT3OQ|W%I@E{eDhD? z*&6+C?lVA+p6K6*pi%t?RaBvfh5}Zd$ChO*l9#HSrm}y@UI)^UnVPaquY4;Zg|44( z8o8B9i`pBmCEZlFGdF9c%E^VC*~9joX!l$EL_Y?Up>N*Lk!>@5W>72^Dr*uYtCS_$ z8}6#;;M}WJYD`^Y90a+URRoBgq0Uj}(*c>Blr&f4J`KfLC_K7{2LXZZb=%6!j79== zQ&UqpJtnrK-UWy#T9ZxM;(Vh2Jkv@ec2|py_I+NujBME_a0>^v23vk{h)~l2nJ&3= z?}okz1AY)+A!WUBv8wb)+;8C~4agOQQZR@=MU#{QF=aUS?He%QQ#18tY+~Xq12}?Z zZXxJ}t&r@{TI`IVc#*U<8M$`zdS~VPEgt6(Pw;70?b8~s-dI_vaDk5zpv8q{;1oZxfRZwa=gSM~;4{9RUaGn`~i;+c#OG829 zm#>Y}h`?4X+Pr_s{7bTyiZsYZ#Y(z2 zKv^hDIA?0##sRf7hMEFQ%fTh>@k^O4ffeb!g=FXi2EZ&%4w)>b$`B(&e4xjMy;%BZ z6=|vzk-84sG5^d8{fLNiaGO?<-XOlD3wK38Pp zX59kuEZX-@UuoFCuU=>WQy~5yN&1IVE- zIw0Gmev3D0N}Om$j$9CgsxCxZ{tJYPl1nb%K{z*&EH+Y@VvgH9Qh4+2WqIXhreZIf z7(=#zZwx){!>?13R60v83L!542o-rL9eFu>f?EQbei~)2P6n=FiPS_46^ElCx>@4B z&mJ60n5j{bQ4x1<)!!rgv_w*GYRD`1Ngb6K#XA7vgeEdR9$#AhGa?qk$B8eW#Fh*d z&)Au`HUSV5gdms#oO!EgOPZK(^m;h!Twd0nRUk!}2ueyKX1ZPT5`}E0`5hhEnh1C! zC~_DX8PQ^cfUrV9oQ@q8O--745VI(r6OaS^Y8(lns@#5ETo2D!vd*}mpg`u&b3*=U zOWo)feFa1Xb}3|}?tc-W52&smZ4Vf!=b4oNl_@ppbNk8}Vb5>M?=_>>5>(f5-K@>_UZ=Ta&>6J?7#~3QJF@TVwoW5XFBgO%Sqw ze}XUx%oT!QmO(rN(sx4Mc1M1PQYuX702h-G5~&W*6n;sOX$rIXX8(+!XBIE9lyK4(i>4z}anOv@Bsyq8MHoToKFPxr2ArCYb^r%1P zD3iIKJu}oxc-x5k6P`ALYFz1jae3*t-0T5|cZs_^%r81Qy~XEvyVf{3JvwIX3HQ$& z8N^u78TXP9?mbjZ2$|R}$T>c0@vcY??P+)kqh^Yc{^j*Wn{a18e!hO0-g^ToJzw)8 z)fB7#(>I(`oN3HUO3I}Ycs+MImC%)^QTpfVo|B@l?#SGFPaYDit3{KWv5sE%ZY%xZ zx5quw4|+)y^G$Z)?#`P1i_gmsYj0UcF&?90DE;7C)%;w~YFrx#q}(6~&Q;YhU*Z0w z{Nm;F)10eXqjnadnEM4+;Z$cshh$x!QL{bI&zVIk=;jMD*y@bhO>b)(J-sNf-|ORM zhgzNnN>VMa7^(J_y^bMdtFHB+%5f1=s$R-45mU>PXVv#NT8s{BE?iuFFo3WwB zyTv+P4Pr@2zS8kz6`M0j`Spv)7_SbC;5?|?#Ys*vA_0LEIsuSSXE(v(pWGK*wqzMb zD@3)A=6hoeObf&AyW?4~_b*1PpWgBjX ze~+LXISltkyUVdWh*P;gRoWU_8IfE<{qVWkrmV~gFQw7Irp$?uJou+~nJ5Hs;JkI= zv^3}3ie)wKc;?uw-d}_i`Zl0$zKqIT&1L9o<0yo_bym=5zbsHde7~rMQ=j@cw-(R; z1PLx_Pi{*uF$uTw*DER< z%y%?i?z3lC-+qXU0Tpcc33AYV@X$Cvx=$uvSe@%R8NR2@Q9V^YF;LpOCKRK4km=-vO7ddn^Ge0P=G9F6^;vgD$x9_9=iu9Gon{CbMTdGe(9;hjl(5Ie`w~Gov9$f*Da{V>_}!VXxEE9vhsZH z87(b`Gwj;(cuu2oUhETByoS5?N4uuBren-Z?+MiV(O|a_z8|}u7}#B;){T6LsF&`f zpRInx&ANwor%yN@ir9?Kvw}l7Jj=V%#{#ZmP%_o z??rZY-SB0on&oMEQu$yCo*zS+Ox2C#AHZ!h~KaXze@n*7SKVc&`t%l zHB^+DA8V&Na-Pm1jQuL5WNotUc6!N*i?nnGlDqD~)E$J}g;XJH2{Z{fe_Jd|XsV0B z_ zfsLY0R2adKkUAwOzc2*bo&o)1pO&@+NE1xzb2oW@F=Kk1T6nO3Y2%$D?b!HjAuO5G zxyF9wc4mA$CyWY-_azz(O=1X}uZJtiv*PG*-*c9#WNY!}?p`G`<`<$xgS>os8<~Rp za;6}jvA+IA_5N%)pBBMTO##17|ChJUX$_Avu&q69Qvw1}JnNzvF?a-2>RzM2fU0{9 zBW&5+{dyw;R`*rid@67$2KKNu!I*2vi9or-d(m*vF)bgpg`~VeE;#Efit|V^q80y2u-MTA6Fu_8uiQMjJ>S zwYzRNef_lE!5ML0n8wc%;5sv8Oau0THv3Ys%$=`n){rjg*;g_<%*I|N|8eXXL;bE?a0y>nlM1q!MBW+YD8P}3k&?uKo!819S5E5J2t*qh95 z*S=DW=!`gc-BYs`Ak@70BEG#SiV;uum&Z;kKBCQ#s3q)v=*MXu3;!DWEm9UbD&PEW zZ%cYWT!vCR*}i2774()l^kw9mVb5sTZ1-m=-5p|nwPl@XIaw2Atw77Gz>}7>x(bgC zM-eeS<$>yPiY92#n)Sf9>YOc~Uo$Uvr2yg}n9^n^#8-@ox7?4@r#U7(HmB|D_td#r zy}eKdyu6pExVR!}?c+~z1@DWB96?nV-|m#pawv0h#BVDiTs5>c?~b>OmY7FJ=Aq5b zCeS4kjM$T3bZlS@%;b?T_u=85?JSU*Q1FIXKsS}1*XdpFrx61dOs4j^=8DLBie@x| zhIN)(&xV4a-~v5Wk0r=%?d_Nnk0>iHrRcc#nkHp0Mq&+n>&p#w1AvRWIB66-Z z@!NAuBXT~v<;2g*!tU-C;yT}ps{;h_uuAQN=fBPmcij@Mc^%3Q4hS15i;Ks!r3O^> z7hUZxhypqy@{JAIx@*00W06xrQr4teSPm&w@EC88;falAZu~5z8T#;{PcgAd6gez~ z2jxz8&`nkj9LvQr?4@q44Luj~L>(qp7YGGo;o=Gu6xKEh?1*(Mu3rYbA~j25fDj>* zVXXHGFkDcTGl!N|oyX1L^D}F_ls*?ncBZlMs;izJ8frQ^dOEsZE|Rny`j?<*=Gr_q z!?fW#>Fy*sj{RR}%jjcesT)!cN4Eq%CAGtUTtKou9OtY{qV~}_{+ojWusolBz z8sfK;(tXysyrPV{1adxjtEoq)%+)n{?`fZI_CqL}i-|zas9`av6U$Ve2{^!eI|%A{pXs~rP-@I%QVsdz z;3b9Fp}-HgbpQcKj)Uh&01q>TjEvtyKdvrsN5PMscre})a#B9}MY3r``*tM6IV-%5 z?G>m1V$wqNAnzwc9{IB|u#;4R3Te5SmZlia$T~TDMtQ9Ik84uBRNqZ;eOuNGjg9u| z(N_4{+S#0XNYUY<0t2tdpcZ9*R+d?9$He5k@8hc9c&sDJ`A`#K5(XydvRaJDb9QQZ zS<7)|TrHN(bAujpvecn&mOCjWi1GQK1rcoR<(N`a#n$L?UtN{QYnD*=3Igtmz64)S zV&SScdQF~OnEL%>9^JiaSaJz?3+lJ_UTK2d7?~k5v7FDkJAU|udJGQ=UCmBVCk6ZH zBEyy%pwa5razjpy6eQ=G(-X484MBI~K8=J(+iYNtu2;C_eR|%O7VjXw%C~#Y5@t{n zLt3-=+-ipX__!IKTXE4Y6TMo8TMr@NeA}p@qRKdgt)|Q~ zJxoFW(lPRi<5?+5k24}Zy-^?!Drw98-RYib1O-$6bAKT@dK(*JAT)FAz5@S5%<>E& zhC4;g&FmuBfvSW&v56 zUNY6UFt8ruXVXqj(&gY1@e}ffjm&pKK;k*tOBj*q+f5=V4NEPJ5%}%9!o!SJ9<^6P z%7qP+oQ!vHlhgH_ODMq{PrYN%*=)aPmD3C+m81GGF%mjeN|VF=Rh1{-y2yvNRHdH} zEFrpxh=b8-w%S0QC1#}%xlj%P`Aw1~>b=naM%jCYHQ8-lqev5D=s}2rbO?x`p?5;> zgiu7J2-2lXQ9$Wcqy~`Qdl3;tKtK?rNl`(iE1e*q()+i9?q~1)e&;>sI=}P^DR-G` z&N0UrbKL|honyvaxOxEz9xfr*^u+kAg8O&VWvkJfw%nnVeYZJV%yir`A{~si&g=Uv``e>n_QFbDR#n5s*gD*jNodcB2~FA}9gq=C;}86$awq29 z>ZDUn7yO>8g{$xS?oU*&GabPj)>iAhvBm}ay}|G%hrIm6vt92V4{#fi{C@jwuKNHy z0ln{wi!5I$qSdp$F|b*4m@Siz6m+W)Q*9jq%Sv z@rxnJR>sE0I&%Z69Jbr-JfTk04lJRbC)cqBfVvEktuTVNZy=Q983R?A_(k}xsoRt>z#^`|2i zPRRV)%Y4RW8<_XT8=aecwivGyj=fs_!Eh;h4B`Ixe!!N-qf6a`o8R?PcP z0`;;3v9{(ew=I+7Gn>0Yn&jF$7TVK)%{=}wLOx7x^;-U}u>>>M+IJ^k2kUeRv59tH zvKMcj9+od(ir(CmIu_k89q6LoxI#cZM^9ScY4T&megL{NG%`dPBXv@=tmW~}&5J=u z{POoTyG!?1;F8cZmFS|7b1#|ZE8)@_cE4?lzc8m@UO}4>2E@rT; zT8r14pVhSItz4|CH>u;Y_PE+2^@ggtrJI^FO!FuvAMCU|e|6aNcu`p3%G%cN_S+dF zT)y#lavo>$_|6nCCEtHGJ0IMy@j|evLZ$LSah}-p6j#@9MPJ}+%G4i+8ci~pvzjp_ zeTonB(tMlNxt$h|tX}S~Ij^oq&m>ia-@7;P^{$?w__4WRWj*^ zJNIk@xwlT1mvQMN>zjf@w=PPG7&~rxH?cC3HhaSc{f=C5!=;ISrE3!>QWo>f4`vF; zy7Vkp)hIiRxq8nBr?=-}lqPuuueXOzKF``{OQ!4(CrW84Ef`N?uCg|YIDQFKZ;=o7 z+?Mj0s`cd0n0Djl1ipsae$0=o3ctj0Tzs2gCFD>f?k0_Et;;v1rzHyaZe>=zpd?9n zHo@qjI)_e-zp&UL(W5iYt~&fB@)k!EMl_-9n=^}EcB>@LF0A{xUA^pLhcx@y*4~zQ zy|xZAt9Z9nh51#E57RNb*GleMGv5<(%1$9#-{4xQT)vZNDw0fir2^^&g!zYlA3ni$`s9H}gJ|A%ZAkEM}#{DsyLpXL0^8&1@0 zU757Y=d=r^l9MCBt%|yL|L}S|kx6vQd9XPzd4%)wBj$OFn#~h|-bRw1v55m3Oik#@yCHbA{{TrX;>lnIq zCb~b8RiboWrTB{ZS$6cupSCV#Y(ycgw=bu<@;jsy|D-3g;B+Z_Myhs_8CjHX>xy$2;Ll#Y`Gm=qjpJ** z-uQ2iUro4;vs<+lF&VE9e(*e~=9Tbvrt#gz?M45dI+%JPD5gPW}V_0y-yQv-qlUdVZkBC7kugO zZX^x-%0*tgKHcD3{FIZ5fMuH8iWvS>tWhj-lw0Reu-4mcjBoOizjdQey6I%4sQPAP z-SbTE?(NEtd>%-5ch7OeYKMJ(oxf`U`R5mJ8|xR6!6UF#m0B)!6A-8>Or3xyAj$FG zbq3rnL20)){vZ24WNthPu)V)00o^Ni5tvhQFvGhUC;|fV2QGjTW+4xC2LDvkfJOuD zf_ohZ1w=0d|K{7AM&QA7ICAj)0k}6vT>>-@o-+OywG5bNUJ?~RQ#V`S>13wUZwBhs zKU6dRbLzTv*LJ_P1&U8qdKpQ9z?^9k~^rMK>d~K$rdf@9D4ON%Ll4 za0tN30bff}kaZqG&Q!8FSL2~`9(aSC0R9|#%3l5<(;r_VwI0=i0ZM(TlOp&>DNJ(a zmyO|-Z>n!spC zOPRq2XGrcXdEVV%%sPET$md>CB=2tDesRJxhdgG30~GZgGSg=c7n?9`H((zqO=qu~ zn({nS+^=_Tzin%~2=)y+JUsM!_%Jac;rRKZF)+I1am2It^E=U1(}zdKUTSrta zetYs7Hy%HJ47OG-Uk|?~D=T~LTJ`>;hndRl4mazNzAAVyFRi-IZ zmqM1JlG~oVs{*@2E~j+@wcx`?x?f?OQ!l}nF;}ujLXLBkm6abIA2#eiBFoRupKkRx ze<<5=C2==6uUn@?{~l4QUa|Ib6%H`BJ>$|Pn{;SREg(NrsComEQ+_3nxpAS2S@sdf zqrUQWTOj#V1$Qgn@My+GtZR=vLU-ucgZ&Y~=|+eOUp1wcWt(x~G^I9>UvUC4mGI;1 z^I7Ifi@4pS4J`q^D=e@ItyT8f`t%}$U*4A`4oF0@le#`RfB3hY2f0EoPVwC=X z@Co<;>!;uE?KNFHHdwQgAYmxuA5|$N7vu$rQE>dODhV zt^GXx8QoumK`|_5hT(3o&JSmlVDukQ@hE-b^dc9bhwD{E>laK79#r`9Em^}dg(tugOIF#=Mvnj_=FYTf>#{Dq@nZs&6+~LR9B$ZFEl+er4ufFOGi<=YtIw5orCE1 znLSe>$%bKveIGrVV&)E!kAZhOd`Fj73Bdy`t-~j%)W+*1{24DqC7603W$;IY&DG7w zeac6rzJ}dvdgG}_9eO{;ahlY${yc+Hr#Seg$gz1aTTO*P_vD{g@+F|6-m+k!<{}!I z9=d4kr8Bv(!tlD5q8upF!Oe}j!2+5a*R6GW&bA9g9|d2@m-i`dWe%Tvzx=6~8sS6* z9!blr0v=pjHc}=VGc1|dvpf5W1=?-%;#kb`zD%~tYdx}1{i_(Lcc1~AWXtRMj*bx7 znDg=|2yaSX<-H|qzkv7ZNQ6Q@#EysSydr6km?&zwoT}u*2VI9^hD(377^so> z&;&>GUU&?)pF9@hN0ci^)xf-UpIoNy*(FF#vKq>%?l@D*#>S@<93)Qz>6K6{)rX9F zfCrY+h=Ra*MRnv^(-_ z$=pAm>a@7qPP0-FHGEx$MCoSu`LJyk3)lMbLU%?g_3{_*N^D-J8Jy$wQORi+%(e=6 zpH}7ViF}HdKSxg3X&s;`e~wd#43>iY5JIDFCubLTwj0gu_+5$4y=8dSOENPCTyAyZ zQbCB*EpX{xU6flJ>clDMql8(|=me&^K*-tUPd~PNy7e&^)FrBkC;gQQUP0r|%_`G#Ko3QCRF01YP zcZ=Ra^lEqw7O2ktjPxOAR1b0)?@MHEce$ZHQGI-b2wQX)FSA9XySbFEPms(9b*qIE z4*&Y)2HreZ4AU1$pUlZZtq@sR+363mbXrw^5O9PmizYow6>E?w_aItmdS{qbXoshK@BO@lrDO4{e$ZJZkE zVYz=!19kPR6?rd9KJ-xnYV=&kH{9oj-L_8KfM`_Z%X8L06QOCX8Vq!)pGSG{u`_-C z3O@BDUE^h|^nWT;ZJo!D2$Z|Vd1U!qHB&&BNutv5{BrQpmd|j2W#>pY@r~z=Cj5F` z(J)x2E4{vT#GxD5^r)ol4obK1?#DpS?rK9l6VmSPp%R*lQ9Xq5fxEL}1Ba$)cjcrZ zO>J$q8zmUJ-b0iQo3gHVKP$H`ALJLMTccRETWR);y*~+mCyv+PwSscWmjiq%mDw~3F=SYe zNQs@qF!t?oD*o)j1CWk#<@N_UTseR1i#F!ORo|@1XDsp)!#t>ZX!0Qktd1x@L`h`i zxiSbp8@MLX&?o!irw7k6poQM&CFV`+LFe8ONmmkKg7eY&1ma`=rGAtyT7+n1x;&)6Biqy(H7nTJctH$hmuf_^dK4vPshBUm+(oRA&5bnlb!`@RXEZl-BwpMJ4xUH^pJAXr10#1A+OHw$PFD8dlyUHU=Ab&0#lFkE)Sa(ZLZwv&D8a+)2 z*Goo3`pxBYMbsg^IV)aVa86PAd3qSEB$b*6926A)dwW(?y*as&{gc%&@#Wf|PzvPqnkusGu3iLu(37K${e7x`9+hsd1Om z>l7rCVc$RTu~h!Rl7No*{!yC4@d9>RvZFAdMo%c>6^uk&|4YD+%%FrHCGKqzFtC!5 zLb$LXB$b*vsr<-U94K-i7tM=}-HX>!A=T(VCX|juDf5&S*d!pL6fkt?9(IgLuVRvx z5pD8js)Swwj5w4d80-1!_7ZIZKhIXt0J$8Za^PaV6}o$vo}O`*UEni585~IB*8|s~ zE!BlKar!tO!~;_YkXKwwnr~fD$vnq^Wt!KKL!iA*Z=2iz8eIViT!{T97NbkrKb<;^ z=$#Hje?DD{NISIAfYqGM&`^hydO1Gp5DL?7s;(Sfc!38g^o-stPy5;~Ekzh_`$$(u zFa;*~u+!$6zVVxTstXd}NPrv)j%DinNfnirP@prGqq0~@iO+t%{DmVqkY!&4La9t& zku{5bT-5pn#TJJpjBXK)c4r^v*FgoUUyh$ifL??p|2H<#TV-IuqLi=l^RtOYv%)ar z`JO%OoYKMg{AZoFuZ<&K0FNgk)2}ql?|ofotzT~7&sgfsmH4a6t<5X0-{uGenV(GT z{bDLesWJ8kRany--gqYSsRZ1PzM~v!-d)@^&IK0LM*xRkG?3G{ev?H%JSJz;fNXea z2~npP{p1O2e1J!ES;6VuqI;}_GkDh1qgH^>aHAhtqK=4Q$Lx_uB-S==3HPY zZeF`MSnjGD)5=FzV)Y8crO;h76wju74t|B0Um6XX=Pgx(1?4T=$_)CqHQ%2PY zgVbAd6UUGplsBPD78=qv>73#tLm5H{H>fnER^}NgjG8vCyzr6X(glLeo&1fWUPW4U zL@p`^R5dk3ZU|}M42CNW4@}6&e-psVV73n)+;lA99W2#WhN#ozR)rLZbbG!wy2@B~ zCijCK3p(eA8Kj%J_{)keEd_~ECb_zo#?a9XMR563ugNH0;{j_NLHBV7JtFq4)V|VC zVQs*w`m+fh%1%NtAX2beJyP*C4yQ{c0X1|61JFmG%_;hDXJ>`EdlykLmG*hI8M#A1 zNd&ca1Susd8ZLKQH2)|3z_{R~>7C&J#vXy*@?(^pKTY^mwxA#<6@V-L?I~d?2}WOB zMrJK`HpnO?sMqGjrC~w4hxoFAgBLu7itLA8eM>gn-Ax9fB_@VVg%)Xq^Pt}3AcY$s zU?n28AjNG#F;AX@_1BXFiX9O~2@h@lRE#mo(kxWj2b}|!t(K>TD#DTI{v>s)61`sc z2F)#~!!u1E(k~v(0z3NquAxI(iI+5SR1#AH ztUIm5ff=Rixs@`fdwi0)gfSt1qK>Rta8&WWgA$^i7fR1^^mc8MIruOz1b zRTK5RCO?QV>br>b=|u^XNO5IMbSjHuP;$b;u&6Jqnn=id0a!T5A~v9vhQ{TJLFLuX z@nl2g;X*=g=@NQ`xc~=f}m;aw|h@A2{hy}KtwCr~^=o~ie3+MFLjqvFW4*Db+z4ZW9NRT{5KSFfo6|M__ z5U}$p03m2R28oG{Wsfe?=lx${NC_h5B8x)veL{-3TpEZ{u&O+3n8pr(w`kDdMrh+co7fhvUz5|@VI7%datBd;W#-7wnraYp+A>Q)Ud0vOOGUy&H?k1JE zS(&F00IUzJPvhW!Lm5}8>y(j3sg<%Z3V2vZ2O$AK15+9Tv*w{K@KFZ6Hfc8lELn`j zpdd`<97GL)SfMJ!@K}Aa7fIJoKLI#nLU7)}g`rh&C1I!%WoRq{W`X-gH% zVedUw#m64SE!t!w?)1W#Uw^WyD#OI8SLxyghuBX}nY+=LGL58)TH~u_*A0EG{beOw z$~1*?Luf7%;~@c_-=IQ(%zTa$I}|X)LK&A^=98R~Qo2#NxA&kdQFnkbFhTK6`I$Ka z!-}deaDy|sp!@c9d-f&&9StvcUQRo^8!_+S9?v}hmPjI>G=yGQ4{~}eA)MsQ;%$p< z^(^70&MyJW!Cqd zohcfuh8yRY6aFW%5b-7bv|I~1O%uppGQ+`^TK}WqZd$?Dfd7IJkY)r|@RLUteb)$u zkx2Pf7$A04KRdp#9ReNw%Um8bX9 z^#>G-2J3rg9VXu&-fQA(3^dyx&{inu=j_YA68oW*QLPyb{Z1WJ>^lb zC&kc^G=d+5I`Sh~JaUEd-oF?lNqN%$T%TEMh&oPj^|$&=92w(jw*SLZ1il?d;gh{H zJz5^c)EI;Z3Wd6R%kAxi!f%-~o-)Ogio=OFoB=>kKZ8I7qTihd?WQG+B&nO9EwJV^ zMDFO7lb2B~HMWi16!f=sk6m%$jKzn}9kfx*ir zd?;ZaQKjKy-21f5Or;#3=F0|-Ij@W*W@Fh6b#!#t!^ML@{FA{DO*VQryDMY|z!4dE zf_mY#5@%6a1gZzfu9TagJ@GuRbG-~xie{3C zGK;&^3?6Q({-;R;^d}xWW0W{12y?+o)Y8`Gr@m2=sU41?;~^p`9MMI|be0%bDv!v2 zS@A6RhUWWdHaaaG>;<}6q5=$0neDYqZT9~QFsKsphh6DL@s`RXI2?-@)(F=_^t0|V zf8m;srIpt;B?^@f^l20Mze$VX+?yilh4Rl#_`@9~kVXze7w|yGL8CCIsHmvK!QwAw zP>1|O+3A_SXNA$Y>w&<|1C+(aEkIe=N8%}qJkTv&11HU5yUs5rg^D5WWCOYVi=f@M z4OO%%Pf4}p8yMDvbL0&hg7-5WU@hc9;Z}g620|=f<&m zf%1zdy|Hob>?|+_K%sz^GnEF9Ol~6)8wJ`@30AI?38-JGWvj!62|ZRNNL}2-Ge9_5 zYkX8IYd}`eZgg4nDQXnb7;veNL^d+F?{Y-v`zy4c~<^VP-aNGS@@Mu6b3i}-{O}< z%LMm%m_tcj1EQZs`!#TI66H?yf4ISl{$T>M`V`-0oPIQq#sd_Xm|T%@C0nVwm>kzK z+$8suPcIn!K>+7~7vLMg0uAtEC|wmQmi#woki&xakPdU#wJJ40isr`0uvqz>`nCrR zWT3?Fx{{J`GP>?dcyh&c^F#i%rqSj7WmG{#0GZ*@|54??s;zjr@sn?2`sL&@S1san zNlkb5eK|zmhz9eEt;t<$E7tIB&Zjz@TF%tKjIh_p~VB9 zC`6BQ@a4?<)7FLxf|XoS15|rZ>2mirc?*ovhh{s{mKfsKWr8Ae7bZ9bGe`u!2tl)b zVlRc{O^}gsI{zgV?CrnZXCzh!Vn^yGv})PsMoJ_FC8gfk^TtR*gYuCQODQM#soa6f z)Gj`9GpS~>LIS?}x>QOZ>l9Cjyu3ivcm9$RR2gzkr^FUDcb})kQRIr2T+V5=2Bauo z0KOBUU^-Pe;^V1-!okF(WT_9Yc>kHXD>tiyB_9$>xK(zeR9`--277K{V-GZyP`%el z-8kVBPifzOan8p3|;(HDzh~HBqFf{$ zaSHM^hi#CEypR0&u5nQVyT0lnK?b`I;~`feWsewXNBKR=X{R;z$Mb%5btarMY4V6( z3w5s*sU`tH?`>vciT+^}`jvG5lzS>b7J+KdV1=C^^PI_br5C698`hfnAF8?do@ zGR^9tK`X+-rQ&rabZOWGhGJEKnp8`a@kdw!*(gul5Z{(FlsDJ3GG~e!{GksB{})}O zPz*fi8Dxxxn0!pI4$k>q5QTt`gPI2Y-1Gl*h%0 zsd=pZ2lX-nX&?~ItC-q)e&Bnlp5AIecf5?JsB2W(g+7Y+qgH2Gut8#xh_rj>* zewI@~#_P)5T68nKAg5#`5WoB!;Li2q-JJQKIZxsy@S&2J)pla8?nBBBG899+NR{o- zK0#`M?KL*IW2gprIiXFY7Tn6(Y`|!J#{c0W;H;>5mf=wQIA2m80q#}~1dfM4_>*F3 z6m|M1MLhpHETrp7<9JvcY0L~TJJ=8wi(v(SDrHRtl<&%peO{0}o9ij{fro+@#9lLn zSdx>wOwjC2_%l-DMm>L+Qx9A77MToff zl=Oz~!ctI`A_qovK}0f!BRkQ!JO5POfda!zhXoy;DjezREd!T($X!!Q>?|$u&H4Y2 zvil+uyClHJhc@WKGuagI&kp!J48Q29s0IiLB$a;#mAZMT9AMOVX~2$r-O_dXp%-7B z^`W^Q)figLU{I=Ga*;?$p!>?Rd+~~ve7sPf*_0F;^t0?xH7C= ztWX+-4Gj8-D`CmD#8ZJ~#4B4qO_SSQ)OeQ7doU;S4DvTYseTj=u37wv3~NcyyHt=& zhLsm9yQz7OBq8AOcZhqOdKneuTsjY+2qjtZZF(ujpQ;RvKnr|5?Kc5pkX1Q7_Kt>g zQ4&I6+d2KEq`vt$Je^BE1_(mXs+Pj?@in)F=)Y@j=l#zioNtR8pDG|Y=87s5u!D=G zpX_mmhUX|ejq^rW;Tf~1r~FH-w>XX+^>3x1U>_-0GBlnZlu%wks86LXHvIe?i8b2G zoeTDsM9I|n-wD?#t@ZHgsXzc|UHl5An?wI;mGP=GCuc$XRjMdqp$^Y0p9??oQ-R`C zEA&4rt#B3;w^5-46Uj$ibNtMuv}bm=hDh*Liz+E#a-XL{G447EZ4scY3XVoTHUCQ_ z0{)Yf6<)9=eINr@%=v0X75K67-xXEp7FQJZDqzqTdaJeHGj}%Jou^9%xU)V*a>L8&J)#Ago0L3RBWIALp-I?C7u@#E#c8sN!M4K%2HRUgTV>ajaBTiiveus3oRr2vm2z>i$?eSW1rTfrku)Gj>3wVD7_SM6Fxwz%6E$L@5d8 z_%|wxog3iAtq{WL>o=%^OvoLF^Eb8=QEp$;07bMf!fTqBgQp!#Z}-gQZ;--CWF!Py zGr>o@kRN~^i@S{i?VUs2MT6+#tNEDH-C5PDX8F;GzTlIkTD)*6_t1f1JWxmwz}L({z|e;Z@2+=wYv7Vwe7$CSHn+l`?rQqlKQQm zO#uNlP((kOhy6(+wf9sKNdf?A>f7ZT&VH(70q<%22Ncc$EOd`Qi4ud#y*j2|Gu zTTp%h+jkt2?{<_qB#Eq&Ph3)J6QKN(@Uiywr}PY^S#4{6qSDFAha8^;U%i&{bKiyP z+iMCR==Ub2{)SrKH5$xe@a$#CPd1fFcd37hTGPLjmT`+e(^RH@N;>#LLYwSz{P9&d zG-M>Lj+1YB<3(|nk`xX8yDD^ygS5rK5BOBd+(fWmKDPolF_V!#bfg@^fLAfk^`Bk0 zMd=TI>w7Fv+=Y2ov7XT^!%tgjv;AoHUcKK|cx&mv$r(XS(nZ@v@7L?w!SrS?XIHcR z*5K2diY>$bjgzB=FBH6GTGqF2tUs7c8a%ceZ@A&d1Vbh``{C5I_-9XasBv~>?cXLorOt%uaQsm=FKEAI|&)@Ap00@x9mb;0#jBhTP7YpnAY0q9r8LZj*XG>={~8Cv(K9yk6HJd?V>dE7_HLrTlZ!% zr;{&=+`izW)4U?`@Z;zDDWL~K>yZl)%U?GeYN7t%3jl2 zL+MzIMyu=8Xa1w?Cp50Ck2PtfemSaxc+AGW&PZspsTB7Z2jiiQmR~rTCH4}FkCbA`?&7|E z)pKcH_M7t>k>!cnP*f<2e78=YKK8DYx_0+GTyuYX-D%46mqC-c|5kic_RkZJ zJ*ShhV*0M4to`-uc$Kk7d!iBs3-Th6EjOfC<7`Uj-VJTp7gr1%Lk2T-w6!llLhn9n z-rh{)-agqARuQoSow1(_67Regh|o1j?&EZ_jp? z*z(^WToZlxBXUs2?t7xw;THY8P6tA1KXNz=WaUb<5o~!eLeR!{dmn>Btv6=+-szs z!u)5;#!Igc2O`Y}D;F5*_L9$ToBhtct?*!QThz4mJDNP>p1L2--g49K?6I}fZ+bf}W&cKq!Pczs;fCF?;MxXjcr={nse+k~_lUO4e857im-ThZ}u-VhulHm>Zp`oz69 zZd4lTe@pgoGWQKT58vo!z4`UFlEFi(!F1VU&2RBuhvAeiVvpNfSJzvPT&ufQeZi`A z5?6*F+{G|+2fx*kIc~q=Y`J^?S+=ll|e6Y^cR(WD9iKE*I;pM1$t*jSM=!k(yqPzMM^8pnyqb^Gu64ophbgsXX09|b?Hn$2EBHQy zZ@pWwZdIUfart6C;rDydEG?(CdB{hc@ z7K_UIBg-$HHR%TWsp+tEwID3v&^sAbLyK{od%^P z8%~@=567vyru~+O1;V6GUQTc9#%HhoLd7YJ`;RbT>>rLyi9XtVQ=k3wkmF%&i+Z&T z%b=hC-CZ@y;m?#4^MfUo(+@VkzCCDW*cuAV^?s;k&e=J&oqQ?w_7TXq-R$8M zrv5tJCBs(}UNp?}T|9@>Sj?L1p%r@^e*ux+JHrKSI{;WQvA| zy_^-0^_?-NbbMW1d*Ht*nY*{%Iv0GXyE_<&vXnZ5`u(heE z_K3s!$1}Bu0F^yliZ_>OIEn9KPQU+)(n-uBbqQ1xmE*lH-2APpOO-pK#eN!ogPD>k z+Qrh3$&&}KE_!Fn{K}P#F+HklZ@Ydnkml38CR>%eA;0o%Yg*cEK1FA8qoc-q9@pM3 zpZo3B*9R}X7do16g$tYa9P=u-PbrzjC zGh2(LqIF7hxACvRzMx)JGW_srIyNP;H8b!%z~L+#6Omn) z$7dZx=s(QgLZqoJ%s7 z*_+LLcE3EXMa6u6dDKk&p!b7|jL%GzKSSeuOT%K|g#r`)#nxrb%Y)1f`zzd4d&WL} z=T3S#J3LREw+r*l9~iw9*_;ngestDDkTts3S;ptbk-7Bm?=JlrzbDBQfvk0$=w&SU zgkAJRV6R6{cC7Txo0IaqxcIELcVCm4WnbF%Etp@70*^c(?4J1a;vLv<8jyV@{QuE-EgAphSo*X2HuOz%saOF zZtLCgzmL^LqU@pJ?X_jSrUSnb8rxhmz?qM|JN>qVUEYe5w_E z+z)IslutCT9=Tc7A+=z0P!djH`pwzvo5tvbtRw<%#)b)}Ca0{6#&A2Vv60}ZPhcjm`;Zahb74d+xBgy4<82vI`$o+o^$xA}jqVrPnxI>fxgno+vcrLka} zOpZ!z(s)!CAB;hlqvxB10vwwuVjlJVVLa5>A3UVRa9qegSUd*wFI;fzYpn#rf^2Xe z+K0l(EGWiy9nb0xFALRK2Ln-ngey2VbbmJFGLIVG&)|RG*z$pRlDh7*k=>NYuwgr) zl6$Q{R+m%bP8B5y!alIHY-i@KSXG=5GvLCB0pm+NGaMZ~>@|Z9l|LgD9x1O(+Wq=s zB}Xu@SS=#{_=xMP)foeUJ!5$LiN0)OPHno65^!Ny!s-e!Xgxi>;ot?;`P}oQrpfAs zThQicXxsx~VBn>jy$QHMV27T}+yjTA2uu%ZK5 zCdn_NpoElsKLJk3J=zXQp2MP-L{#cEw-)d1zM6pc4wVoY0sCQYI{}_1M9dctE0^*S z^jxv7R%Q5x##<+E3U(qw&4y_QfeOK$1@@oh!E-eY@Cw6nz$$#!O_d}AE@C@(cN(=6 ziA)O5A`a`EoLULqZa|}ykHp=9&}Yo@xcwzVfQ@HGTy8<m=qL~lES-cdQR

q&GpTCx*3#%S_;Z(F}S76b0KKmMOPUooY_4rc}* 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%0D4j9O0)Vt45kWD>qJvkT;SqO9#7+bZTR|70yD6# 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

K-okE`y=9xe*l2W!3T8 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

O2hPitQWSZW_-zYN?%S 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%0D$CK(u*8lg?NBBkga`zv4rH1t+o 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

VL4v0C?C)ZsFXF*NQ%nF>!)mLP}PTwRv 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 z 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μu=1Z}oWGyW+xpaHYKDT+>?B5vC*09TRWivwf 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

8Xk7u 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⩔j;(s^N1aWU+AY*Gsr0a{K!;8LqkpN9zukP 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

(5{I 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


7ub*e2k0?#T@?!}-LYU&D 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
pHO3@eL!ed~AD~-1$B$%Z6jEn4P>)nuZ}f`4h8c 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%0DgbV1}$QZ&O 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

q)C!_(&NiI0UiE&`=dQ|rnmamv`&8&SI@F`;f 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 z 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

>MVyN8qy=U|?hN;*p)Z-K5Mk+$Fc5kO!00eN}( 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%0A|%#COh1a^16@*u=zZIJKc!uRI+b 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

^5dEBU;KY)8x_x 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

qN*VP$K58(A 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

g+!6@9%y7z+SuZO$?u{%U%3mF^bIA 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

}t6kaJb*A?-1})`|%;=Ok4uhXd%{-A^Za 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

NKoKS*X!mbTg&irEy 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%0A(JGO3iM>TQ$Ex76RWX+s$%Y0=IjqAm1N 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�mHqLIzya{?+r-v7wPIJ`)QY4Zp=p3u}2xZC!mD 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

Tm%?AlyqG?fP6Mprz9(vA<}9G* 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

*VI#;e|7H%)8H~AAMd-JuE^` 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

)C2s4KA4m!sYmkQ#khZ^snW%u`eWdT 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≪CFMDV=bRV{STz1{w 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�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

5&WH?9Y=X(dJ)&jvj``y^*QY&F0!GJNw7DAHZr~ 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

4T{F5_~|lUbkGaHTJ7}L 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

)2lu&(`drV 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

U`){3D9idOl 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 z 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 + + + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %magenta(%-4relative) - [%thread{10}, %X{traceId:-}, %X{spanId:-}] %cyan(%logger{20}): %msg%n + + + + + ${LOG_PATH_NAME}.log + + ${ROLLING_PATH_NAME}.%d{yyyy-MM-dd}.log + 90 + + + + + %d{yyyy-MM-dd HH:mm:ss} [%-5p] [%F]%M\(%L\) : %m%n + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main_vm/src/main/resources/mapper/test/BgmManage_SQL.xml b/main_vm/src/main/resources/mapper/test/BgmManage_SQL.xml new file mode 100644 index 0000000..57f5274 --- /dev/null +++ b/main_vm/src/main/resources/mapper/test/BgmManage_SQL.xml @@ -0,0 +1,56 @@ + + + + + + + + + + INSERT INTO TB_BGM_MNG ( + CUST_CODE + , FILE_NAME + , FILE_PATH + , REGIST_ID + + + ) VALUES ( + #{custCode} + , #{fileName} + , #{filePath} + , #{registId} + + ) + + \ No newline at end of file diff --git a/main_vm/src/main/resources/mapper/test/BotTTSTag_SQL.xml b/main_vm/src/main/resources/mapper/test/BotTTSTag_SQL.xml new file mode 100644 index 0000000..dadbda5 --- /dev/null +++ b/main_vm/src/main/resources/mapper/test/BotTTSTag_SQL.xml @@ -0,0 +1,37 @@ + + + + + + + + diff --git a/main_vm/src/main/resources/mapper/test/ConversationMark_SQL.xml b/main_vm/src/main/resources/mapper/test/ConversationMark_SQL.xml new file mode 100644 index 0000000..1e75868 --- /dev/null +++ b/main_vm/src/main/resources/mapper/test/ConversationMark_SQL.xml @@ -0,0 +1,229 @@ + + + + + + + + + + INSERT INTO TB_TALK_BOOKMARK ( + LOG_TYPE + , OPR_MNG_CODE + , TOKEN + , TALK_SEQ + , TALK_TEXT + , BOOKMARK_ERROR_CODE + , REGIST_DATE + , REGIST_ID + , UPDATE_DATE + , UPDATE_ID + ) VALUES ( + #{logType} + , #{oprMngCode} + , #{token} + , #{talkSeq} + , #{talkText} + , #{bookmarkErrCode} + , NOW() + , #{registId} + , NOW() + , #{updateId} + ) + + + + + + , BOOKMARK_ERROR_CODE = #{bookmarkErrCode} + + + + + + + diff --git a/main_vm/src/main/resources/mapper/test/IntentAnalysis_SQL.xml b/main_vm/src/main/resources/mapper/test/IntentAnalysis_SQL.xml new file mode 100644 index 0000000..da5a142 --- /dev/null +++ b/main_vm/src/main/resources/mapper/test/IntentAnalysis_SQL.xml @@ -0,0 +1,262 @@ + + + + + + + + + + + + + + + diff --git a/main_vm/src/main/resources/mapper/test/IntentManage_SQL.xml b/main_vm/src/main/resources/mapper/test/IntentManage_SQL.xml new file mode 100644 index 0000000..9703aa2 --- /dev/null +++ b/main_vm/src/main/resources/mapper/test/IntentManage_SQL.xml @@ -0,0 +1,285 @@ + + + + + + + + + + + + + + + + + + /* IntentManageMapper.insertIntentMaster */ + INSERT INTO TB_INTENT_MASTER ( + OPR_MNG_CODE + , INTENT_NAME + , CATEGORY + , REGIST_ID + , REGIST_DATE + , UPDATE_ID + , UPDATE_DATE + , USE_YN + , IF_MAPPING_ID + ) VALUES ( + #{oprMngCode}, + #{intentName}, + #{category}, + #{registId}, + NOW(), + #{registId}, + NOW(), + 'Y', + #{mappingId} + ) + + SELECT LAST_INSERT_ID() + + + + + + /* IntentManageMapper.insertIntent */ + INSERT INTO TB_INTENT_EXAMPLE ( + INTENT_SEQ + , EXAMPLE_TEXT + , IF_MAPPING_ID + , REGIST_ID + , REGIST_DATE + , UPDATE_ID + , UPDATE_DATE + , USE_YN + ) VALUES + + + + + ( + + + (SELECT IFNULL(MAX(SEQ), 0) FROM TB_INTENT_MASTER), + + + #{intentSeq}, + + + #{item.exampleText}, + #{mappingId}, + #{registId}, + NOW(), + #{registId}, + NOW(), + 'Y' + ) + + + + + ( + + + (SELECT IFNULL(MAX(SEQ), 0) FROM TB_INTENT_MASTER) A, + + + #{intentSeq}, + + + #{exampleText}, + #{registId}, + NOW(), + #{registId}, + NOW(), + 'Y' + ) + + + + + SELECT LAST_INSERT_ID() + + + + + + /* IntentManageMapper.updateIntentMaster */ + UPDATE TB_INTENT_MASTER + + UPDATE_ID = #{updateId}, + UPDATE_DATE = NOW(), + + INTENT_NAME = #{intentName}, + + + CATEGORY = #{category}, + + + USE_YN = #{useYn} + + + + AND SEQ = #{seq} + + + + + + /* IntentManageMapper.deleteIntentMaster */ + UPDATE TB_INTENT_MASTER + + AND SEQ = #{seq} + + + + + + /* IntentManageMapper.deleteIntentExample */ + DELETE FROM TB_INTENT_EXAMPLE + + AND INTENT_SEQ = #{intentSeq} + + AND SEQ NOT IN ( + + + + #{item.seq} + + + ) + + + + + + + /* IntentManageMapper.deleteIntentExample_one */ + DELETE FROM TB_INTENT_EXAMPLE + WHERE SEQ = #{seq} + + + + + /* IntentManageMapper.updateDeleteIntentExample */ + UPDATE TB_INTENT_EXAMPLE + + USE_YN = #{useYn}, + + + AND INTENT_SEQ = #{seq} + + AND SEQ NOT IN ( + + + + #{item.seq} + + + ) + + + + + + + + + + + + + + + diff --git a/main_vm/src/main/resources/mapper/test/MonitoringConsulting_SQL.xml b/main_vm/src/main/resources/mapper/test/MonitoringConsulting_SQL.xml new file mode 100644 index 0000000..9c9c0a3 --- /dev/null +++ b/main_vm/src/main/resources/mapper/test/MonitoringConsulting_SQL.xml @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + diff --git a/main_vm/src/main/resources/mapper/test/MonitoringOutscenario_SQL.xml b/main_vm/src/main/resources/mapper/test/MonitoringOutscenario_SQL.xml new file mode 100644 index 0000000..eebf86e --- /dev/null +++ b/main_vm/src/main/resources/mapper/test/MonitoringOutscenario_SQL.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + diff --git a/main_vm/src/main/resources/mapper/test/NlpWisenutApi_SQL.xml b/main_vm/src/main/resources/mapper/test/NlpWisenutApi_SQL.xml new file mode 100644 index 0000000..1e0330e --- /dev/null +++ b/main_vm/src/main/resources/mapper/test/NlpWisenutApi_SQL.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main_vm/src/main/resources/mapper/test/StatisticsCallInfo_SQL.xml b/main_vm/src/main/resources/mapper/test/StatisticsCallInfo_SQL.xml new file mode 100644 index 0000000..1e77eb6 --- /dev/null +++ b/main_vm/src/main/resources/mapper/test/StatisticsCallInfo_SQL.xml @@ -0,0 +1,47 @@ + + + + + + + + diff --git a/main_vm/src/main/resources/mapper/test/StatisticsDashboard_SQL.xml b/main_vm/src/main/resources/mapper/test/StatisticsDashboard_SQL.xml new file mode 100644 index 0000000..33ba6a2 --- /dev/null +++ b/main_vm/src/main/resources/mapper/test/StatisticsDashboard_SQL.xml @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + diff --git a/main_vm/src/main/resources/mapper/test/StatisticsIntent_SQL.xml b/main_vm/src/main/resources/mapper/test/StatisticsIntent_SQL.xml new file mode 100644 index 0000000..8159eca --- /dev/null +++ b/main_vm/src/main/resources/mapper/test/StatisticsIntent_SQL.xml @@ -0,0 +1,119 @@ + + + + + + + + + + diff --git a/main_vm/src/main/resources/mapper/test/StatisticsScenario_SQL.xml b/main_vm/src/main/resources/mapper/test/StatisticsScenario_SQL.xml new file mode 100644 index 0000000..0c1c2ea --- /dev/null +++ b/main_vm/src/main/resources/mapper/test/StatisticsScenario_SQL.xml @@ -0,0 +1,102 @@ + + + + + + + + + + diff --git a/main_vm/src/main/resources/mapper/test/SynonymManage_SQL.xml b/main_vm/src/main/resources/mapper/test/SynonymManage_SQL.xml new file mode 100644 index 0000000..7bb12a5 --- /dev/null +++ b/main_vm/src/main/resources/mapper/test/SynonymManage_SQL.xml @@ -0,0 +1,198 @@ + + + + + + + + /* SynonymManageMapper.deleteSynonym */ + UPDATE TB_SYNONYM_MASTER SET + USE_YN='N' + WHERE SEQ=#{seq} + + + + + + + + + + + + + + /* SynonymManageMapper.insertSynonymMaster */ + + INSERT INTO TB_SYNONYM_MASTER + (OPR_MNG_CODE, IDIV_WORD, REP_WORD, IF_MAPPING_ID, USE_YN, REGIST_ID, REGIST_DATE, UPDATE_ID, UPDATE_DATE) + VALUES + (#{serviceCode}, #{idivWord}, #{repWord}, #{mappingId},'Y', #{userId}, NOW(), #{userId}, NOW()) + + + UPDATE TB_SYNONYM_MASTER + SET + IDIV_WORD=#{idivWord}, + REP_WORD=#{repWord}, + USE_YN = 'Y', + UPDATE_ID=#{userId}, + UPDATE_DATE=NOW() + WHERE + SEQ=#{seq} + + + + + /* SynonymManageMapper.insertSynonymWord */ + INSERT INTO TB_SYNONYM_WORD + (MASTER_SEQ, OPR_MNG_CODE, SYNONYM_WORD, USE_YN, REGIST_ID, REGIST_DATE, UPDATE_ID, UPDATE_DATE) + SELECT + a.SEQ, #{serviceCode}, #{synonymWord}, 'Y',#{userId}, NOW() ,#{userId}, NOW() + FROM + TB_SYNONYM_MASTER a + WHERE + a.IDIV_WORD=#{idivWord} + AND a.OPR_MNG_CODE=#{serviceCode} + + + + /* SynonymManageMapper.updateSynonymWord */ + UPDATE TB_SYNONYM_WORD a, + (SELECT SEQ FROM TB_SYNONYM_MASTER WHERE IDIV_WORD=#{idivWord} AND OPR_MNG_CODE = #{serviceCode} AND USE_YN = 'Y') b + SET + a.MASTER_SEQ=b.SEQ, + a.USE_YN='Y', + a.UPDATE_ID=#{userId}, + a.UPDATE_DATE=NOW() + WHERE SYNONYM_WORD = #{synonymWord} + AND OPR_MNG_CODE = #{serviceCode} + + + + /* SynonymManageMapper.saveSynonymList */ + UPDATE TB_SYNONYM_MASTER a, + TB_SYNONYM_WORD b + SET + a.IDIV_WORD = #{idivWord}, + a.REP_WORD = #{repWord}, + a.UPDATE_ID = #{userId}, + a.UPDATE_DATE = NOW() + + , b.USE_YN = IF(b.SYNONYM_WORD IN( + + #{item} + + ), 'Y', 'N') + + WHERE + a.IDIV_WORD = #{idivWord} + AND b.MASTER_SEQ = a.SEQ + AND a.USE_YN = 'Y' + AND b.OPR_MNG_CODE = #{serviceCode}; + + + + + + /* SynonymManageMapper.deleteSynonymWord */ + UPDATE TB_SYNONYM_WORD SET + USE_YN='N' + WHERE MASTER_SEQ=#{seq} + + + + + diff --git a/main_vm/src/main/resources/mapper/test/Test1.xml b/main_vm/src/main/resources/mapper/test/Test1.xml new file mode 100644 index 0000000..551e970 --- /dev/null +++ b/main_vm/src/main/resources/mapper/test/Test1.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/main_vm/src/main/resources/message/messages.properties b/main_vm/src/main/resources/message/messages.properties new file mode 100644 index 0000000..74ccb25 --- /dev/null +++ b/main_vm/src/main/resources/message/messages.properties @@ -0,0 +1,45 @@ +#UI resource# +list.sample=List Sample +button.search=\uAC80\uC0C9 +button.list=\uBAA9\uB85D +button.modify=\uC218\uC815 +button.create=\uB4F1\uB85D +button.reset=\uC7AC\uC124\uC815 +button.delete=\uC0AD\uC81C +search.choose=\uAC80\uC0C9\uC5B4 \uC120\uD0DD +search.keyword=\uAC80\uC0C9\uC5B4 \uC785\uB825 +search.name=\uC774\uB984 +search.id=ID +title.sample.id=\uCE74\uD14C\uACE0\uB9ACID +title.sample.name=\uCE74\uD14C\uACE0\uB9AC\uBA85 +title.sample.useYn=\uC0AC\uC6A9\uC5EC\uBD80 +title.sample.description=\uC124\uBA85 +title.sample.regUser=\uB4F1\uB85D\uC790 +title.sample=\uAE30\uBCF8 \uAC8C\uC2DC\uD310 \uBAA9\uB85D + +# image name # +image.search=btn_form_search.gif +image.errorBg=error + +# -- validator errors -- # +fail.common.msg=\uC5D0\uB7EC\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4! +fail.common.sql=sql \uC5D0\uB7EC\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4! error code: {0}, error msg: {1} +info.nodata.msg=\uD574\uB2F9 \uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. +errors.prefix=
+errors.suffix=

+errors.required={0} \uC740 \uD544\uC218 \uC785\uB825\uAC12\uC785\uB2C8\uB2E4. +errors.minlength={0} \uC740 {1}\uC790 \uC774\uC0C1 \uC785\uB825\uD574\uC57C \uD569\uB2C8\uB2E4. +errors.maxlength={0} \uC740 {1}\uC790 \uC774\uC0C1 \uC785\uB825\uD560\uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +errors.invalid={0} \uC740 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uAC12\uC785\uB2C8\uB2E4. +errors.byte={0} \uC740 byte \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.short={0} \uC740 short \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.integer={0} \uC740 integer \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.long={0} \uC740 long \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.float={0} \uC740 float \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.double={0} \uC740 double \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.date={0} \uC740 \uB0A0\uC9DC \uC720\uD615\uC774 \uC544\uB2D9\uB2C8\uB2E4. +errors.range={0} \uC740 {1} \uACFC {2} \uC0AC\uC774\uC758 \uAC12\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.creditcard={0} \uC740 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC2E0\uC6A9\uCE74\uB4DC \uBC88\uD638\uC785\uB2C8\uB2E4. +errors.email={0} \uC740 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC774\uBA54\uC77C \uC8FC\uC18C\uC785\uB2C8\uB2E4. +errors.ihidnum=\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC8FC\uBBFC\uB4F1\uB85D\uBC88\uD638\uC785\uB2C8\uB2E4. +errors.korean={0}\uC740 \uD55C\uAE00\uC744 \uC785\uB825\uD558\uC154\uC57C \uD569\uB2C8\uB2E4. \ No newline at end of file diff --git a/main_vm/src/main/resources/message/messages_ko.properties b/main_vm/src/main/resources/message/messages_ko.properties new file mode 100644 index 0000000..815f95f --- /dev/null +++ b/main_vm/src/main/resources/message/messages_ko.properties @@ -0,0 +1,46 @@ +#UI resource# +list.sample=List Sample +button.search=\uAC80\uC0C9 +button.list=\uBAA9\uB85D +button.modify=\uC218\uC815 +button.create=\uB4F1\uB85D +button.reset=\uC7AC\uC124\uC815 +button.delete=\uC0AD\uC81C +search.choose=\uAC80\uC0C9\uC5B4 \uC120\uD0DD +search.keyword=\uAC80\uC0C9\uC5B4 \uC785\uB825 +search.name=\uC774\uB984 +search.id=ID +title.sample.id=\uCE74\uD14C\uACE0\uB9ACID +title.sample.name=\uCE74\uD14C\uACE0\uB9AC\uBA85 +title.sample.useYn=\uC0AC\uC6A9\uC5EC\uBD80 +title.sample.description=\uC124\uBA85 +title.sample.regUser=\uB4F1\uB85D\uC790 +title.sample=\uAE30\uBCF8 \uAC8C\uC2DC\uD310 \uBAA9\uB85D + +# image name # +image.search=btn_form_search.gif +image.errorBg=error + +# -- validator errors -- # +fail.common.msg=\uC5D0\uB7EC\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4! +fail.common.bad=\uC720\uD6A8\uD558\uC9C0\uC54A\uC740 \uC694\uCCAD\uC785\uB2C8\uB2E4. +fail.common.sql=sql \uC5D0\uB7EC\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4! error code: {0}, error msg: {1} +info.nodata.msg=\uD574\uB2F9 \uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. +errors.prefix=
+errors.suffix=

+errors.required={0} \uC740 \uD544\uC218 \uC785\uB825\uAC12\uC785\uB2C8\uB2E4. +errors.minlength={0} \uC740 {1}\uC790 \uC774\uC0C1 \uC785\uB825\uD574\uC57C \uD569\uB2C8\uB2E4. +errors.maxlength={0} \uC740 {1}\uC790 \uC774\uC0C1 \uC785\uB825\uD560\uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +errors.invalid={0} \uC740 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uAC12\uC785\uB2C8\uB2E4. +errors.byte={0} \uC740 byte \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.short={0} \uC740 short \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.integer={0} \uC740 integer \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.long={0} \uC740 long \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.float={0} \uC740 float \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.double={0} \uC740 double \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.date={0} \uC740 \uB0A0\uC9DC \uC720\uD615\uC774 \uC544\uB2D9\uB2C8\uB2E4. +errors.range={0} \uC740 {1} \uACFC {2} \uC0AC\uC774\uC758 \uAC12\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.creditcard={0} \uC740 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC2E0\uC6A9\uCE74\uB4DC \uBC88\uD638\uC785\uB2C8\uB2E4. +errors.email={0} \uC740 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC774\uBA54\uC77C \uC8FC\uC18C\uC785\uB2C8\uB2E4. +errors.ihidnum=\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC8FC\uBBFC\uB4F1\uB85D\uBC88\uD638\uC785\uB2C8\uB2E4. +errors.korean={0}\uC740 \uD55C\uAE00\uC744 \uC785\uB825\uD558\uC154\uC57C \uD569\uB2C8\uB2E4. \ No newline at end of file diff --git a/main_vm/src/main/resources/message/messages_ko_KR.properties b/main_vm/src/main/resources/message/messages_ko_KR.properties new file mode 100644 index 0000000..74ccb25 --- /dev/null +++ b/main_vm/src/main/resources/message/messages_ko_KR.properties @@ -0,0 +1,45 @@ +#UI resource# +list.sample=List Sample +button.search=\uAC80\uC0C9 +button.list=\uBAA9\uB85D +button.modify=\uC218\uC815 +button.create=\uB4F1\uB85D +button.reset=\uC7AC\uC124\uC815 +button.delete=\uC0AD\uC81C +search.choose=\uAC80\uC0C9\uC5B4 \uC120\uD0DD +search.keyword=\uAC80\uC0C9\uC5B4 \uC785\uB825 +search.name=\uC774\uB984 +search.id=ID +title.sample.id=\uCE74\uD14C\uACE0\uB9ACID +title.sample.name=\uCE74\uD14C\uACE0\uB9AC\uBA85 +title.sample.useYn=\uC0AC\uC6A9\uC5EC\uBD80 +title.sample.description=\uC124\uBA85 +title.sample.regUser=\uB4F1\uB85D\uC790 +title.sample=\uAE30\uBCF8 \uAC8C\uC2DC\uD310 \uBAA9\uB85D + +# image name # +image.search=btn_form_search.gif +image.errorBg=error + +# -- validator errors -- # +fail.common.msg=\uC5D0\uB7EC\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4! +fail.common.sql=sql \uC5D0\uB7EC\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4! error code: {0}, error msg: {1} +info.nodata.msg=\uD574\uB2F9 \uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. +errors.prefix=
+errors.suffix=

+errors.required={0} \uC740 \uD544\uC218 \uC785\uB825\uAC12\uC785\uB2C8\uB2E4. +errors.minlength={0} \uC740 {1}\uC790 \uC774\uC0C1 \uC785\uB825\uD574\uC57C \uD569\uB2C8\uB2E4. +errors.maxlength={0} \uC740 {1}\uC790 \uC774\uC0C1 \uC785\uB825\uD560\uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +errors.invalid={0} \uC740 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uAC12\uC785\uB2C8\uB2E4. +errors.byte={0} \uC740 byte \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.short={0} \uC740 short \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.integer={0} \uC740 integer \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.long={0} \uC740 long \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.float={0} \uC740 float \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.double={0} \uC740 double \uD0C0\uC785\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.date={0} \uC740 \uB0A0\uC9DC \uC720\uD615\uC774 \uC544\uB2D9\uB2C8\uB2E4. +errors.range={0} \uC740 {1} \uACFC {2} \uC0AC\uC774\uC758 \uAC12\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. +errors.creditcard={0} \uC740 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC2E0\uC6A9\uCE74\uB4DC \uBC88\uD638\uC785\uB2C8\uB2E4. +errors.email={0} \uC740 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC774\uBA54\uC77C \uC8FC\uC18C\uC785\uB2C8\uB2E4. +errors.ihidnum=\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC8FC\uBBFC\uB4F1\uB85D\uBC88\uD638\uC785\uB2C8\uB2E4. +errors.korean={0}\uC740 \uD55C\uAE00\uC744 \uC785\uB825\uD558\uC154\uC57C \uD569\uB2C8\uB2E4. \ No newline at end of file diff --git a/main_vm/src/main/resources/message/validation.properties b/main_vm/src/main/resources/message/validation.properties new file mode 100644 index 0000000..20bfcf7 --- /dev/null +++ b/main_vm/src/main/resources/message/validation.properties @@ -0,0 +1,4 @@ +#NotNull.testcheck.name=\uD14C\uC2A4\uD2B8\uCCB4\uD06C \uC774\uB984\uC740 \uB110\uC77C\uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +NotNull.name=\uC774\uB984\uC740 \uB110\uC77C\uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +NotNull.java.lang.String=\uBB38\uC790\uC5F4\uC740 \uB110\uC77C\uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +NotNull=\uB110\uC774\uC5B4\uC11C\uB294 \uC548\uB429\uB2C8\uB2E4...... \ No newline at end of file diff --git a/main_vm/src/main/resources/message/validation_ko_KR.properties b/main_vm/src/main/resources/message/validation_ko_KR.properties new file mode 100644 index 0000000..8fda447 --- /dev/null +++ b/main_vm/src/main/resources/message/validation_ko_KR.properties @@ -0,0 +1,4 @@ +#NotNull.testcheck.name=\uD14C\uC2A4\uD2B8\uCCB4\uD06C \uC774\uB984\uC740 \uB110\uC77C\uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +#NotNull.name=\uC774\uB984\uC740 \uB110\uC77C\uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +#NotNull.java.lang.String=\uBB38\uC790\uC5F4\uC740 \uB110\uC77C\uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +#NotNull=\uB110\uC774\uC5B4\uC11C\uB294 \uC548\uB429\uB2C8\uB2E4...... \ No newline at end of file diff --git a/main_vm/src/main/webapp/META-INF/MANIFEST.MF b/main_vm/src/main/webapp/META-INF/MANIFEST.MF new file mode 100644 index 0000000..254272e --- /dev/null +++ b/main_vm/src/main/webapp/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/main_vm/src/main/webapp/META-INF/license b/main_vm/src/main/webapp/META-INF/license new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/main_vm/src/main/webapp/META-INF/license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/main_vm/src/main/webapp/META-INF/osslicenses b/main_vm/src/main/webapp/META-INF/osslicenses new file mode 100644 index 0000000..25c8d8b --- /dev/null +++ b/main_vm/src/main/webapp/META-INF/osslicenses @@ -0,0 +1,1688 @@ +전자정부 표준프레임워크에 포함된 다음 오픈소스소프트웨어는 아래 명시된 +------- +Apache License 2.0 +* spring +* spring-social-sa mples +* Spring Social Config +* godsoft +* egovframework +* Commons IO +------- +BSD 3-clause "New" or "Revised" License +* HTMLarea Editor For XOOPS +------- +GNU Lesser General Public License v2.1 or later +* FCKeditor - CKEditor +------- +JSON License +* JSON in Java +------- +MIT License +* jsTree +* Prototype JavaScript Framework +* jQuery +* jsx-requirejs-plu gin +* jQuery +* jQuery UI +------- +htmlArea License +* htmlArea +* HTMLarea Editor For XOOPS +------- +라이센스 적용을 받습니다. + . + . + . + Oss License Details +--------------------------------------------------------------------------------- +Apache License 2.0 +* spring +* spring-social-sa mples +* Spring Social Config +* godsoft +* egovframework +* Commons IO + +---------------------------------------------- +* spring +* spring-social-sa mples +* Spring Social Config +* godsoft +* egovframework +* Commons IO + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all +other entities that control, are controlled by, or are under common +control with that entity. For the purposes of this definition, +"control" means (i) the power, direct or indirect, to cause the +direction or management of such entity, whether by contract or +otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or +Object form, made available under the License, as indicated by a +copyright notice that is included in or attached to the work +(an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the purposes +of this License, Derivative Works shall not include works that remain +separable from, or merely link (or bind by name) to the interfaces of, +the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including +the original version of the Work and any modifications or additions +to that Work or Derivative Works thereof, that is intentionally +submitted to Licensor for inclusion in the Work by the copyright owner +or by an individual or Legal Entity authorized to submit on behalf of +the copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, +and issue tracking systems that are managed by, or on behalf of, the +Licensor for the purpose of discussing and improving the Work, but +excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work, +where such license applies only to those patent claims licensable +by such Contributor that are necessarily infringed by their +Contribution(s) alone or by combination of their Contribution(s) +with the Work to which such Contribution(s) was submitted. If You +institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work +or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses +granted to You under this License for that Work shall terminate +as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You +meet the following conditions: + +(a) You must give any other recipients of the Work or +Derivative Works a copy of this License; and + +(b) You must cause any modified files to carry prominent notices +stating that You changed the files; and + +(c) You must retain, in the Source form of any Derivative Works +that You distribute, all copyright, patent, trademark, and +attribution notices from the Source form of the Work, +excluding those notices that do not pertain to any part of +the Derivative Works; and + +(d) If the Work includes a "NOTICE" text file as part of its +distribution, then any Derivative Works that You distribute must +include a readable copy of the attribution notices contained +within such NOTICE file, excluding those notices that do not +pertain to any part of the Derivative Works, in at least one +of the following places: within a NOTICE text file distributed +as part of the Derivative Works; within the Source form or +documentation, if provided along with the Derivative Works; or, +within a display generated by the Derivative Works, if and +wherever such third-party notices normally appear. The contents +of the NOTICE file are for informational purposes only and +do not modify the License. You may add Your own attribution +notices within Derivative Works that You distribute, alongside +or as an addendum to the NOTICE text from the Work, provided +that such additional attribution notices cannot be construed +as modifying the License. + +You may add Your own copyright statement to Your modifications and +may provide additional or different license terms and conditions +for use, reproduction, or distribution of Your modifications, or +for any such Derivative Works as a whole, provided Your use, +reproduction, and distribution of the Work otherwise complies with +the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + +To apply the Apache License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "[]" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +--------------------------------------------------------------------------------- +BSD 3-clause "New" or "Revised" License +-* HTMLarea Editor For XOOPS +htmlArea License (based on BSD license) +Copyright (c) 2002-2004, interactivetools.com, inc. +Copyright (c) 2003-2005 dynarch.com +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1) Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2) Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3) Neither the name of interactivetools.com, inc. nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +zCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +--------------------------------------------------------------------------------- +GNU Lesser General Public License v2.1 or later +* FCKeditor - CKEditor +---------------------------------------------- +Software License Agreement +========================== + +CKEditor - The text editor for Internet - http://ckeditor.com +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + +Licensed under the terms of any of the following licenses at your +choice: + + - GNU General Public License Version 2 or later (the "GPL") + http://www.gnu.org/licenses/gpl.html + (See Appendix A) + + - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + http://www.gnu.org/licenses/lgpl.html + (See Appendix B) + + - Mozilla Public License Version 1.1 or later (the "MPL") + http://www.mozilla.org/MPL/MPL-1.1.html + (See Appendix C) + +You are not required to, but if you want to explicitly declare the +license you have chosen to be bound to when using, reproducing, +modifying and distributing this software, just include a text file +titled "legal.txt" in your version of this software, indicating your +license choice. In any case, your choice will not restrict any +recipient of your version of this software to use, reproduce, modify +and distribute this software under any of the above licenses. + +Sources of Intellectual Property Included in CKEditor +----------------------------------------------------- + +Where not otherwise indicated, all CKEditor content is authored by +CKSource engineers and consists of CKSource-owned intellectual +property. In some specific instances, CKEditor will incorporate work +done by developers outside of CKSource with their express permission. + +Trademarks +---------- + +CKEditor is a trademark of CKSource - Frederico Knabben. All other brand +and product names are trademarks, registered trademarks or service +marks of their respective holders. + +--- + +Appendix A: The GPL License +--------------------------- + +GNU GENERAL PUBLIC LICENSE +Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software-to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + +GNU GENERAL PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + +NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + + +Appendix B: The LGPL License +---------------------------- + +GNU LESSER GENERAL PUBLIC LICENSE +Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + +Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software-to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages-typically libraries-of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + +GNU LESSER GENERAL PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + +NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + +END OF TERMS AND CONDITIONS + + +Appendix C: The MPL License +--------------------------- + +MOZILLA PUBLIC LICENSE +Version 1.1 + +1. Definitions. + + 1.0.1. "Commercial Use" means distribution or otherwise making the + Covered Code available to a third party. + + 1.1. "Contributor" means each entity that creates or contributes to + the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Code, prior Modifications used by a Contributor, and the Modifications + made by that particular Contributor. + + 1.3. "Covered Code" means the Original Code or Modifications or the + combination of the Original Code and Modifications, in each case + including portions thereof. + + 1.4. "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.5. "Executable" means Covered Code in any form other than Source + Code. + + 1.6. "Initial Developer" means the individual or entity identified + as the Initial Developer in the Source Code notice required by Exhibit + A. + + 1.7. "Larger Work" means a work which combines Covered Code or + portions thereof with code not governed by the terms of this License. + + 1.8. "License" means this document. + + 1.8.1. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. When Covered Code is released as a series of files, a + Modification is: + A. Any addition to or deletion from the contents of a file + containing Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or + previous Modifications. + + 1.10. "Original Code" means Source Code of computer software code + which is described in the Source Code notice required by Exhibit A as + Original Code, and which, at the time of its release under this + License is not already Covered Code governed by this License. + + 1.10.1. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.11. "Source Code" means the preferred form of the Covered Code for + making modifications to it, including all modules it contains, plus + any associated interface definition files, scripts used to control + compilation and installation of an Executable, or source code + differential comparisons against either the Original Code or another + well known, available Covered Code of the Contributor's choice. The + Source Code can be in a compressed or archival form, provided the + appropriate decompression or de-archiving software is widely available + for no charge. + + 1.12. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, this + License or a future version of this License issued under Section 6.1. + For legal entities, "You" includes any entity which controls, is + controlled by, or is under common control with You. For purposes of + this definition, "control" means (a) the power, direct or indirect, + to cause the direction or management of such entity, whether by + contract or otherwise, or (b) ownership of more than fifty percent + (50%) of the outstanding shares or beneficial ownership of such + entity. + +2. Source Code License. + + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Code (or portions thereof) with or without Modifications, and/or + as part of a Larger Work; and + + (b) under Patents Claims infringed by the making, using or + selling of Original Code, to make, have made, use, practice, + sell, and offer for sale, and/or otherwise dispose of the + Original Code (or portions thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are + effective on the date Initial Developer first distributes + Original Code under the terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: 1) for code that You delete from the Original Code; 2) + separate from the Original Code; or 3) for infringements caused + by: i) the modification of the Original Code or ii) the + combination of the Original Code with other software or devices. + + 2.2. Contributor Grant. + Subject to third party intellectual property claims, each Contributor + hereby grants You a world-wide, royalty-free, non-exclusive license + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor, to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof) either on an + unmodified basis, with other Modifications, as Covered Code + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or + selling of Modifications made by that Contributor either alone + and/or in combination with its Contributor Version (or portions + of such combination), to make, use, sell, offer for sale, have + made, and/or otherwise dispose of: 1) Modifications made by that + Contributor (or portions thereof); and 2) the combination of + Modifications made by that Contributor with its Contributor + Version (or portions of such combination). + + (c) the licenses granted in Sections 2.2(a) and 2.2(b) are + effective on the date Contributor first makes Commercial Use of + the Covered Code. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: 1) for any code that Contributor has deleted from the + Contributor Version; 2) separate from the Contributor Version; + 3) for infringements caused by: i) third party modifications of + Contributor Version or ii) the combination of Modifications made + by that Contributor with other software (except as part of the + Contributor Version) or other devices; or 4) under Patent Claims + infringed by Covered Code in the absence of Modifications made by + that Contributor. + +3. Distribution Obligations. + + 3.1. Application of License. + The Modifications which You create or to which You contribute are + governed by the terms of this License, including without limitation + Section 2.2. The Source Code version of Covered Code may be + distributed only under the terms of this License or a future version + of this License released under Section 6.1, and You must include a + copy of this License with every copy of the Source Code You + distribute. You may not offer or impose any terms on any Source Code + version that alters or restricts the applicable version of this + License or the recipients' rights hereunder. However, You may include + an additional document offering the additional rights described in + Section 3.5. + + 3.2. Availability of Source Code. + Any Modification which You create or to which You contribute must be + made available in Source Code form under the terms of this License + either on the same media as an Executable version or via an accepted + Electronic Distribution Mechanism to anyone to whom you made an + Executable version available; and if made available via Electronic + Distribution Mechanism, must remain available for at least twelve (12) + months after the date it initially became available, or at least six + (6) months after a subsequent version of that particular Modification + has been made available to such recipients. You are responsible for + ensuring that the Source Code version remains available even if the + Electronic Distribution Mechanism is maintained by a third party. + + 3.3. Description of Modifications. + You must cause all Covered Code to which You contribute to contain a + file documenting the changes You made to create that Covered Code and + the date of any change. You must include a prominent statement that + the Modification is derived, directly or indirectly, from Original + Code provided by the Initial Developer and including the name of the + Initial Developer in (a) the Source Code, and (b) in any notice in an + Executable version or related documentation in which You describe the + origin or ownership of the Covered Code. + + 3.4. Intellectual Property Matters + (a) Third Party Claims. + If Contributor has knowledge that a license under a third party's + intellectual property rights is required to exercise the rights + granted by such Contributor under Sections 2.1 or 2.2, + Contributor must include a text file with the Source Code + distribution titled "LEGAL" which describes the claim and the + party making the claim in sufficient detail that a recipient will + know whom to contact. If Contributor obtains such knowledge after + the Modification is made available as described in Section 3.2, + Contributor shall promptly modify the LEGAL file in all copies + Contributor makes available thereafter and shall take other steps + (such as notifying appropriate mailing lists or newsgroups) + reasonably calculated to inform those who received the Covered + Code that new knowledge has been obtained. + + (b) Contributor APIs. + If Contributor's Modifications include an application programming + interface and Contributor has knowledge of patent licenses which + are reasonably necessary to implement that API, Contributor must + also include this information in the LEGAL file. + + (c) Representations. + Contributor represents that, except as disclosed pursuant to + Section 3.4(a) above, Contributor believes that Contributor's + Modifications are Contributor's original creation(s) and/or + Contributor has sufficient rights to grant the rights conveyed by + this License. + + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely + to look for such a notice. If You created one or more Modification(s) + You may add your name as a Contributor to the notice described in + Exhibit A. You must also duplicate this License in any documentation + for the Source Code where You describe recipients' rights or ownership + rights relating to Covered Code. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Code. However, You + may do so only on Your own behalf, and not on behalf of the Initial + Developer or any Contributor. You must make it absolutely clear than + any such warranty, support, indemnity or liability obligation is + offered by You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred by the + Initial Developer or such Contributor as a result of warranty, + support, indemnity or liability terms You offer. + + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the + requirements of Section 3.1-3.5 have been met for that Covered Code, + and if You include a notice stating that the Source Code version of + the Covered Code is available under the terms of this License, + including a description of how and where You have fulfilled the + obligations of Section 3.2. The notice must be conspicuously included + in any notice in an Executable version, related documentation or + collateral in which You describe recipients' rights relating to the + Covered Code. You may distribute the Executable version of Covered + Code or ownership rights under a license of Your choice, which may + contain terms different from this License, provided that You are in + compliance with the terms of this License and that the license for the + Executable version does not attempt to limit or alter the recipient's + rights in the Source Code version from the rights set forth in this + License. If You distribute the Executable version under a different + license You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial + Developer or any Contributor. You hereby agree to indemnify the + Initial Developer and every Contributor for any liability incurred by + the Initial Developer or such Contributor as a result of any such + terms You offer. + + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.4 and must + be included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Covered Code. + +6. Versions of the License. + + 6.1. New Versions. + Netscape Communications Corporation ("Netscape") may publish revised + and/or new versions of the License from time to time. Each version + will be given a distinguishing version number. + + 6.2. Effect of New Versions. + Once Covered Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Covered Code under the terms + of any subsequent version of the License published by Netscape. No one + other than Netscape has the right to modify the terms applicable to + Covered Code created under this License. + + 6.3. Derivative Works. + If You create or use a modified version of this License (which you may + only do in order to apply it to code which is not already Covered Code + governed by this License), You must (a) rename Your license so that + the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", + "MPL", "NPL" or any confusingly similar phrase do not appear in your + license (except to note that your license differs from this License) + and (b) otherwise make it clear that Your version of the license + contains terms which differ from the Mozilla Public License and + Netscape Public License. (Filling in the name of the Initial + Developer, Original Code or Contributor in the notice described in + Exhibit A shall not of themselves be deemed to be modifications of + this License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE + IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE + COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + 8.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Covered Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2. If You initiate litigation by asserting a patent infringement + claim (excluding declatory judgment actions) against Initial Developer + or a Contributor (the Initial Developer or Contributor against whom + You file such action is referred to as "Participant") alleging that: + + (a) such Participant's Contributor Version directly or indirectly + infringes any patent, then any and all rights granted by such + Participant to You under Sections 2.1 and/or 2.2 of this License + shall, upon 60 days notice from Participant terminate prospectively, + unless if within 60 days after receipt of notice You either: (i) + agree in writing to pay Participant a mutually agreeable reasonable + royalty for Your past and future use of Modifications made by such + Participant, or (ii) withdraw Your litigation claim with respect to + the Contributor Version against such Participant. If within 60 days + of notice, a reasonable royalty and payment arrangement are not + mutually agreed upon in writing by the parties or the litigation claim + is not withdrawn, the rights granted by Participant to You under + Sections 2.1 and/or 2.2 automatically terminate at the expiration of + the 60 day notice period specified above. + + (b) any software, hardware, or device, other than such Participant's + Contributor Version, directly or indirectly infringes any patent, then + any rights granted to You by such Participant under Sections 2.1(b) + and 2.2(b) are revoked effective as of the date You first made, used, + sold, distributed, or had made, Modifications made by that + Participant. + + 8.3. If You assert a patent infringement claim against Participant + alleging that such Participant's Contributor Version directly or + indirectly infringes any patent where such claim is resolved (such as + by license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 8.4. In the event of termination under Sections 8.1 or 8.2 above, + all end user license agreements (excluding distributors and resellers) + which have been validly granted by You or any distributor hereunder + prior to termination shall survive termination. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR + ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO + THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a "commercial item," as that term is defined in + 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" and "commercial computer software documentation," as such + terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 + C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), + all U.S. Government End Users acquire Covered Code with only those + rights set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if + any, provides otherwise), excluding its conflict-of-law provisions. + With respect to disputes in which at least one party is a citizen of, + or an entity chartered or registered to do business in the United + States of America, any litigation relating to this License shall be + subject to the jurisdiction of the Federal Courts of the Northern + District of California, with venue lying in Santa Clara County, + California, with the losing party responsible for costs, including + without limitation, court costs and reasonable attorneys' fees and + expenses. The application of the United Nations Convention on + Contracts for the International Sale of Goods is expressly excluded. + Any law or regulation which provides that the language of a contract + shall be construed against the drafter shall not apply to this + License. + +12. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +13. MULTIPLE-LICENSED CODE. + + Initial Developer may designate portions of the Covered Code as + "Multiple-Licensed". "Multiple-Licensed" means that the Initial + Developer permits you to utilize portions of the Covered Code under + Your choice of the NPL or the alternative licenses, if any, specified + by the Initial Developer in the file described in Exhibit A. + +EXHIBIT A -Mozilla Public License. + + ``The contents of this file are subject to the Mozilla Public License + Version 1.1 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + License for the specific language governing rights and limitations + under the License. + + The Original Code is ______________________________________. + + The Initial Developer of the Original Code is ________________________. + Portions created by ______________________ are Copyright (C) ______ + _______________________. All Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the terms + of the _____ license (the "[___] License"), in which case the + provisions of [______] License are applicable instead of those + above. If you wish to allow use of your version of this file only + under the terms of the [____] License and not to allow others to use + your version of this file under the MPL, indicate your decision by + deleting the provisions above and replace them with the notice and + other provisions required by the [___] License. If you do not delete + the provisions above, a recipient may use your version of this file + under either the MPL or the [___] License." + + [NOTE: The text of this Exhibit A may differ slightly from the text of + the notices in the Source Code files of the Original Code. You should + use the text of this Exhibit A rather than the text found in the + Original Code Source Code for Your Modifications.] + +--------------------------------------------------------------------------------- +JSON License +* JSON in Java +---------------------------------------------- +Copyright (c) 2002 JSON.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +The Software shall be used for Good, not Evil. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------------------------------- +MIT License +* jsTree +* Prototype JavaScript Framework +* jsx-requirejs-plu gin +* jQuery +* jQuery UI +---------------------------------------------- +* Prototype JavaScript Framework +Prototype is Copyright © 2005-2007 Sam Stephenson. It is freely distributable under the terms of an MIT-style license. + +Copyright (c) 2005-2010 Sam Stephenson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +The Prototype documentation is Copyright © 2007 The Prototype Core Team. It is released under the Creative Commons Attribution-ShareAlike 3.0 license. +---------------------------------------------- +* jsTree +Copyright (c) 2014 Ivan Bozhanov + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------------- +* jQuery +Copyright JS Foundation and other contributors, https://js.foundation/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +--------------------------------------------------------------------------------- +htmlArea License +* htmlArea +* HTMLarea Editor For XOOPS +---------------------------------------------- +htmlArea License (based on BSD license) +Copyright (c) 2002-2004, interactivetools.com, inc. +Copyright (c) 2003-2005 dynarch.com +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1) Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2) Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3) Neither the name of interactivetools.com, inc. nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +--------------------------------------------------------------------------------- \ No newline at end of file diff --git a/main_vm/src/main/webapp/META-INF/readme b/main_vm/src/main/webapp/META-INF/readme new file mode 100644 index 0000000..c6126ec --- /dev/null +++ b/main_vm/src/main/webapp/META-INF/readme @@ -0,0 +1,10 @@ +Copyright Since 2009 전자정부 표준프레임워크 + +전자정부 표준프레임워크는 공통컴포넌트는 + +Apache License 2.0, BSD 3, GNU 2.1, JSON License, MIT License, htmlArea License 의 적용을 받는 오픈소스소프트웨어를 기반으로 만들어졌습니다. + +전자정부 표준프레임워크를 수정 혹은 확장한 2차적 저작물을 사용하거나 배포하여 발생하는 모든 손해나 법적 문제에 대해 +전자정부 표준프레임워크의 저작권자는 일체의 책임을 지지 않습니다. + +전자정부 표준프레임워크에 사용된 오픈 소스소프트웨어의 라이선스는 osslicenses 파일을 참조하십시오 diff --git a/main_vm/src/main/webapp/WEB-INF/jsp/adm/common/dashboard.jsp b/main_vm/src/main/webapp/WEB-INF/jsp/adm/common/dashboard.jsp new file mode 100644 index 0000000..355d57b --- /dev/null +++ b/main_vm/src/main/webapp/WEB-INF/jsp/adm/common/dashboard.jsp @@ -0,0 +1,146 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + +대시보드 +<%@ include file="/WEB-INF/jsp/adm/include/topLinkTag.jsp"%> + + + +

ICOMSYS ADMIN

+

대시보드

+
+ + + + + + +<%-- --%> + +

DASH BOARD

+ +
+
+ +
+ + +
+
+
+
+

대시보드

+
+
+
+ 조회 +
+
+
+
+ + + + + + + + + + + + +
+
+ +
+
+
+
+
전체 콜 그래프 (단위 : 건)
+
+
+
+
+
+
+
+
+
+ +
+
+
인텐트 그래프 (단위 : 건)
+
+
+
+
+
+
+
+
+
+ +
+
+
시나리오 그래프 (단위 : 건)
+
+
+
+
+
+
+
+
+
+ +
+
+
오늘 시간대별 통화량 (단위 : 건)
+
현재 통화량 : 0건
+
+
+
+
+
+
+
+
+
+ + +
+
+
+ +
+ + + diff --git a/main_vm/src/main/webapp/WEB-INF/jsp/adm/common/error.jsp b/main_vm/src/main/webapp/WEB-INF/jsp/adm/common/error.jsp new file mode 100644 index 0000000..ecabc78 --- /dev/null +++ b/main_vm/src/main/webapp/WEB-INF/jsp/adm/common/error.jsp @@ -0,0 +1,22 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> + + + + + +ERROR + + + + + + +
+ + + +
오류발생 알림화면(허용되지 않는 요청을 하셨습니다)2
+ + \ No newline at end of file diff --git a/main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/A030301.html b/main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/A030301.html new file mode 100644 index 0000000..df67fb6 --- /dev/null +++ b/main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/A030301.html @@ -0,0 +1,446 @@ + + + + {{title}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

ICOMSYS ADMIN

+ + + + + + + +
+
+ +
+ + +
+
+
+
+

권한그룹편집

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
그룹명 +
+ +
+
그룹설명 +
+ +
+
소속사용자 * +
+
+ +
+ 사용자 추가 + + +
+
+
+
소속타이틀(필요시 사용)
+
    +
  • +
    + + +
    +
  • + +
  • +
    + + +
    +
  • + +
  • +
    + + +
    +
  • + +
  • +
    + + +
    +
  • + +
  • +
    + + +
    +
  • + +
  • +
    + + +
    +
  • + +
  • +
    + + +
    +
  • + +
  • +
    + + +
    +
  • + +
  • +
    + + +
    +
  • + +
  • +
    + + +
    +
  • + +
  • +
    + + +
    +
  • + +
  • +
    + + +
    +
  • +
+
+ + +
+
권한 + +
+
+
    +
  • root +
      +
    • 주소BOT +
        +
      • 지명 유사어 관리
      • +
      • 빌딩 유사어 관리
      • +
      • 유의어 전처리 관리
      • +
      • 주소봇 멘트 관리
      • +
      • 발화 건물유형 관리
      • +
      • 주소 월별 업데이트
      • +
      • 주소처리내역(녹취)
      • +
      +
    • +
    • BOT 공통 관리 +
        +
      • 서비스별관리 +
          +
        • 요일/시간대별 멘트 관리
        • +
        • 휴무일 관리
        • +
        • 자연어 전처리 관리
        • +
        +
      • +
      • 공통 코드 관리
      • +
      +
    • +
    • 무인접수BOT +
        +
      • 무인 접수 리스트
      • +
      • 제품군 유의어 관리
      • +
      +
    • +
    • 영상상담 +
        +
      • 컨텐츠등록 관리
      • +
      • 영상상담
      • +
      • 상담이력 조회
      • +
      +
    • +
    +
  • +
+
+
+
+
+
+ +
+
+ 취소 + 저장 +
+
+
+ +
+ + + \ No newline at end of file diff --git a/main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/commoncode.jsp b/main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/commoncode.jsp new file mode 100644 index 0000000..02c4e5c --- /dev/null +++ b/main_vm/src/main/webapp/WEB-INF/jsp/adm/common/system/commoncode.jsp @@ -0,0 +1,734 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + + + + 시나리오코드 + <%@ include file="/WEB-INF/jsp/adm/include/topLinkTag.jsp" %> + + + + + + +

ICOMSYS ADMIN

+ + + + + +
+ + + +
+ + + + +<%--

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

%sN#D*I?^G)y597AC2;rYGxne9nZ2k&>LBk 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 Vw?_HP$h{xv!}Iya}8AZ^k#Ue%Vibj-V4 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 z zRsWEGacIgStn3-cm?~-F@+jxS@9p`6$%LNin2yE>8GeSmEm$Iw z@4eJ$vp9EI;L#Y3#O3R|q*vmkTJVA@ zAb=Ju7ePf!PL|H~pr27;GWhBy-gl-Y0KT8&*)Ws1keC11TPZS)MOm8P2 zG=tr5nfo>0&U{S@e;|$il@5F;js6N0kz%~dKp?AiO=_;hSVm8PQDywA5SQS4!7?1t zFPcB9=D~0ZXSESL4rvT-j?}y+)qNTQ50(TGg}`Y*?m?=LlqtjE*Jst9c&*n)x~e(; z`b!VFM>h?Pj4YuKev787wy(QdLWzId{hQtl34C!~G3%Oh<+y&nt5ECmafjz$M{IkJ zp6q!>MYLL3StS_V5u^Awwg2iu8`-|A3#h4Qy|x0y%(Y?up6wK_{NMkQW+;{XZ0fY& zWKMi-vHx%-cLAl63vU{ZVrD&F8Y`pmm3J7inz-xNSqrxi|BqKT!$VFK>gQGm;^6`D zfyyh~C_}uhpK-13ue5d`7aMy&WV@TQBnEkwM6BlIT9Rm$fKEF4ypCly&$T|0>0LO! zfI3CAd=dy{L5f7940+BY<4r}z%I)D?r>z#bl6 zKGo%wWfp7v&(s^T;BMqcphEw(aEB>S|L4f;v2+`HN;b|J(Hwq~j1 zhhoV}S9BsG&va5BK1_;lH$yM3=B?dK<+i-MQrywgk7Q~Ik2`nEhPtTvw9N;Y733C| z)k2}?%p@wmc1rF+Ws+Y<0#eI1O+=kb8+5>|+xl

I~sT>QQ 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%0D^F|yuAr3b5Gs&P|MXGe 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