|
@@ -1279,6 +1279,146 @@ namespace CLIP.eForm.Consent.WebService {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+ #region 사용자 서명이미지 저장 코드
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 사용자에 대한 서명 이미지를 저장한다.
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="instCd"></param>
|
|
|
+ /// <param name="userId"></param>
|
|
|
+ /// <param name="signSeq"></param>
|
|
|
+ /// <param name="inptId"></param>
|
|
|
+ /// <param name="signImage">base64로 변환된 사인이미지 데이터</param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [WebMethod(Description = "서명 이미지 저장")]
|
|
|
+ public String setSignImage(string instCd, string userId, string signSeq, string inptId, string signImage)
|
|
|
+ {
|
|
|
+ ISqlMapper mapper = IbatisMapper;
|
|
|
+ UserSignDataVo signData = null;
|
|
|
+ byte[] decodedImage = Convert.FromBase64String(signImage);
|
|
|
+
|
|
|
+ string result = "0";
|
|
|
+ try
|
|
|
+ {
|
|
|
+ using (UserDac dac = new UserDac())
|
|
|
+ {
|
|
|
+ Hashtable param = new Hashtable();
|
|
|
+
|
|
|
+ //받아온 사용자의 사인데이터를 조회
|
|
|
+ param.Add("instCd", instCd);
|
|
|
+ param.Add("userId", userId);
|
|
|
+ signData = dac.getUserSignDataInfo(mapper, param);
|
|
|
+
|
|
|
+ //사인데이터가 있을 경우
|
|
|
+ if (signData != null)
|
|
|
+ {
|
|
|
+ string today = DateTime.Now.ToString("yyyyMMdd");
|
|
|
+ string yesterday = DateTime.Now.AddDays(-1).ToString("yyyyMMdd");
|
|
|
+ //해당 사인데이터가 오늘 저장된 것이 아니라면 오늘날짜로 새로 저장하고 이전 데이터의 유효기간을 마감시킨다.
|
|
|
+ if (!signData.signImgeFromDd.Equals(today))
|
|
|
+ {
|
|
|
+ insSignImage(instCd, userId, signData.signImgeSeqNo + 1, decodedImage, inptId, dac, mapper);
|
|
|
+ setSignToDd(instCd, userId, signData.signImgeSeqNo, yesterday, "N", inptId, dac, mapper);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ // 사인데이터가 오늘 저장된 것이라면 사인데이터를 업데이트 해준다.
|
|
|
+ param = new Hashtable();
|
|
|
+ param.Add("instCd", instCd);
|
|
|
+ param.Add("userId", userId);
|
|
|
+ param.Add("curSeqNo", signData.signImgeSeqNo);
|
|
|
+ param.Add("signData", decodedImage);
|
|
|
+ param.Add("inptUser", inptId);
|
|
|
+ dac.setUserSignData(mapper, param);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //사인데이터가 없으면 그대로 저장
|
|
|
+ insSignImage(instCd,
|
|
|
+ userId,
|
|
|
+ int.TryParse(signSeq, out int res) ? res : 1,
|
|
|
+ decodedImage,
|
|
|
+ inptId,
|
|
|
+ dac,
|
|
|
+ mapper);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ result = "1";
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm setSignImage error: {0}", ex.Message));
|
|
|
+ throw ex;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 서명이미지를 생성한다.
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="instCd"></param>
|
|
|
+ /// <param name="userId"></param>
|
|
|
+ /// <param name="nextSeqNo"></param>
|
|
|
+ /// <param name="signImage"></param>
|
|
|
+ /// <param name="inptId"></param>
|
|
|
+ /// <param name="dac"></param>
|
|
|
+ /// <param name="mapper"></param>
|
|
|
+ private void insSignImage(string instCd, string userId, int nextSeqNo, byte[] signImage, string inptId, UserDac dac, ISqlMapper mapper)
|
|
|
+ {
|
|
|
+ Hashtable param = new Hashtable();
|
|
|
+ param.Add("instCd", instCd);
|
|
|
+ param.Add("userId", userId);
|
|
|
+ param.Add("nextSeqNo", nextSeqNo);
|
|
|
+ param.Add("signData", signImage);
|
|
|
+ param.Add("inputUserId", inptId);
|
|
|
+ dac.insSignImage(mapper, param);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 사용자 사인데이터의 ToDd를 설정한다
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="instCd"></param>
|
|
|
+ /// <param name="userId"></param>
|
|
|
+ /// <param name="curSeqNo"></param>
|
|
|
+ /// <param name="toDd"></param>
|
|
|
+ /// <param name="repryn"></param>
|
|
|
+ /// <param name="inptUser"></param>
|
|
|
+ /// <param name="dac"></param>
|
|
|
+ /// <param name="mapper"></param>
|
|
|
+ private void setSignToDd(string instCd, string userId, int curSeqNo, string toDd, string repryn, string inptUser, UserDac dac, ISqlMapper mapper)
|
|
|
+ {
|
|
|
+ Hashtable param = new Hashtable();
|
|
|
+ param.Add("instCd", instCd);
|
|
|
+ param.Add("userId", userId);
|
|
|
+ param.Add("curSeqNo", curSeqNo);
|
|
|
+ param.Add("yesterDay", toDd);
|
|
|
+ param.Add("repryn", repryn);
|
|
|
+ param.Add("inptUser", inptUser);
|
|
|
+
|
|
|
+ dac.setUserSignToDd(mapper, param);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 사용자에 대한 서명정보 조회
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="instCd"></param>
|
|
|
+ /// <param name="userId"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [WebMethod(Description = "서명 이미지 조회")]
|
|
|
+ public UserSignDataVo getUserSignDataInfo(string instCd, string userId)
|
|
|
+ {
|
|
|
+ UserSignDataVo result = null;
|
|
|
+ UserDac dac = new UserDac();
|
|
|
+ Hashtable param = new Hashtable();
|
|
|
+ param.Add("instCd", instCd);
|
|
|
+ param.Add("userId", userId);
|
|
|
+
|
|
|
+ result = dac.getUserSignDataInfo(IbatisMapper, param);
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ #endregion
|
|
|
}
|
|
|
-}
|
|
|
+}
|