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

📄 balanceofpayment.cpp

📁 这是一个工厂的生产线的仓库管理.有计划,实绩,库存等
💻 CPP
📖 第 1 页 / 共 5 页
字号:
						{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
						{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};*/
	int iaEYe[4][12] = {{ 0,-1, -2, -3,-4,-5,-6,-7 ,-8,-9, -10, -11},
						{ 0,-1, -2, -3,-4,-5,-6,-7 ,-8,-9, -10, -11},
						{ 0,-1, -2, -3,-4,-5,-6,-7 ,-8,-9, -10, -11},
						{ 0,-1, -2, -3,-4,-5,-6,-7 ,-8,-9, -10, -11}};

	//********end******** //change by DongZhaoLiang in 2006/4/27

	int iaSMo[4][12] = {{12,12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
						{12, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
						{12, 3, 6, 9, 1, 1, 1, 1, 1, 1, 1, 1},
						{12, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11}};
	int iaEMo[4][12] = {{12,12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
						{ 6,12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
						{ 3, 6, 9,12, 1, 1, 1, 1, 1, 1, 1, 1},
						{ 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12}};
//String* iaSMo[4][12];
//iaSMo=new String * [4][12];
////saG_SellingPrice = new String * [3];
////String * saG_SellingPrice[];
//iaSMo[4][12] = {{S"12",S"12",S"01",S"01",S"01",S"01",S"01",S"01",S"01",S"01",S"01",S"01"},
//						{S"12", S"06", S"01",S"01", S"01", S"01", S"01", S"01", S"01", S"01", S"01", S"01"},
//						{S"12", S"03", S"06", S"09", S"01", S"01", S"01", S"01", S"01", S"01", S"01", S"01"},
//						{12", S"01", S"02", S"03", S"04", S"05",S"06", S"07", S"08", S"09",S"10",S"11"}};
	/*String* iaEMo[4][12] = {{12,12, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01},
						{ 06,12, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01},
						{ 03, 06, 09,12, 01, 01, 01, 01, 01, 01, 01, 01},
						{ 01, 02, 03, 04, 05, 06, 07, 08, 09,10,11,12}};*/
	//********end******** //change by DongZhaoLiang in 2006/4/27
	int iPT, iPe;
	DateTime	dtNow;
	
	dtNow = DateTime::Now;
	iPT = comboBoxPType->SelectedIndex;
	//begin //change by DongZhaoLiang in 2006/4/27
	//iPe = comboBoxPeriod->SelectedIndex;
	//sSYear =String::Format("{0}", __box(dtNow.Year + iaSYe[iPT][iPe]));
	//sEYear =String::Format("{0}", __box(dtNow.Year + iaEYe[iPT][iPe]));
	
	iPe = comboBoxYear->SelectedIndex;
	
	
if(comboBoxPeriod->SelectedIndex==0)//if the condition is true ,starting year should be little than ending year about 1 year ;note added by DongZhaoLiang in 2006/4/27
{
	sSYear =String::Format("{0}", __box(dtNow.Year + iaSYe[iPT][iPe]));
	sEYear =String::Format("{0}", __box(dtNow.Year + iaEYe[iPT][iPe]));
}
else 
{
	sSYear =String::Format("{0}", __box(dtNow.Year + iaSYe[iPT][iPe]+1));
	sEYear =String::Format("{0}", __box(dtNow.Year + iaEYe[iPT][iPe]));
}
//end //change by DongZhaoLiang in 2006/4/27.

	//begin //add by DongZhaoLiang in 2006/4/27
	iPe = comboBoxPeriod->SelectedIndex;
   //end//add by DongZhaoLiang in 2006/4/27

	sSMonth =String::Format("{0}", __box(iaSMo[iPT][iPe]));
	sEMonth =String::Format("{0}", __box(iaEMo[iPT][iPe]));
	
	//*****  begin  **************************//
	//*   add by DongZhaoLiang in 2006/4/27  *//
	//*****  begin  **************************//
	/*if(sSMonth->Length==1)
	{
		sTemp=sSMonth;
		sSMonth=S"0";
		sSMonth = String::Concat(sSMonth,sTemp);
	}
if(sEMonth->Length==1)
	{
		sTemp=sEMonth;
		sEMonth=S"0";
		sEMonth = String::Concat(sEMonth,sTemp);
	}*/
//sSMonth=sSMonth->PadLeft(2,  L'0');
//sEMonth=sEMonth->PadLeft(2,  L'0');
	//*****  end  ***************************//
	//*   add by DongZhaoLiang in 2006/4/27 *//
	//*****  end  ***************************//

	sSQL = String::Concat(sSQL, S"select"																								);
	sSQL = String::Concat(sSQL, S"	CMST3.NAME_", saLang[iLanguage], S" as DIVISION,"													);
	sSQL = String::Concat(sSQL, S"	CMST2.NAME_", saLang[iLanguage], S" as SECTION,"													);
	sSQL = String::Concat(sSQL, S"	CMST1.NAME_", saLang[iLanguage], S" as PROCESS,"													);
	sSQL = String::Concat(sSQL, S"	CMST1.PROCESS_NO,"																					);
	sSQL = String::Concat(sSQL, S"	nvl(S_DAT.SELLING_PRICE, 0) as SELLING_PRICE,"														);
	sSQL = String::Concat(sSQL, S"	nvl(S_DAT.PRICE_COST, 0) as PRICE_COST,"															);
	sSQL = String::Concat(sSQL, S"	nvl(S_DAT.QUANTITY, 0) as QUANTITY,"																);
	sSQL = String::Concat(sSQL, S"	nvl(S_DAT.TOTAL_MAN_DAY, 0) as TOTAL_MAN_DAY,"														);
	sSQL = String::Concat(sSQL, S"	nvl(S_DAT.MAN_COST, 0) as MAN_COST,"																);
	sSQL = String::Concat(sSQL, S"	nvl(S_DAT.LOSS_COST, 0) as LOSS_COST "																);
	sSQL = String::Concat(sSQL, S"from"																									);
	sSQL = String::Concat(sSQL, S"	COST_MST CMST1,"																					);
	sSQL = String::Concat(sSQL, S"	COST_MST CMST2,"																					);
	sSQL = String::Concat(sSQL, S"	COST_COMPOSITION CCOM2,"																			);
	sSQL = String::Concat(sSQL, S"	COST_MST CMST3,"																					);
	sSQL = String::Concat(sSQL, S"	("																									);
	sSQL = String::Concat(sSQL, S"		select"																							);
	sSQL = String::Concat(sSQL, S"			S_DAT.PROCESS_NO,"																			);
	sSQL = String::Concat(sSQL, S"			sum(S_DAT.TOTAL_PRICE) SELLING_PRICE,"														);
	sSQL = String::Concat(sSQL, S"			sum(S_DAT.TOTAL_RMB) PRICE_COST,"															);
	sSQL = String::Concat(sSQL, S"			sum(S_DAT.TOTAL_QTY) QUANTITY,"																);
	sSQL = String::Concat(sSQL, S"			sum(S_DAT.TOTAL_NUMBER) TOTAL_MAN_DAY,"														);
	sSQL = String::Concat(sSQL, S"			sum(S_DAT.TOTAL_COST) MAN_COST,"															);
	sSQL = String::Concat(sSQL, S"			sum(S_DAT.TOTAL_LOST) LOSS_COST"															);
	sSQL = String::Concat(sSQL, S"		from"																							);
	sSQL = String::Concat(sSQL, S"			("																							);
	sSQL = String::Concat(sSQL, S"				select"																					);
	sSQL = String::Concat(sSQL, S"					PR.PROCESS_NO,"																		);
	sSQL = String::Concat(sSQL, S"					(to_char(PR.YMD, 'YYYYMMDD') || decode(PR.SHIFT, 'A', '1200', '0000')) as YMD,"		);
	sSQL = String::Concat(sSQL, S"					(PR.PRODUCT_QTY * SP.PRICE1_RMB) as TOTAL_PRICE,"									);
	sSQL = String::Concat(sSQL, S"					(PR.PRODUCT_QTY * SP.RMB) as TOTAL_RMB,"											);
	sSQL = String::Concat(sSQL, S"					(PR.PRODUCT_QTY) as TOTAL_QTY,"														);
	sSQL = String::Concat(sSQL, S"					0 as TOTAL_NUMBER,"																	);
	sSQL = String::Concat(sSQL, S"					0 as TOTAL_COST,"																	);
	sSQL = String::Concat(sSQL, S"					0 as TOTAL_LOST"																	);
	sSQL = String::Concat(sSQL, S"				from"																					);
	sSQL = String::Concat(sSQL, S"					PRODUCT_RESULT_DATA PR,"															);
	sSQL = String::Concat(sSQL, S"					SALE_PRICE_MST SP"																	);
	sSQL = String::Concat(sSQL, S"				where"																					);
	sSQL = String::Concat(sSQL, S"					PR.FACTORY_CODE	= '", sFactory, S"' and"											);
	sSQL = String::Concat(sSQL, S"					PR.PRODUCT_CODE = SP.PRODUCT_CODE(+)"												);
	sSQL = String::Concat(sSQL, S"			union"																						);
	sSQL = String::Concat(sSQL, S"				select"																					);
	sSQL = String::Concat(sSQL, S"					PROCESS_NO,"																		);
	sSQL = String::Concat(sSQL, S"					to_char(YMD, 'YYYYMMDD') || decode(SHIFT, 'A', '1200', '0000') YMD,"				);
	sSQL = String::Concat(sSQL, S"					0 TOTAL_PRICE,"																		);
	sSQL = String::Concat(sSQL, S"					0 TOTAL_RMB,"																		);
	sSQL = String::Concat(sSQL, S"					0 TOTAL_QTY,"																		);
	sSQL = String::Concat(sSQL, S"					sum(TOTAL_NUMBER) TOTAL_NUMBER,"													);
	sSQL = String::Concat(sSQL, S"					sum(TOTAL_COST) TOTAL_COST,"														);
	sSQL = String::Concat(sSQL, S"					0 TOTAL_LOST"																		);
	sSQL = String::Concat(sSQL, S"				from"																					);
	sSQL = String::Concat(sSQL, S"					("																					);
	sSQL = String::Concat(sSQL, S"						select"																			);
	sSQL = String::Concat(sSQL, S"							LC.PROCESS_NO,"																);
	sSQL = String::Concat(sSQL, S"							LC.WORK_YMD YMD,"															);
	sSQL = String::Concat(sSQL, S"							decode(LC.TEAM, WC.DAY_SHIFT, 'A', 'B') SHIFT,"								);
	sSQL = String::Concat(sSQL, S"							(LC.TOTAL_NUMBER) TOTAL_NUMBER,"											);
	sSQL = String::Concat(sSQL, S"							(LC.TOTAL_NUMBER * LR.COST) TOTAL_COST"										);
	sSQL = String::Concat(sSQL, S"						from"																			);
	sSQL = String::Concat(sSQL, S"							LABOR_COST LC,"																);
	sSQL = String::Concat(sSQL, S"							LABOR_COST_RANK LR,"														);
	sSQL = String::Concat(sSQL, S"							WORK_CALENDER WC"															);
	sSQL = String::Concat(sSQL, S"						where"																			);
	sSQL = String::Concat(sSQL, S"							LC.RANK = LR.RANK(+) and"													);
	sSQL = String::Concat(sSQL, S"							LC.WORK_YMD = WC.WORK_YMD(+)"												);
	sSQL = String::Concat(sSQL, S"					)"																					);
	sSQL = String::Concat(sSQL, S"				group by"																				);
	sSQL = String::Concat(sSQL, S"					PROCESS_NO, YMD, SHIFT"																);
	sSQL = String::Concat(sSQL, S"			union"																						);
	sSQL = String::Concat(sSQL, S"				select"																					);
	sSQL = String::Concat(sSQL, S"					QC.PROCESS_NO,"																		);
	sSQL = String::Concat(sSQL, S"					to_char(QC.MANUFACT_YMD, 'YYYYMMDD') || decode(QC.SHIFT, 'A', '1200', '0000') YMD,"	);
	sSQL = String::Concat(sSQL, S"					0 TOTAL_PRICE,"																		);
	sSQL = String::Concat(sSQL, S"					0 TOTAL_RMB,"																		);
	sSQL = String::Concat(sSQL, S"					0 TOTAL_QTY,"																		);
	sSQL = String::Concat(sSQL, S"					0 TOTAL_NUMBER,"																	);
	sSQL = String::Concat(sSQL, S"					0 TOTAL_COST,"																		);
	sSQL = String::Concat(sSQL, S"					sum(QC.QUANTITY * SP.RMB) TOTAL_LOST"												);
	sSQL = String::Concat(sSQL, S"				from"																					);
	sSQL = String::Concat(sSQL, S"					QUALITY_CONTROL_DATA QC,"															);
	sSQL = String::Concat(sSQL, S"					SALE_PRICE_MST SP"																	);
	sSQL = String::Concat(sSQL, S"				where"																					);
	sSQL = String::Concat(sSQL, S"					QC.FACTORY_CODE	= '", sFactory, S"' and"											);
	sSQL = String::Concat(sSQL, S"					QC.PRODUCT_CODE = SP.PRODUCT_CODE(+) and"											);
	sSQL = String::Concat(sSQL, S"					QC.REASON_DIV = 0"																	);
	sSQL = String::Concat(sSQL, S"				group by"																				);
	sSQL = String::Concat(sSQL, S"					QC.PROCESS_NO, QC.MANUFACT_YMD, QC.SHIFT"											);
	sSQL = String::Concat(sSQL, S"			) S_DAT,"																					);
	sSQL = String::Concat(sSQL, S"			("																							);
	sSQL = String::Concat(sSQL, S"				select"																					);
	sSQL = String::Concat(sSQL, S"					CM.PROCESS_NO,"																		);
	//*****  begin  **************************//
	//*   change by DongZhaoLiang in 2006/4/27  *//
	//*****  begin  **************************//
	/*sSQL = String::Concat(sSQL, S"					nvl(CD.START_YMD, '", sSYear, sSMonth, S"990000') START_YMD,"						);
	sSQL = String::Concat(sSQL, S"					nvl(CD.END_YMD,   '", sEYear, sEMonth, S"990000') END_YMD"							);*/
	sSQL = String::Concat(sSQL, S"					nvl(CD.START_YMD, '", sSYear, sSMonth->PadLeft(2,  L'0'), S"990000') START_YMD,"						);
	sSQL = String::Concat(sSQL, S"					nvl(CD.END_YMD,   '", sEYear, sEMonth->PadLeft(2,  L'0'), S"990000') END_YMD"							);
	//*****  end  ***************************//
	//*   change by DongZhaoLiang in 2006/4/27 *//
	//*****  end  ***************************//
	sSQL = String::Concat(sSQL, S"				from"																					);
	sSQL = String::Concat(sSQL, S"					("																					);
	sSQL = String::Concat(sSQL, S"						select"																			);
	sSQL = String::Concat(sSQL, S"							CDS.PROCESS_NO,"															);
	sSQL = String::Concat(sSQL, S"							to_char(CDS.MONTH_", sSMonth, S", 'YYYYMMDD') ||"							);
	sSQL = String::Concat(sSQL, S"								decode(CDS.SHIFT_", sSMonth, S", 'A', '1200', 'B', '0000') START_YMD,"	);
	sSQL = String::Concat(sSQL, S"							to_char(CDE.MONTH_", sEMonth, S", 'YYYYMMDD') ||"							);
	sSQL = String::Concat(sSQL, S"								decode(CDE.SHIFT_", sEMonth, S", 'A', '1200', 'B', '0000') END_YMD"		);
	sSQL = String::Concat(sSQL, S"						from"																			);
	sSQL = String::Concat(sSQL, S"							CUTOFF_DATE_MST CDS,"														);
	sSQL = String::Concat(sSQL, S"							CUTOFF_DATE_MST CDE"														);
	sSQL = String::Concat(sSQL, S"						where"																			);
	sSQL = String::Concat(sSQL, S"							CDS.PROCESS_NO = CDE.PROCESS_NO and"										);
	sSQL = String::Concat(sSQL, S"							CDS.YEAR = ", sSYear, S" and"												);
	sSQL = String::Concat(sSQL, S"							CDE.YEAR = ", sEYear														);
	sSQL = String::Concat(sSQL, S"					) CD,"																				);
	sSQL = String::Concat(sSQL, S"					COST_MST CM"																		);
	sSQL = String::Concat(sSQL, S"				where"																					);
	sSQL = String::Concat(sSQL, S"					CM.PROCESS_NO = CD.PROCESS_NO(+) and"												);
	sSQL = String::Concat(sSQL, S"					CM.COST_DIVISION = 3"																);
	sSQL = String::Concat(sSQL, S"			) C_DAT"																					);
	sSQL = String::Concat(sSQL, S"		where"																							);
	sSQL = String::Concat(sSQL, S"			S_DAT.PROCESS_NO = C_DAT.PROCESS_NO and"													);
	sSQL = String::Concat(sSQL, S"			S_DAT.YMD between C_DAT.START_YMD and C_DAT.END_YMD"										);
	sSQL = String::Concat(sSQL, S"		group by"																						);
	sSQL = String::Concat(sSQL, S"			S_DAT.PROCESS_NO"																			);
	sSQL = String::Concat(sSQL, S"	)S_DAT "																							);
	sSQL = String::Concat(sSQL, S"where"																								);
	sSQL = String::Concat(sSQL, S"	CMST1.FACTORY_CODE	= '", sFactory, S"' and"														);
	sSQL = String::Concat(sSQL, S"	CMST1.COST_DIVISION	= 3 and"																		);
	sSQL = String::Concat(sSQL, S"	CMST2.COST_DIVISION	= 2 and"																		);
	sSQL = String::Concat(sSQL, S"	CMST1.COST_NO		= CMST2.COST_NO(+) and"															);
	sSQL = String::Concat(sSQL, S"	CMST2.COST_NO		= CCOM2.C_COST_NO(+) and"														);
	sSQL = String::Concat(sSQL, S"	CCOM2.P_COST_NO		= CMST3.COST_NO(+) and"															);
	sSQL = String::Concat(sSQL, S"	CMST1.PROCESS_NO	= S_DAT.PROCESS_NO(+) "															);
	sSQL = String::Concat(sSQL, S"order by"																								);
	sSQL = String::Concat(sSQL, S"	CCOM2.P_COST_NO DESC, CMST1.COST_NO, CMST1.PROCESS_NO, CMST1.NAME_J, CMST1.PROCESS_NO"				);

	oDataSet = oDB->dSetSQL_Select(sSQL, S"GridData", 0);
	oDataTable = oDataSet->Tables->Item["GridData"];
	dataGridBalance->DataSource = oDataTable;

	iRecCnt = oDataTable->Rows->Count;
	for(i = 0; i < iRecCnt; i++){
		dSumSellingPrice	+= Convert::ToDouble(oDataTable->Rows->get_Item(i)->get_Item(S"SELLING_PRICE")->ToString());
		dSumPriceCost		+= Convert::ToDouble(oDataTable->Rows->get_Item(i)->get_Item(S"PRICE_COST")->ToString());
		dSumQuantity		+= Convert::ToDouble(oDataTable->Rows->get_Item(i)->get_Item(S"QUANTITY")->ToString());
		dSumTotalManDay		+= Convert::ToDouble(oDataTable->Rows->get_Item(i)->get_Item(S"TOTAL_MAN_DAY")->ToString());
		dSumManCost			+= Convert::ToDouble(oDataTable->Rows->get_Item(i)->get_Item(S"MAN_COST")->ToString());
		dSumLossCost		+= Convert::ToDouble(oDataTable->Rows->get_Item(i)->get_Item(S"LOSS_COST")->ToString());
	}
	//Disp
	textBoxSellingPrice	->Text = dSumSellingPrice.ToString("N");
	textBoxPriceCost	->Text = dSumPriceCost.ToString("N");
	textBoxQuantity		->Text = dSumQuantity.ToString("N");
	textBoxTotalManDay	->Text = dSumTotalManDay.ToString("N");
	textBoxManCost		->Text = dSumManCost.ToString("N");
	textBoxLossCost		->Text = dSumLossCost.ToString("N");
}


void BalanceOfPayment::DispBalance(void)
{

⌨️ 快捷键说明

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