/*************************************************
Copyright: Baosight Software LTD.co Copyright (c) 2010
Author: sky_yang
Version: 1.0
Date: 2017-8-08
Description: 生產(chǎn)單元產(chǎn)量完成情況查詢(按生產(chǎn)廠)
**************************************************/
/***** C++ 的標(biāo)準(zhǔn)頭文件部分 *****/
include "stdafx.h"
/***** C++ 的業(yè)務(wù)頭文件部分 *****/
/<remark>=========================================================
///<summary>
///<para> </para>
///<para></para>
///</summary>
///<returns></returns>
===========================================================</remark>/
// service入口
BM2F_ENTERACE(oimmhp05f2_inq)
int f_oimmhp05f2_inq(EIClass * bcls_rec, EIClass * bcls_ret, CDbConnection * conn)
{
CTracer log(__FUNCTION__); //系統(tǒng)日志類定義
/* 程序內(nèi)部變量 */
int doFlag = 0;
/* 數(shù)據(jù)庫SQL操作字符串 */
CString sqlstr;
CDbCommand cmd_inq(conn);
try
{
//獲取傳入?yún)?shù)
switch (conn->DatabaseKind)
{
case DB_KIND_DB2: // DB2 數(shù)據(jù)庫(未開Oracle兼容)
case DB_KIND_DB2_ORACLE: // DB2 數(shù)據(jù)庫(開Oracle兼容)
case DB_KIND_MSSQL: // MS SQL Server數(shù)據(jù)庫
case DB_KIND_ORACLE: // Oracle 數(shù)據(jù)庫
default:
sqlstr = "SELECT CFGP01_VDESC AS CFGP01_VD,SUM(STOCK_END_WT) AS STOCK_END_WT FROM TOIMM02 WHERE CFGP01_NAME = 'PROD_CODE' GROUP BY CFGP01_VDESC";
}
Log::Trace(" ", __FUNCTION__, "sqlstr =[{0}]", sqlstr);
cmd_inq.SetCommandText(sqlstr);
cmd_inq.ExecuteQuery(bcls_ret->Tables[0]);
cmd_inq.Close();
bcls_ret->Tables.Add();
bcls_ret->Tables[1].Rows.Add();
switch (conn->DatabaseKind)
{
case DB_KIND_DB2: // DB2 數(shù)據(jù)庫(未開Oracle兼容)
case DB_KIND_DB2_ORACLE: // DB2 數(shù)據(jù)庫(開Oracle兼容)
case DB_KIND_MSSQL: // MS SQL Server數(shù)據(jù)庫
case DB_KIND_ORACLE: // Oracle 數(shù)據(jù)庫
default:
sqlstr = "select CFGP01_VDESC AS CFGP01_VE,SUM(STOCK_END_WT) AS STOCK_E_WT from TOIMM02 WHERE CFGP01_NAME = 'STOCK_AGE' GROUP BY CFGP01_VDESC ";
}
Log::Trace(" ", __FUNCTION__, "sqlstr =[{0}]", sqlstr);
cmd_inq.SetCommandText(sqlstr);
cmd_inq.ExecuteQuery(bcls_ret->Tables[1]);
cmd_inq.Close();
bcls_ret->Tables.Add();
bcls_ret->Tables[2].Rows.Add();
switch (conn->DatabaseKind)
{
case DB_KIND_DB2: // DB2 數(shù)據(jù)庫(未開Oracle兼容)
case DB_KIND_DB2_ORACLE: // DB2 數(shù)據(jù)庫(開Oracle兼容)
case DB_KIND_MSSQL: // MS SQL Server數(shù)據(jù)庫
case DB_KIND_ORACLE: // Oracle 數(shù)據(jù)庫
default:
sqlstr = "select CFGP01_VDESC AS CFGP01_VS,SUM(STOCK_END_WT) AS STOCK_N_WT from TOIMM02 WHERE CFGP01_NAME = 'STOCK_STURCT' AND CFGP02_VALUE = 'SM' group by CFGP01_VDESC";
}
Log::Trace(" ", __FUNCTION__, "sqlstr =[{0}]", sqlstr);
cmd_inq.SetCommandText(sqlstr);
cmd_inq.ExecuteQuery(bcls_ret->Tables[2]);
cmd_inq.Close();
bcls_ret->Tables.Add();
bcls_ret->Tables[3].Rows.Add();
switch (conn->DatabaseKind)
{
case DB_KIND_DB2: // DB2 數(shù)據(jù)庫(未開Oracle兼容)
case DB_KIND_DB2_ORACLE: // DB2 數(shù)據(jù)庫(開Oracle兼容)
case DB_KIND_MSSQL: // MS SQL Server數(shù)據(jù)庫
case DB_KIND_ORACLE: // Oracle 數(shù)據(jù)庫
default:
sqlstr = " SELECT CFGP01_VDESC AS CFGP01_VC,SUM(STOCK_END_WT) AS STOCK_D_WT FROM TOIMM02 WHERE CFGP01_NAME = 'STOCK_STURCT' AND CFGP02_VALUE = 'PR' GROUP BY CFGP01_VDESC ";
}
Log::Trace(" ", __FUNCTION__, "sqlstr =[{0}]", sqlstr);
cmd_inq.SetCommandText(sqlstr);
cmd_inq.ExecuteQuery(bcls_ret->Tables[3]);
cmd_inq.Close();
}
catch (CDbException& ex) //捕獲數(shù)據(jù)庫操作異常
{
CFormattable arguments[] = { ex.GetCode() };
CMessageFormat::Format(s.msg, _RES("GCRSS0000006")/*數(shù)據(jù)庫處理出錯(cuò),sqlcode=[{0}]谷遂。請(qǐng)聯(lián)系系統(tǒng)維護(hù)人員葬馋。*/, arguments, 1);
CString str = sqlstr + "\r\n" + ex.GetMsg();
strncpy(s.sysmsg, (const char*)str, sizeof(s.sysmsg) - 1);
s.flag = -1;
doFlag = -1; //數(shù)據(jù)庫異常時(shí)返回-1,事務(wù)將被回滾
}
catch (CApplicationException& ex) //捕獲應(yīng)用錯(cuò)誤
{
s.flag = ex.GetCode();
doFlag = -1;
}
catch (CException& ex)
{
strncpy(s.msg, (const char*)ex.GetMsg(), sizeof(s.msg) - 1);
s.flag = ex.GetCode();
doFlag = -1;
}
return doFlag;
}