fwjscl.cpp
来自「售后服务系统优质的售后服务是企业生存和市场竞争的保障」· C++ 代码 · 共 325 行
CPP
325 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "ShFwMain.h"
#include "FwJscl.h"
#include "FwFyJs.h"
#include "GetWxPj.h"
#include "fwjsd.h"
#include "khfwxx.h"
#include "SlXmGz.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFwJsForm *FwJsForm;
//---------------------------------------------------------------------------
__fastcall TFwJsForm::TFwJsForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFwJsForm::Button7Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TFwJsForm::FormClose(TObject *Sender, TCloseAction &Action)
{
ADOQueryfwjs->Close();
ADOQueryfwsl->Close();
ADOQuerypjxx->Close();
MainForm->ADOConnection1->Close();
}
//---------------------------------------------------------------------------
void __fastcall TFwJsForm::Button1Click(TObject *Sender)
{
AnsiString sql;
ADOQueryfwjs->Close();
ADOQueryfwsl->Close();
ADOQueryfwsl->SQL->Clear();
sql = "select * from fwsl";
if(CheckBox1->Checked == false)
sql += " where delflag='否' and pgflag='是' and jsflag='否' and fwlx<>'回访' order by slrq";
else
sql += " where delflag='否' and pgflag='是' and fwlx<>'回访' and ( slrq + "+String(MainForm->MyCxSum)+")>=Date() order by slrq desc";
ADOQueryfwsl->SQL->Add(sql);
ADOQueryfwsl->Open();
if( ADOQueryfwsl->RecordCount > 0 ) {
ADOQueryfwjs->Open();
if( ADOQueryfwsl->FieldByName("jsflag")->AsString == "是" ) {
Button2->Enabled = false;
Button9->Enabled = false;
Button3->Enabled = true;
Button4->Enabled = true;
Button6->Enabled = true;
} else {
Button2->Enabled = true;
Button9->Enabled = true;
Button3->Enabled = false;
Button4->Enabled = false;
Button6->Enabled = false;
}
} else {
Button2->Enabled = false;
Button9->Enabled = false;
Button3->Enabled = false;
Button4->Enabled = false;
Button6->Enabled = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TFwJsForm::Button2Click(TObject *Sender)
{
if(ADOQueryfwsl->FieldByName("jsflag")->AsString == "是") {
Application->MessageBox("该记录已结算!不能重复结算","错误",MB_OK+MB_ICONERROR);
Abort();
}
TFwFyJsForm *FwFyJsForm;
try
{
FwFyJsForm = new TFwFyJsForm(Application);
FwFyJsForm->ShowModal();
delete FwFyJsForm;
}
catch(...)
{
delete FwFyJsForm;
Application->MessageBox("运行出现错误!","警告",MB_OK+MB_ICONWARNING);
}
}
//---------------------------------------------------------------------------
void __fastcall TFwJsForm::CheckBox1Click(TObject *Sender)
{
ADOQueryfwjs->Close();
ADOQueryfwsl->Close();
}
//---------------------------------------------------------------------------
void __fastcall TFwJsForm::DataSourcefwslDataChange(TObject *Sender,
TField *Field)
{
if(ADOQueryfwsl->RecordCount > 0) {
Button8->Enabled = true;
if( ADOQueryfwsl->FieldByName("jsflag")->AsString == "是" ) {
Button2->Enabled = false;
Button9->Enabled = false;
Button3->Enabled = true;
Button4->Enabled = true;
Button6->Enabled = true;
} else {
Button2->Enabled = true;
Button9->Enabled = true;
Button3->Enabled = false;
Button4->Enabled = false;
Button6->Enabled = false;
}
} else {
Button8->Enabled = false;
Button2->Enabled = false;
Button9->Enabled = false;
Button3->Enabled = false;
Button4->Enabled = false;
Button6->Enabled = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TFwJsForm::Button3Click(TObject *Sender)
{
if(ADOQueryfwsl->FieldByName("jsflag")->AsString != "是") {
Application->MessageBox("该记录并未结算!","错误",MB_OK+MB_ICONERROR);
Abort();
}
if(ADOQueryfwsl->FieldByName("hfflag")->AsString == "是") {
Application->MessageBox("该记录已回访,不能撤消结算!","错误",MB_OK+MB_ICONERROR);
Abort();
}
if(Application->MessageBox("是否取消当前记录的结算?(已登记的资料将被清除)","确认",MB_OKCANCEL+MB_ICONERROR)!=IDOK)
Abort();
PjToKc();
ADOQuerytmp->Close();
ADOQuerytmp->SQL->Clear();
ADOQuerytmp->SQL->Add("delete from slwxbwfy where dabh='"+ADOQueryfwsl->FieldByName("dabh")->AsString+"'");
ADOQuerytmp->ExecSQL();
ADOQuerytmp->Close();
ADOQueryfwjs->Delete();
ADOQueryfwsl->Edit();
ADOQueryfwsl->FieldByName("jsflag")->AsString ="否";
ADOQueryfwsl->FieldByName("jsrq")->Clear();
ADOQueryfwsl->Post();
Application->MessageBox("结算已取消","提示",MB_OK+ MB_ICONASTERISK);
}
//---------------------------------------------------------------------------
void __fastcall TFwJsForm::Button4Click(TObject *Sender)
{
AnsiString wxbw;
if(ADOQueryfwsl->FieldByName("jsflag")->AsString != "是") {
Application->MessageBox("该记录未结算!不能打印!!","错误",MB_OK+MB_ICONERROR);
Abort();
}
wxbw = "";
if(ADOQueryfwsl->FieldByName("jsfs")->AsString == "部位") {
ADOQuerytmp->Close();
ADOQuerytmp->SQL->Clear();
ADOQuerytmp->SQL->Add("select * from slwxbwfy where dabh='"+ADOQueryfwsl->FieldByName("dabh")->AsString+"'");
ADOQuerytmp->Open();
while( !ADOQuerytmp->Eof ) {
wxbw += ADOQuerytmp->FieldByName("bwmc")->AsString+";";
ADOQuerytmp->Next();
}
ADOQuerytmp->Close();
}
ADOQuerypjxx->Close();
ADOQuerypjxx->Open();
TFwJsDForm *FwJsDForm;
try
{
FwJsDForm = new TFwJsDForm(Application);
FwJsDForm->QRLabel1->Caption = MainForm->MyGsMc + "服务结算单("+ ADOQueryfwsl->FieldByName("zxfwlx")->AsString+")";
FwJsDForm->QRLabel40->Caption = wxbw;
FwJsDForm->QuickRep1->Preview();
delete FwJsDForm;
}
catch(...)
{
delete FwJsDForm;
Application->MessageBox("运行出现错误!","警告",MB_OK+MB_ICONWARNING);
}
ADOQuerypjxx->Close();
}
//---------------------------------------------------------------------------
void __fastcall TFwJsForm::FormActivate(TObject *Sender)
{
MainForm->ADOConnection1->Open();
if( ADOQueryfwsl->State == dsInactive ) {
CheckBox1->Checked = false;
GroupBox1->Enabled = true;
GroupBox2->Visible = true;
GroupBox3->Visible = false;
ADOQueryfwjs->Close();
ADOQueryfwsl->Close();
ADOQueryfwsl->SQL->Clear();
ADOQueryfwsl->SQL->Add("select * from fwsl where delflag='否' and pgflag='是' and jsflag='否' and fwlx<>'回访' order by slrq ");
ADOQueryfwsl->Open();
if( ADOQueryfwsl->RecordCount > 0 )
ADOQueryfwjs->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall TFwJsForm::Button8Click(TObject *Sender)
{
AnsiString sql;
sql = " select * from fwsl,fwjs where fwsl.jsflag='是' ";
sql +=" and fwsl.khbh='"+ADOQueryfwsl->FieldByName("khbh")->AsString +"' and fwsl.flbh='"+ADOQueryfwsl->FieldByName("flbh")->AsString+"' and fwsl.ppbh='"+ADOQueryfwsl->FieldByName("ppbh")->AsString+"' and fwsl.ggbh='"+ADOQueryfwsl->FieldByName("ggbh")->AsString+"'";
sql +=" and fwsl.dabh = fwjs.dabh and delflag='否' and fwjs.jslx<>'回访' order by fwsl.dabh desc";
MainForm->MyKhBh = sql;
TKhFwxxForm *KhFwxxForm;
try
{
KhFwxxForm = new TKhFwxxForm(Application);
KhFwxxForm->ShowModal();
delete KhFwxxForm;
}
catch(...)
{
delete KhFwxxForm;
Application->MessageBox("运行出现错误!","警告",MB_OK+MB_ICONWARNING);
}
}
//---------------------------------------------------------------------------
void __fastcall TFwJsForm::Button6Click(TObject *Sender)
{
if(ADOQueryfwsl->FieldByName("jsflag")->AsString != "是") {
Application->MessageBox("该记录未结算!不能查询!!","错误",MB_OK+MB_ICONERROR);
Abort();
}
GroupBox1->Enabled = false;
GroupBox2->Visible = false;
GroupBox3->Visible = true;
}
//---------------------------------------------------------------------------
void __fastcall TFwJsForm::Button5Click(TObject *Sender)
{
GroupBox1->Enabled = true;
GroupBox2->Visible = true;
GroupBox3->Visible = false;
}
//---------------------------------------------------------------------------
void __fastcall TFwJsForm::Button9Click(TObject *Sender)
{
if(ADOQueryfwsl->FieldByName("jsflag")->AsString == "是") {
Application->MessageBox("该记录已结算!不能更正","错误",MB_OK+MB_ICONERROR);
Abort();
}
TSlXmGzForm *SlXmGzForm;
try
{
SlXmGzForm = new TSlXmGzForm(Application);
SlXmGzForm->ShowModal();
delete SlXmGzForm;
}
catch(...)
{
delete SlXmGzForm;
Application->MessageBox("运行出现错误!","警告",MB_OK+MB_ICONWARNING);
}
}
//---------------------------------------------------------------------------
void __fastcall TFwJsForm::PjToKc() // 如果放弃结算就把配件放回库存并删除记录
{
ADOQuerypjxx->Close();
ADOQuerypjxx->Open();
while(!ADOQuerypjxx->Eof) {
ADOQuerytmp->Close();
ADOQuerytmp->SQL->Clear();
ADOQuerytmp->SQL->Add("select * from pjkc where pjbh=:P_pjbh and flbh=:P_gsfl and pzbh=:P_gspz");
ADOQuerytmp->Parameters->ParamByName("P_pjbh")->Value = ADOQuerypjxx->FieldByName("pjbh")->AsString;
ADOQuerytmp->Parameters->ParamByName("P_gsfl")->Value = ADOQuerypjxx->FieldByName("gsfl")->AsString;
ADOQuerytmp->Parameters->ParamByName("P_gspz")->Value = ADOQuerypjxx->FieldByName("gspz")->AsString;
ADOQuerytmp->Open();
if(ADOQuerytmp->RecordCount != 1) {
ADOQuerytmp->Close();
Application->MessageBox("无法定位库存信息!","警告",MB_OK+MB_ICONWARNING);
Abort();
}
ADOQuerytmp->Edit();
ADOQuerytmp->FieldByName("kcsl")->AsInteger = ADOQuerytmp->FieldByName("kcsl")->AsInteger + ADOQuerypjxx->FieldByName("sl")->AsInteger;
ADOQuerytmp->Post();
ADOQuerytmp->Close();
ADOQuerypjxx->Next();
}
ADOQuerypjxx->Close();
ADOQuerytmp->Close();
ADOQuerytmp->SQL->Clear();
ADOQuerytmp->SQL->Add("delete from wxpjxx where dabh='"+ADOQueryfwsl->FieldByName("dabh")->AsString+"'");
ADOQuerytmp->ExecSQL();
ADOQuerytmp->Close();
MainForm->bxje = MainForm->zfje = MainForm->fwsje = MainForm->fwpjcb = 0;
MainForm->fwpjcb = 0;
ADOQuerypjxx->Close();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?