protected override string DoIt() { MVA027PostDatedCheck pdc = new MVA027PostDatedCheck(GetCtx(), GetRecord_ID(), Get_TrxName()); if (!pdc.IsVA027_MultiCheque() && pdc.IsVA027_DiscountingPDC() && pdc.GetDocStatus() == "CO") { res = GenratePaymentHdr(GetCtx(), GetRecord_ID(), paymentDocumentTypeId, Get_TrxName()); } else if (!pdc.IsVA027_MultiCheque() && Convert.ToDateTime(pdc.GetVA027_CheckDate()) <= _sysDate && pdc.GetDocStatus() == "CO") { res = GenratePaymentHdr(GetCtx(), GetRecord_ID(), paymentDocumentTypeId, Get_TrxName()); } else if (pdc.GetDocStatus() == "CO" && pdc.IsVA027_MultiCheque()) { res = GenratePaymentLine(GetCtx(), GetRecord_ID(), paymentDocumentTypeId, Get_TrxName()); } else if (pdc.GetDocStatus() != "CO") { return("@DocumentNotCompleted@"); } else { return("PaymentNotGenerated"); } if (res == "E") { return(Msg.GetMsg(GetCtx(), "VA027_PaymentAlreadyGenerated")); } else if (res == "F") { return(Msg.GetMsg(GetCtx(), "VA027_PaymentNotGenerated")); } else if (res.Equals("N")) { return(_msg); } else { return(Msg.GetMsg(GetCtx(), "VA027_PaymentGenerated") + " " + documentno); } }
protected override string DoIt() { MVA027PostDatedCheck pdc = new MVA027PostDatedCheck(GetCtx(), GetRecord_ID(), null); PDC_ID = pdc.GetVA027_PostDatedCheck_ID(); docStatus = pdc.GetDocStatus(); doctype_ID = pdc.GetC_DocType_ID(); _sql.Clear(); try { _sql.Append("Select DocBaseType from C_DocType WHERE C_DocType_ID=" + doctype_ID); docbasetype = Util.GetValueOfString(DB.ExecuteScalar(_sql.ToString(), null, Get_Trx())); //ds = DB.ExecuteDataset(_sql.ToString()); //if (ds != null && ds.Tables[0].Rows.Count > 0) //{ // docbasetype = ds.Tables[0].Rows[0]["DocBaseType"].ToString(); // ds.Clear(); //} if (!String.IsNullOrEmpty(docbasetype)) { _DocBaseType = docbasetype; } #region Check Print Working for PDc if (PDC_ID > 0 && docStatus == "CO" && docbasetype == "PDP") { // MVA027PostDatedCheck pdc = new MVA027PostDatedCheck(GetCtx(), GetRecord_ID(), null); int bankAccount = pdc.GetC_BankAccount_ID(); //getting multicheck id if (pdc.IsVA027_MultiCheque()) { _sql.Clear(); _sql.Append("Select VA027_CHEQUEDETAILS_ID From VA027_CHEQUEDETAILS where isactive='Y' and VA009_PRINTED='N' AND VA027_POSTDATEDCHECK_ID=" + PDC_ID); DataSet ds1 = DB.ExecuteDataset(_sql.ToString(), null, Get_Trx()); if (ds1 != null && ds1.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds1.Tables[0].Rows.Count; i++) { if (_CHEQUEDETAILS_ID == "") { _CHEQUEDETAILS_ID = (ds1.Tables[0].Rows[i]["VA027_CHEQUEDETAILS_ID"]).ToString(); } else { _CHEQUEDETAILS_ID = _CHEQUEDETAILS_ID + ", " + (ds1.Tables[0].Rows[i]["VA027_CHEQUEDETAILS_ID"]).ToString(); } } } } //end #region Creating View _sql.Clear(); _sql.Append(@"Create OR replace View VA009_PostDataCheck_V AS SELECT T.AD_CLIENT_ID AS AD_CLIENT_ID, T.AD_ORG_ID AS AD_ORG_ID, UPPER(T.VA027_PAYEE) AS VA027_PAYEE, VA027_CHECKDATE AS VA027_CHECKDATE, T.VA027_CHEQUEAMOUNT AS VA027_CHEQUEAMOUNT, '' AS VA009_CANCEL, UPPER( SPELL_NUMBER(ABS(T.VA027_CHEQUEAMOUNT))) AS AMTINWORD, T.VA027_POSTDATEDCHECK_ID FROM (SELECT PDC.AD_CLIENT_ID, PDC.AD_ORG_ID, PDC.VA027_PostDatedCheck_ID, CASE WHEN PDC.C_BPartner_ID IS NOT NULL THEN BP.NAME ELSE PDC.VA027_PAYEE END AS VA027_PAYEE, CASE PDC.VA027_MULTICHEQUE WHEN 'Y' THEN DC.VA027_CHECKDATE ELSE PDC.VA027_CHECKDATE END AS VA027_CHECKDATE, CASE PDC.VA027_MULTICHEQUE WHEN 'Y' THEN DC.VA027_ChequeAmount ELSE PDC.VA027_PayAmt END AS VA027_ChequeAmount FROM VA027_POSTDATEDCHECK PDC LEFT JOIN VA027_CHEQUEDETAILS DC ON DC.VA027_POSTDATEDCHECK_ID =PDC.VA027_POSTDATEDCHECK_ID LEFT JOIN C_BPARTNER BP ON BP.C_BPartner_ID=PDC.C_BPartner_ID Where PDC.VA027_POSTDATEDCHECK_ID=" + PDC_ID); if (pdc.IsVA027_MultiCheque()) { _sql.Append(@" And dc.VA027_CHEQUEDETAILS_ID IN (" + _CHEQUEDETAILS_ID + ")"); } _sql.Append(@" ) T"); count = 0; count = Convert.ToInt32(DB.ExecuteQuery(_sql.ToString(), null, Get_Trx())); _sql.Clear(); #endregion // GET data from Bank Window _sql.Clear(); _sql.Append("Select NVL(BAD.C_BankAccountDoc_ID,0) C_BankAccountDoc_ID,NVL(BAD.CurrentNext,0) CurrentNext,NVL(BAD.VA009_CheckPrintSetting_ID,0) VA009_CheckPrintSetting_ID, NVL(BA.C_BANK_ID,0) C_BANK_ID From C_BankAccountDoc BAD Left join C_BANKACCOUNT BA ON BA.C_bankAccount_ID=BAD.C_bankAccount_ID Where BAD.C_BankAccount_ID =" + bankAccount); //_sql.Append("Select C_BankAccountDoc_ID,CurrentNext,SqlQuery,ReportPath From C_BankAccountDoc Where C_BankAccount_ID =" + bankAccount); ds = DB.ExecuteDataset(_sql.ToString(), null, Get_Trx()); if (ds != null && ds.Tables[0].Rows.Count > 0) { checkNo = Convert.ToInt32(ds.Tables[0].Rows[0]["CurrentNext"]); Doc_ID = Convert.ToInt32(ds.Tables[0].Rows[0]["C_BankAccountDoc_ID"]); Header_ID = Convert.ToInt32(ds.Tables[0].Rows[0]["VA009_CheckPrintSetting_ID"]); Bank_ID = Convert.ToInt32(ds.Tables[0].Rows[0]["C_BANK_ID"]); if (pdc.IsVA027_MultiCheque()) { _sql.Clear(); _sql.Append("Select count(*) from VA027_CHEQUEDETAILS where VA009_PRINTED='N' and VA027_POSTDATEDCHECK_ID=" + PDC_ID); count = 0; count = Convert.ToInt32(DB.ExecuteScalar(_sql.ToString(), null, Get_Trx())); checkNo = checkNo + count; _sql.Clear(); _sql.Append("Update VA027_CHEQUEDETAILS set VA009_Printed='Y' where VA027_POSTDATEDCHECK_ID=" + PDC_ID); DB.ExecuteScalar(_sql.ToString(), null, Get_Trx()); } else { checkNo = checkNo + 1; //_sql.Clear(); //_sql.Append("Update VA027_CHEQUEDETAILS set VA009_Printed='Y' where VA027_POSTDATEDCHECK_ID=" + PDC_ID); //DB.ExecuteScalar(_sql.ToString()); } ds.Clear(); } else { _sql.Clear(); _sql.Append("Update AD_Process Set SqlQuery='" + sqlQuery + "' , ReportPath='" + path + "' Where NAme='VA009_CheckPrintReport'"); count = 0; count = Convert.ToInt32(DB.ExecuteQuery(_sql.ToString(), null, Get_Trx())); return(""); } // Check no increase by one _sql.Clear(); _sql.Append("Update C_BankAccountDoc Set CurrentNext=" + checkNo + " Where isactive='Y' and C_BankAccountDoc_ID =" + Doc_ID); count = 0; count = Convert.ToInt32(DB.ExecuteQuery(_sql.ToString(), null, Get_Trx())); // Get Data from Print Check Window ( GEt Check Setting) _sql.Clear(); _sql.Append(@"SELECT L.REPORTPATH , L.SQLQUERY FROM VA009_DocPrintConfig L LEFT JOIN VA009_CheckPrintSetting H ON H.VA009_CheckPrintSetting_ID =L.VA009_CheckPrintSetting_ID WHERE L.VA009_CHECKTYPE ='P1' AND H.VA009_CheckPrintSetting_ID=" + Header_ID + " AND H.C_BANK_ID =" + Bank_ID); ds = DB.ExecuteDataset(_sql.ToString()); if (ds != null && ds.Tables[0].Rows.Count > 0) { pdc.SetVA009_Printed(true); //pdc.setva0 pdc.Save(); sqlQuery = ds.Tables[0].Rows[0]["SQLQUERY"].ToString(); path = ds.Tables[0].Rows[0]["REPORTPATH"].ToString(); ds.Clear(); // update print _sql.Clear(); _sql.Append("Update AD_Process Set SqlQuery='" + sqlQuery + "' , ReportPath='" + path + "' Where NAme='VA009_CheckPrintReport'"); count = 0; count = Convert.ToInt32(DB.ExecuteQuery(_sql.ToString(), null, Get_Trx())); PDC_ID = 0; } else { _sql.Clear(); _sql.Append("Update AD_Process Set SqlQuery='" + sqlQuery + "' , ReportPath='" + path + "' Where NAme='VA009_CheckPrintReport'"); count = 0; count = Convert.ToInt32(DB.ExecuteQuery(_sql.ToString(), null, Get_Trx())); return(""); } } #endregion #region Check Print Working for PAyment else { MPayment pay = new MPayment(GetCtx(), GetRecord_ID(), null); Payment_ID = pay.GetC_Payment_ID(); docStatus = pay.GetDocStatus(); doctype_ID = pay.GetC_DocType_ID(); _sql.Clear(); _sql.Append("Select DocBaseType from C_DocType WHERE C_DocType_ID=" + doctype_ID); docbasetype = Util.GetValueOfString(DB.ExecuteScalar(_sql.ToString(), null, Get_Trx())); //ds = DB.ExecuteDataset(_sql.ToString()); //if (ds != null && ds.Tables[0].Rows.Count > 0) //{ // docbasetype = ds.Tables[0].Rows[0]["DocBaseType"].ToString(); // ds.Clear(); //} if (Payment_ID > 0 && docStatus == "CO" && docbasetype == "APP") { //MPayment pay = new MPayment(GetCtx(), GetRecord_ID(), null); int bankAccount = pay.GetC_BankAccount_ID(); pay.SetVA009_Printed(true); pay.Save(); #region Creating View _sql.Clear(); _sql.Append(@"Create OR replace View VA009_PaymentCheck_V AS SELECT P.AD_CLIENT_ID AS AD_CLIENT_ID, P.AD_ORG_ID AS AD_ORG_ID, '' AS VA009_CANCEL, UPPER(BP.NAME) AS VA027_PAYEE, P.CHECKDATE AS VA027_CHECKDATE, p.PAYAMT AS VA027_CHEQUEAMOUNT, UPPER(SPELL_NUMBER(ABS(PAYAMT))) AS AMTINWORD, P.C_PAYMENT_ID FROM C_PAYMENT P LEFT JOIN C_BPARTNER BP ON BP.C_BPartner_ID=P.C_BPartner_ID Where P.C_PAYMENT_ID=" + Payment_ID); count = 0; count = Convert.ToInt32(DB.ExecuteQuery(_sql.ToString(), null, Get_Trx())); _sql.Clear(); #endregion // GET data from Bank Window _sql.Clear(); //_sql.Append("Select BAD.C_BankAccountDoc_ID,BAD.CurrentNext,BAD.VA009_CheckPrintSetting_ID, BA.C_BANK_ID From C_BankAccountDoc BAD Left join C_BANKACCOUNT BA ON BA.C_bankAccount_ID=BAD.C_bankAccount_ID Where BAD.C_BankAccount_ID =" + bankAccount); _sql.Append("Select NVL(BAD.C_BankAccountDoc_ID,0) C_BankAccountDoc_ID,NVL(BAD.CurrentNext,0) CurrentNext,NVL(BAD.VA009_CheckPrintSetting_ID,0) VA009_CheckPrintSetting_ID, NVL(BA.C_BANK_ID,0) C_BANK_ID From C_BankAccountDoc BAD Left join C_BANKACCOUNT BA ON BA.C_bankAccount_ID=BAD.C_bankAccount_ID Where BAD.C_BankAccount_ID =" + bankAccount); //_sql.Append("Select C_BankAccountDoc_ID,CurrentNext,SqlQuery,ReportPath From C_BankAccountDoc Where C_BankAccount_ID =" + bankAccount); ds = DB.ExecuteDataset(_sql.ToString(), null, Get_Trx()); if (ds != null && ds.Tables[0].Rows.Count > 0) { checkNo = Convert.ToInt32(ds.Tables[0].Rows[0]["CurrentNext"]); Doc_ID = Convert.ToInt32(ds.Tables[0].Rows[0]["C_BankAccountDoc_ID"]); Header_ID = Convert.ToInt32(ds.Tables[0].Rows[0]["VA009_CheckPrintSetting_ID"]); Bank_ID = Convert.ToInt32(ds.Tables[0].Rows[0]["C_BANK_ID"]); checkNo = checkNo + 1; ds.Clear(); } else { _sql.Clear(); _sql.Append("Update AD_Process Set SqlQuery='" + sqlQuery + "' , ReportPath='" + path + "' Where NAme='VA009_CheckPrintReport'"); count = 0; count = Convert.ToInt32(DB.ExecuteQuery(_sql.ToString(), null, Get_Trx())); return(""); } // Check no increase by one _sql.Clear(); _sql.Append("Update C_BankAccountDoc Set CurrentNext=" + checkNo + " Where C_BankAccountDoc_ID =" + Doc_ID); count = 0; count = Convert.ToInt32(DB.ExecuteQuery(_sql.ToString(), null, Get_Trx())); // Get Data from Print Check Window ( GEt Check Setting) _sql.Clear(); _sql.Append(@"SELECT L.REPORTPATH , L.SQLQUERY FROM VA009_DocPrintConfig L LEFT JOIN VA009_CheckPrintSetting H ON H.VA009_CheckPrintSetting_ID =L.VA009_CheckPrintSetting_ID WHERE L.VA009_CHECKTYPE ='P2' AND H.VA009_CheckPrintSetting_ID=" + Header_ID + " AND H.C_BANK_ID =" + Bank_ID); ds = DB.ExecuteDataset(_sql.ToString(), null, Get_Trx()); if (ds != null && ds.Tables[0].Rows.Count > 0) { sqlQuery = ds.Tables[0].Rows[0]["SQLQUERY"].ToString(); path = ds.Tables[0].Rows[0]["REPORTPATH"].ToString(); ds.Clear(); _sql.Clear(); _sql.Append("Update AD_Process Set SqlQuery='" + sqlQuery + "' , ReportPath='" + path + "' Where NAme='VA009_CheckPrintReport'"); count = 0; count = Convert.ToInt32(DB.ExecuteQuery(_sql.ToString(), null, Get_Trx())); } else { _sql.Clear(); _sql.Append("Update AD_Process Set SqlQuery='" + sqlQuery + "' , ReportPath='" + path + "' Where NAme='VA009_CheckPrintReport'"); count = 0; count = Convert.ToInt32(DB.ExecuteQuery(_sql.ToString(), null, Get_Trx())); return(""); } #endregion } } if (_DocBaseType != "PDP" && docbasetype != "APP") { _sql.Clear(); _sql.Append("Update AD_Process Set SqlQuery='" + sqlQuery + "' , ReportPath='" + path + "' Where NAme='VA009_CheckPrintReport'"); count = 0; count = Convert.ToInt32(DB.ExecuteQuery(_sql.ToString(), null, Get_Trx())); //log.SaveError("Error", Msg.GetMsg(GetCtx(), "Not Able to print check")); } } catch (Exception ex) { log.Log(Level.SEVERE, ex.Message.ToString()); } return(" "); }