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 + -
显示快捷键?