📄 stocktable.h
字号:
MessageBox::Show(e->Message,S"提示");
}
}
*/
int row = this->dgrdImportTable->CurrentRowIndex;
this->ds->Tables->Item[S"进货单明细"]->Rows->Item[row]->Delete();
}
}
public:
void WareIDDoubleClickHandler(System::Object* sender,EventArgs* e)
{
WareDataManage* tempFrm = new WareDataManage(false);
tempFrm->SetDataGridReadOnly(true);
if(tempFrm->ShowDialog(this) == DialogResult::OK)
{
this->InputWareID = tempFrm->SendWareID;
this->InputWareName = tempFrm->SendWareName;
this->dgrdImportTable->set_Item(this->dgrdImportTable->CurrentCell,this->InputWareID);
this->dgrdImportTable->Select(this->dgrdImportTable->CurrentCell.RowNumber);
}
}
void StorageIDDoubleClickHandler(System::Object* sender,EventArgs* e)
{
this->InputWareID = this->dgrdImportTable->get_Item(this->dgrdImportTable->CurrentCell.RowNumber,2)->ToString();
if(String::Compare(this->InputWareID,String::Empty) == 0)
return;
String* Filter = String::Format("货号 = '{0}'",this->InputWareID);
DataRow* rows[] = this->ds->Tables->Item[S"库存"]->Select(Filter);
if(rows->Length == 0)
{
if(MessageBox::Show(S"该货物没有库存,新增库存记录?",S"提示",System::Windows::Forms::MessageBoxButtons::YesNo) == DialogResult::Yes)
{
DataRow* row = this->ds->Tables->Item[S"库存"]->NewRow();
row->Item[S"货号"] = this->InputWareID;
row->Item[S"仓库"] = S"2库";
row->Item[S"库存数量"] = __box(0);
row->Item[S"库存金额"] = __box(0);
row->Item[S"库存单价"] = __box(0);
this->ds->Tables->Item[S"库存"]->Rows->Add(row);
MessageBox::Show(S"请填写仓库,数量等信息");
}
else
{
return;
}
}
SelectStorage* tempFrm = new SelectStorage(this->ds->Tables->Item[S"库存"],this->InputWareID);
tempFrm->nnupExPort->Visible = false;
tempFrm->label1->Visible = false;
if(tempFrm->ShowDialog(this) == DialogResult::OK)
{
this->InputStorageName = tempFrm->SendStorageID;
this->InputStorage = tempFrm->SendStorage;
int tempStorage = (int)System::Double::Parse(this->InputStorage->Trim());
int tempImport = (int)System::Double::Parse(tempFrm->Import->Trim());
tempStorage = tempStorage + tempImport;
this->InputStorage = System::Convert::ToString(tempStorage);
int row = this->dgrdImportTable->CurrentCell.RowNumber;
this->dgrdImportTable->set_Item(row,10,this->InputStorageName);
this->dgrdImportTable->set_Item(row,3,__box(tempImport));
//this->ds->Tables->Item[S"进货单明细"]->Rows->Item[row]->set_Item(S"仓库",this->InputStorageName);
//this->ds->Tables->Item[S"进货单明细"]->Rows->Item[row]->set_Item(S"进货数量",__box(tempExport));
//设置库存
String* Filter = String::Format("货号 = '{0}'AND 仓库 = '{1}'",this->InputWareID,this->InputStorageName);
DataRow* StorageRows[] = this->ds->Tables->Item[S"库存"]->Select(Filter);
if(StorageRows->Length > 0)
{
StorageRows[0]->set_Item(S"库存数量",this->InputStorage);
}
}
}
void StoragePriceHandler(System::Object* sender,EventArgs* e)
{
Double ImportQuantity;
// Double Storage;
//获得进货数量
String* temp = this->dgrdImportTable->get_Item(this->dgrdImportTable->CurrentCell.RowNumber,3)->ToString()->Trim();
if(temp != System::String::Empty)
ImportQuantity = System::Double::Parse(temp);
else
return;
this->InputWareID = this->dgrdImportTable->get_Item(this->dgrdImportTable->CurrentCell.RowNumber,2)->ToString();
this->InputStorageName = this->dgrdImportTable->get_Item(this->dgrdImportTable->CurrentCell.RowNumber,10)->ToString();
String* Filter = String::Format("货号 = '{0}'AND 仓库 = '{1}'",this->InputWareID,this->InputStorageName);
DataRow* StorageRows[] = this->ds->Tables->Item[S"库存"]->Select(Filter);
}
//显示当前库存
void StorageHandler(System::Object* sender,EventArgs* e)
{
//int ImportQuantity = 0;
int Storage = 0;
int row = this->dgrdImportTable->CurrentCell.RowNumber;
this->InputWareID = this->dgrdImportTable->get_Item(this->dgrdImportTable->CurrentCell.RowNumber,2)->ToString();
this->InputStorageName = this->dgrdImportTable->get_Item(this->dgrdImportTable->CurrentCell.RowNumber,10)->ToString();
String* Filter = String::Format("货号 = '{0}'AND 仓库 = '{1}'",this->InputWareID,this->InputStorageName);
DataRow* StorageRows[] = this->ds->Tables->Item[S"库存"]->Select(Filter);
tBoxWareID->Text = this->InputWareID;
if(String::Compare(this->InputStorageName,String::Empty) == 0)
{
tBoxStorage->Text = S"";
}
else if(StorageRows->Length > 0)
{
tBoxStorage->Text = StorageRows[0]->Item[S"库存数量"]->ToString()->Trim();
}
//DataRow* StorageHistoryRows[] = this->ds->Tables->Item[S"库存历史"]->Select(Filter);
//DataRow* ImportDetailRows[] = this->ds->Tables->Item[S"进货单明细"]->Select(Filter);
/*if(StorageRows->Length > 0 && ImportDetailRows->Length > 0)
{
String* temp;
for(int i = 0;i < ImportDetailRows->Length;i++)
{
temp = ImportDetailRows[i]->get_Item(S"进货数量")->ToString()->Trim();
if(temp != System::String::Empty)
{
int j = temp->IndexOf(S".");
temp = temp->Remove(j,temp->Length - j);
ImportQuantity += System::Int32::Parse(temp);
}
}
temp = StorageRows[0]->get_Item(S"库存数量")->ToString()->Trim();
if(temp != System::String::Empty)
{
int j = temp->IndexOf(S".");
temp = temp->Remove(j,temp->Length - j);
ImportQuantity += System::Int32::Parse(temp);
Storage = System::Int32::Parse(temp);
}
int StorageLeft = Storage - ImportQuantity;
if(StorageLeft < 0)
StorageLeft = 0;
tBoxStorage->Text = String::Format("{0}",__box(StorageLeft));
tBoxWareID->Text = this->InputWareID;
//修改库存
StorageHistoryRows[0]->set_Item(S"库存数量",__box(StorageLeft));
}
else
{
tBoxWareID->Text = this->InputWareID;
tBoxStorage->Text = S"0";
}
*/
}
//更新进货单明细
private: static void UpdateImportDetail(Object* sender, SqlRowUpdatingEventArgs* e)
{
if(e->StatementType != StatementType::Delete)
{
e->Command->Parameters->Item[S"@税价合计"]->Value = e->Row->Item[S"税价合计"]->ToString()->Trim();
e->Command->Parameters->Item[S"@不含税价"]->Value = e->Row->Item[S"不含税价"]->ToString()->Trim();
e->Command->Parameters->Item[S"@税额"]->Value = e->Row->Item[S"税额"]->ToString()->Trim();
}
}
//更新库存
private: static void UpdateStorage(Object* sender, SqlRowUpdatingEventArgs* e)
{
if(e->StatementType == StatementType::Update)
{
e->Command->Parameters->Item[S"@货号"]->Value = e->Row->Item[S"货号"]->ToString()->Trim();
e->Command->Parameters->Item[S"@仓库"]->Value = e->Row->Item[S"仓库"]->ToString()->Trim();
e->Command->Parameters->Item[S"@库存数量"]->Value = e->Row->Item[S"库存数量"]->ToString()->Trim();
}
if(e->StatementType == StatementType::Insert)
{
e->Command->Parameters->Item[S"@货号"]->Value = e->Row->Item[S"货号"]->ToString()->Trim();
e->Command->Parameters->Item[S"@仓库"]->Value = e->Row->Item[S"仓库"]->ToString()->Trim();
e->Command->Parameters->Item[S"@库存数量"]->Value = e->Row->Item[S"库存数量"]->ToString()->Trim();
e->Command->Parameters->Item[S"@库存金额"]->Value = e->Row->Item[S"库存金额"]->ToString()->Trim();
e->Command->Parameters->Item[S"@库存单价"]->Value = e->Row->Item[S"库存单价"]->ToString()->Trim();
}
}
private: System::Void dgrdImportTable_MouseMove(System::Object * sender, System::Windows::Forms::MouseEventArgs * e)
{
//计算总价
Object* obj = this->ds->Tables->Item[S"进货单明细"]->Compute(S"SUM(税价合计)",S"");
if(obj != System::DBNull::Value)
{
//如果数据表不为空,则进行计算
String * TotalCount = this->ds->Tables->Item[S"进货单明细"]->Compute(S"SUM(税价合计)",S"")->ToString();
String * TotalCountNoTax = this->ds->Tables->Item[S"进货单明细"]->Compute(S"SUM(不含税价)",S"")->ToString();
String * TotalTax = this->ds->Tables->Item[S"进货单明细"]->Compute(S"SUM(税额)",S"")->ToString();
this->tBoxTotal->Text = TotalCount->ToString();
this->tBoxTotalNoTax->Text = TotalCountNoTax->ToString();
this->tBoxTax->Text = TotalTax->ToString();
}
}
private: System::Void dgrdImportTable_MouseHover(System::Object * sender, System::EventArgs * e)
{
}
public: void NewImportTable()
{
//清除旧的查询
ds->Tables->Clear();
this->dgrdImportTable->TableStyles->Clear();
String* tempSQL = new String("Select 编号 from 进货单历史");
SqlCommand* sqlCmd = new SqlCommand(tempSQL,this->MyDataBase->myConnection);
SqlDataReader* reader = sqlCmd->ExecuteReader();
//设置新进货单的编号
intImportID = 0;
while(reader->Read())
{
if(intImportID < System::Int32::Parse(reader->Item[0]->ToString()))
intImportID = System::Int32::Parse(reader->Item[0]->ToString());
}
intImportID++;
//设置明细条目的编号
reader->Dispose();
sqlCmd->CommandText = new String("Select 编号 from 进货单明细历史");
reader = sqlCmd->ExecuteReader();
NewDetailID = 0;
while(reader->Read())
{
if(NewDetailID < System::Int32::Parse(reader->Item[0]->ToString()))
NewDetailID = System::Int32::Parse(reader->Item[0]->ToString());
}
NewDetailID++;
reader->Close();
//查询进货单明细
this->strSQL = String::Format("Select * from 进货单明细 where 进货单号 = '{0}'",this->intImportID.ToString());
this->strTableName = S"进货单明细";
this->MyDataBase->SelectDataBase(this->ImportDetailAdpater,this->ds,this->strSQL,this->strTableName);
//查询进货单
this->strSQL = String::Format("Select * from 进货单 where 编号 = '{0}'",this->intImportID.ToString());
this->strTableName = S"进货单";
this->MyDataBase->SelectDataBase(this->ImportTableAdpater,this->ds,this->strSQL,this->strTableName);
//查询库存
this->strSQL = new String("Select * from 库存库");
this->strTableName = S"库存";
this->MyDataBase->SelectDataBase(this->StorageAdpater,this->ds,this->strSQL,this->strTableName);
//设置数据表
this->DataGridStateControl(true);
this->dgrdImportTable->DataSource = ds->Tables->Item[S"进货单明细"];
//新建进货单
DataRow* NewImportTableRow = this->ds->Tables->Item[S"进货单"]->NewRow();
NewImportTableRow->set_Item(S"编号",__box(intImportID));
this->ds->Tables->Item[S"进货单"]->Rows->Add(NewImportTableRow);
//在进货单明细中添加一行
//DataRow* NewImportDetailRow = this->ds->Tables->Item[S"进货单明细"]->NewRow();
//NewImportDetailRow->set_Item(S"进货单号",__box(intImportID));
//this->ds->Tables->Item[S"进货单明细"]->Rows->Add(NewImportDetailRow);
//设置进货单信息
this->SetcmbOperator();
//可以修改进货单
this->dgrdImportTable->ReadOnly = false;
this->dgrdImportTable->Enabled = true;
this->button1->Enabled = true;
//设置工具栏
this->tbarSave->Enabled = true;
this->tbarDelete->Enabled = true;
//设置显示
this->tBoxMaker->Text = S"";
this->tBoxStockerID->Text = S"";
this->tBoxStockerName->Text = S"";
this->tBoxStorage->Text = S"";
this->tBoxTotal->Text = S"";
this->tBoxTax->Text = S"";
this->tBoxTotalNoTax->Text = S"";
this->tBoxWareID->Text = S"";
}
};
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -