Added the logic to Create the Sales Quotation Detail 3 form on click of

Acknowledgement button.
parent 2fd9914b
...@@ -8,6 +8,7 @@ import java.sql.ResultSet; ...@@ -8,6 +8,7 @@ import java.sql.ResultSet;
import javax.naming.InitialContext; import javax.naming.InitialContext;
import ibase.system.config.AppConnectParm; import ibase.system.config.AppConnectParm;
import ibase.system.config.ConnDriver;
import ibase.utility.BaseLogger; import ibase.utility.BaseLogger;
import ibase.utility.UserInfoBean; import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ActionHandlerEJB; import ibase.webitm.ejb.ActionHandlerEJB;
...@@ -15,94 +16,132 @@ import ibase.webitm.ejb.ITMDBAccessEJB; ...@@ -15,94 +16,132 @@ import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.MasterStatefulLocal; import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
public class SalesQuotationAcknowledge extends ActionHandlerEJB{ public class SalesQuotationAcknowledge extends ActionHandlerEJB {
public String updateStatus(String tranID,String xtraParams, String forcedFlag) throws RemoteException,ITMException public String updateStatus(String tranID, String xtraParams, String forcedFlag)
{ throws RemoteException, ITMException {
Connection conn = null; Connection conn = null;
String errString = "";
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB(); ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
String quotType="",custCode=""; String quotType = "", custCode = "";
StringBuffer processDynXmlString = new StringBuffer(); StringBuffer processDynXmlString = new StringBuffer();
int domId=0; int domId = 0;
int lineNo = 0; int lineNo = 0;
String processRequestResult=""; UserInfoBean userInfo = null;
UserInfoBean userInfo = null; ResultSet fetchHospitalMappingRs = null;
try PreparedStatement insertPs = null;
{
try {
userInfo = getUserInfo(); userInfo = getUserInfo();
AppConnectParm appConnect = new AppConnectParm();
InitialContext initialContext = new InitialContext(appConnect.getProperty()); BaseLogger.log("3", getUserInfo(), null, "SalesQuotationAcknowledge --> tranID [" + tranID + "]");
BaseLogger.log("3", getUserInfo(), null, "SalesQuotationAcknowledge --> tranID MArch 9 2026["+tranID+"]");
conn = getConnection(); conn = getConnection();
//Added by Ajit on 06-MARCH to update the status to "A" on click of Acknowledged button [Start]
// 🔹 Update status
String updateStatusSql = "update sales_quot set status = 'A' where QUOT_NO = ?"; String updateStatusSql = "update sales_quot set status = 'A' where QUOT_NO = ?";
PreparedStatement updateStatusPs = conn.prepareStatement(updateStatusSql); PreparedStatement updateStatusPs = conn.prepareStatement(updateStatusSql);
updateStatusPs.setString(1, tranID); updateStatusPs.setString(1, tranID);
int updateStatusCnt = updateStatusPs.executeUpdate(); int updateStatusCnt = updateStatusPs.executeUpdate();
BaseLogger.log("3", getUserInfo(), null, "SalesQuotationAcknowledge --> updateStatusCnt ["+updateStatusCnt+"]");
// 🔹 Fetch header data
String fetchSQuotDetSql = "select quot_type, cust_code from sales_quot where quot_no = ?"; String fetchSQuotDetSql = "select quot_type, cust_code from sales_quot where quot_no = ?";
PreparedStatement fetchSQuotDetPs = conn.prepareStatement(fetchSQuotDetSql); PreparedStatement fetchSQuotDetPs = conn.prepareStatement(fetchSQuotDetSql);
fetchSQuotDetPs.setString(1, tranID); fetchSQuotDetPs.setString(1, tranID);
ResultSet fetchSQuotDetRs = fetchSQuotDetPs.executeQuery(); ResultSet fetchSQuotDetRs = fetchSQuotDetPs.executeQuery();
while(fetchSQuotDetRs.next()) {
while (fetchSQuotDetRs.next()) {
quotType = checkNull(fetchSQuotDetRs.getString("quot_type")); quotType = checkNull(fetchSQuotDetRs.getString("quot_type"));
custCode = checkNull(fetchSQuotDetRs.getString("cust_code")); custCode = checkNull(fetchSQuotDetRs.getString("cust_code"));
} }
processDynXmlString.append("<DocumentRoot><description>Datawindow Root</description><group0>"); if (quotType.trim().equalsIgnoreCase("G")) {
processDynXmlString.append(
"<description>Group0 description</description><Header0><description>Header0 members</description>"); String fetchHospitalMappingSql = "select CUST_CODE__STK, CUST_CODE__DIST from CUSTOMER_PREF_DIST where CUST_CODE = ?";
if(quotType.trim().equalsIgnoreCase("G")) { PreparedStatement fetchHospitalMappingPs = conn.prepareStatement(fetchHospitalMappingSql);
String fetchHospitalMappingSql = "select CUST_CODE__STK, CUST_CODE__DIST from CUSTOMER_PREF_DIST where CUST_CODE = ?"; fetchHospitalMappingPs.setString(1, custCode);
PreparedStatement fetchHospitalMappingPs = conn.prepareStatement(fetchHospitalMappingSql); fetchHospitalMappingRs = fetchHospitalMappingPs.executeQuery();
fetchHospitalMappingPs.setString(1, custCode);
ResultSet fetchHospitalMappingRs = fetchHospitalMappingPs.executeQuery(); // Get max line_no
while(fetchHospitalMappingRs.next()) { String lineSql = "SELECT NVL(MAX(line_no), 0) FROM sales_quot_stockist WHERE quot_no = ?";
domId++; PreparedStatement linePs = conn.prepareStatement(lineSql);
lineNo++; linePs.setString(1, tranID);
processDynXmlString.append("<Detail3 dbID=':' domID='"+domId+"' objName=\"salesquot\" objContext=\"3\">"); ResultSet lineRs = linePs.executeQuery();
processDynXmlString.append("<attribute pkNames=\"quot_no:line_no:\" selected=\"N\" updateFlag=\"A\" status=\"N\" />");
processDynXmlString.append("<line_no><![CDATA[").append(lineNo).append("]]></line_no>"); if (lineRs.next()) {
processDynXmlString.append("<cust_code><![CDATA[").append(custCode).append("]]></cust_code>"); lineNo = lineRs.getInt(1);
processDynXmlString.append("<cust_code__stk><![CDATA[").append(checkNull(fetchHospitalMappingRs.getString("CUST_CODE__STK"))).append("]]></cust_code__stk>"); }
processDynXmlString.append("<cust_code__dist><![CDATA[").append(checkNull(fetchHospitalMappingRs.getString("CUST_CODE__DIST"))).append("]]></cust_code__dist>");
processDynXmlString.append("</Detail3>"); String insertSql = "INSERT INTO sales_quot_stockist (line_no, cust_code, cust_code__stk, cust_code__dist, quot_no) VALUES (?, ?, ?, ?, ?)";
} insertPs = conn.prepareStatement(insertSql);
while (fetchHospitalMappingRs.next()) {
lineNo++;
String custCodeStk = fetchHospitalMappingRs.getString("CUST_CODE__STK");
String custCodeDist = fetchHospitalMappingRs.getString("CUST_CODE__DIST");
insertPs.setInt(1, lineNo);
insertPs.setString(2, custCode);
insertPs.setString(3, custCodeStk);
insertPs.setString(4, custCodeDist);
insertPs.setString(5, tranID);
insertPs.addBatch();
}
insertPs.executeBatch();
// close extra resources
if (lineRs != null) lineRs.close();
if (linePs != null) linePs.close();
if (fetchHospitalMappingPs != null) fetchHospitalMappingPs.close();
}
if (updateStatusCnt > 0) {
conn.commit();
return itmDBAccessEJB.getErrorString("", "SALESACK", "", "", conn);
}
if (fetchSQuotDetPs != null) {
fetchSQuotDetPs.close();
fetchSQuotDetPs = null;
} }
processDynXmlString.append("</Header0></group0></DocumentRoot>"); if (fetchSQuotDetRs != null) {
fetchSQuotDetRs.close();
String salesQuotDet3Xml = processDynXmlString.toString(); fetchSQuotDetRs = null;
BaseLogger.log("3", null, null, "userInfo::" + userInfo.toString() + "]");
BaseLogger.log("3", null, null, "salesQuotDet3Xml::" + salesQuotDet3Xml.toString() + "]");
MasterStatefulLocal masterStateful = (MasterStatefulLocal) initialContext
.lookup("ibase/MasterStatefulEJB/local");
processRequestResult = masterStateful.processRequest(userInfo, salesQuotDet3Xml, false, conn);
BaseLogger.log("3", null, null, "processRequest processRequestResultD" + processRequestResult + "]");
if(updateStatusCnt>0) {
conn.commit();
return errString = itmDBAccessEJB.getErrorString("","SALESACK","","",conn);
} }
}catch(Exception e) {
BaseLogger.log("3", getUserInfo(), null, "Exception from SalesQuotationAcknowledge updateStatus --["+e.getMessage()+"]"); if (insertPs != null) {
e.printStackTrace(); insertPs.close();
insertPs = null;
}
if (fetchHospitalMappingRs != null) {
fetchHospitalMappingRs.close();
fetchHospitalMappingRs = null;
}
} catch (Exception e) {
if (conn != null) {
try {
conn.rollback();
} catch (Exception ex) {
ex.printStackTrace();
}
}
BaseLogger.log("3", getUserInfo(), null, "Exception in updateStatus: [" + e.getMessage() + "]");
} }
finally {
try {
if (insertPs != null) insertPs.close();
if (fetchHospitalMappingRs != null) fetchHospitalMappingRs.close();
} catch (Exception e) {}
}
return " "; return " ";
} }
private String checkNull(String input) private String checkNull(String input) {
{ if (input == null) {
if(input == null)
{
input = ""; input = "";
} }
return input; return input;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment