개정판 41fa3d98
issue #1123: docinfo update 수정. ignore true 옵션 추가.
Change-Id: I82f28d36d2485116fc009ec008ccb05ae48cc2ad
ConvertService/ServiceBase/ConvertionWebService/Conversion.asmx.cs | ||
---|---|---|
101 | 101 |
} |
102 | 102 |
|
103 | 103 |
[WebMethod] |
104 |
public string ConvertRunIgnoreComment(string rev_No, string document_No, string document_Name, string group_No, string prj_No, string document_Id, string document_Url, string ignoreComment) |
|
105 |
{ |
|
106 |
string _result = null; |
|
107 |
try |
|
108 |
{ |
|
109 |
using (DeepView_Entity deepViewEntity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString())) |
|
110 |
{ |
|
111 |
//_result = ConnectStringBuilder.DeepViewConnectionString().ToString(); |
|
112 |
//var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO == projNumber && DateTime.Parse(r.RUN_DATETIME)<= DateTime.Now); |
|
113 |
//var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO == projNumber); |
|
114 |
var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO != null); |
|
115 |
|
|
116 |
if (_RunProjects.Count() > 0) |
|
117 |
{ |
|
118 |
_result = SendKcom(rev_No, document_No, document_Name, group_No, prj_No, document_Id, document_Url,ignoreComment); |
|
119 |
} |
|
120 |
else |
|
121 |
{ |
|
122 |
_result = false.ToString(); |
|
123 |
} |
|
124 |
} |
|
125 |
} |
|
126 |
catch (Exception ex) |
|
127 |
{ |
|
128 |
_result = ex.Message.ToString(); |
|
129 |
SendNotice("Project NO : " + prj_No + "\r\n DocumentUrl : " + document_Url + "\r\n Error" + ex.ToString()); |
|
130 |
} |
|
131 |
return _result; |
|
132 |
} |
|
133 |
|
|
134 |
private string SendKcom(string rev_No, string document_No, string document_Name, string group_No, string prj_No, string document_Id, string document_Url, string ignoreComment) |
|
135 |
{ |
|
136 |
string result = false.ToString(); |
|
137 |
|
|
138 |
if (remObj == null) |
|
139 |
{ |
|
140 |
result = "Window Service Connection Error"; |
|
141 |
} |
|
142 |
else |
|
143 |
{ |
|
144 |
//string _id = GetGuid(0, GuidGenerator.GetUniqueGuid()).ToString(); |
|
145 |
string _id = shortGuid(); |
|
146 |
string _doc_id = ((UInt32)document_Id.GetHashCode()).ToString(); |
|
147 |
|
|
148 |
using (DeepView_Entity _entity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString())) |
|
149 |
{ |
|
150 |
var doc = _entity.DOCUMENT_ITEM.Where(d => d.ID == document_Id).FirstOrDefault(); |
|
151 |
if (doc != null) |
|
152 |
{ |
|
153 |
if (bool.Parse(ignoreComment)) |
|
154 |
{ |
|
155 |
try |
|
156 |
{ |
|
157 |
var docinfo = _entity.DOCINFO.Where(x => x.DOCUMENT_ID == doc.DOCUMENT_ID).FirstOrDefault(); |
|
158 |
var markupinfos = _entity.MARKUP_INFO.Where(x => x.DOCINFO_ID == docinfo.ID).ToList(); |
|
159 |
foreach (var markupinfo in markupinfos) |
|
160 |
{ |
|
161 |
var markupinfoversions = _entity.MARKUP_INFO_VERSION.Where(x => x.MARKUPINFO_ID == markupinfo.ID).ToList(); |
|
162 |
foreach (var markupinfoversion in markupinfoversions) |
|
163 |
{ |
|
164 |
var markupdatas = _entity.MARKUP_DATA.Where(x => x.MARKUPINFO_VERSION_ID == markupinfoversion.ID).ToList(); |
|
165 |
foreach (var markupdata in markupdatas) |
|
166 |
{ |
|
167 |
_entity.DeleteObject(markupdata); |
|
168 |
} |
|
169 |
_entity.DeleteObject(markupinfoversion); |
|
170 |
} |
|
171 |
_entity.DeleteObject(markupinfo); |
|
172 |
} |
|
173 |
_entity.SaveChanges(); |
|
174 |
} |
|
175 |
catch (Exception ex) |
|
176 |
{ |
|
177 |
result = "deleteobject error:"+ex.ToString(); |
|
178 |
} |
|
179 |
|
|
180 |
} |
|
181 |
var converterdoc = _entity.CONVERTER_DOC.Where(c => c.DOCUMENT_ID == doc.DOCUMENT_ID).FirstOrDefault(); |
|
182 |
_entity.DeleteObject(converterdoc); |
|
183 |
_entity.DeleteObject(doc); |
|
184 |
_entity.SaveChanges(); |
|
185 |
document_Url = HttpUtility.UrlDecode(document_Url); |
|
186 |
} |
|
187 |
int cnt = _entity.DOCUMENT_ITEM.ToList().Count; |
|
188 |
if (string.IsNullOrEmpty(group_No)) |
|
189 |
{ |
|
190 |
group_No = "0"; |
|
191 |
} |
|
192 |
if (!prj_No.Equals("150128")) |
|
193 |
{ |
|
194 |
//Omsk 는 웹서비스 호출 시 인코딩 |
|
195 |
//Omsk 제외는 Markus 에서 인코딩 |
|
196 |
document_Url = HttpUtility.UrlEncodeUnicode(document_Url); |
|
197 |
} |
|
198 |
_entity.AddToDOCUMENT_ITEM(new DOCUMENT_ITEM |
|
199 |
{ |
|
200 |
ID = document_Id, |
|
201 |
REVISION = rev_No, |
|
202 |
DOCUMENT_NO = document_No, |
|
203 |
DOCUMENT_NAME = document_Name, |
|
204 |
GROUP_NO = group_No, |
|
205 |
ORIGINAL_FILE = document_Url, |
|
206 |
DOCUMENT_ID = _doc_id, |
|
207 |
PROJECT_NO = prj_No, |
|
208 |
}); |
|
209 |
_entity.AddToCONVERTER_DOC(new CONVERTER_DOC |
|
210 |
{ |
|
211 |
ID = _id, |
|
212 |
CREATE_DATETIME = DateTime.Now, |
|
213 |
DOCUMENT_URL = document_Url, |
|
214 |
PROJECT_NO = prj_No, |
|
215 |
DOCUMENT_ID = _doc_id, |
|
216 |
}); |
|
217 |
_entity.SaveChanges(); |
|
218 |
} |
|
219 |
|
|
220 |
if (Properties.Settings.Default.MARKUS_V3_PROJECTS.Split(',').Contains(prj_No)) |
|
221 |
{ |
|
222 |
try |
|
223 |
{ |
|
224 |
System.Net.WebClient client = new System.Net.WebClient(); |
|
225 |
var convertResult = client.DownloadString($"{Properties.Settings.Default.MARKUS_V3_ADDRESS}/Rest/ConvertAdd?ProjectNo={prj_No}&DocumentID={_id}"); |
|
226 |
|
|
227 |
JObject jObject = JObject.Parse(convertResult, new JsonLoadSettings()); |
|
228 |
result = jObject["ConvertAddResult"].ToString(); |
|
229 |
} |
|
230 |
catch (Exception ex) |
|
231 |
{ |
|
232 |
result = $"Markus V3 Connect Error {ex.Message}"; |
|
233 |
} |
|
234 |
} |
|
235 |
else |
|
236 |
{ |
|
237 |
var convertResult = remObj.SetConverterPDF(prj_No, _id); |
|
238 |
|
|
239 |
if (convertResult.Exception != null) |
|
240 |
{ |
|
241 |
result = false.ToString(); |
|
242 |
} |
|
243 |
else |
|
244 |
{ |
|
245 |
result = true.ToString(); |
|
246 |
} |
|
247 |
} |
|
248 |
|
|
249 |
} |
|
250 |
|
|
251 |
return result; |
|
252 |
} |
|
253 |
[WebMethod] |
|
104 | 254 |
public string ManualConvert(string rev_No, string document_No, string document_Name, string group_No, string prj_No, string document_Id, string document_Url) |
105 | 255 |
{ |
106 | 256 |
string _result = null; |
... | ... | |
238 | 388 |
return _result; |
239 | 389 |
} |
240 | 390 |
[WebMethod] |
241 |
public string UpdateVP(string EnsembleId, string rev_No, string document_No, string document_Name) |
|
391 |
public string UpdateVP(string EnsembleId, string rev_No, string document_No, string document_Name, string pdf_url)
|
|
242 | 392 |
{ |
243 | 393 |
string _result = null; |
244 | 394 |
try |
... | ... | |
252 | 402 |
doc.DOCUMENT_NO = document_No; |
253 | 403 |
if (!string.IsNullOrEmpty(document_Name)) |
254 | 404 |
doc.DOCUMENT_NAME = document_Name; |
405 |
if (!string.IsNullOrEmpty(pdf_url)) |
|
406 |
{ |
|
407 |
string url = pdf_url; |
|
408 |
if (!doc.PROJECT_NO.Equals("150128")) |
|
409 |
{ |
|
410 |
url = HttpUtility.UrlEncodeUnicode(url); |
|
411 |
} |
|
412 |
doc.ORIGINAL_FILE = url; |
|
413 |
} |
|
255 | 414 |
deepViewEntity.SaveChanges(); |
256 | 415 |
} |
257 | 416 |
} |
... | ... | |
385 | 544 |
|
386 | 545 |
return result; |
387 | 546 |
} |
547 |
|
|
388 | 548 |
private string ManualSendKcom(string rev_No, string document_No, string document_Name, string group_No, string prj_No, string document_Id, string document_Url) |
389 | 549 |
{ |
390 | 550 |
if (remObj == null) |
ConvertService/ServiceBase/Markus.Service.DataBase/ConvertDatabase.cs | ||
---|---|---|
138 | 138 |
string docId = new Guid().CreateUniqueGuid().ToString(); |
139 | 139 |
|
140 | 140 |
var docinfo = entities.DOCINFO.FirstOrDefault(x => x.PROJECT_NO == convertDoc.PROJECT_NO && x.DOCUMENT_ID == convertDoc.DOCUMENT_ID); |
141 |
|
|
141 |
|
|
142 | 142 |
if (docinfo != null) |
143 | 143 |
{ |
144 |
// 기존 코멘트 유지 |
|
145 |
docId = docinfo.ID; |
|
144 |
// 기존 Docpage 삭제. |
|
146 | 145 |
entities.DOCPAGE.RemoveRange(docinfo.DOCPAGE); |
147 |
entities.DOCINFO.Remove(docinfo); |
|
146 |
|
|
147 |
// 기존 코멘트 유지를 위한 Docinfo update |
|
148 |
docinfo.PROJECT_NO = convertDoc.PROJECT_NO; |
|
149 |
docinfo.ORIGINAL_FILE = convertDoc.DOCUMENT_URL; |
|
150 |
docinfo.PAGE_COUNT = totalPage; |
|
151 |
docinfo.DOCPAGE = pageinfo; |
|
148 | 152 |
entities.SaveChanges(); |
153 |
result = true; |
|
149 | 154 |
} |
150 |
|
|
151 |
DOCINFO instace = new DOCINFO |
|
152 |
{ |
|
153 |
ID = docId, |
|
154 |
PROJECT_NO = convertDoc.PROJECT_NO, |
|
155 |
ORIGINAL_FILE = convertDoc.DOCUMENT_URL, |
|
156 |
DOCUMENT_ID = convertDoc.DOCUMENT_ID, |
|
157 |
PAGE_COUNT = totalPage, |
|
158 |
DOCPAGE = pageinfo |
|
159 |
}; |
|
160 |
|
|
161 |
entities.DOCINFO.Add(instace); |
|
162 |
var save = entities.SaveChanges(); |
|
163 |
|
|
164 |
if (save == pageinfo.Count() + 1) |
|
155 |
else |
|
165 | 156 |
{ |
166 |
result = true; |
|
157 |
DOCINFO instace = new DOCINFO |
|
158 |
{ |
|
159 |
ID = docId, |
|
160 |
PROJECT_NO = convertDoc.PROJECT_NO, |
|
161 |
ORIGINAL_FILE = convertDoc.DOCUMENT_URL, |
|
162 |
DOCUMENT_ID = convertDoc.DOCUMENT_ID, |
|
163 |
PAGE_COUNT = totalPage, |
|
164 |
DOCPAGE = pageinfo |
|
165 |
}; |
|
166 |
|
|
167 |
entities.DOCINFO.Add(instace); |
|
168 |
var save = entities.SaveChanges(); |
|
169 |
|
|
170 |
if (save == pageinfo.Count() + 1) |
|
171 |
{ |
|
172 |
result = true; |
|
173 |
} |
|
167 | 174 |
} |
175 |
|
|
176 |
|
|
177 |
|
|
168 | 178 |
} |
169 | 179 |
|
170 | 180 |
return result; |
내보내기 Unified diff