📄 retrieving_data.cpp
字号:
//读取数据库数据并赋值于列表变量
#include <StdAfx.h>
//#include <vector>
//std::vector<Plan_List> vec_Planlist;
std::vector<CString> vec_CString;
//——————————————公用函数——————————
CTime CString_To_CTime(CString str_time)
{
COleDateTime temp_time_cole;
SYSTEMTIME temp_time_sys;
temp_time_cole.ParseDateTime(str_time,VAR_DATEVALUEONLY);
temp_time_cole.GetAsSystemTime(temp_time_sys);
return temp_time_sys;
}
CString result_time(resultset &rs,CString name)
{
CString tem_cstring;
datetime tem_time;
if(rs[name].is_null())
{
return _T(" ");
}
else
{
tem_time=rs[name].as_datetime();
if(tem_time.mon()>9)
{
if(tem_time.day()>9)
tem_cstring.Format("%d-%d-%d",tem_time.year(),tem_time.mon(),tem_time.day());
else
tem_cstring.Format("%d-%d-0%d",tem_time.year(),tem_time.mon(),tem_time.day());
}
else
{
if(tem_time.day()>9)
tem_cstring.Format("%d-0%d-%d",tem_time.year(),tem_time.mon(),tem_time.day());
else
tem_cstring.Format("%d-0%d-0%d",tem_time.year(),tem_time.mon(),tem_time.day());
}
return (tem_cstring);
}
}
CString result_exact_time(resultset &rs,CString name)
{
CString tem_cstring;
datetime tem_time;
if(rs[name].is_null())
{
return _T(" ");
}
else
{
tem_time=rs[name].as_datetime();
if(tem_time.mon()>9)
{
if(tem_time.day()>9)
tem_cstring.Format("%d-%d %d:%d",tem_time.mon(),tem_time.day(),tem_time.hour(),tem_time.minute());
else
tem_cstring.Format("%d-0%d %d:%d",tem_time.mon(),tem_time.day(),tem_time.hour(),tem_time.minute());
}
else
{
if(tem_time.day()>9)
tem_cstring.Format("0%d-%d %d:%d",tem_time.mon(),tem_time.day(),tem_time.hour(),tem_time.minute());
else
tem_cstring.Format("0%d-0%d %d:%d",tem_time.mon(),tem_time.day(),tem_time.hour(),tem_time.minute());
}
return (tem_cstring);
}
}
double result_double(resultset &rs,CString name)
{
if(rs[name].is_null())
{
return 0;
}
else
{
return (rs[name]);
}
}
int result_int(resultset &rs,CString name)
{
if(rs[name].is_null())
{
return 0;
}
else
{
return (rs[name]);
}
}
CString result_CString(resultset &rs,CString name)
{
if(rs[name].is_null())
{
return _T(" ");
}
else
{
return (rs [name]);
}
}
//——————————————计划信息列表——————————————
void Planlist_Update(CListCtrl &temp_List,resultset &rs)
{
Plan_List plan_list;
for(int row=0;!rs.eod();++rs,row++)
{
plan_list.plan_ID=result_CString(rs,"PRODUCE_PLAN_ID");
plan_list.prod_height=result_double(rs,"PRODUCT_THICK");
plan_list.prod_width= result_int(rs,"PRODUCT_WIDE");
plan_list.prod_length= result_int(rs,"PRODUCT_LENGTH");
plan_list.prod_weight=result_double(rs ,"PRODUCT_WEIGHT");
plan_list.slab_height= result_int(rs,"MATERIAL_THICK");
plan_list.slab_width= result_int(rs,"MATERIAL_WIDE");
plan_list.slab_length= result_int(rs,"MATERIAL_LENGTH");
plan_list.slab_quantity= result_int(rs,"MATERIAL_AMOUNT");
plan_list.no_part_slab_amount= result_int(rs,"MATERIAL_AMOUNT_LEFT");
plan_list.part_slab_amount= result_int(rs,"MATERIAL_AMOUNT_SCHEDULED");
plan_list.additonal_slab= result_int(rs,"ADDITIONAL_PLAN_AMOUNT");
plan_list.tolerent_h=result_CString(rs,"THICK_TOLERANCE");
plan_list.tolerent_h.TrimRight();
plan_list.tolerent_w=result_CString(rs,"WIDE_TOLERANCE");
plan_list.tolerent_w.TrimRight();
plan_list.tolerent_l=result_CString(rs,"LENGTH_TOLERANCE");
plan_list.tolerent_l.TrimRight();
plan_list.manufacture_date = result_time(rs,"MANUFACTURE_DATE");
// plan_list.create_date = result_time(rs,"CREATE_DATE"); // [7/28/2007]
plan_list.steel_code=result_CString(rs,"STEEL_TYPE");
plan_list.steel_code.TrimRight();
plan_list.plan_ID=result_CString(rs,"PRODUCE_PLAN_ID");
plan_list.plan_ID.TrimRight();
plan_list.term=result_CString(rs,"SHIFT");
plan_list.term.TrimRight();
plan_list.term_time=result_CString(rs,"SHIFT_TIME");
plan_list.term_time.TrimRight();
plan_list.memo=result_CString(rs,"SPECIFIC_DECLARE");
plan_list.memo.TrimRight();
plan_list.roll_cus=result_CString(rs,"CTRL_ROLL");
plan_list.roll_cus.TrimRight();
plan_list.cut_HL_question=result_CString(rs,"CUT_HEAD_TAIL");
plan_list.cut_HL_question.TrimRight();
plan_list.hour_produce_amount=result_double(rs,"HOUR_WEIGHT");
plan_list.roll_demand=result_CString(rs,"ROLL_DEMAND");
plan_list.roll_demand.TrimRight();
plan_list.cut_demand=result_CString(rs,"CUT_DEMAND");
plan_list.cut_demand.TrimRight();
plan_list.mark_demand=result_CString(rs,"MARK_DEMAND");
plan_list.mark_demand.TrimRight();
plan_list.term_ID=result_int(rs,"SHIFT_ID");
// [7/27/2007] 添加
plan_list.creater=result_CString(rs,"CREATER");
plan_list.creater.TrimRight();
plan_list.prod1_length=result_int(rs,"PRODUCT_1_LENGTH");
plan_list.prod1_amount=result_int(rs,"PRODUCT_1_AMOUNT");
plan_list.prod2_length=result_int(rs,"PRODUCT_2_LENGTH");
plan_list.prod2_amount=result_int(rs,"PRODUCT_2_AMOUNT");
plan_list.cut_wide=result_int(rs,"SIZING_WIDE");
plan_list.slab_length_f=result_int(rs,"MATERIAL_LENGTH_FROM");
plan_list.slab_length_t=result_int(rs,"MATERIAL_LENGTH_TO");
plan_list.slab_length_flag=result_int(rs,"MATERIAL_LENGTH_ONLY");
// [7/31/2007]
plan_list.prod_length_f=result_int(rs,"PRODUCT_LENGTH_FROM");
plan_list.prod_length_t=result_int(rs,"PRODUCT_LENGTH_TO");
plan_list.prod_weight_f=result_double(rs,"PRODUCT_WEIGHT_FROM");
plan_list.prod_weight_t=result_double(rs,"PRODUCT_WEIGHT_TO");
plan_list.slab_width_range_flag=result_int(rs,"MATERIAL_WIDE_ONLY");
plan_list.slab_widthf=result_int(rs,"MATERIAL_WIDE_FROM");
plan_list.slab_widtht=result_int(rs,"MATERIAL_WIDE_TO");
//————————列信息显示实现代码——————————
CString temp_str;
vec_CString.clear();
{
//——————按顺序排列——————
vec_CString.push_back(plan_list.plan_ID);
vec_CString.push_back(plan_list.term);
temp_str.Format("%d",plan_list.term_ID);
vec_CString.push_back(temp_str);
vec_CString.push_back(plan_list.manufacture_date);
vec_CString.push_back(plan_list.steel_code);
if (plan_list.slab_length_flag==0)
{
if (plan_list.slab_width_range_flag==1)
{
temp_str.Format("%d×(%d-%d)×%d",plan_list.slab_height,plan_list.slab_widthf,plan_list.slab_widtht,plan_list.slab_length);
vec_CString.push_back(temp_str);
temp_str.Format("%.3f×%d×(%d-%d)",plan_list.prod_height,plan_list.prod_width,plan_list.prod_length_f,plan_list.prod_length_t);
vec_CString.push_back(temp_str);
}
else
{
temp_str.Format("%d×%d×%d",plan_list.slab_height,plan_list.slab_width,plan_list.slab_length);
vec_CString.push_back(temp_str);
temp_str.Format("%.3f×%d×%d",plan_list.prod_height,plan_list.prod_width,plan_list.prod_length);
vec_CString.push_back(temp_str);
}
}
else // [8/9/2007] 修改
{
if (plan_list.slab_width_range_flag==1)
{
temp_str.Format("%d×(%d-%d)×(%d-%d)",plan_list.slab_height,plan_list.slab_widthf,plan_list.slab_widtht,plan_list.slab_length_f,plan_list.slab_length_t);
vec_CString.push_back(temp_str);
temp_str.Format("%.3f×%d×(%d-%d)",plan_list.prod_height,plan_list.prod_width,plan_list.prod_length_f,plan_list.prod_length_t);
vec_CString.push_back(temp_str);
}
else
{
temp_str.Format("%d×%d×(%d-%d)",plan_list.slab_height,plan_list.slab_width,plan_list.slab_length_f,plan_list.slab_length_t);
vec_CString.push_back(temp_str);
temp_str.Format("%.3f×%d×(%d-%d)",plan_list.prod_height,plan_list.prod_width,plan_list.prod_length_f,plan_list.prod_length_t);
vec_CString.push_back(temp_str);
}
}
temp_str.Format("%d",plan_list.slab_quantity);
vec_CString.push_back(temp_str);
temp_str.Format("%d",plan_list.no_part_slab_amount);
vec_CString.push_back(temp_str);
temp_str.Format("%d",plan_list.part_slab_amount);
vec_CString.push_back(temp_str);
temp_str.Format("%d",plan_list.additonal_slab);
vec_CString.push_back(temp_str);
// [8/10/2007] 修改
if (plan_list.slab_length_flag==1||plan_list.slab_width_range_flag==1)
{
temp_str.Format("%.3f-%.3f",plan_list.prod_weight_f,plan_list.prod_weight_t);
vec_CString.push_back(temp_str);
}
else
{
temp_str.Format("%.3f",plan_list.prod_weight);
vec_CString.push_back(temp_str);
}
vec_CString.push_back(plan_list.tolerent_h);
vec_CString.push_back(plan_list.tolerent_w);
vec_CString.push_back(plan_list.tolerent_l);
vec_CString.push_back(plan_list.roll_demand);
//////////////////////////////////////////////////////////////////////////
// [7/27/2007] 添加
temp_str.Format("%d",plan_list.prod1_length);
vec_CString.push_back(temp_str);
temp_str.Format("%d",plan_list.prod1_amount);
vec_CString.push_back(temp_str);
temp_str.Format("%d",plan_list.prod2_length);
vec_CString.push_back(temp_str);
temp_str.Format("%d",plan_list.prod2_amount);
vec_CString.push_back(temp_str);
temp_str.Format("%d",plan_list.cut_wide);
vec_CString.push_back(temp_str);
//////////////////////////////////////////////////////////////////////////
vec_CString.push_back(plan_list.cut_HL_question);
vec_CString.push_back(plan_list.cut_demand); //其他剪切要求
vec_CString.push_back(plan_list.mark_demand);
vec_CString.push_back(plan_list.roll_cus);
temp_str.Format("%.4f",plan_list.hour_produce_amount);
vec_CString.push_back(temp_str);
vec_CString.push_back(plan_list.term_time);
vec_CString.push_back(plan_list.memo);
vec_CString.push_back(plan_list.creater);
vec_CString.push_back(plan_list.create_date);
}
temp_List.InsertItem(row,vec_CString[0]);
temp_List.SetColumnWidth(0,LVSCW_AUTOSIZE);
for(int column=1;column!=vec_CString.size();column++)
{
temp_List.SetItemText(row,column,vec_CString[column]);
// [7/31/2007] 添加
if (column==5||column==6||column==8)
{
temp_List.SetColumnWidth(column,LVSCW_AUTOSIZE);
}
}
}
rs.release ();
}
//——————————————坯料信息列表——————————————
void SlabInfo_List_Update(CListCtrl &temp_List,resultset &rs)
{
Slab_Information slabinfo_list;
for(int row=0;!rs.eod();++rs,row++)
{
slabinfo_list.C=result_double(rs,"C");
slabinfo_list.Si=result_double(rs,"SI");
slabinfo_list.Mn=result_double(rs,"MN");
slabinfo_list.S=result_double(rs,"S");
slabinfo_list.P=result_double(rs,"P");
slabinfo_list.Cu=result_double(rs,"CU");
slabinfo_list.Nb=result_double(rs,"NB");
slabinfo_list.V=result_double(rs,"V");
slabinfo_list.Ti= result_double(rs,"TI");
slabinfo_list.Ni=result_double(rs,"NI");
slabinfo_list.Al=result_double(rs,"AL");
slabinfo_list.Cs1_value= result_double(rs,"CS1_VALUE");
slabinfo_list.Cs2_value= result_double(rs,"CS2_VALUE");
slabinfo_list.Cs3_value= result_double(rs,"CS3_VALUE");
slabinfo_list.material_thick=result_int(rs,"MATERIAL_THICK");
slabinfo_list.material_wide=result_int(rs,"MATERIAL_WIDE");
slabinfo_list.material_length=result_int(rs,"MATERIAL_LENGTH");
slabinfo_list.material_amount= result_int(rs,"MATERIAL_AMOUNT");
slabinfo_list.material_scheduled_amount= result_int(rs,"MATERIAL_SCHEDULED_AMOUNT");
slabinfo_list.material_amount_left= result_int(rs,"MATERIAL_AMOUNT_LEFT");
slabinfo_list.cast_id=result_CString(rs,"CAST_ID");
slabinfo_list.cast_id.TrimRight();
slabinfo_list.steel_type=result_CString(rs,"STEEL_TYPE");
slabinfo_list.steel_type.TrimRight();
slabinfo_list.input_date= result_CString(rs,"INPUT_DATE");
slabinfo_list.input_date.TrimRight();
slabinfo_list.DHCR=result_CString(rs,"DHCR");
slabinfo_list.DHCR.TrimRight();
slabinfo_list.shift=result_CString(rs,"SHIFT");
slabinfo_list.shift.TrimRight();
slabinfo_list.cre_operator=result_CString(rs,"OPERATOR");
slabinfo_list.cre_operator.TrimRight();
// slabinfo_list.stack=result_CString(rs,"STACK");
// slabinfo_list.stack.TrimRight();
slabinfo_list.Cs1=result_CString(rs,"CS1");
slabinfo_list.Cs1.TrimRight();
slabinfo_list.Cs2=result_CString(rs,"CS2");
slabinfo_list.Cs2.TrimRight();
slabinfo_list.Cs3=result_CString(rs,"CS3");
slabinfo_list.Cs3.TrimRight();
//————————板坯列表框信息显示代码——————————
CString temp_str;
vec_CString.clear();
{
//——————按顺序排列——————
vec_CString.push_back(slabinfo_list.cast_id);
temp_str.Format("%d",slabinfo_list.material_amount);
vec_CString.push_back(temp_str);
temp_str.Format("%d",slabinfo_list.material_scheduled_amount);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -