This repository has been archived by the owner on Dec 7, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
_자동화설계_프로세스맵구상.xaml
234 lines (234 loc) · 19.3 KB
/
_자동화설계_프로세스맵구상.xaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
<Activity mc:Ignorable="sap sap2010" x:Class="자동화설계_프로세스맵구상" VisualBasic.Settings="{x:Null}" sap:VirtualizedContainerService.HintSize="960.8,1421.6" sap2010:WorkflowViewState.IdRef="자동화설계_프로세스맵구상_액티비티선정_1" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:av="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:sap2010="http://schemas.microsoft.com/netfx/2010/xaml/activities/presentation" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=System.Private.CoreLib" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=System.Private.CoreLib" xmlns:ui="http://schemas.uipath.com/workflow/activities" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<TextExpression.NamespacesForImplementation>
<sco:Collection x:TypeArguments="x:String">
<x:String>System.Activities</x:String>
<x:String>System.Activities.Statements</x:String>
<x:String>System.Activities.Expressions</x:String>
<x:String>System.Activities.Validation</x:String>
<x:String>System.Activities.XamlIntegration</x:String>
<x:String>Microsoft.VisualBasic</x:String>
<x:String>Microsoft.VisualBasic.Activities</x:String>
<x:String>System</x:String>
<x:String>System.Collections</x:String>
<x:String>System.Collections.Generic</x:String>
<x:String>System.Collections.ObjectModel</x:String>
<x:String>System.Data</x:String>
<x:String>System.Diagnostics</x:String>
<x:String>System.Drawing</x:String>
<x:String>System.IO</x:String>
<x:String>System.Linq</x:String>
<x:String>System.Net.Mail</x:String>
<x:String>System.Xml</x:String>
<x:String>System.Xml.Linq</x:String>
<x:String>UiPath.Core</x:String>
<x:String>UiPath.Core.Activities</x:String>
<x:String>System.Windows.Markup</x:String>
<x:String>GlobalVariablesNamespace</x:String>
<x:String>GlobalConstantsNamespace</x:String>
</sco:Collection>
</TextExpression.NamespacesForImplementation>
<TextExpression.ReferencesForImplementation>
<sco:Collection x:TypeArguments="AssemblyReference">
<AssemblyReference>Microsoft.VisualBasic</AssemblyReference>
<AssemblyReference>mscorlib</AssemblyReference>
<AssemblyReference>System</AssemblyReference>
<AssemblyReference>System.Activities</AssemblyReference>
<AssemblyReference>System.ComponentModel.TypeConverter</AssemblyReference>
<AssemblyReference>System.Core</AssemblyReference>
<AssemblyReference>System.Data</AssemblyReference>
<AssemblyReference>System.Data.Common</AssemblyReference>
<AssemblyReference>System.Data.DataSetExtensions</AssemblyReference>
<AssemblyReference>System.Drawing</AssemblyReference>
<AssemblyReference>System.Drawing.Common</AssemblyReference>
<AssemblyReference>System.Drawing.Primitives</AssemblyReference>
<AssemblyReference>System.Linq</AssemblyReference>
<AssemblyReference>System.Net.Mail</AssemblyReference>
<AssemblyReference>System.ObjectModel</AssemblyReference>
<AssemblyReference>System.Private.CoreLib</AssemblyReference>
<AssemblyReference>System.Xaml</AssemblyReference>
<AssemblyReference>System.Xml</AssemblyReference>
<AssemblyReference>System.Xml.Linq</AssemblyReference>
<AssemblyReference>UiPath.System.Activities</AssemblyReference>
<AssemblyReference>UiPath.UiAutomation.Activities</AssemblyReference>
<AssemblyReference>UiPath.Studio.Constants</AssemblyReference>
<AssemblyReference>NPOI</AssemblyReference>
<AssemblyReference>UiPath.Excel.Activities.Design</AssemblyReference>
<AssemblyReference>System.Memory.Data</AssemblyReference>
<AssemblyReference>System.Console</AssemblyReference>
<AssemblyReference>System.Configuration.ConfigurationManager</AssemblyReference>
<AssemblyReference>System.Security.Permissions</AssemblyReference>
<AssemblyReference>System.ComponentModel</AssemblyReference>
<AssemblyReference>System.Memory</AssemblyReference>
<AssemblyReference>System.Private.Uri</AssemblyReference>
</sco:Collection>
</TextExpression.ReferencesForImplementation>
<Sequence sap2010:Annotation.AnnotationText="[일간 공연랭킹 리포트 작성]
예스24 웹사이트에서 일간 공연 랭킹을 추출하여 결과 파일 생성

