123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289 |
- #region Copyright © 2015 CLIPSOFT Co.,Ltd. All Rights Reserved.
- //
- // All rights are reserved. Reproduction or transmission in whole or in part,
- // in any form or by any means, electronic, mechanical or otherwise, is
- // prohibited without the prior written consent of the copyright owner.
- //
- // Filename:Common.cs
- //
- #endregion
- using System.Collections.Generic;
- using System.Text;
- namespace CLIP.eForm.Consent.Dfh.UI
- {
- /// <summary>
- /// Global Parameter를 생성하기 위한 클래스
- /// </summary>
- /// <remarks>
- /// <p>[설계자]</p>
- /// <p> 클립소프트 연구소 홍지철 (jchong@clipsoft.co.kr)</p>
- /// <p>[원본 작성자]</p>
- /// <p> 클립소프트 연구소 홍지철 (jchong@clipsoft.co.kr)</p>
- /// <p>[수정 작성자]</p>
- /// <p> 클립소프트 기술부 이인희</p>
- /// <p>----------------------------------------------------------------------------------------</p>
- /// <p>[HISTORY]</p>
- /// <p> 2015-08-06 : 최초작성</p>
- /// <p>----------------------------------------------------------------------------------------</p>
- /// </remarks>
- public class Common
- {
- public static Dictionary<string, string> CreateGlobalParamsDictionary()
- {
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("UrlParam", string.Empty); // 팝업창 Url
- dic.Add("IO_device", string.Empty); // 출력기기
- dic.Add("IO_ocr_cd", string.Empty); // ocr 코드
- dic.Add("IO_Pt_ID", string.Empty); //
- dic.Add("IO_sex_age_y_m", string.Empty); //
- dic.Add("IO_Pt_name", string.Empty); //
- dic.Add("IO_JuminNo", string.Empty); //
- dic.Add("IO_roomNo", string.Empty); //
- dic.Add("IO_ADdate", string.Empty); //
- dic.Add("IO_Dept", string.Empty); //
- dic.Add("IO_Dept2", string.Empty); // 진료과명
- dic.Add("IO_formname", string.Empty); //
- dic.Add("IO_OPdept", string.Empty); //
- dic.Add("IO_OPdr", string.Empty); //
- dic.Add("IO_Dx", string.Empty); // 진단명
- dic.Add("IO_maindr", string.Empty); // 주치의
- dic.Add("IO_PT_birthday", string.Empty); // 환자 생년월일
- dic.Add("IO_Pt_tel", string.Empty); // 환자 주소
- dic.Add("IO_Pt_address", string.Empty); // 환자 번호
- dic.Add("IO_Insukind", string.Empty); // 환자 보험유형
- dic.Add("IO_print_comment", string.Empty); // 출력용 멘트(2부째 찍힐때는 '환자보관용', 3부째는 찍힐때는 '센터보관용')
- dic.Add("IO_bp", string.Empty); //
- dic.Add("IO_dm", string.Empty); //
- dic.Add("IO_heart", string.Empty); //
- dic.Add("IO_kidney", string.Empty); //
- dic.Add("IO_respiration", string.Empty); //
- dic.Add("IO_hx", string.Empty); //
- dic.Add("IO_allergy", string.Empty); //
- dic.Add("IO_drug", string.Empty); //
- dic.Add("IO_smoking", string.Empty); //
- dic.Add("IO_idio", string.Empty); //
- dic.Add("IO_nacrotics", string.Empty); //
- dic.Add("IO_airway", string.Empty); //
- dic.Add("IO_hemorrhage", string.Empty); //
- dic.Add("IO_status_etc", string.Empty); //
- dic.Add("IO_signdate", string.Empty); //
- dic.Add("IO_signtime", string.Empty); //
- dic.Add("IO_printtime", string.Empty); // 출력일시
- dic.Add("IO_INPUTNM", string.Empty); //
- dic.Add("IO_SIGNIMG", string.Empty); //
- return dic;
- }
- /// <summary>
- /// param, guid값을 넘겨받아 그를 포함하는 fos를 리턴한다.
- /// </summary>
- /// <param name="guid"></param>
- /// <param name="fosParams"></param>
- /// <returns></returns>
- public static string GetFosString(List<string> guids, string formServiceUrl, Dictionary<string, string> fosGlobalParams, Dictionary<string, Dictionary<string, string>> fosFormParams)
- {
- StringBuilder fos = new StringBuilder();
- fos.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
- fos.Append("<fos version=\"1.0\">");
- fos.Append("<global>");
- fos.Append(GetParamsString(fosGlobalParams));
- fos.Append(string.Format("<page-template path=\"{0}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", formServiceUrl));
- fos.Append("<template-get-parameters>");
- fos.Append("<post-param key=\"OP\"><![CDATA[PAGE_TEMPLATE]]></post-param>");
- fos.Append("<post-param key=\"PD\"><![CDATA[<data>");
- fos.Append("<action>GET_LIST</action>");
- fos.Append("<params>");
- fos.Append("<param name='adaptername'>defaultadapter</param>");
- fos.Append("</params>");
- fos.Append("</data>]]></post-param>");
- fos.Append("</template-get-parameters>");
- fos.Append("</page-template>");
- fos.Append("</global>");
- fos.Append("<form-list>");
- int openSeq = 1;
- foreach (string guid in guids)
- {
- fos.Append(string.Format("<form name=\"noname\" open-sequence=\"{0}\" path=\"{1}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", openSeq, formServiceUrl));
- fos.Append("<parameters>");
- if (fosFormParams != null)
- {
- if (fosFormParams.ContainsKey(guid))
- {
- Dictionary<string, string> fosFormParamsByGuid = fosFormParams[guid];
- foreach (string paramKey in fosFormParamsByGuid.Keys)
- {
- fos.Append(string.Format("<param name='{0}'><![CDATA[{1}]]></param>", paramKey, fosFormParamsByGuid[paramKey]));
- }
- }
- }
- fos.Append("</parameters>");
- fos.Append("<form-get-parameters>");
- fos.Append("<post-param key=\"OP\"><![CDATA[VIEWER_FORM]]></post-param>");
- fos.Append("<post-param key=\"PD\"><![CDATA[<data>");
- fos.Append("<action>GET</action>");
- fos.Append("<params>");
- fos.Append("<param name='adaptername'>defaultadapter</param>");
- fos.Append("<param name='type'>guid</param>");
- fos.Append(string.Format("<param name='guid'>{0}</param>", guid));
- fos.Append("<param name='version'>-1</param>");
- fos.Append("</params>");
- fos.Append("</data>]]></post-param>");
- fos.Append("</form-get-parameters>");
- fos.Append("</form>");
- openSeq++;
- }
- fos.Append("</form-list>");
- fos.Append(" </fos>");
- return fos.ToString();
- }
- /// <summary>
- /// param, guid값을 넘겨받아 그를 포함하는 fos를 리턴한다.
- /// </summary>
- /// <param name="guid"></param>
- /// <param name="fosParams"></param>
- /// <returns></returns>
- public static string GetMultiFosString(string[] guids, string formServiceUrl, Dictionary<string, string> fosGlobalParams, Dictionary<string, Dictionary<string, string>> fosFormParams)
- {
- StringBuilder fos = new StringBuilder();
- fos.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
- fos.Append("<fos version=\"1.0\">");
- fos.Append("<global>");
- fos.Append("<parameters>");
- if (fosGlobalParams != null) { fos.Append(GetParamsString(fosGlobalParams)); }
- fos.Append("</parameters>");
- fos.Append(string.Format("<page-template path=\"{0}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", formServiceUrl));
- fos.Append("<template-get-parameters>");
- fos.Append("<post-param key=\"OP\"><![CDATA[PAGE_TEMPLATE]]></post-param>");
- fos.Append("<post-param key=\"PD\"><![CDATA[<data>");
- fos.Append("<action>GET_LIST</action>");
- fos.Append("<params>");
- fos.Append("<param name='adaptername'>defaultadapter</param>");
- fos.Append("</params>");
- fos.Append("</data>]]></post-param>");
- fos.Append("</template-get-parameters>");
- fos.Append("</page-template>");
- fos.Append("</global>");
- fos.Append("<form-list>");
- int openSeq = 1;
- foreach (string guid in guids)
- {
- fos.Append(string.Format("<form name=\"noname\" open-sequence=\"{0}\" path=\"{1}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", openSeq, formServiceUrl));
- fos.Append("<parameters>");
- if (fosFormParams != null)
- {
- if (fosFormParams.ContainsKey(openSeq.ToString()))
- {
- Dictionary<string, string> fosFormParamsByGuid = fosFormParams[openSeq.ToString()];
- foreach (string paramKey in fosFormParamsByGuid.Keys)
- {
- fos.Append(string.Format("<param key='{0}'><![CDATA[{1}]]></param>", paramKey, fosFormParamsByGuid[paramKey]));
- }
- }
- }
- fos.Append("</parameters>");
- fos.Append("<form-get-parameters>");
- fos.Append("<post-param key=\"OP\"><![CDATA[VIEWER_FORM]]></post-param>");
- fos.Append("<post-param key=\"PD\"><![CDATA[<data>");
- fos.Append("<action>GET</action>");
- fos.Append("<params>");
- fos.Append("<param name='adaptername'>defaultadapter</param>");
- fos.Append("<param name='type'>guid</param>");
- fos.Append(string.Format("<param name='guid'>{0}</param>", guid));
- fos.Append("<param name='version'>-1</param>");
- fos.Append("</params>");
- fos.Append("</data>]]></post-param>");
- fos.Append("</form-get-parameters>");
- fos.Append("</form>");
- openSeq++;
- }
- fos.Append("</form-list>");
- fos.Append(" </fos>");
- return fos.ToString();
- }
- /// <summary>
- /// param, guid값을 넘겨받아 그를 포함하는 fos를 리턴한다.
- /// </summary>
- /// <param name="actionParams"></param>
- /// <param name="formServiceUrl"></param>
- /// <returns></returns>
- public static string GetFosStringForEpt(Dictionary<string, string> actionParams, string formServiceUrl, Dictionary<string, string> fosGlobalParams)
- {
- StringBuilder fos = new StringBuilder();
- fos.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
- fos.Append("<fos version=\"1.0\">");
- fos.Append("<global>");
- fos.Append(GetParamsString(fosGlobalParams));
- fos.Append(string.Format("<page-template path=\"{0}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", formServiceUrl));
- fos.Append("<template-get-parameters>");
- fos.Append("<post-param key=\"OP\"><![CDATA[PAGE_TEMPLATE]]></post-param>");
- fos.Append("<post-param key=\"PD\"><![CDATA[<data>");
- fos.Append("<action>GET_LIST</action>");
- fos.Append("<params>");
- fos.Append("<param name='adaptername'>defaultadapter</param>");
- fos.Append("</params>");
- fos.Append("</data>]]></post-param>");
- fos.Append("</template-get-parameters>");
- fos.Append("</page-template>");
- fos.Append("</global>");
- fos.Append("<form-list>");
- fos.Append(string.Format("<form name=\"noname\" open-sequence=\"1\" path=\"{0}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", formServiceUrl));
- fos.Append("<parameters />");
- fos.Append("<form-get-parameters>");
- fos.Append("<post-param key=\"OP\"><![CDATA[VIEWER_DATA]]></post-param>");
- fos.Append("<post-param key=\"PD\"><![CDATA[<data>");
- fos.Append("<action>GET_DATA</action>");
- fos.Append("<params>");
- fos.Append("<param name='adaptername'>defaultadapter</param>");
- foreach (string paramKey in actionParams.Keys)
- {
- fos.Append(string.Format("<param name='{0}'>{1}</param>", paramKey, actionParams[paramKey]));
- }
- fos.Append("</params>");
- fos.Append("</data>]]></post-param>");
- fos.Append("</form-get-parameters>");
- fos.Append("</form>");
- fos.Append("</form-list>");
- fos.Append("</fos>");
- return fos.ToString();
- }
- private static string GetParamsString(Dictionary<string, string> fosParams)
- {
- StringBuilder parametersOfFos = new StringBuilder();
- parametersOfFos.Append("<parameters>");
- foreach (string paramKey in fosParams.Keys)
- {
- parametersOfFos.AppendFormat("<param key=\"{0}\"><![CDATA[{1}]]></param>", paramKey, fosParams[paramKey]);
- }
- parametersOfFos.Append("</parameters>");
- return parametersOfFos.ToString();
- }
- }
- }
|