private void fnMakeSendData_KICC(DataTable dtTmp, string CompanyID_Resort, string CompanyID_Van) { try { int cnt_tot_11 = 0; /*μΌλ°κ±΄μ */ int amt_tot_11 = 0; /*μΌλ°ν©κ³ */ int cnt_tot_12 = 0; /*μΌλ°μ·¨μ건μ*/ int amt_tot_12 = 0; /*μΌλ°μ·¨μν©κ³*/ int cnt_tot_21 = 0; /*ν λΆκ±΄μ */ int amt_tot_21 = 0; /*ν λΆν©κ³ */ int cnt_tot_22 = 0; /*ν λΆμ·¨μ건μ*/ int amt_tot_22 = 0; /*ν λΆμ·¨μν©κ³*/ /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ //EDI START RECORD /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ string MakeFileDate = System.DateTime.Now.ToString("yyMMdd"); string str_EDI_START_RECORD = SendFormat.MakeRecord_EDI_Start_Record(MakeFileDate, CompanyID_Resort, CompanyID_Van); if (System.IO.File.Exists(Log.FilePath + "\\" + Log.FileName)) { System.IO.File.Delete(Log.FilePath + "\\" + Log.FileName); } if (str_EDI_START_RECORD.Length != 150) { throw new Exception("CHECK FORMAT PLZ[EDI_START_RECORD]\n\r" + str_EDI_START_RECORD.Length); } EDI.Log.Log.SaveLog(str_EDI_START_RECORD); //////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 맀μ μ¬λ³λ‘ Groupby //////////////////////////////////////////////////////////////////////////////////////////////////////////////// DataSetHelper helper = new Cls.GroupByHelper.DataSetHelper(); DataTable dtCardGroupBy = helper.SelectGroupByInto("CARD_GROUPBY", dtTmp, "COMPANY_ID , VAN_ID", "", "COMPANY_ID , VAN_ID"); for (int iCardGroup = 0; iCardGroup < dtCardGroupBy.Rows.Count; iCardGroup++) { string companyid = dtCardGroupBy.Rows[iCardGroup]["COMPANY_ID"].ToString().Trim(); string vanid = dtCardGroupBy.Rows[iCardGroup]["VAN_ID"].ToString().Trim(); //맀μ μ¬ μ¬μ μλ²νΈλ‘ κ·Έλ£Ήμ νλ€. //κ°μ Έμ¨ λ°μ΄ν° ν μ΄λΈμμ μ¬μ μ λ²νΈλ‘ λ°μ΄ν°λ₯Ό κ°μ Έμ¨λ€. DataTable dtHeaderRecord = Basic.GetdtSelect(dtTmp, "VAN_ID = '" + vanid + "'", "AGREE_DATE ASC"); string SaleFrom = DateTime.Parse(dtHeaderRecord.Compute("MIN(AGREE_DATE)", "VAN_ID = '" + vanid + "' ").ToString()).ToString("yyMMdd"); string SaleTo = DateTime.Parse(dtHeaderRecord.Compute("MAX(AGREE_DATE)", "VAN_ID = '" + vanid + "' ").ToString()).ToString("yyMMdd"); /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ // header /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ string str_HEADER_RECORD = SendFormat.MakeRecord_Header_Record(MakeFileDate, vanid, "", companyid, SaleFrom, SaleTo ); if (str_HEADER_RECORD.Length != 150) { throw new Exception("CHECK FORMAT PLZ[HEADER_RECORD]\n\r" + str_HEADER_RECORD); } EDI.Log.Log.SaveLog(str_HEADER_RECORD); /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ // DataRecord /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ //TatalRecord μ μ¬μ©ν λ³μμ μΈ //////////////////////////////////////////////////////////////////////////////////////////////////////////////// int cnt_11 = 0; /*μΌλ°κ±΄μ */ int amt_11 = 0; /*μΌλ°ν©κ³ */ int cnt_12 = 0; /*μΌλ°μ·¨μ건μ*/ int amt_12 = 0; /*μΌλ°μ·¨μν©κ³*/ int cnt_21 = 0; /*ν λΆκ±΄μ */ int amt_21 = 0; /*ν λΆν©κ³ */ int cnt_22 = 0; /*ν λΆμ·¨μ건μ*/ int amt_22 = 0; /*ν λΆμ·¨μν©κ³*/ for (int iheaderRecord = 0; iheaderRecord < dtHeaderRecord.Rows.Count; iheaderRecord++) { string recordkind = ""; /*λ μ½λκ΅¬λΆ */ string SaleCode = ""; /*λΉμ΄λ§€μΆμΌμ*/ string SaleKind = ""; /*κ±°λκ΅¬λΆ */ if (dtHeaderRecord.Rows[iheaderRecord]["AGREE_YN"].ToString() == "Y" && dtHeaderRecord.Rows[iheaderRecord]["INSTALLMENT_CNT"].ToString() == "0") { //μΌλ° recordkind = "11"; SaleCode = "000000"; SaleKind = "00"; cnt_11++; amt_11 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); cnt_tot_11++; amt_tot_11 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); } else if (dtHeaderRecord.Rows[iheaderRecord]["AGREE_YN"].ToString() == "N" && dtHeaderRecord.Rows[iheaderRecord]["INSTALLMENT_CNT"].ToString() == "0") { //μΌλ°μ·¨μ recordkind = "12"; SaleCode = DateTime.Parse(dtHeaderRecord.Rows[iheaderRecord]["AGREE_DATE"].ToString().Trim()).ToString("yyMMdd"); SaleKind = "00"; cnt_12++; amt_12 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); cnt_tot_12++; amt_tot_12 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); } else if (dtHeaderRecord.Rows[iheaderRecord]["AGREE_YN"].ToString() == "Y" && dtHeaderRecord.Rows[iheaderRecord]["INSTALLMENT_CNT"].ToString() != "0") { //ν λΆ recordkind = "21"; SaleCode = "000000"; SaleKind = "02"; cnt_21++; amt_21 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); cnt_tot_21++; amt_tot_21 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); } else if (dtHeaderRecord.Rows[iheaderRecord]["AGREE_YN"].ToString() == "N" && dtHeaderRecord.Rows[iheaderRecord]["INSTALLMENT_CNT"].ToString() != "0") { //ν λΆμ·¨μ recordkind = "22"; SaleKind = "02"; SaleCode = DateTime.Parse(dtHeaderRecord.Rows[iheaderRecord]["AGREE_DATE"].ToString().Trim()).ToString("yyMMdd"); cnt_22++; amt_22 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); cnt_tot_22++; amt_tot_22 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); } else { throw new Exception("λ°μ΄ν°κ° / μΌλ° / μΌλ°μ·¨μ / ν λΆ / ν λΆμ·¨μ λ²μμ μνμ§ μμ΅λλ€.\n\r" + "μΉμΈλ²νΈ : [" + dtHeaderRecord.Rows[iheaderRecord]["AGREE_NO"].ToString().Trim() + "]\n\r" + "BILL NO : [" + dtHeaderRecord.Rows[iheaderRecord]["BILL_NO"].ToString().Trim() + "]" ); } string agreeno = dtHeaderRecord.Rows[iheaderRecord]["AGREE_NO"].ToString().Trim(); string validThru = dtHeaderRecord.Rows[iheaderRecord]["VALID_THRU"].ToString().Trim(); string agreedate = DateTime.Parse(dtHeaderRecord.Rows[iheaderRecord]["AGREE_DATE"].ToString().Trim()).ToString("yyMMdd"); string saleamt = dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString().Trim(); string installmentcnt = dtHeaderRecord.Rows[iheaderRecord]["INSTALLMENT_CNT"].ToString().Trim(); string posno = dtHeaderRecord.Rows[iheaderRecord]["POS_NO"].ToString().Trim(); string billno = dtHeaderRecord.Rows[iheaderRecord]["BILL_NO"].ToString().Trim(); string agreetime = dtHeaderRecord.Rows[iheaderRecord]["AGREE_TIME"].ToString().Trim(); string keyinyn = dtHeaderRecord.Rows[iheaderRecord]["KEYIN_YN"].ToString().Trim(); string cardno = dtHeaderRecord.Rows[iheaderRecord]["CARD_NO"].ToString().Trim(); //μ νλ²νΈκ° 8μ리기λλ¬Έμ //201107 0045 κ°μ μ ν μλ¦¬κ° ν°κ±΄μ μμΈμ²λ¦¬ ν΄μ£ΌκΈ°μν΄μ //μλ£μ΄μ€λ μκ΄μμλ»νλ° //μλ£μ΄μ£Όμ΄μ μλ¬κ° λ°μν μ§ λͺ°λΌμ λ£μ΄μ€λ€. //edi λ 리μΌλ°μ΄ν°λ‘ ν μ€νΈλ₯Ό ν΄μΌλκΈ°λλ¬Έμ //νμ¬ μ΄μμ€μ΄λ―λ‘ μ²λ¦¬νλ€. if (billno.Length > 8) { try{ string strf = billno.Substring(0, 6); int stre = int.Parse(billno.Substring(6, billno.Length - 6)); if (stre > 99) { stre = 99; } billno = strf + stre.ToString(); } catch { billno = billno.Substring(0, 8); } } if (billno.Length > 8) { billno = "3214"; } string str_DATA_RECORD = SendFormat.MakeRecord_Data_Record(recordkind, (iheaderRecord + 1).ToString(), validThru, agreedate, SaleCode, agreeno, "0", "0", Math.Abs(int.Parse(saleamt)).ToString(), installmentcnt, posno, billno, SaleKind, agreetime.Trim().Length != 4 ? agreetime : agreetime + "00", keyinyn, cardno ); if (str_DATA_RECORD.Length != 150) { throw new Exception("CHECK FORMAT PLZ[DATA_RECORD]\n\r" + str_DATA_RECORD); } EDI.Log.Log.SaveLog(str_DATA_RECORD); } /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ // Total Record /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ /* * * κ°―μ κΈμ‘ κ²μ¦ * * -------------------------------------------------------------------------------------------------------------*/ /*μΌλ°κ±΄μ */ string check_cnt_11 = dtHeaderRecord.Compute("COUNT(AGREE_YN)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT = 0").ToString(); /*μΌλ°ν©κ³ */ string check_amt_11 = dtHeaderRecord.Compute("SUM(SALE_AMT)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT = 0").ToString(); check_amt_11 = check_amt_11 == "" ? "0" : check_amt_11; /*μΌλ°μ·¨μ건μ*/ string check_cnt_12 = dtHeaderRecord.Compute("COUNT(AGREE_YN)", "AGREE_YN = 'N' AND INSTALLMENT_CNT = 0").ToString(); /*μΌλ°μ·¨μν©κ³*/ string check_amt_12 = dtHeaderRecord.Compute("SUM(SALE_AMT)", "AGREE_YN = 'N' AND INSTALLMENT_CNT = 0").ToString(); check_amt_12 = check_amt_12 == "" ? "0" : check_amt_12; /*ν λΆκ±΄μ */ string check_cnt_21 = dtHeaderRecord.Compute("COUNT(AGREE_YN)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT <> 0").ToString(); /*ν λΆν©κ³ */ string check_amt_21 = dtHeaderRecord.Compute("SUM(SALE_AMT)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT <> 0").ToString(); check_amt_21 = check_amt_21 == "" ? "0" : check_amt_21; /*ν λΆμ·¨μ건μ*/ string check_cnt_22 = dtHeaderRecord.Compute("COUNT(SALE_AMT)", "AGREE_YN = 'N' AND INSTALLMENT_CNT <> 0").ToString(); /*ν λΆμ·¨μν©κ³*/ string check_amt_22 = dtHeaderRecord.Compute("SUM(SALE_AMT)", "AGREE_YN = 'N' AND INSTALLMENT_CNT <> 0").ToString(); check_amt_22 = check_amt_22 == "" ? "0" : check_amt_22; /*-------------------------------------------------------------------------------------------------------------*/ if (cnt_11 != int.Parse(check_cnt_11)) { throw new Exception("μΌλ°κ±΄μκ° μλͺ»λμμ΅λλ€"); } else if (amt_11 != int.Parse(check_amt_11)) { throw new Exception("μΌλ°ν©κ³κ° μλͺ»λμμ΅λλ€"); } else if (cnt_12 != int.Parse(check_cnt_12)) { throw new Exception("μΌλ°μ·¨μ건μκ° μλͺ»λμμ΅λλ€"); } else if (amt_12 != int.Parse(check_amt_12)) { throw new Exception("μΌλ°μ·¨μν©κ³κ° μλͺ»λμμ΅λλ€"); } else if (cnt_21 != int.Parse(check_cnt_21)) { throw new Exception("ν λΆκ±΄μκ° μλͺ»λμμ΅λλ€"); } else if (amt_21 != int.Parse(check_amt_21)) { throw new Exception("ν λΆν©κ³κ° μλͺ»λμμ΅λλ€"); } else if (cnt_22 != int.Parse(check_cnt_22)) { throw new Exception("ν λΆμ·¨μ건μκ° μλͺ»λμμ΅λλ€"); } else if (amt_22 != int.Parse(check_amt_22)) { throw new Exception("ν λΆμ·¨μν©κ³κ° μλͺ»λμμ΅λλ€"); } /*-------------------------------------------------------------------------------------------------------------*/ string str_Total_Record = SendFormat.MakeRecord_Totol_Record( MakeFileDate, //0 cnt_11.ToString().Trim(), //1 amt_11.ToString().Trim(), //2 "0", amt_11.ToString().Trim(), //4 cnt_12.ToString().Trim(), //5 Math.Abs(amt_12).ToString().Trim(), //6 "0", Math.Abs(amt_12).ToString().Trim(), cnt_21.ToString().Trim(), amt_21.ToString().Trim(), cnt_22.ToString().Trim(), Math.Abs(amt_22).ToString().Trim() ); if (str_Total_Record.Length != 150) { throw new Exception("CHECK FORMAT PLZ[Total_Record]\n\r" + str_Total_Record); } EDI.Log.Log.SaveLog(str_Total_Record); } /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ // Total Record /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ /*------------------------------------------------------------------------------------------------------------- * κ°―μ κΈμ‘ κ²μ¦ [μ 체λ°μ΄ν° λΉκ΅] * -------------------------------------------------------------------------------------------------------------*/ /*μΌλ°κ±΄μ */ string check_cnt_tot_11 = dtTmp.Compute("COUNT(AGREE_YN)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT = 0").ToString(); /*μΌλ°ν©κ³ */ string check_amt_tot_11 = dtTmp.Compute("SUM(SALE_AMT)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT = 0").ToString(); check_amt_tot_11 = check_amt_tot_11 == "" ? "0" : check_amt_tot_11; /*μΌλ°μ·¨μ건μ*/ string check_cnt_tot_12 = dtTmp.Compute("COUNT(AGREE_YN)", "AGREE_YN = 'N' AND INSTALLMENT_CNT = 0").ToString(); /*μΌλ°μ·¨μν©κ³*/ string check_amt_tot_12 = dtTmp.Compute("SUM(SALE_AMT)", "AGREE_YN = 'N' AND INSTALLMENT_CNT = 0").ToString(); check_amt_tot_12 = check_amt_tot_12 == "" ? "0" : check_amt_tot_12; /*ν λΆκ±΄μ */ string check_cnt_tot_21 = dtTmp.Compute("COUNT(AGREE_YN)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT <> 0").ToString(); /*ν λΆν©κ³ */ string check_amt_tot_21 = dtTmp.Compute("SUM(SALE_AMT)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT <> 0").ToString(); check_amt_tot_21 = check_amt_tot_21 == "" ? "0" : check_amt_tot_21; /*ν λΆμ·¨μ건μ*/ string check_cnt_tot_22 = dtTmp.Compute("COUNT(SALE_AMT)", "AGREE_YN = 'N' AND INSTALLMENT_CNT <> 0").ToString(); /*ν λΆμ·¨μν©κ³*/ string check_amt_tot_22 = dtTmp.Compute("SUM(SALE_AMT)", "AGREE_YN = 'N' AND INSTALLMENT_CNT <> 0").ToString(); check_amt_tot_22 = check_amt_tot_22 == "" ? "0" : check_amt_tot_22; /*-------------------------------------------------------------------------------------------------------------*/ if (cnt_tot_11 != int.Parse(check_cnt_tot_11)) { throw new Exception("μΌλ°κ±΄μκ° μλͺ»λμμ΅λλ€. (Total)"); } else if (amt_tot_11 != int.Parse(check_amt_tot_11)) { throw new Exception("μΌλ°ν©κ³κ° μλͺ»λμμ΅λλ€. (Total)"); } else if (cnt_tot_12 != int.Parse(check_cnt_tot_12)) { throw new Exception("μΌλ°μ·¨μ건μκ° μλͺ»λμμ΅λλ€. (Total)"); } else if (amt_tot_12 != int.Parse(check_amt_tot_12)) { throw new Exception("μΌλ°μ·¨μν©κ³κ° μλͺ»λμμ΅λλ€. (Total)"); } else if (cnt_tot_21 != int.Parse(check_cnt_tot_21)) { throw new Exception("ν λΆκ±΄μκ° μλͺ»λμμ΅λλ€. (Total)"); } else if (amt_tot_21 != int.Parse(check_amt_tot_21)) { throw new Exception("ν λΆν©κ³κ° μλͺ»λμμ΅λλ€. (Total)"); } else if (cnt_tot_22 != int.Parse(check_cnt_tot_22)) { throw new Exception("ν λΆμ·¨μ건μκ° μλͺ»λμμ΅λλ€. (Total)"); } else if (amt_tot_22 != int.Parse(check_amt_tot_22)) { throw new Exception("ν λΆμ·¨μν©κ³κ° μλͺ»λμμ΅λλ€. (Total)"); } string str_EDI_END_RECORD = SendFormat.MakeRecord_EDI_End_Record(dtCardGroupBy.Rows.Count.ToString(), cnt_tot_11.ToString(), amt_tot_11.ToString(), "0", amt_tot_11.ToString(), cnt_tot_12.ToString(), Math.Abs(amt_tot_12).ToString(), "0", Math.Abs(amt_tot_12).ToString(), cnt_tot_21.ToString(), amt_tot_21.ToString(), cnt_tot_22.ToString(), Math.Abs(amt_tot_22).ToString() ); if (str_EDI_END_RECORD.Length != 150) { throw new Exception("CHECK FORMAT PLZ[EDI_END_RECORD]\n\r" + str_EDI_END_RECORD); } EDI.Log.Log.SaveLog(str_EDI_END_RECORD); } catch (Exception ex) { throw ex; } finally { Basic.SetCursor(this, true); } }
private string fnMakeSendData(DataTable dtTmp, string CompanyID_Resort, string CompanyID_Van, string FolderPath, string FileName) { try { Log.FileName = FileName; Log.FilePath = FolderPath; string vRet = ""; int cnt_tot_11 = 0; /*μΌλ°κ±΄μ */ int amt_tot_11 = 0; /*μΌλ°ν©κ³ */ int cnt_tot_12 = 0; /*μΌλ°μ·¨μ건μ*/ int amt_tot_12 = 0; /*μΌλ°μ·¨μν©κ³*/ int cnt_tot_21 = 0; /*ν λΆκ±΄μ */ int amt_tot_21 = 0; /*ν λΆν©κ³ */ int cnt_tot_22 = 0; /*ν λΆμ·¨μ건μ*/ int amt_tot_22 = 0; /*ν λΆμ·¨μν©κ³*/ /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ //EDI START RECORD /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ string MakeFileDate = System.DateTime.Now.ToString("yyMMdd"); string str_EDI_START_RECORD = SendFormat.MakeRecord_EDI_Start_Record(MakeFileDate, CompanyID_Resort, CompanyID_Van); if (System.IO.File.Exists(Log.FilePath + "\\" + Log.FileName + ".txt")) { System.IO.File.Delete(Log.FilePath + "\\" + Log.FileName + ".txt"); } EDI.Log.Log.SaveLog(str_EDI_START_RECORD); vRet += str_EDI_START_RECORD; //////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 맀μ μ¬λ³λ‘ Groupby //////////////////////////////////////////////////////////////////////////////////////////////////////////////// DataSetHelper helper = new Cls.GroupByHelper.DataSetHelper(); DataTable dtCardGroupBy = helper.SelectGroupByInto("CARD_GROUPBY", dtTmp, "COMPANY_ID , VAN_ID", "", "COMPANY_ID , VAN_ID"); for (int iCardGroup = 0; iCardGroup < dtCardGroupBy.Rows.Count; iCardGroup++) { string companyid = dtCardGroupBy.Rows[iCardGroup]["COMPANY_ID"].ToString().Trim(); string vanid = dtCardGroupBy.Rows[iCardGroup]["VAN_ID"].ToString().Trim(); //맀μ μ¬ μ¬μ μλ²νΈλ‘ κ·Έλ£Ήμ νλ€. //κ°μ Έμ¨ λ°μ΄ν° ν μ΄λΈμμ μ¬μ μ λ²νΈλ‘ λ°μ΄ν°λ₯Ό κ°μ Έμ¨λ€. DataTable dtHeaderRecord = Basic.GetdtSelect(dtTmp, "COMPANY_ID = '" + companyid + "'", "AGREE_DATE ASC"); string SaleFrom = DateTime.Parse(dtHeaderRecord.Compute("MIN(AGREE_DATE)", "").ToString()).ToString("yyMMdd"); string SaleTo = DateTime.Parse(dtHeaderRecord.Compute("MAX(AGREE_DATE)", "").ToString()).ToString("yyMMdd"); /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ // header /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ string str_HEADER_RECORD = SendFormat.MakeRecord_Header_Record(MakeFileDate, vanid, "", companyid, SaleFrom, SaleTo ); EDI.Log.Log.SaveLog(str_HEADER_RECORD); vRet += str_HEADER_RECORD; /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ // DataRecord /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ //TatalRecord μ μ¬μ©ν λ³μμ μΈ //////////////////////////////////////////////////////////////////////////////////////////////////////////////// int cnt_11 = 0; /*μΌλ°κ±΄μ */ int amt_11 = 0; /*μΌλ°ν©κ³ */ int cnt_12 = 0; /*μΌλ°μ·¨μ건μ*/ int amt_12 = 0; /*μΌλ°μ·¨μν©κ³*/ int cnt_21 = 0; /*ν λΆκ±΄μ */ int amt_21 = 0; /*ν λΆν©κ³ */ int cnt_22 = 0; /*ν λΆμ·¨μ건μ*/ int amt_22 = 0; /*ν λΆμ·¨μν©κ³*/ for (int iheaderRecord = 0; iheaderRecord < dtHeaderRecord.Rows.Count; iheaderRecord++) { string recordkind = ""; /*λ μ½λκ΅¬λΆ */ string SaleCode = ""; /*λΉμ΄λ§€μΆμΌμ*/ string SaleKind = ""; /*κ±°λκ΅¬λΆ */ if (dtHeaderRecord.Rows[iheaderRecord]["AGREE_YN"].ToString() == "Y" && dtHeaderRecord.Rows[iheaderRecord]["INSTALLMENT_CNT"].ToString() == "0") { //μΌλ° recordkind = "11"; SaleCode = "000000"; SaleKind = "00"; cnt_11++; amt_11 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); cnt_tot_11++; amt_tot_11 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); } else if (dtHeaderRecord.Rows[iheaderRecord]["AGREE_YN"].ToString() == "N" && dtHeaderRecord.Rows[iheaderRecord]["INSTALLMENT_CNT"].ToString() == "0") { //μΌλ°μ·¨μ recordkind = "12"; SaleCode = DateTime.Parse(dtHeaderRecord.Rows[iheaderRecord]["AGREE_DATE"].ToString().Trim()).ToString("yyMMdd"); SaleKind = "00"; cnt_12++; amt_12 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); cnt_tot_12++; amt_tot_12 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); } else if (dtHeaderRecord.Rows[iheaderRecord]["AGREE_YN"].ToString() == "Y" && dtHeaderRecord.Rows[iheaderRecord]["INSTALLMENT_CNT"].ToString() != "0") { //ν λΆ recordkind = "21"; SaleCode = "000000"; SaleKind = "02"; cnt_21++; amt_21 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); cnt_tot_21++; amt_tot_21 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); } else if (dtHeaderRecord.Rows[iheaderRecord]["AGREE_YN"].ToString() == "N" && dtHeaderRecord.Rows[iheaderRecord]["INSTALLMENT_CNT"].ToString() != "0") { //ν λΆμ·¨μ recordkind = "22"; SaleKind = "02"; SaleCode = DateTime.Parse(dtHeaderRecord.Rows[iheaderRecord]["AGREE_DATE"].ToString().Trim()).ToString("yyMMdd"); cnt_22++; amt_22 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); cnt_tot_22++; amt_tot_22 += int.Parse(dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString()); } else { throw new Exception("λ°μ΄ν°κ° / μΌλ° / μΌλ°μ·¨μ / ν λΆ / ν λΆμ·¨μ λ²μμ μνμ§ μμ΅λλ€.\n\r" + "μΉμΈλ²νΈ : [" + dtHeaderRecord.Rows[iheaderRecord]["AGREE_NO"].ToString().Trim() + "]\n\r" + "BILL NO : [" + dtHeaderRecord.Rows[iheaderRecord]["BILL_NO"].ToString().Trim() + "]" ); } string agreeno = dtHeaderRecord.Rows[iheaderRecord]["AGREE_NO"].ToString().Trim(); string validThru = dtHeaderRecord.Rows[iheaderRecord]["VALID_THRU"].ToString().Trim(); string agreedate = DateTime.Parse(dtHeaderRecord.Rows[iheaderRecord]["AGREE_DATE"].ToString().Trim()).ToString("yyMMdd"); string saleamt = dtHeaderRecord.Rows[iheaderRecord]["SALE_AMT"].ToString().Trim(); string installmentcnt = dtHeaderRecord.Rows[iheaderRecord]["INSTALLMENT_CNT"].ToString().Trim(); string posno = dtHeaderRecord.Rows[iheaderRecord]["POS_NO"].ToString().Trim(); string billno = dtHeaderRecord.Rows[iheaderRecord]["BILL_NO"].ToString().Trim(); string agreetime = dtHeaderRecord.Rows[iheaderRecord]["AGREE_TIME"].ToString().Trim(); string keyinyn = dtHeaderRecord.Rows[iheaderRecord]["KEYIN_YN"].ToString().Trim(); string cardno = dtHeaderRecord.Rows[iheaderRecord]["CARD_NO"].ToString().Trim(); string str_DATA_RECORD = SendFormat.MakeRecord_Data_Record(recordkind, (iheaderRecord + 1).ToString(), validThru, agreedate, SaleCode, agreeno, "0", "0", Math.Abs(int.Parse(saleamt)).ToString(), installmentcnt, posno, billno, SaleKind, agreetime, keyinyn, cardno ); EDI.Log.Log.SaveLog(str_DATA_RECORD); vRet += str_DATA_RECORD; } /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ // Total Record /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ /* * * κ°―μ κΈμ‘ κ²μ¦ * * -------------------------------------------------------------------------------------------------------------*/ /*μΌλ°κ±΄μ */ string check_cnt_11 = dtHeaderRecord.Compute("COUNT(AGREE_YN)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT = 0").ToString(); /*μΌλ°ν©κ³ */ string check_amt_11 = dtHeaderRecord.Compute("SUM(SALE_AMT)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT = 0").ToString(); check_amt_11 = check_amt_11 == "" ? "0" : check_amt_11; /*μΌλ°μ·¨μ건μ*/ string check_cnt_12 = dtHeaderRecord.Compute("COUNT(AGREE_YN)", "AGREE_YN = 'N' AND INSTALLMENT_CNT = 0").ToString(); /*μΌλ°μ·¨μν©κ³*/ string check_amt_12 = dtHeaderRecord.Compute("SUM(SALE_AMT)", "AGREE_YN = 'N' AND INSTALLMENT_CNT = 0").ToString(); check_amt_12 = check_amt_12 == "" ? "0" : check_amt_12; /*ν λΆκ±΄μ */ string check_cnt_21 = dtHeaderRecord.Compute("COUNT(AGREE_YN)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT <> 0").ToString(); /*ν λΆν©κ³ */ string check_amt_21 = dtHeaderRecord.Compute("SUM(SALE_AMT)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT <> 0").ToString(); check_amt_21 = check_amt_21 == "" ? "0" : check_amt_21; /*ν λΆμ·¨μ건μ*/ string check_cnt_22 = dtHeaderRecord.Compute("COUNT(SALE_AMT)", "AGREE_YN = 'N' AND INSTALLMENT_CNT <> 0").ToString(); /*ν λΆμ·¨μν©κ³*/ string check_amt_22 = dtHeaderRecord.Compute("SUM(SALE_AMT)", "AGREE_YN = 'N' AND INSTALLMENT_CNT <> 0").ToString(); check_amt_22 = check_amt_22 == "" ? "0" : check_amt_22; /*-------------------------------------------------------------------------------------------------------------*/ if (cnt_11 != int.Parse(check_cnt_11)) { Basic.ShowMessage(1, "μΌλ°κ±΄μκ° μλͺ»λμμ΅λλ€."); return(""); } else if (amt_11 != int.Parse(check_amt_11)) { Basic.ShowMessage(1, "μΌλ°ν©κ³κ° μλͺ»λμμ΅λλ€."); return(""); } else if (cnt_12 != int.Parse(check_cnt_12)) { Basic.ShowMessage(1, "μΌλ°μ·¨μ건μκ° μλͺ»λμμ΅λλ€."); return(""); } else if (amt_12 != int.Parse(check_amt_12)) { Basic.ShowMessage(1, "μΌλ°μ·¨μν©κ³κ° μλͺ»λμμ΅λλ€."); return(""); } else if (cnt_21 != int.Parse(check_cnt_21)) { Basic.ShowMessage(1, "ν λΆκ±΄μκ° μλͺ»λμμ΅λλ€."); return(""); } else if (amt_21 != int.Parse(check_amt_21)) { Basic.ShowMessage(1, "ν λΆν©κ³κ° μλͺ»λμμ΅λλ€."); return(""); } else if (cnt_22 != int.Parse(check_cnt_22)) { Basic.ShowMessage(1, "ν λΆμ·¨μ건μκ° μλͺ»λμμ΅λλ€."); return(""); } else if (amt_22 != int.Parse(check_amt_22)) { Basic.ShowMessage(1, "ν λΆμ·¨μν©κ³κ° μλͺ»λμμ΅λλ€."); return(""); } /*-------------------------------------------------------------------------------------------------------------*/ string str_Total_Record = SendFormat.MakeRecord_Totol_Record( MakeFileDate, cnt_11.ToString().Trim(), "0", "0", amt_11.ToString().Trim(), cnt_12.ToString().Trim(), "0", "0", Math.Abs(amt_12).ToString().Trim(), cnt_21.ToString().Trim(), amt_21.ToString().Trim(), cnt_22.ToString().Trim(), Math.Abs(amt_22).ToString().Trim() ); EDI.Log.Log.SaveLog(str_Total_Record); vRet += str_Total_Record; } /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ // Total Record /*ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ */ /*------------------------------------------------------------------------------------------------------------- * κ°―μ κΈμ‘ κ²μ¦ [μ 체λ°μ΄ν° λΉκ΅] * -------------------------------------------------------------------------------------------------------------*/ /*μΌλ°κ±΄μ */ string check_cnt_tot_11 = dtTmp.Compute("COUNT(AGREE_YN)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT = 0").ToString(); /*μΌλ°ν©κ³ */ string check_amt_tot_11 = dtTmp.Compute("SUM(SALE_AMT)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT = 0").ToString(); check_amt_tot_11 = check_amt_tot_11 == "" ? "0" : check_amt_tot_11; /*μΌλ°μ·¨μ건μ*/ string check_cnt_tot_12 = dtTmp.Compute("COUNT(AGREE_YN)", "AGREE_YN = 'N' AND INSTALLMENT_CNT = 0").ToString(); /*μΌλ°μ·¨μν©κ³*/ string check_amt_tot_12 = dtTmp.Compute("SUM(SALE_AMT)", "AGREE_YN = 'N' AND INSTALLMENT_CNT = 0").ToString(); check_amt_tot_12 = check_amt_tot_12 == "" ? "0" : check_amt_tot_12; /*ν λΆκ±΄μ */ string check_cnt_tot_21 = dtTmp.Compute("COUNT(AGREE_YN)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT <> 0").ToString(); /*ν λΆν©κ³ */ string check_amt_tot_21 = dtTmp.Compute("SUM(SALE_AMT)", "AGREE_YN = 'Y' AND INSTALLMENT_CNT <> 0").ToString(); check_amt_tot_21 = check_amt_tot_21 == "" ? "0" : check_amt_tot_21; /*ν λΆμ·¨μ건μ*/ string check_cnt_tot_22 = dtTmp.Compute("COUNT(SALE_AMT)", "AGREE_YN = 'N' AND INSTALLMENT_CNT <> 0").ToString(); /*ν λΆμ·¨μν©κ³*/ string check_amt_tot_22 = dtTmp.Compute("SUM(SALE_AMT)", "AGREE_YN = 'N' AND INSTALLMENT_CNT <> 0").ToString(); check_amt_tot_22 = check_amt_tot_22 == "" ? "0" : check_amt_tot_22; /*-------------------------------------------------------------------------------------------------------------*/ if (cnt_tot_11 != int.Parse(check_cnt_tot_11)) { Basic.ShowMessage(1, "μΌλ°κ±΄μκ° μλͺ»λμμ΅λλ€. (Total) "); return(""); } else if (amt_tot_11 != int.Parse(check_amt_tot_11)) { Basic.ShowMessage(1, "μΌλ°ν©κ³κ° μλͺ»λμμ΅λλ€. (Total) "); return(""); } else if (cnt_tot_12 != int.Parse(check_cnt_tot_12)) { Basic.ShowMessage(1, "μΌλ°μ·¨μ건μκ° μλͺ»λμμ΅λλ€. (Total) "); return(""); } else if (amt_tot_12 != int.Parse(check_amt_tot_12)) { Basic.ShowMessage(1, "μΌλ°μ·¨μν©κ³κ° μλͺ»λμμ΅λλ€. (Total) "); return(""); } else if (cnt_tot_21 != int.Parse(check_cnt_tot_21)) { Basic.ShowMessage(1, "ν λΆκ±΄μκ° μλͺ»λμμ΅λλ€. (Total) "); return(""); } else if (amt_tot_21 != int.Parse(check_amt_tot_21)) { Basic.ShowMessage(1, "ν λΆν©κ³κ° μλͺ»λμμ΅λλ€. (Total) "); return(""); } else if (cnt_tot_22 != int.Parse(check_cnt_tot_22)) { Basic.ShowMessage(1, "ν λΆμ·¨μ건μκ° μλͺ»λμμ΅λλ€. (Total) "); return(""); } else if (amt_tot_22 != int.Parse(check_amt_tot_22)) { Basic.ShowMessage(1, "ν λΆμ·¨μν©κ³κ° μλͺ»λμμ΅λλ€. (Total) "); return(""); } string str_EDI_END_RECORD = SendFormat.MakeRecord_EDI_End_Record(dtCardGroupBy.Rows.Count.ToString(), cnt_tot_11.ToString(), "0", "0", amt_tot_11.ToString(), cnt_tot_12.ToString(), "0", "0", Math.Abs(amt_tot_12).ToString(), cnt_tot_21.ToString(), amt_tot_21.ToString(), cnt_tot_22.ToString(), Math.Abs(amt_tot_22).ToString() ); EDI.Log.Log.SaveLog(str_EDI_END_RECORD); vRet += str_EDI_END_RECORD; return(vRet); } catch (Exception ex) { throw ex; } }