[참고] 
dt_TransactionData = List<List<String>>
TransactionItem = List<String>
- 카테고리를 NavigateTo로 페이지 이동

프로젝트명 : RPA01_티켓랭킹_본인이름
결과 작업 폴더 : RPA_01_티켓랭킹_본인이름
결과 파일 명 : 티켓랭킹_yyyyMMdd.xlsx

[추가된 파일(Invoke) 정보]
Initalization > Framework\CreateFolderFile.xaml
 - 폴더, 파일 처리. 폴더 없으면 생성, 파일 있으면 삭제
Initalization > Framework\GetFullWebUrl.xaml
 - URL 정보 세팅 (상대 경로일 경우 도메인 붙여 full 경로 만들기)
End Process > Framework\ExcelLayoutStyle.xaml
 - 엑셀파일 레이아웃 정리

[Config 참고]
strResultFileName : 결과파일 (티켓랭킹_yyyyMMdd.xlsx)
strResultSaveFolder : 결과파일 저장 폴더
strWebURL : 데이터 추출할 웹 사이트 정보 (랭킹 링크 바로가기)" DisplayName="자동화설계_프로세스맵구상" sap:VirtualizedContainerService.HintSize="971.2,1356.8" sap2010:WorkflowViewState.IdRef="Sequence_1">
<sap:WorkflowViewStateService.ViewState>
<scg:Dictionary x:TypeArguments="x:String, x:Object">
<x:Boolean x:Key="IsExpanded">True</x:Boolean>
<x:Boolean x:Key="IsAnnotationDocked">True</x:Boolean>
</scg:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<ui:CommentOut DisplayName="Comment Out" sap:VirtualizedContainerService.HintSize="908.8,849.6" sap2010:WorkflowViewState.IdRef="CommentOut_1">
<ui:CommentOut.Body>
<Sequence DisplayName="Ignored Activities" sap:VirtualizedContainerService.HintSize="873.6,771.2" sap2010:WorkflowViewState.IdRef="Sequence_17">
<sap:WorkflowViewStateService.ViewState>
<scg:Dictionary x:TypeArguments="x:String, x:Object">
<x:Boolean x:Key="IsExpanded">True</x:Boolean>
</scg:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<StateMachine InitialState="{x:Reference __ReferenceID1}" DisplayName="프로세스 맵 구상하기" sap:VirtualizedContainerService.HintSize="811.2,659.2" sap2010:WorkflowViewState.IdRef="StateMachine_2">
<sap:WorkflowViewStateService.ViewState>
<scg:Dictionary x:TypeArguments="x:String, x:Object">
<x:Boolean x:Key="IsExpanded">True</x:Boolean>
<av:Point x:Key="ShapeLocation">10,22.4</av:Point>
<x:Double x:Key="StateContainerWidth">777.6</x:Double>
<x:Double x:Key="StateContainerHeight">622.8</x:Double>
<av:PointCollection x:Key="ConnectorLocation">70,56.24 100,56.24 100,89.84 271.59999999999997,89.84</av:PointCollection>
<x:Boolean x:Key="IsPinned">False</x:Boolean>
</scg:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<State x:Name="__ReferenceID1" sap2010:Annotation.AnnotationText="[초기화 영역]
1. Config.xlsx 설정
2. 브라우저(Chrome, Excel) 강제종료
3. 폴더, 파일 관리(폴더 있으면 삭제 후 생성, 파일 있으면 삭제)
4. 예스24 티켓 > 랭킹 카테고리 가져오기 (dt_TransactionData에 저장)
 4-1. 랭킹 카테고리 가져오기 (Find Children )
 4-2. -> List에 입력
5. 카테고리별 엑셀파일 사전 준비 - 시트 순서대로 작성되도록" DisplayName="Initialization" sap:VirtualizedContainerService.HintSize="428,201.6" sap2010:WorkflowViewState.IdRef="State_9">
<sap:WorkflowViewStateService.ViewState>
<scg:Dictionary x:TypeArguments="x:String, x:Object">
<av:Point x:Key="ShapeLocation">271.59999999999997,9.200000000000003</av:Point>
<av:Size x:Key="ShapeSize">428,201.6</av:Size>
<x:Boolean x:Key="IsPinned">False</x:Boolean>
<x:Double x:Key="StateContainerWidth">394.4000000000002</x:Double>
<x:Double x:Key="StateContainerHeight">25</x:Double>
<x:Boolean x:Key="IsAnnotationDocked">True</x:Boolean>
</scg:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<State.Transitions>
<Transition DisplayName="T1" sap2010:WorkflowViewState.IdRef="Transition_14">
<sap:WorkflowViewStateService.ViewState>
<scg:Dictionary x:TypeArguments="x:String, x:Object">
<av:PointCollection x:Key="ConnectorLocation">507,210.8 507,240.8 488.79999999999995,240.8 488.79999999999995,258</av:PointCollection>
<x:Int32 x:Key="SrcConnectionPointIndex">43</x:Int32>
<x:Int32 x:Key="DestConnectionPointIndex">38</x:Int32>
</scg:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<Transition.To>
<State x:Name="__ReferenceID0" sap2010:Annotation.AnnotationText="[처리할 데이터 세팅 영역]
1. 처리할 TransactionItem 체크" DisplayName="Get Transaction Data" sap:VirtualizedContainerService.HintSize="428.8,112.8" sap2010:WorkflowViewState.IdRef="State_8">
<sap:WorkflowViewStateService.ViewState>
<scg:Dictionary x:TypeArguments="x:String, x:Object">
<av:Point x:Key="ShapeLocation">274.4,258</av:Point>
<av:Size x:Key="ShapeSize">428.8,112.8</av:Size>
<x:Boolean x:Key="IsPinned">False</x:Boolean>
<x:Double x:Key="StateContainerWidth">395.2000000000001</x:Double>
<x:Double x:Key="StateContainerHeight">32.08000000000027</x:Double>
<x:Boolean x:Key="IsAnnotationDocked">True</x:Boolean>
</scg:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<State.Transitions>
<Transition DisplayName="New Transaction" sap2010:WorkflowViewState.IdRef="Transition_12">
<sap:WorkflowViewStateService.ViewState>
<scg:Dictionary x:TypeArguments="x:String, x:Object">
<av:PointCollection x:Key="ConnectorLocation">488.79999999999995,370.8 488.79999999999995,400.8 429.99999999999994,400.8 429.99999999999994,437.2</av:PointCollection>
<x:Int32 x:Key="SrcConnectionPointIndex">39</x:Int32>
<x:Int32 x:Key="DestConnectionPointIndex">38</x:Int32>
</scg:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<Transition.To>
<State x:Name="__ReferenceID3" sap2010:Annotation.AnnotationText="[프로세스 진행]
1. 카테고리 별 NavigateTo로 랭킹 페이지 이동
2. Merge용 데이터테이블 생성 - 스크래핑 결과 없을 경우 오류 방지
3. 베스트 영역 스크래핑 ([랭킹], [공연명], [공연기간 공연장소], [예매율])
4. 랭킹 영역 스크래핑 ( [랭킹], [공연명], [공연기간 공연장소], [예매율])
5. DataTable 합치고 컬럼 정리 ([랭킹], [공연명], [공연기간], [공연장소], [예매율])
6. 카테고리별로 엑셀에 쓰기" DisplayName="Process Transaction" sap:VirtualizedContainerService.HintSize="552.8,185.6" sap2010:WorkflowViewState.IdRef="State_6">
<sap:WorkflowViewStateService.ViewState>
<scg:Dictionary x:TypeArguments="x:String, x:Object">
<av:Point x:Key="ShapeLocation">153.59999999999997,437.2</av:Point>
<av:Size x:Key="ShapeSize">552.8,185.6</av:Size>
<x:Boolean x:Key="IsPinned">False</x:Boolean>
<x:Double x:Key="StateContainerWidth">519.2000000000002</x:Double>
<x:Double x:Key="StateContainerHeight">25</x:Double>
<x:Boolean x:Key="IsAnnotationDocked">True</x:Boolean>
</scg:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<State.Transitions>
<Transition DisplayName="처리성공" sap:VirtualizedContainerService.HintSize="448.8,510.4" sap2010:WorkflowViewState.IdRef="Transition_9">
<sap:WorkflowViewStateService.ViewState>
<scg:Dictionary x:TypeArguments="x:String, x:Object">
<av:PointCollection x:Key="ConnectorLocation">706.3999999999999,502.15999999999997 736.3999999999999,502.15999999999997 736.3999999999999,320.04 703.2,320.04</av:PointCollection>
<x:Int32 x:Key="SrcConnectionPointIndex">24</x:Int32>
<x:Int32 x:Key="DestConnectionPointIndex">40</x:Int32>
</scg:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<Transition.To>
<x:Reference>__ReferenceID0</x:Reference>
</Transition.To>
</Transition>
<Transition DisplayName="예외발생(비지니스)" sap2010:WorkflowViewState.IdRef="Transition_10">
<sap:WorkflowViewStateService.ViewState>
<scg:Dictionary x:TypeArguments="x:String, x:Object">
<av:PointCollection x:Key="ConnectorLocation">706.3999999999999,530 736.3999999999999,530 736.3999999999999,291.84000000000003 703.2,291.84000000000003</av:PointCollection>
<x:Int32 x:Key="SrcConnectionPointIndex">36</x:Int32>
<x:Int32 x:Key="DestConnectionPointIndex">20</x:Int32>
</scg:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<Transition.To>
<x:Reference>__ReferenceID0</x:Reference>
</Transition.To>
</Transition>
<Transition DisplayName="예외발생" sap2010:WorkflowViewState.IdRef="Transition_11">
<sap:WorkflowViewStateService.ViewState>
<scg:Dictionary x:TypeArguments="x:String, x:Object">
<av:PointCollection x:Key="ConnectorLocation">706.3999999999999,557.84 736.3999999999999,557.84 736.3999999999999,99.92 699.5999999999999,99.92</av:PointCollection>
<x:Int32 x:Key="SrcConnectionPointIndex">48</x:Int32>
<x:Int32 x:Key="DestConnectionPointIndex">32</x:Int32>
</scg:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<Transition.To>
<x:Reference>__ReferenceID1</x:Reference>
</Transition.To>
</Transition>
</State.Transitions>
</State>
</Transition.To>
</Transition>
<Transition DisplayName="No Data" sap2010:WorkflowViewState.IdRef="Transition_13">
<sap:WorkflowViewStateService.ViewState>
<scg:Dictionary x:TypeArguments="x:String, x:Object">
<av:PointCollection x:Key="ConnectorLocation">445.91999999999996,370.8 445.91999999999996,400.8 148.64000000000004,400.8 148.64000000000004,380.79999999999995</av:PointCollection>
<x:Int32 x:Key="SrcConnectionPointIndex">31</x:Int32>
<x:Int32 x:Key="DestConnectionPointIndex">47</x:Int32>
</scg:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<Transition.To>
<State x:Name="__ReferenceID2" sap2010:Annotation.AnnotationText="[마지막 및 정리 작업]
1. 엑셀 레이아웃 정리
2. 브라우저 닫기" DisplayName="End Process" sap:VirtualizedContainerService.HintSize="242.4,121.6" sap2010:WorkflowViewState.IdRef="State_7" IsFinal="True">
<sap:WorkflowViewStateService.ViewState>
<scg:Dictionary x:TypeArguments="x:String, x:Object">
<av:Point x:Key="ShapeLocation">3.200000000000003,259.2</av:Point>
<av:Size x:Key="ShapeSize">242.4,121.6</av:Size>
<x:Boolean x:Key="IsPinned">False</x:Boolean>
<x:Double x:Key="StateContainerWidth">208.79999999999995</x:Double>
<x:Double x:Key="StateContainerHeight">25</x:Double>
<x:Boolean x:Key="IsAnnotationDocked">True</x:Boolean>
</scg:Dictionary>
</sap:WorkflowViewStateService.ViewState>
</State>
</Transition.To>
</Transition>
</State.Transitions>
</State>
</Transition.To>
</Transition>
<Transition DisplayName="예외처리" sap2010:WorkflowViewState.IdRef="Transition_15">
<sap:WorkflowViewStateService.ViewState>
<scg:Dictionary x:TypeArguments="x:String, x:Object">
<av:PointCollection x:Key="ConnectorLocation">464.19999999999993,210.8 464.19999999999993,240.8 88.04,240.8 88.04,259.2</av:PointCollection>
<x:Int32 x:Key="SrcConnectionPointIndex">35</x:Int32>
<x:Int32 x:Key="DestConnectionPointIndex">26</x:Int32>
</scg:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<Transition.To>
<x:Reference>__ReferenceID2</x:Reference>
</Transition.To>
</Transition>
</State.Transitions>
</State>
<x:Reference>__ReferenceID2</x:Reference>
<x:Reference>__ReferenceID0</x:Reference>
<x:Reference>__ReferenceID3</x:Reference>
</StateMachine>
</Sequence>
</ui:CommentOut.Body>
</ui:CommentOut>
</Sequence>
</Activity>