⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 workunitmanage.cpp

📁 这是一个工厂的生产线的仓库管理.有计划,实绩,库存等
💻 CPP
字号:
#include "stdafx.h"
#include "WorkUnitManage.h"

#include "DBBase.h" 

using namespace  FAP;
using namespace System::Data;
using namespace System::Data::OleDb;

void WorkUnitManage::SetValueDataGrid()
{
	String* saLang[]   = {S"c", S"j", S"e"};
	String *sSQL = S"";
    sSQL = String::Concat(sSQL,	S"select baseList.process_no,  	" 																	);
	sSQL = String::Concat(sSQL,	S"       cost_name, 	" 																			);
	sSQL = String::Concat(sSQL,	S"		 rTable.std_man_hour r_std_man_hour,	" 													);
	sSQL = String::Concat(sSQL,	S"	     rTable.std_rank r_std_rank, " 																);
	sSQL = String::Concat(sSQL,	S"	     vTable.std_man_hour v_std_man_hour, " 														);
	sSQL = String::Concat(sSQL,	S"	     vTable.std_rank v_std_rank, " 																);
	sSQL = String::Concat(sSQL,	S"       CARTable.std_man_hour CAR_std_man_hour, " 													);
	sSQL = String::Concat(sSQL,	S"       CARTable.std_rank CAR_std_rank	" 															);
	sSQL = String::Concat(sSQL,	S"from (select distinct work_unit.process_no, cost_mst.name_", saLang[iLanguage] ,S" as cost_name"	);
    sSQL = String::Concat(sSQL,	S"        from work_unit, cost_mst" 	                     										);
    sSQL = String::Concat(sSQL,	S"       where work_unit.process_no = cost_mst.process_no) baseList,"         						);
    sSQL = String::Concat(sSQL,	S"     (select work_unit.process_no," 									     						);
    sSQL = String::Concat(sSQL,	S"             work_unit.std_man_hour," 							           						);
    sSQL = String::Concat(sSQL,	S"             work_unit.std_rank" 										    						);
    sSQL = String::Concat(sSQL,	S"        from work_unit" 	                     													);
    sSQL = String::Concat(sSQL,	S"       where work_unit.std_model = 'R') rTable," 					           						);
    sSQL = String::Concat(sSQL,	S"     (select work_unit.process_no," 								         						);
    sSQL = String::Concat(sSQL,	S"             work_unit.std_man_hour," 						             						);
    sSQL = String::Concat(sSQL,	S"             work_unit.std_rank" 										     						);
    sSQL = String::Concat(sSQL,	S"        from work_unit" 	                     													);
    sSQL = String::Concat(sSQL,	S"       where work_unit.std_model = 'V') vTable," 					         						);
    sSQL = String::Concat(sSQL,	S"     (select work_unit.process_no," 	                     										);
    sSQL = String::Concat(sSQL,	S"             work_unit.std_man_hour," 	                                						);
    sSQL = String::Concat(sSQL,	S"             work_unit.std_rank" 	                     											);
    sSQL = String::Concat(sSQL,	S"		  from work_unit" 	                     													);
    sSQL = String::Concat(sSQL,	S"       where work_unit.std_model = 'CAR') CARTable" 	                     						);
    sSQL = String::Concat(sSQL,	S" where baseList.process_no = rTable.process_no(+)" 	                     						);
    sSQL = String::Concat(sSQL,	S"   and baseList.process_no = vTable.process_no(+)" 	                     						);
    sSQL = String::Concat(sSQL,	S"   and baseList.process_no = CARTable.process_no(+)" 	                     						);

	oDataSet= oDB->dSetSQL_Select(sSQL, S"Table", 0);
	
	oDataTable = oDataSet->Tables->Item["Table"];
	
	oDataView = new DataView(oDataTable);

	oDataView->AllowDelete = false;

	oDataView->AllowNew = false;
	
	dataGrid1->DataSource=oDataView;
	
	/*dataGrid1->DataSource=oDataTable;*/
}
void WorkUnitManage::InitGridDataGrid()
{
	
	DataGridTextBoxColumn *oProcessNum;
	DataGridTextBoxColumn *oProcessName;
	DataGridTextBoxColumn *oRStandManHour;
	DataGridTextBoxColumn *oRStandRank;
	DataGridTextBoxColumn *oVStandManHour;
	DataGridTextBoxColumn *oVStandRank;
	DataGridTextBoxColumn *oCARStandManHour;
	DataGridTextBoxColumn *oCARStandRank;

	oTableStyle				    = new DataGridTableStyle();
	oTableStyle->MappingName	= S"Table";

	
	oProcessNum							= new DataGridTextBoxColumn();
	oProcessNum->MappingName			=S"process_no";
	oProcessNum->HeaderText				= oInf->saG_StrArrayProcessNum[iLanguage];
	oProcessNum->Alignment				= HorizontalAlignment::Center;
	oProcessNum->Width                  =70;
	oProcessNum->NullText		        =S"";
	oProcessNum->ReadOnly               =true;

	oProcessName						= new DataGridTextBoxColumn();
	oProcessName->MappingName			=S"cost_name";
	oProcessName->HeaderText			= oInf->saG_StrArrayProcessName[iLanguage];
	oProcessName->Alignment				= HorizontalAlignment::Center;
	oProcessName->Width                 =170;
	oProcessName->NullText		        =S"";
	oProcessName->ReadOnly               =true;


	oRStandManHour						= new DataGridTextBoxColumn();
	oRStandManHour->MappingName			=S"r_std_man_hour";
	oRStandManHour->HeaderText			= oInf->saG_StrArrayRStandManHour[iLanguage];
	oRStandManHour->Alignment			= HorizontalAlignment::Center;
	oRStandManHour->Width               =100;
	oRStandManHour->NullText		    =S"";

	oRStandRank							= new DataGridTextBoxColumn();
	oRStandRank->MappingName			=S"r_std_rank";
	oRStandRank->HeaderText				= oInf->saG_StrArrayRStandRank[iLanguage];
	oRStandRank->Alignment				= HorizontalAlignment::Center;
	oRStandRank->Width                  =120;
	oRStandRank->NullText		        =S"";

	oVStandManHour						= new DataGridTextBoxColumn();
	oVStandManHour->MappingName			=S"v_std_man_hour";
	oVStandManHour->HeaderText			= oInf->saG_StrArrayVStandManHour[iLanguage];
	oVStandManHour->Alignment			= HorizontalAlignment::Center;
	oVStandManHour->Width               =100;
	oVStandManHour->NullText		    =S"";

	oVStandRank						    = new DataGridTextBoxColumn();
	oVStandRank->MappingName			=S"v_std_rank";
	oVStandRank->HeaderText				= oInf->saG_StrArrayVStandRank[iLanguage];
	oVStandRank->Alignment				= HorizontalAlignment::Center;
	oVStandRank->Width                  =120;
	oVStandRank->NullText		        =S"";

	oCARStandManHour					= new DataGridTextBoxColumn();
	oCARStandManHour->MappingName		=S"CAR_std_man_hour";
	oCARStandManHour->HeaderText		= oInf->saG_StrArrayCARStandManHour[iLanguage];
	oCARStandManHour->Alignment			= HorizontalAlignment::Center;
	oCARStandManHour->Width             =100;
	oCARStandManHour->NullText		    =S"";

	oCARStandRank						= new DataGridTextBoxColumn();
	oCARStandRank->MappingName			=S"CAR_std_rank";
	oCARStandRank->HeaderText			= oInf->saG_StrArrayCARStandRank[iLanguage];
	oCARStandRank->Alignment			= HorizontalAlignment::Center;
	oCARStandRank->Width                =120;
	oCARStandRank->NullText		        =S"";

	oTableStyle->GridColumnStyles->Add(oProcessNum);
	oTableStyle->GridColumnStyles->Add(oProcessName);
	oTableStyle->GridColumnStyles->Add(oRStandManHour);
	oTableStyle->GridColumnStyles->Add(oRStandRank);
	oTableStyle->GridColumnStyles->Add(oVStandManHour);
	oTableStyle->GridColumnStyles->Add(oVStandRank);
	oTableStyle->GridColumnStyles->Add(oCARStandManHour);
	oTableStyle->GridColumnStyles->Add(oCARStandRank);


	dataGrid1->TableStyles->Add(oTableStyle);
	

}
bool WorkUnitManage::UpdateGrid()
{
	String * strSQL;
	Single sngRStandManHour;
	Single sngVStandManHour;
	Single sngCARStandManHour;

	String *strProcessNum;
	
	String *strRStandRank;
	String *strVStandRank;
	String *strCARStandRank;

	DataGridCell dCellProcessNum;
	
	DataGridCell dCellRStandManHour ;
	DataGridCell dCellRStandRank ;
	DataGridCell dCellVStandManHour ;
	DataGridCell dCellVStandRank ;
	DataGridCell dCellCARStandManHour ;
	DataGridCell dCellCARStandRank ;

	dCellProcessNum.ColumnNumber = 0;//point to first column  

	dCellRStandManHour.ColumnNumber = 2;//point to third column  
	dCellRStandRank.ColumnNumber=3;
	dCellVStandManHour.ColumnNumber = 4; 
	dCellVStandRank.ColumnNumber=5;
	dCellCARStandManHour.ColumnNumber = 6;
	dCellCARStandRank.ColumnNumber=7;

    for (int i = 0; i< __try_cast<DataView *>(dataGrid1->DataSource)->Count;i++) {
	
		dCellProcessNum.RowNumber = i;

		dCellRStandManHour.RowNumber = i;
		dCellRStandRank.RowNumber=i;
		dCellVStandManHour.RowNumber = i;
		dCellVStandRank.RowNumber=i;
		dCellCARStandManHour.RowNumber = i;
		dCellCARStandRank.RowNumber=i;
		
		sngRStandManHour=NULL;
		sngVStandManHour=NULL;
		sngCARStandManHour=NULL;

		try{
            if(!(dataGrid1->Item[dCellRStandManHour]->ToString()->Equals(S"")))
				sngRStandManHour = Single::Parse(dataGrid1->Item[dCellRStandManHour]->ToString());
			if(!(dataGrid1->Item[dCellVStandManHour]->ToString()->Equals(S"")))
				sngVStandManHour = Single::Parse(dataGrid1->Item[dCellVStandManHour]->ToString());
			if(!(dataGrid1->Item[dCellCARStandManHour]->ToString()->Equals(S"")))
				sngCARStandManHour = Single::Parse(dataGrid1->Item[dCellCARStandManHour]->ToString());

		 }

		catch (...) {
			MessageBox::Show(S"请输入数字!");
			return false;

		}
		
		strProcessNum = dataGrid1->Item[dCellProcessNum]->ToString();
        strRStandRank = dataGrid1->Item[dCellRStandRank]->ToString();
         
		strSQL =S"";
		
		strSQL = String::Concat(strSQL,S"update work_unit "                                   );
		strSQL = String::Concat(strSQL,S"	set "                                             );
		if(sngRStandManHour!=NULL)
		strSQL = String::Concat(strSQL,S"     STD_MAN_HOUR =",sngRStandManHour.ToString(),S",");
		strSQL = String::Concat(strSQL,S"     std_rank='",strRStandRank,S"'"                  );
		strSQL = String::Concat(strSQL,S"   where PROCESS_NO = '",strProcessNum,S"'"          );	
		strSQL = String::Concat(strSQL,S"     and STD_MODEL='R'"                              );
		
		//	strSQL = S"update work_unit set STD_MAN_HOUR = ";

		//strSQL = String::Concat(strSQL,sngRStandManHour.ToString());

		//strSQL = String::Concat(strSQL,S", std_rank=");

  //      strSQL = String::Concat(strSQL,S"'",strRStandRank,S"'");
		//strSQL = String::Concat(strSQL,S" where PROCESS_NO = '",strProcessNum,S"' and STD_MODEL='R'");
		
		//MessageBox::Show(strSQL);

		if (!oDB->blnSQL_Execute(strSQL)){
			//MessageBox::Show(S"更新失败!");
			return false;
		}

		strVStandRank = dataGrid1->Item[dCellVStandRank]->ToString();

	    strSQL =S"";
		
		strSQL = String::Concat(strSQL,S"update work_unit "                                   );
		strSQL = String::Concat(strSQL,S"	set "                                             );
		if(sngVStandManHour!=NULL)
		strSQL = String::Concat(strSQL,S"     STD_MAN_HOUR =",sngVStandManHour.ToString(),S",");
		strSQL = String::Concat(strSQL,S"     std_rank='",strVStandRank,S"'"                  );
		strSQL = String::Concat(strSQL,S"   where PROCESS_NO = '",strProcessNum,S"'"          );	
		strSQL = String::Concat(strSQL,S"     and STD_MODEL='V'"                              );
		
		//MessageBox::Show(strSQL);

		if (!oDB->blnSQL_Execute(strSQL)){
			//MessageBox::Show(S"更新失败!");
			return false;
		}
        strCARStandRank = dataGrid1->Item[dCellCARStandRank]->ToString();

		strSQL =S"";
		
		strSQL = String::Concat(strSQL,S"update work_unit "                                     );
		strSQL = String::Concat(strSQL,S"	set "                                               );
		if(sngCARStandManHour!=NULL)
		strSQL = String::Concat(strSQL,S"     STD_MAN_HOUR =",sngCARStandManHour.ToString(),S",");
		strSQL = String::Concat(strSQL,S"     std_rank='",strCARStandRank,S"'"                  );
		strSQL = String::Concat(strSQL,S"   where PROCESS_NO = '",strProcessNum,S"'"            );	
		strSQL = String::Concat(strSQL,S"     and STD_MODEL='CAR'"                              );
		
		//MessageBox::Show(strSQL);

		if (!oDB->blnSQL_Execute(strSQL)){
			//MessageBox::Show(S"更新失败!");
			return false;
		}
	}

	
	return true;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -