using System.Collections.Generic; using IBatisNet.DataMapper; using SEIeSCM.Models.Dto.SCMDL; using SEIeSCM.Models.Dto; using System; using System.Text; using System.Net; using System.Net.Mail; using System.Text.RegularExpressions; using EC_Comware; using SEIeSCM.Common; using MessagingToolkit.QRCode.Codec; using MessagingToolkit.QRCode.Codec.Data; using System.IO; using System.Drawing; using System.Drawing.Imaging; namespace SEIeSCM.Models.Repository.SCMDL { public class SCMDLRepository : SCMDLRepository_I { //DropDownCodeList public IList DropDownCodeList(string SqlMap, CommonDto ComnD) { return Mapper.Instance().QueryForList(SqlMap, ComnD); } // 조회 public SCMDLDto Select(string SqlMap, SCMDLDto MD) { return Mapper.Instance().QueryForObject(SqlMap, MD); } // 조회 List public IList SelectList(string SqlMap, SCMDLDto MD) { return Mapper.Instance().QueryForList(SqlMap, MD); } public IList List(string SqlMap, SCMDLDto MD) { return Mapper.Instance().QueryForList(SqlMap, MD); } public string SelectString(string SqlMap, SCMDLDto MD) { return Mapper.Instance().QueryForObject(SqlMap, MD); } // 신규저장 public void Insert(string SqlMap, SCMDLDto MD) { try { Mapper.Instance().Insert(SqlMap, MD); } catch { } } // 수정 public void Update(string SqlMap, SCMDLDto MD) { Mapper.Instance().Update(SqlMap, MD); } // 삭제 public void Delete(string SqlMap, SCMDLDto MD) { Mapper.Instance().Delete(SqlMap, MD); } // 수정 public string SCM_ConfirmOrder_I(string SqlMap, SCMDLDto MD) { string msg = ""; Mapper.Instance().Update(SqlMap, MD); msg = "Y"; return msg; } public string SCM_ConfirmOrder_All_I(SCMDLDto MD) { string msg = ""; string[] splitgubun = new string[] { "@@" }; string[] saveData = MD.TX_GRIDDATA.Substring(0, (MD.TX_GRIDDATA.Length - 1)).Split(splitgubun, StringSplitOptions.None); string[] tempData; try { Mapper.Instance().BeginTransaction(); // 그리드 세부내용 처리 foreach (string obj in saveData) { tempData = null; tempData = obj.Split('^'); MD.NO_PMOR = tempData[0].ToString(); //[1]발주번호 MD.NO_PMORSUB = tempData[1].ToString(); //[2]발주상세 MD.CK_CONFIRM = tempData[2].ToString(); //[11]특이사항 Mapper.Instance().Update("SCMDL.SCM_OrderConfrim_I", MD); tempData = null; } msg = "Y^"; Mapper.Instance().CommitTransaction(); } catch (Exception e) { msg = "Capture this screen and send to admin!!!\n" + e.ToString(); Mapper.Instance().RollBackTransaction(); } return msg; } public void Begin() { Mapper.Instance().BeginTransaction(); } public void Commit() { Mapper.Instance().CommitTransaction(); } public void RollBack() { Mapper.Instance().RollBackTransaction(); } //품목정보 저장 public string SCM_ITEM_I(SCMDLDto MD) { string msg = ""; string[] splitgubun = new string[] { "@@" }; string[] saveData = MD.TX_GRIDDATA.Substring(0, (MD.TX_GRIDDATA.Length - 1)).Split(splitgubun, StringSplitOptions.None); string[] tempData; try { Mapper.Instance().BeginTransaction(); // 그리드 세부내용 처리 foreach (string obj in saveData) { tempData = null; tempData = obj.Split('^'); MD.CD_SYSITEM = tempData[0].ToString(); MD.DELIVERY = tempData[1].ToString(); MD.QT_UNITPERORDER = decimal.Parse(tempData[2].ToString()); MD.QT_INBOX = decimal.Parse(tempData[3].ToString()); MD.QT_WEIGHT= decimal.Parse(tempData[4].ToString()); MD.ORIGIN= tempData[5].ToString(); MD.DIVSAVE= tempData[6].ToString(); MD.CD_BIGBAR= tempData[7].ToString(); MD.CD_MIDBAR= tempData[8].ToString(); MD.CD_SMALLBAR= tempData[9].ToString(); MD.CD_QR= tempData[10].ToString(); MD.AM_PACKAGESIZE = decimal.Parse(tempData[11].ToString()); MD.QT_BIGBOX = decimal.Parse(tempData[12].ToString()); MD.QT_MIDBOX= decimal.Parse(tempData[13].ToString()); MD.CD_CUSTITEM= tempData[14].ToString(); MD.NM_ITEM_SEP= tempData[15].ToString(); MD.CD_BUSIDIV = tempData[16].ToString(); MD.QT_MINPERORDER = decimal.Parse(tempData[17].ToString()); Mapper.Instance().Update("SCMDL.SCM_ITEM_I", MD); tempData = null; } msg = "Y^"; Mapper.Instance().CommitTransaction(); } catch (Exception e) { msg = "Capture this screen and send to admin!!!\n" + e.ToString(); Mapper.Instance().RollBackTransaction(); } return msg; } //출고처리저장 public string SM_ORDER_HQ_WEB_I(SCMDLDto MD) { string msg = ""; string[] splitgubun = new string[] { "@@" }; string[] saveData = MD.TX_GRIDDATA.Substring(0, (MD.TX_GRIDDATA.Length - 1)).Split(splitgubun, StringSplitOptions.None); string[] tempData; string s_SoNo = ""; //string s_NO_SCMDL_OR = ""; //string s_NO_SCMDL_CUST = ""; try { Mapper.Instance().BeginTransaction(); // 출고처리 헤더 번호 if (MD.SoNo == null || MD.SoNo.Equals("")) { //s_NO_SCMDL_OR = ""; MD.ConDate = DateTime.Today.ToString("yyyyMMdd"); IList list = this.SelectList("SCMDL.SP_WEB_SEQNO_S", new SCMDLDto { gubun = MD.gubun, ConDate = MD.ConDate }); if (list.Count != 0) { for (int i = 0; i < list.Count; i++) { s_SoNo = list[i].SoNo; } } else { s_SoNo = ""; } MD.SoNo = s_SoNo; } else { s_SoNo = MD.SoNo; } Mapper.Instance().Insert("SCMDL.SP_SM_ORDER_HQ_WEB_H_I", MD); // 그리드 세부내용 처리 foreach (string obj in saveData) { tempData = null; tempData = obj.Split('^'); MD.SoSubNo = tempData[0].ToString(); string s_ConDate = tempData[1].ToString(); if (s_ConDate != null && s_ConDate != "") { s_ConDate = s_ConDate.Replace("-", ""); } MD.ConDate = s_ConDate; MD.ManCode = tempData[2].ToString(); MD.CustCode = tempData[3].ToString(); MD.gDelivery = tempData[4].ToString(); MD.itemcode = tempData[5].ToString(); MD.Qty = decimal.Parse(tempData[6].ToString()); MD.UnitPrice = decimal.Parse(tempData[7].ToString()); MD.Amount = decimal.Parse(tempData[8].ToString()); MD.VatAmt = decimal.Parse(tempData[9].ToString()); string s_DelDate = tempData[10].ToString(); if (s_DelDate != null && s_DelDate != "") { s_DelDate = s_DelDate.Replace("-", ""); } MD.DelDate = s_DelDate; string s_Duedate = tempData[11].ToString(); if (s_Duedate != null && s_Duedate != "") { s_Duedate = s_Duedate.Replace("-", ""); } MD.Duedate = s_Duedate; MD.Remark = tempData[12].ToString(); MD.deliorder = tempData[13].ToString(); MD.dorderphone = tempData[14].ToString(); MD.delito = tempData[15].ToString(); MD.deliadress = tempData[16].ToString(); MD.tophone = tempData[17].ToString(); MD.delirequest = tempData[18].ToString(); MD.MeNo = tempData[19].ToString(); MD.Price = decimal.Parse(tempData[20].ToString()); MD.rate = decimal.Parse(tempData[21].ToString()); MD.Chk_HW = tempData[22].ToString(); MD.PriceDiv = tempData[23].ToString(); MD.SaleDiv = tempData[24].ToString(); MD.gDeliverySub = tempData[25].ToString(); Mapper.Instance().Insert("SCMDL.SP_SM_ORDER_HQ_WEB_D_I", MD); tempData = null; } msg = "Y^" + s_SoNo; Mapper.Instance().CommitTransaction(); } catch (Exception e) { msg = "Capture this screen and send to admin!!!\n" + e.ToString(); Mapper.Instance().RollBackTransaction(); } return msg; } public string SM_ORDER_HQ_WEB_ALL_D(SCMDLDto MD) { string msg = ""; try { Mapper.Instance().Delete("SCMDL.SP_SM_ORDER_HQ_WEB_ALL_D", MD); msg = "삭제 되었습니다."; } catch (Exception e) { Mapper.Instance().RollBackTransaction(); msg = e.ToString(); } return msg; } public string SM_ORDER_HQ_WEB_D_D(SCMDLDto MD) { string msg = ""; try { Mapper.Instance().Delete("SCMDL.SP_SM_ORDER_HQ_WEB_D_D", MD); msg = "삭제 되었습니다."; } catch (Exception e) { Mapper.Instance().RollBackTransaction(); msg = e.ToString(); } return msg; } public string SM_ORDER_HQ_WEB_PRCHK(SCMDLDto MD) { string msg = ""; try { Mapper.Instance().Update("SCMDL.SM_ORDER_HQ_WEB_PRCHK", MD); msg = ""; } catch (Exception e) { Mapper.Instance().RollBackTransaction(); msg = e.ToString(); } return msg; } private ImageCodecInfo GetEncoder(ImageFormat format) { ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders(); foreach (ImageCodecInfo codec in codecs) { if (codec.FormatID == format.Guid) { return codec; } } return null; } public static byte[] ImageToByte2(Image img) { byte[] byteArray = new byte[0]; using (MemoryStream stream = new MemoryStream()) { img.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg); stream.Close(); byteArray = stream.ToArray(); } return byteArray; } //출고처리저장 public string SCM_RETURN_I(SCMDLDto MD) { string msg = ""; string[] splitgubun = new string[] { "@@" }; string[] saveData = MD.TX_GRIDDATA.Substring(0, (MD.TX_GRIDDATA.Length - 1)).Split(splitgubun, StringSplitOptions.None); string[] tempData; string s_NO_SCMRT = ""; try { Mapper.Instance().BeginTransaction(); // 출고처리 헤더 번호 if (MD.NO_SCMRT == null || MD.NO_SCMRT.Equals("")) { IList list = this.SelectList("SCMDL.SP_SCM_SEQNO_S", new SCMDLDto { CD_CORP = MD.CD_CORP, CD_BUSIDIV = MD.CD_BUSIDIV, OP_QORK = 2, DT_COMP = MD.DT_COMP }); if (list.Count != 0) { for (int i = 0; i < list.Count; i++) { s_NO_SCMRT = list[i].NO_PAPERS; } } else { s_NO_SCMRT = ""; } MD.NO_SCMRT = s_NO_SCMRT; } else { s_NO_SCMRT = MD.NO_SCMRT; } Mapper.Instance().Insert("SCMDL.SP_SCM_RETURN_H_I", MD); // 그리드 세부내용 처리 foreach (string obj in saveData) { tempData = null; tempData = obj.Split('^'); MD.NO_SCMRTSUB = tempData[0].ToString(); //[0]출고상세 MD.NO_PMCR = tempData[1].ToString(); //[1]발주번호 MD.NO_PMCRSUB = tempData[2].ToString(); //[2]발주상세 MD.CD_SYSITEM = tempData[3].ToString(); //[3]품목코드 MD.CD_ITEM = tempData[4].ToString(); //[4]품목코드 MD.QT_RETURN = decimal.Parse(tempData[5].ToString()); //[5]구매수량 MD.UP_PRICE = decimal.Parse(tempData[6].ToString()); //[6]단가 MD.TX_NOTE = tempData[7].ToString(); //[7]특이사항 MD.CD_RETURN = tempData[8].ToString(); //[8]특이사항 MD.CD_SHOP = tempData[9].ToString(); //[9]특이사항 Mapper.Instance().Insert("SCMDL.SP_SCM_RETURN_D_I", MD); tempData = null; } msg = "Y^" + s_NO_SCMRT; Mapper.Instance().CommitTransaction(); } catch (Exception e) { msg = "Capture this screen and send to admin!!!\n" + e.ToString(); Mapper.Instance().RollBackTransaction(); } return msg; } public string SCM_RETURN_ALL_D(SCMDLDto MD) { string msg = ""; try { Mapper.Instance().Delete("SCMDL.SP_SCM_RETURN_ALL_D", MD); msg = "삭제 되었습니다."; } catch (Exception e) { Mapper.Instance().RollBackTransaction(); msg = e.ToString(); } return msg; } public string SCM_RETURN_D_D(SCMDLDto MD) { string msg = ""; try { Mapper.Instance().Delete("SCMDL.SP_SCM_RETURN_D_D", MD); msg = "삭제 되었습니다."; } catch (Exception e) { Mapper.Instance().RollBackTransaction(); msg = e.ToString(); } return msg; } } }