1382 lines
34 KiB
C++
1382 lines
34 KiB
C++
// DispatchFieldsDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "sp.h"
|
|
#include "DispatchFieldsDlg.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CDispatchFieldsDlg dialog
|
|
|
|
|
|
CDispatchFieldsDlg::CDispatchFieldsDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CDispatchFieldsDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CDispatchFieldsDlg)
|
|
//}}AFX_DATA_INIT
|
|
m_pApp = (CSpApp*)AfxGetApp();
|
|
/*
|
|
rs=new GZRset("Error: Dispatch field selection ");
|
|
rs->SetConnect(m_pApp->strConnectString);
|
|
*/
|
|
//Initialize recordset pointer
|
|
|
|
rs=m_pApp->rsPool->GetRS("Error at:CDispatchFieldsDlg");
|
|
|
|
pdv=new CDispatchView;
|
|
|
|
}
|
|
|
|
CDispatchFieldsDlg::~CDispatchFieldsDlg()
|
|
{
|
|
m_pApp->rsPool->ReleaseRS(&rs->m_nID);
|
|
delete pdv;
|
|
}
|
|
|
|
|
|
void CDispatchFieldsDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CDispatchFieldsDlg)
|
|
DDX_Control(pDX, IDC_CKPROJECT, m_ckProject);
|
|
DDX_Control(pDX, IDC_CBPROJECTS, m_cbProjects);
|
|
DDX_Control(pDX, IDC_CBCATEGORIES, m_cbCategories);
|
|
DDX_Control(pDX, IDC_CKCATEGORY, m_ckCategory);
|
|
DDX_Control(pDX, IDC_CKSCHEDDATE_TOMORROW, m_ckSchedDate_TOMORROW);
|
|
DDX_Control(pDX, IDC_CKCUSTREF, m_ckCustRef);
|
|
DDX_Control(pDX, IDC_CKSTATUS, m_ckStatus);
|
|
DDX_Control(pDX, IDC_CKOURREF, m_ckOurRef);
|
|
DDX_Control(pDX, IDC_CKDATE, m_ckDate);
|
|
DDX_Control(pDX, IDC_CKINVOICE, m_ckInvoice);
|
|
DDX_Control(pDX, IDC_DTENTRYDATE, m_dtEntryDate);
|
|
DDX_Control(pDX, IDC_CBENTRY, m_cbEntry);
|
|
DDX_Control(pDX, IDC_LBL16, m_lbl16);
|
|
DDX_Control(pDX, IDC_CBREPORTS, m_cbReports);
|
|
DDX_Control(pDX, IDC_LBL15, m_lbl15);
|
|
DDX_Control(pDX, IDC_CKPREVIEW, m_ckPreview);
|
|
DDX_Control(pDX, IDC_CKSCHEDDATE_BETWEEN, m_ckSchedDate_BETWEEN);
|
|
DDX_Control(pDX, IDC_EDSQL, m_edSQL);
|
|
DDX_Control(pDX, IDC_EDLASTACTIVITY_DAYSAGO, m_edLastActivity_DAYS);
|
|
DDX_Control(pDX, IDC_DTCHEDDATE_BETWEEN_START, m_dtSchedDate_START);
|
|
DDX_Control(pDX, IDC_DTCHEDDATE_BETWEEN_END, m_dtSchedDate_END);
|
|
DDX_Control(pDX, IDC_CKSCHEDDATE_TODAY, m_ckSchedDate_TODAY);
|
|
DDX_Control(pDX, IDC_CKSCHEDDATE_THISWEEK, m_ckSchedDate_THISWEEK);
|
|
DDX_Control(pDX, IDC_CKSCHEDDATE_THISMONTH, m_ckSchedDate_THISMONTH);
|
|
DDX_Control(pDX, IDC_CKSCHEDDATE_ANY, m_ckSchedDate_ANY);
|
|
DDX_Control(pDX, IDC_CKONSITE_ONSITEONLY, m_ckOnsite_ONSITE);
|
|
DDX_Control(pDX, IDC_CKONSITE_INHOUSEONLY, m_ckOnsite_INHOUSE);
|
|
DDX_Control(pDX, IDC_CKONSITE_BOTH, m_ckOnsite_BOTH);
|
|
DDX_Control(pDX, IDC_CKLASTACTIVITY_ANY, m_ckLastActivity_ANY);
|
|
DDX_Control(pDX, IDC_CKCLOSEDOPEN_OPENONLY, m_ckClosedOpen_OPEN);
|
|
DDX_Control(pDX, IDC_CKCLOSEDOPEN_CLOSEDONLY, m_ckClosedOpen_CLOSED);
|
|
DDX_Control(pDX, IDC_CKCLOSEDOPEN_BOTH, m_ckClosedOpen_BOTH);
|
|
DDX_Control(pDX, IDC_CBZONES, m_cbZone);
|
|
DDX_Control(pDX, IDC_CBTECHS, m_cbTech);
|
|
DDX_Control(pDX, IDC_CBCLIENTS, m_cbClient);
|
|
DDX_Control(pDX, IDC_LBL14, m_lbl14);
|
|
DDX_Control(pDX, IDC_LBL9, m_lbl9);
|
|
DDX_Control(pDX, IDC_LBL8, m_lbl8);
|
|
DDX_Control(pDX, IDC_LBL7, m_lbl7);
|
|
DDX_Control(pDX, IDC_LBL6, m_lbl6);
|
|
DDX_Control(pDX, IDC_LBL5, m_lbl5);
|
|
DDX_Control(pDX, IDC_LBL4, m_lbl4);
|
|
DDX_Control(pDX, IDC_LBL3, m_lbl3);
|
|
DDX_Control(pDX, IDC_LBL2, m_lbl2);
|
|
DDX_Control(pDX, IDC_LBL13, m_lbl13);
|
|
DDX_Control(pDX, IDC_LBL12, m_lbl12);
|
|
DDX_Control(pDX, IDC_LBL11, m_lbl11);
|
|
DDX_Control(pDX, IDC_LBL10, m_lbl10);
|
|
DDX_Control(pDX, IDC_LBL1, m_lbl1);
|
|
DDX_Control(pDX, IDC_CKZONE, m_ckZone);
|
|
DDX_Control(pDX, IDC_CKWO, m_ckWO);
|
|
DDX_Control(pDX, IDC_CKSCHEDTECH, m_ckSchedTech);
|
|
DDX_Control(pDX, IDC_CKSCHEDEND, m_ckSchedEndDate);
|
|
DDX_Control(pDX, IDC_CKSCHEDDATE, m_ckSchedDate);
|
|
DDX_Control(pDX, IDC_CKPOSTAL, m_ckPostal);
|
|
DDX_Control(pDX, IDC_CKONSITE, m_ckOnsite);
|
|
DDX_Control(pDX, IDC_CKLASTACTIVITY, m_ckLastActivity);
|
|
DDX_Control(pDX, IDC_CKENTRYDATE, m_ckEntryDate);
|
|
DDX_Control(pDX, IDC_CKCLOSEDDATE, m_ckClosedDate);
|
|
DDX_Control(pDX, IDC_CKCLOSED, m_ckClosed);
|
|
DDX_Control(pDX, IDC_CKCLIENT, m_ckClient);
|
|
DDX_Control(pDX, IDC_CKCITY, m_ckCity);
|
|
//}}AFX_DATA_MAP
|
|
DDX_Control(pDX, IDC_CBSTATUS, m_cbStatus);
|
|
DDX_Control(pDX, IDC_LBLCREATEDDAYS, m_lblCreatedDays);
|
|
DDX_Control(pDX, IDC_EDCREATEDDAYS, m_edCreatedDays);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CDispatchFieldsDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CDispatchFieldsDlg)
|
|
ON_BN_CLICKED(IDC_BTNDONE, OnBtndone)
|
|
ON_BN_CLICKED(IDC_BTNCANCEL, OnBtncancel)
|
|
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
|
|
ON_BN_CLICKED(IDC_CKCLOSEDOPEN_BOTH, OnCkclosedopenBoth)
|
|
ON_BN_CLICKED(IDC_CKCLOSEDOPEN_OPENONLY, OnCkclosedopenOpenonly)
|
|
ON_BN_CLICKED(IDC_CKCLOSEDOPEN_CLOSEDONLY, OnCkclosedopenClosedonly)
|
|
ON_BN_CLICKED(IDC_CKONSITE_BOTH, OnCkonsiteBoth)
|
|
ON_BN_CLICKED(IDC_CKONSITE_INHOUSEONLY, OnCkonsiteInhouseonly)
|
|
ON_BN_CLICKED(IDC_CKONSITE_ONSITEONLY, OnCkonsiteOnsiteonly)
|
|
ON_BN_CLICKED(IDC_CKSCHEDDATE_ANY, OnCkscheddateAny)
|
|
ON_BN_CLICKED(IDC_CKSCHEDDATE_BETWEEN, OnCkscheddateBetween)
|
|
ON_BN_CLICKED(IDC_CKSCHEDDATE_THISMONTH, OnCkscheddateThismonth)
|
|
ON_BN_CLICKED(IDC_CKSCHEDDATE_THISWEEK, OnCkscheddateThisweek)
|
|
ON_BN_CLICKED(IDC_CKSCHEDDATE_TODAY, OnCkscheddateToday)
|
|
ON_BN_CLICKED(IDC_CKLASTACTIVITY_ANY, OnCklastactivityAny)
|
|
ON_CBN_CLOSEUP(IDC_CBENTRY, OnCloseupCbentry)
|
|
ON_BN_CLICKED(IDC_CKINVOICE, OnCkinvoice)
|
|
ON_BN_CLICKED(IDC_CKDATE, OnCkdate)
|
|
ON_NOTIFY(DTN_DATETIMECHANGE, IDC_DTCHEDDATE_BETWEEN_START, OnDatetimechangeDtcheddateBetweenStart)
|
|
ON_NOTIFY(DTN_DATETIMECHANGE, IDC_DTCHEDDATE_BETWEEN_END, OnDatetimechangeDtcheddateBetweenEnd)
|
|
ON_BN_CLICKED(IDC_CKOURREF, OnCkourref)
|
|
ON_BN_CLICKED(IDC_CKSTATUS, OnCkstatus)
|
|
ON_BN_CLICKED(IDC_CKSCHEDDATE_TOMORROW, OnCkscheddateTomorrow)
|
|
ON_CBN_CLOSEUP(IDC_CBCATEGORIES, OnCloseupCbcategories)
|
|
ON_BN_CLICKED(IDC_CKCATEGORY, OnCkcategory)
|
|
ON_CBN_CLOSEUP(IDC_CBCLIENTS, BuildSQL)
|
|
ON_CBN_CLOSEUP(IDC_CBTECHS, BuildSQL)
|
|
ON_CBN_CLOSEUP(IDC_CBZONES, BuildSQL)
|
|
ON_BN_CLICKED(IDC_CKCITY, BuildSQL)
|
|
ON_BN_CLICKED(IDC_CKCLIENT, BuildSQL)
|
|
ON_BN_CLICKED(IDC_CKCLOSED, BuildSQL)
|
|
ON_BN_CLICKED(IDC_CKCLOSEDDATE, BuildSQL)
|
|
ON_BN_CLICKED(IDC_CKENTRYDATE, BuildSQL)
|
|
ON_BN_CLICKED(IDC_CKLASTACTIVITY, BuildSQL)
|
|
ON_BN_CLICKED(IDC_CKONSITE, BuildSQL)
|
|
ON_BN_CLICKED(IDC_CKPOSTAL, BuildSQL)
|
|
ON_BN_CLICKED(IDC_CKSCHEDDATE, BuildSQL)
|
|
ON_BN_CLICKED(IDC_CKSCHEDEND, BuildSQL)
|
|
ON_BN_CLICKED(IDC_CKSCHEDTECH, BuildSQL)
|
|
ON_BN_CLICKED(IDC_CKWO, BuildSQL)
|
|
ON_BN_CLICKED(IDC_CKZONE, BuildSQL)
|
|
ON_EN_KILLFOCUS(IDC_EDLASTACTIVITY_DAYSAGO, BuildSQL)
|
|
ON_BN_CLICKED(IDC_CKPROJECT, OnCkproject)
|
|
ON_CBN_CLOSEUP(IDC_CBPROJECTS, OnCloseupCbprojects)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CDispatchFieldsDlg message handlers
|
|
|
|
void CDispatchFieldsDlg::OnBtndone()
|
|
{
|
|
|
|
BuildSQL();
|
|
if(*passeddv==*pdv) //cool operator overload!
|
|
pdv->IsModified=false;
|
|
else
|
|
pdv->IsModified=true;
|
|
|
|
|
|
*passeddv=*pdv;
|
|
|
|
CDialog::OnOK();
|
|
}
|
|
|
|
|
|
//*******************************************************
|
|
void CDispatchFieldsDlg::SetReturnVariable(CDispatchView * dvReturn)
|
|
{
|
|
passeddv=dvReturn;
|
|
*pdv=*passeddv;
|
|
}
|
|
|
|
|
|
//*******************************************************
|
|
void CDispatchFieldsDlg::OnOK()
|
|
{}
|
|
|
|
BOOL CDispatchFieldsDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
ShowWindow(FALSE);
|
|
CString str;
|
|
CWaitCursor wait;
|
|
FillLists();
|
|
ASSERT(pdv!=NULL);
|
|
|
|
m_lbl1.SetFontBold(TRUE);
|
|
m_lbl2.SetFontBold(TRUE);
|
|
m_lbl3.SetFontBold(TRUE);
|
|
m_lbl4.SetFontBold(TRUE);
|
|
m_lbl5.SetFontBold(TRUE);
|
|
m_lbl6.SetFontBold(TRUE);
|
|
m_lbl7.SetFontBold(TRUE);
|
|
m_lbl8.SetFontBold(TRUE);
|
|
m_lbl9.SetFontBold(TRUE);
|
|
m_lbl10.SetFontBold(TRUE);
|
|
m_lbl11.SetFontBold(TRUE);
|
|
m_lbl12.SetFontBold(TRUE);
|
|
m_lbl13.SetFontBold(TRUE);
|
|
//title:
|
|
m_lbl14.SetFontBold(TRUE);
|
|
m_lbl14.SetFontSize(14);
|
|
|
|
|
|
m_lbl15.SetFontBold(TRUE);
|
|
m_lbl16.SetFontBold(TRUE);
|
|
//WO ENTRY DATE
|
|
m_dtEntryDate.SetTime(pdv->woentrydate);
|
|
|
|
//WOENTERY DATE TYPE CODE
|
|
m_cbEntry.SetCurSel(pdv->woentrydatetype);
|
|
|
|
m_edCreatedDays.ShowWindow(FALSE);
|
|
m_lblCreatedDays.ShowWindow(FALSE);
|
|
m_dtEntryDate.ShowWindow(FALSE);
|
|
|
|
|
|
if(pdv->woentrydatetype==1 || pdv->woentrydatetype==2)
|
|
{
|
|
m_dtEntryDate.ShowWindow(TRUE);
|
|
}
|
|
|
|
//More than / less than days
|
|
if(12==pdv->woentrydatetype || 13==pdv->woentrydatetype)
|
|
{
|
|
m_edCreatedDays.ShowWindow(TRUE);
|
|
m_lblCreatedDays.ShowWindow(TRUE);
|
|
|
|
}
|
|
str.Format("%u",pdv->lCreatedDays);
|
|
m_edCreatedDays.SetWindowText(str);
|
|
|
|
|
|
//CLIENT
|
|
m_ckClient.SetCheck(pdv->client==0 ? FALSE : TRUE);
|
|
m_cbClient.Select(pdv->client);
|
|
|
|
//DATE - combined standard/quick date
|
|
m_ckDate.SetCheck(pdv->date==0 ? FALSE : TRUE);
|
|
|
|
//SCHED DATE
|
|
m_dtSchedDate_START.EnableWindow(FALSE);
|
|
m_dtSchedDate_END.EnableWindow(FALSE);
|
|
m_ckSchedDate.SetCheck(pdv->schedstart==0 ? FALSE : TRUE);
|
|
switch( pdv->schedstart)
|
|
{//0 = not displayed otherwise 1=any,2=today,3=week,4=month,5=between, 6=TOMORROW
|
|
case 1:
|
|
m_ckSchedDate_ANY.SetCheck(TRUE);
|
|
break;
|
|
case 2:
|
|
m_ckSchedDate_TODAY.SetCheck(TRUE);
|
|
break;
|
|
case 3:
|
|
m_ckSchedDate_THISWEEK.SetCheck(TRUE);
|
|
break;
|
|
case 4:
|
|
m_ckSchedDate_THISMONTH.SetCheck(TRUE);
|
|
break;
|
|
case 6:
|
|
m_ckSchedDate_TOMORROW.SetCheck(TRUE);
|
|
break;
|
|
default ://between
|
|
{
|
|
m_ckSchedDate_BETWEEN.SetCheck(TRUE);
|
|
m_dtSchedDate_START.EnableWindow(TRUE);
|
|
m_dtSchedDate_END.EnableWindow(TRUE);
|
|
m_dtSchedDate_START.SetTime(pdv->scheddatestart);
|
|
m_dtSchedDate_END.SetTime(pdv->scheddateend);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
//SCHED END DATE
|
|
m_ckSchedEndDate.SetCheck(pdv->schedenddate==0 ? FALSE : TRUE);
|
|
|
|
//SCHED TECH
|
|
m_ckSchedTech.SetCheck(pdv->schedtech==-2 ? FALSE : TRUE);
|
|
m_cbTech.Select(pdv->schedtech);
|
|
|
|
//ENTRY DATE
|
|
m_ckEntryDate.SetCheck(pdv->wocreateddate==0 ? FALSE : TRUE);
|
|
|
|
//LAST ACTIVITY
|
|
m_edLastActivity_DAYS.EnableWindow(FALSE);
|
|
m_ckLastActivity_ANY.SetCheck(TRUE);
|
|
m_ckLastActivity.SetCheck(TRUE);
|
|
switch( pdv->lastactivity)
|
|
{//0 = not displayed otherwise -1=any, or x days
|
|
case 0:
|
|
m_ckLastActivity.SetCheck(FALSE);
|
|
break;
|
|
case -1:
|
|
m_ckLastActivity.SetCheck(TRUE);
|
|
break;
|
|
default ://X days
|
|
m_ckLastActivity_ANY.SetCheck(FALSE);
|
|
m_edLastActivity_DAYS.EnableWindow(TRUE);
|
|
str.Format("%u",pdv->lastactivity);
|
|
m_edLastActivity_DAYS.SetWindowText(str);
|
|
}
|
|
|
|
//ONSITE
|
|
m_ckOnsite.SetCheck(TRUE);
|
|
switch( pdv->onsite)
|
|
{ //0 = not displayed otherwise 1="both", 2= "onsite", 3="inhouse"
|
|
case 0:
|
|
m_ckOnsite.SetCheck(FALSE);
|
|
break;
|
|
case 1:
|
|
m_ckOnsite_BOTH.SetCheck(TRUE);
|
|
break;
|
|
case 2:
|
|
m_ckOnsite_ONSITE.SetCheck(TRUE);
|
|
break;
|
|
case 3:
|
|
m_ckOnsite_INHOUSE.SetCheck(TRUE);
|
|
break;
|
|
}
|
|
|
|
//CLOSED
|
|
m_ckClosed.SetCheck(TRUE);
|
|
switch( pdv->closed)
|
|
{//0 = not displayed 1=both,2="closed",3="open"
|
|
case 0:
|
|
m_ckClosed.SetCheck(FALSE);
|
|
break;
|
|
case 1:
|
|
m_ckClosedOpen_BOTH.SetCheck(TRUE);
|
|
break;
|
|
case 2:
|
|
m_ckClosedOpen_CLOSED.SetCheck(TRUE);
|
|
break;
|
|
case 3:
|
|
m_ckClosedOpen_OPEN.SetCheck(TRUE);
|
|
break;
|
|
}
|
|
|
|
//CLOSED DATE
|
|
m_ckClosedDate.SetCheck(pdv->closeddate==0 ? FALSE : TRUE);
|
|
|
|
//POSTAL
|
|
m_ckPostal.SetCheck(pdv->postal==0 ? FALSE : TRUE);
|
|
|
|
//CITY
|
|
m_ckCity.SetCheck(pdv->city==0 ? FALSE : TRUE);
|
|
|
|
//WORKORDER
|
|
m_ckWO.SetCheck(pdv->workorder==0 ? FALSE : TRUE);
|
|
|
|
//INVOICE #
|
|
m_ckInvoice.SetCheck(pdv->invoice==0 ? FALSE : TRUE);
|
|
|
|
//Our ref #
|
|
m_ckOurRef.SetCheck(pdv->ourrefnumber==0 ? FALSE : TRUE);
|
|
|
|
//Cust ref #
|
|
m_ckCustRef.SetCheck(pdv->custrefnumber==0 ? FALSE : TRUE);
|
|
|
|
//Status
|
|
m_ckStatus.SetCheck(pdv->status==0 ? FALSE : TRUE);
|
|
m_cbStatus.Select(pdv->status);
|
|
|
|
//ZONE
|
|
m_ckZone.SetCheck(pdv->zone==0 ? FALSE : TRUE);
|
|
m_cbZone.Select(pdv->zone);
|
|
|
|
//CATEGORY
|
|
m_ckCategory.SetCheck(pdv->category==0 ? FALSE : TRUE);
|
|
m_cbCategories.Select(pdv->category);
|
|
|
|
//PROJECTS
|
|
m_ckProject.SetCheck(pdv->project==0 ? FALSE : TRUE);
|
|
m_cbProjects.Select(pdv->project);
|
|
|
|
|
|
//PREVIEW DESCripTION
|
|
m_ckPreview.SetCheck(pdv->preview==0 ? FALSE : TRUE);
|
|
|
|
//REPORT NAME
|
|
m_cbReports.Select(pdv->virtualreport);
|
|
|
|
|
|
ShowWindow(SW_MAXIMIZE);
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
//*************************************************
|
|
void CDispatchFieldsDlg::OnBtncancel()
|
|
{
|
|
|
|
CDialog::OnCancel();
|
|
}
|
|
|
|
|
|
|
|
//****************************************
|
|
//Build the SQL statement
|
|
//Set the various dispatchview class values
|
|
//update the user interface to provide feedback
|
|
void CDispatchFieldsDlg::BuildSQL()
|
|
{
|
|
bool NoChoices=true;
|
|
CString str1,str2;
|
|
long lData;
|
|
COleDateTime dtData1,dtData2,dtDefault;
|
|
dtDefault.SetDate(1968,03,12);
|
|
//AfxMessageBox("BuildSQL");
|
|
//Iterate through the fields and build the WHERE clause
|
|
//of the sql statement.
|
|
pdv->sqlcriteria.Empty();
|
|
|
|
|
|
|
|
|
|
|
|
//CLIENT
|
|
if(m_ckClient.GetCheck()==TRUE)
|
|
{
|
|
pdv->client=-1;//default means show but no criteria
|
|
NoChoices=false;
|
|
bool bHO=false;
|
|
|
|
|
|
//Head office addition June 20 2003
|
|
m_cbClient.GetWindowText(str1);
|
|
if(str1.Right(13)=="(head office)") bHO=true;
|
|
|
|
str1=m_cbClient.GetCurrentRowID();
|
|
if(str1!="0")
|
|
{
|
|
//(clients.headoffice)=22)
|
|
if(bHO==true)
|
|
str2.Format(" ((clients.headoffice)=%s)",str1);
|
|
else
|
|
str2.Format(" ((wo.client)=%s)",str1);
|
|
pdv->sqlcriteria+=str2;
|
|
pdv->client=atol(str1);
|
|
}
|
|
}
|
|
else//no client
|
|
pdv->client=0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//ZONE
|
|
if(m_ckZone.GetCheck()==TRUE)
|
|
{
|
|
pdv->zone=-1;
|
|
NoChoices=false;
|
|
str1=m_cbZone.GetCurrentRowID();
|
|
if(str1!="0")
|
|
{
|
|
str2.Format(" AND ((clients.czone)=%s)",str1);
|
|
pdv->sqlcriteria+=str2;
|
|
pdv->zone=atol(str1);
|
|
}
|
|
|
|
}
|
|
else
|
|
pdv->zone=0;
|
|
|
|
//CATEGORY
|
|
if(m_ckCategory.GetCheck()==TRUE)
|
|
{
|
|
pdv->category=-1;
|
|
NoChoices=false;
|
|
str1=m_cbCategories.GetCurrentRowID();
|
|
if(str1!="0")
|
|
{
|
|
str2.Format(" AND ((wo.type)=%s)",str1);
|
|
pdv->sqlcriteria+=str2;
|
|
pdv->category=atol(str1);
|
|
}
|
|
|
|
}
|
|
else
|
|
pdv->category=0;
|
|
|
|
|
|
//PROJECT
|
|
if(m_ckProject.GetCheck()==TRUE)
|
|
{
|
|
pdv->project=-1;
|
|
NoChoices=false;
|
|
str1=m_cbProjects.GetCurrentRowID();
|
|
if(str1!="0")
|
|
{
|
|
str2.Format(" AND ((wo.project)=%s)",str1);
|
|
pdv->sqlcriteria+=str2;
|
|
pdv->project=atol(str1);
|
|
}
|
|
|
|
}
|
|
else
|
|
pdv->project=0;
|
|
|
|
|
|
|
|
|
|
|
|
//TECH
|
|
if(m_ckSchedTech.GetCheck()==TRUE)
|
|
{
|
|
pdv->schedtech=-1;
|
|
NoChoices=false;
|
|
|
|
str1=m_cbTech.GetCurrentRowID();
|
|
|
|
//Commented out check if tech zero because if you select "any tech"
|
|
//it should just show work orders assigned to tech 0 (not assigned)
|
|
|
|
//replaced with -1 meaning don't show
|
|
if(str1!="-1")
|
|
{
|
|
//original:
|
|
//str2.Format(" AND ((wo.assigntech)=%s)",str1);
|
|
str2.Format(" AND ( ((wo.assigntech)=%s) OR ((wo.assigntech2)=%s) OR ((wo.assigntech3)=%s) OR ((wo.assigntech4)=%s) )"
|
|
,str1,str1,str1,str1);
|
|
//((wo.assigntech)=2) OR ((wo.assigntech2)=2) OR ((wo.assigntech3)=2) OR ((wo.assigntech4)=2)
|
|
pdv->sqlcriteria+=str2;
|
|
pdv->schedtech=atol(str1);
|
|
}
|
|
|
|
}
|
|
else
|
|
pdv->schedtech=-2;//-2 means don't show the scheduled tech column
|
|
|
|
|
|
|
|
//CLOSED/OPEN
|
|
str2.Empty();
|
|
if(m_ckClosed.GetCheck()==TRUE)
|
|
{
|
|
pdv->closed=-1;//default, means show but no criteria
|
|
NoChoices=false;
|
|
if(m_ckClosedOpen_BOTH.GetCheck()==TRUE)
|
|
pdv->closed=1;
|
|
|
|
if(m_ckClosedOpen_OPEN.GetCheck()==TRUE)
|
|
{
|
|
str2.Format(" AND ((wo.closed)=#%s#)",dtDefault.Format(_T("%m/%d/%Y")));//Open
|
|
pdv->closed=3;
|
|
}
|
|
|
|
if(m_ckClosedOpen_CLOSED.GetCheck()==TRUE)
|
|
{
|
|
str2.Format(" AND ((wo.closed)<>#%s#)",dtDefault.Format(_T("%m/%d/%Y")));//Closed
|
|
pdv->closed=2;
|
|
}
|
|
|
|
pdv->sqlcriteria+=str2;
|
|
|
|
}
|
|
else
|
|
pdv->closed=0;
|
|
|
|
|
|
|
|
|
|
//ONSITE
|
|
str2.Empty();
|
|
if(m_ckOnsite.GetCheck()==TRUE)
|
|
{
|
|
pdv->onsite=-1;//default show but no criteria
|
|
NoChoices=false;
|
|
if(m_ckOnsite_BOTH.GetCheck()==TRUE)
|
|
pdv->onsite=1;
|
|
|
|
if(m_ckOnsite_ONSITE.GetCheck()==TRUE)
|
|
{
|
|
pdv->onsite=2;
|
|
str2=" AND ((wo.onsite)=True)";
|
|
}
|
|
|
|
if(m_ckOnsite_INHOUSE.GetCheck()==TRUE)
|
|
{
|
|
pdv->onsite=3;
|
|
str2=" AND ((wo.onsite)=False)";
|
|
}
|
|
|
|
pdv->sqlcriteria+=str2;
|
|
|
|
}
|
|
else
|
|
pdv->onsite=0;
|
|
|
|
|
|
|
|
//LAST ACTIVITY
|
|
if(m_ckLastActivity.GetCheck()==TRUE)
|
|
{
|
|
NoChoices=false;
|
|
pdv->lastactivity=-1;//default show but no criteria
|
|
if(m_ckLastActivity_ANY.GetCheck()!=TRUE)
|
|
{
|
|
m_edLastActivity_DAYS.GetWindowText(str1);
|
|
if(!str1.IsEmpty())
|
|
{
|
|
str2.Format(" AND ((wo.modified) < Date( ) - %s)",str1);
|
|
pdv->sqlcriteria+=str2;
|
|
pdv->lastactivity=atol(str1);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
else
|
|
pdv->lastactivity=0;
|
|
|
|
|
|
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.
|
|
//WO CREATED DATE
|
|
//update January 2 2002, changed all date related bits below to use the dateadd function
|
|
//was previously stuck on a year hump because it was explicitly looking for wo's within the same year
|
|
str1.Empty();
|
|
str2.Empty();
|
|
pdv->woentrydatetype=m_cbEntry.GetCurSel();
|
|
//m_dtEntryDate.SetTime(pdv->woentrydate);
|
|
m_dtEntryDate.GetTime(pdv->woentrydate);
|
|
pdv->lCreatedDays=0;
|
|
|
|
if(pdv->woentrydatetype >0) //0=Anytime
|
|
{
|
|
switch(pdv->woentrydatetype)
|
|
{
|
|
case 1://1=After woentrydate
|
|
//dtLaborStart.Format(_T("%m/%d/%Y %H:%M:%S")
|
|
str1.Format(" AND ((wo.created)>#%s#)",
|
|
pdv->woentrydate.Format(_T("%m/%d/%Y 23:59:59")));
|
|
break;
|
|
case 2: //2=Before woentrydate
|
|
str1.Format(" AND ((wo.created)<#%s#)",
|
|
pdv->woentrydate.Format(_T("%m/%d/%Y")));
|
|
break;
|
|
case 3: //3=within 1 week
|
|
str1=" AND (([wo].[created]))>= (DateAdd(\"d\",-7, Date()))";
|
|
break;
|
|
case 4://4=within 2 weeks
|
|
str1=" AND (([wo].[created]))>= (DateAdd(\"d\",-14, Date()))";
|
|
break;
|
|
case 5: //5=within the last 45 days
|
|
str1=" AND (([wo].[created]))>= (DateAdd(\"d\",-45, Date()))";
|
|
break;
|
|
case 6: //5=within 1 month
|
|
str1=" AND (([wo].[created]))>= (DateAdd(\"m\",-1, Date()))";
|
|
break;
|
|
case 7: //6=within 3 months DateAdd("m",-3,Date())
|
|
str1=" AND (([wo].[created]))>= (DateAdd(\"m\",-3, Date()))";
|
|
break;
|
|
case 8://7=within 6 months
|
|
str1=" AND (([wo].[created]))>= (DateAdd(\"m\",-6, Date()))";
|
|
break;
|
|
case 9: //8=within 1 year
|
|
str1=" AND (([wo].[created]))>= (DateAdd(\"yyyy\",-1, Date()))";
|
|
break;
|
|
case 10: //9=within 2 years
|
|
str1=" AND (([wo].[created]))>= (DateAdd(\"yyyy\",-2, Date()))";
|
|
break;
|
|
case 11://10=within 5 years
|
|
str1=" AND (([wo].[created]))>= (DateAdd(\"yyyy\",-4, Date()))";
|
|
break;
|
|
case 12://Less than X days ago
|
|
m_edCreatedDays.GetWindowText(str2);
|
|
lData=atol(str2);
|
|
if(lData==0)
|
|
{
|
|
str1.Format("Workorder created more than \"%s\" days is invalid\r\n"
|
|
"Substituting with 5\r\n",str2);
|
|
AfxMessageBox(str1);
|
|
m_edCreatedDays.SetWindowText("5");
|
|
m_edCreatedDays.SetFocus();
|
|
lData=5;
|
|
}
|
|
pdv->lCreatedDays=lData;
|
|
str1.Format(" AND (([wo].[created]))>=(DateAdd(\"d\",-%u, Date()))",lData);
|
|
break;
|
|
case 13://More than X days ago
|
|
m_edCreatedDays.GetWindowText(str2);
|
|
lData=atol(str2);
|
|
if(lData==0)
|
|
{
|
|
str1.Format("Workorder created more than \"%s\" days is invalid\r\n"
|
|
"Substituting with 5\r\n",str2);
|
|
AfxMessageBox(str1);
|
|
m_edCreatedDays.SetWindowText("5");
|
|
m_edCreatedDays.SetFocus();
|
|
lData=5;
|
|
}
|
|
pdv->lCreatedDays=lData;
|
|
str1.Format(" AND (([wo].[created]))<=(DateAdd(\"d\",-%u, Date()))",lData);
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
pdv->sqlcriteria+=str1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//SCHED START DATE
|
|
str1.Empty();
|
|
str2.Empty();
|
|
if(m_ckSchedDate.GetCheck()==TRUE)
|
|
{
|
|
pdv->schedstart=-1;//show but no crit.
|
|
NoChoices=false;
|
|
|
|
if(m_ckSchedDate_ANY.GetCheck()==TRUE)
|
|
pdv->schedstart=1;
|
|
|
|
if(m_ckSchedDate_TODAY.GetCheck()==TRUE)
|
|
{
|
|
str1=" AND ((DatePart(\"y\",[wo].[starttime]))=DatePart(\"y\",Date())) AND ((DatePart(\"yyyy\",[wo].[starttime]))=DatePart(\"yyyy\",Date()))";
|
|
pdv->schedstart=2;
|
|
}
|
|
|
|
if(m_ckSchedDate_THISWEEK.GetCheck()==TRUE)
|
|
{
|
|
str1=" AND ((DatePart(\"ww\",[wo].[starttime]))=DatePart(\"ww\",Date())) AND ((DatePart(\"yyyy\",[wo].[starttime]))=DatePart(\"yyyy\",Date()))";
|
|
pdv->schedstart=3;
|
|
}
|
|
|
|
if(m_ckSchedDate_THISMONTH.GetCheck()==TRUE)
|
|
{
|
|
str1=" AND ((DatePart(\"m\",[wo].[starttime]))=DatePart(\"m\",Date())) AND ((DatePart(\"yyyy\",[wo].[starttime]))=DatePart(\"yyyy\",Date()))";
|
|
pdv->schedstart=4;
|
|
}
|
|
|
|
if(m_ckSchedDate_TOMORROW.GetCheck()==TRUE)
|
|
{
|
|
str1=" AND ((DatePart(\"y\",[wo].[starttime]))=DatePart(\"y\",Date())+1) AND ((DatePart(\"yyyy\",[wo].[starttime]))=DatePart(\"yyyy\",Date()))";
|
|
pdv->schedstart=2; pdv->schedstart=6;
|
|
}
|
|
|
|
if(m_ckSchedDate_BETWEEN.GetCheck()==TRUE)
|
|
{
|
|
|
|
m_dtSchedDate_START.GetTime(dtData1);
|
|
m_dtSchedDate_END.GetTime(dtData2);
|
|
pdv->scheddatestart=dtData1;
|
|
pdv->scheddateend=dtData2;
|
|
str1.Format(" AND ((wo.starttime) Between #%s# And #%s#)",dtData1.Format(_T("%m/%d/%Y")),dtData2.Format(_T("%m/%d/%Y")));
|
|
pdv->schedstart=5;
|
|
|
|
}
|
|
pdv->sqlcriteria+=str1;
|
|
|
|
}
|
|
else
|
|
pdv->schedstart=0;
|
|
|
|
|
|
|
|
//NON CRITERIA FIELDS: (0=dont display, nonzero means display)
|
|
|
|
//POSTAL
|
|
pdv->postal=m_ckPostal.GetCheck() ? 1 : 0;
|
|
if(pdv->postal==1) NoChoices=false;
|
|
//CITY
|
|
pdv->city= m_ckCity.GetCheck() ? 1 : 0;
|
|
if(pdv->city==1) NoChoices=false;
|
|
//workorder
|
|
pdv->workorder= m_ckWO.GetCheck() ? 1 : 0;
|
|
if(pdv->workorder==1) NoChoices=false;
|
|
//CLOSEDDATE
|
|
pdv->closeddate = m_ckClosedDate.GetCheck() ? 1 : 0;
|
|
if(pdv->closeddate==1) NoChoices=false;
|
|
//SCHEDENDDATE
|
|
pdv->schedenddate = m_ckSchedEndDate.GetCheck() ? 1 : 0;
|
|
if(pdv->schedenddate==1) NoChoices=false;
|
|
|
|
//WOCREATEDDATE
|
|
pdv->wocreateddate= m_ckEntryDate.GetCheck() ? 1 : 0;
|
|
if(pdv->wocreateddate==1) NoChoices=false;
|
|
|
|
//DATE - combined standard/quick date column
|
|
pdv->date= m_ckDate.GetCheck() ? 1 : 0;
|
|
if(pdv->date==1) NoChoices=false;
|
|
|
|
|
|
//INVOICE #
|
|
pdv->invoice = m_ckInvoice.GetCheck() ? 1 : 0;
|
|
if(pdv->invoice==1) NoChoices=false;
|
|
|
|
//Our ref #
|
|
pdv->ourrefnumber = m_ckOurRef.GetCheck() ? 1 : 0;
|
|
if(pdv->ourrefnumber==1) NoChoices=false;
|
|
|
|
//Cust ref #
|
|
pdv->custrefnumber = m_ckCustRef.GetCheck() ? 1 : 0;
|
|
if(pdv->custrefnumber==1) NoChoices=false;
|
|
|
|
//STATUS
|
|
/*pdv->status = m_ckStatus.GetCheck() ? 1 : 0;
|
|
if(pdv->status==1) NoChoices=false;*/
|
|
|
|
if(m_ckStatus.GetCheck()==TRUE)
|
|
{
|
|
pdv->status=-1;
|
|
NoChoices=false;
|
|
str1=m_cbStatus.GetCurrentRowID();
|
|
if(str1!="0")
|
|
{
|
|
str2.Format(" AND ((wo.status)=%s)",str1);
|
|
pdv->sqlcriteria+=str2;
|
|
pdv->status=atol(str1);
|
|
}
|
|
|
|
}
|
|
else
|
|
pdv->status=0;
|
|
|
|
//PREVIEW DESCripTION
|
|
pdv->preview = m_ckPreview.GetCheck() ? 1 : 0;
|
|
if(pdv->preview==1) NoChoices=false;
|
|
|
|
|
|
|
|
//FIXUP THE QUERY STRING
|
|
if(pdv->sqlcriteria.IsEmpty())
|
|
{
|
|
pdv->sqlcriteria.Empty();
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
if(pdv->sqlcriteria.Left(4)==" AND")
|
|
{
|
|
str1=pdv->sqlcriteria.Right(pdv->sqlcriteria.GetLength()-4);
|
|
pdv->sqlcriteria=str1;
|
|
}
|
|
|
|
pdv->sqlcriteria=" WHERE(" + pdv->sqlcriteria + ")";
|
|
}
|
|
//REPORT NAME
|
|
pdv->virtualreport=m_cbReports.GetCurrentRowID();
|
|
|
|
if(NoChoices) //nothing was chosen to display
|
|
{
|
|
AfxMessageBox("You must select at least one item for display.\r\nI'm going to select workorder # for you now to avoid problems.");
|
|
m_ckWO.SetCheck(TRUE);
|
|
pdv->workorder=1;//force a workorder to avoid crash
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//*****************************************
|
|
void CDispatchFieldsDlg::FillLists()
|
|
{
|
|
CString strData;
|
|
CString strIndex;
|
|
long lData;
|
|
bool bHO;
|
|
m_cbTech.Clear();
|
|
|
|
m_cbTech.AddRow(" <All techs>","-1");
|
|
m_cbTech.AddRow("<To be assigned>","0");
|
|
rs->Query("SELECT users.id, [last] & \", \" & [first] AS fullname FROM users WHERE (((users.tech)=True)) ORDER BY users.last;");
|
|
if(!rs->IsEmpty())
|
|
{
|
|
rs->MoveFirst();
|
|
rs->FetchField("fullname",&strData);
|
|
rs->FetchField("id",&lData);
|
|
strIndex.Format("%u",lData);
|
|
m_cbTech.AddRow(strData,strIndex);
|
|
while(rs->MoveForward())
|
|
{
|
|
rs->FetchField("fullname",&strData);
|
|
rs->FetchField("id",&lData);
|
|
strIndex.Format("%u",lData);
|
|
m_cbTech.AddRow(strData,strIndex);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//==========================================
|
|
//CLIENTS LIST
|
|
|
|
m_cbClient.Clear();
|
|
m_cbClient.AddRow("<Any Client>","0");
|
|
|
|
rs->Query("SELECT clients.id, IIf(IsNull([company]),[last] & \", \" & [first],[company]) AS name, isheadoffice "
|
|
"FROM clients ORDER BY IIf(IsNull([company]),[last] & \", \" & [first],[company]);");
|
|
|
|
|
|
if(!rs->IsEmpty())
|
|
{
|
|
do
|
|
{
|
|
rs->FetchField("isheadoffice",&bHO);
|
|
rs->FetchField("name",&strData);
|
|
if(bHO)
|
|
strData=strData+" (head office)";
|
|
rs->FetchField("id",&lData);
|
|
strIndex.Format("%u",lData);
|
|
m_cbClient.AddRow(strData,strIndex);
|
|
}while(rs->MoveForward());
|
|
}
|
|
|
|
//============================================
|
|
|
|
//==========================================
|
|
//ZONES LIST
|
|
|
|
m_cbZone.Clear();
|
|
m_cbZone.AddRow("<Any Zone>","0");
|
|
|
|
rs->Query("SELECT zones.name, zones.id FROM zones ORDER BY zones.name;");
|
|
|
|
|
|
if(!rs->IsEmpty())
|
|
{
|
|
do
|
|
{
|
|
rs->FetchField("name",&strData);
|
|
rs->FetchField("id",&lData);
|
|
strIndex.Format("%u",lData);
|
|
m_cbZone.AddRow(strData,strIndex);
|
|
}while(rs->MoveForward());
|
|
}
|
|
|
|
//==========================================
|
|
//CATEGORIES LIST
|
|
|
|
m_cbCategories.Clear();
|
|
m_cbCategories.AddRow("<Any category>","0");
|
|
|
|
rs->Query("SELECT wotypes.category, wotypes.id FROM wotypes ORDER BY wotypes.category;");
|
|
|
|
|
|
if(!rs->IsEmpty())
|
|
{
|
|
do
|
|
{
|
|
rs->FetchField("category",&strData);
|
|
rs->FetchField("id",&lData);
|
|
strIndex.Format("%u",lData);
|
|
m_cbCategories.AddRow(strData,strIndex);
|
|
}while(rs->MoveForward());
|
|
}
|
|
//m_cbCategories.Select("0");
|
|
|
|
//==========================================
|
|
//PROJECTS LIST
|
|
|
|
m_cbProjects.Clear();
|
|
m_cbProjects.AddRow("<Any project>","0");
|
|
|
|
rs->Query("SELECT projects.name, projects.id FROM projects ORDER BY projects.name;");
|
|
|
|
|
|
if(!rs->IsEmpty())
|
|
{
|
|
do
|
|
{
|
|
rs->FetchField("name",&strData);
|
|
rs->FetchField("id",&lData);
|
|
strIndex.Format("%u",lData);
|
|
m_cbProjects.AddRow(strData,strIndex);
|
|
}while(rs->MoveForward());
|
|
}
|
|
//m_cbProjects.Select("0");
|
|
//============================================
|
|
|
|
//REPORTS LIST
|
|
m_cbReports.Clear();
|
|
|
|
|
|
rs->Query("SELECT rptsmaster.virtualname, rptsmaster.filename FROM rptsmaster "
|
|
"WHERE (((rptsmaster.recordset)=\"wostat\")) "
|
|
"ORDER BY rptsmaster.virtualname;");
|
|
|
|
|
|
if(!rs->IsEmpty())
|
|
{
|
|
do
|
|
{
|
|
rs->FetchField("virtualname",&strIndex);
|
|
rs->FetchField("filename",&strData);
|
|
strData=strIndex + " (" + strData + ")";
|
|
m_cbReports.AddRow(strData,strIndex);
|
|
}while(rs->MoveForward());
|
|
}
|
|
m_cbReports.Select("0");//should force first item selection
|
|
|
|
//==========================================
|
|
//STATUS LIST
|
|
|
|
m_cbStatus.Clear();
|
|
m_cbStatus.AddRow(" < Any status >","0");
|
|
|
|
rs->Query("SELECT probstat.notes, probstat.id FROM probstat ORDER BY probstat.notes;");
|
|
|
|
|
|
if(!rs->IsEmpty())
|
|
{
|
|
do
|
|
{
|
|
rs->FetchField("notes",&strData);
|
|
rs->FetchField("id",&lData);
|
|
strIndex.Format("%u",lData);
|
|
m_cbStatus.AddRow(strData,strIndex);
|
|
}while(rs->MoveForward());
|
|
}
|
|
|
|
m_cbStatus.Select("0");
|
|
|
|
}
|
|
|
|
|
|
//**************************************************
|
|
void CDispatchFieldsDlg::OnButton1()
|
|
{
|
|
BuildSQL();
|
|
m_edSQL.SetWindowText(pdv->sqlcriteria);
|
|
|
|
}
|
|
|
|
|
|
void CDispatchFieldsDlg::RefreshDisplay()
|
|
{
|
|
|
|
m_ckClosedOpen_BOTH.SetCheck(FALSE);
|
|
m_ckClosedOpen_CLOSED.SetCheck(FALSE);
|
|
m_ckClosedOpen_OPEN.SetCheck(FALSE);
|
|
switch( pdv->closed)
|
|
{//0 = not displayed 1=both,2="closed",3="open"
|
|
|
|
case 1:
|
|
m_ckClosedOpen_BOTH.SetCheck(TRUE);
|
|
break;
|
|
case 2:
|
|
m_ckClosedOpen_CLOSED.SetCheck(TRUE);
|
|
break;
|
|
case 3:
|
|
m_ckClosedOpen_OPEN.SetCheck(TRUE);
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
m_ckOnsite_BOTH.SetCheck(FALSE);
|
|
m_ckOnsite_ONSITE.SetCheck(FALSE);
|
|
m_ckOnsite_INHOUSE.SetCheck(FALSE);
|
|
switch(pdv->onsite)
|
|
{ //0 = not displayed otherwise 1="both", 2= "onsite", 3="inhouse"
|
|
|
|
case 1:
|
|
m_ckOnsite_BOTH.SetCheck(TRUE);
|
|
break;
|
|
case 2:
|
|
m_ckOnsite_ONSITE.SetCheck(TRUE);
|
|
break;
|
|
case 3:
|
|
m_ckOnsite_INHOUSE.SetCheck(TRUE);
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
|
|
m_ckSchedDate_ANY.SetCheck(FALSE);
|
|
m_ckSchedDate_TODAY.SetCheck(FALSE);
|
|
m_ckSchedDate_THISWEEK.SetCheck(FALSE);
|
|
m_ckSchedDate_THISMONTH.SetCheck(FALSE);
|
|
m_ckSchedDate_BETWEEN.SetCheck(FALSE);
|
|
switch( pdv->schedstart)
|
|
{//0 = not displayed otherwise 1=any,2=today,3=week,4=month,5=between
|
|
case 1:
|
|
m_ckSchedDate_ANY.SetCheck(TRUE);
|
|
break;
|
|
case 2:
|
|
m_ckSchedDate_TODAY.SetCheck(TRUE);
|
|
break;
|
|
case 3:
|
|
m_ckSchedDate_THISWEEK.SetCheck(TRUE);
|
|
break;
|
|
case 4:
|
|
m_ckSchedDate_THISMONTH.SetCheck(TRUE);
|
|
break;
|
|
case 5 ://between
|
|
m_ckSchedDate_BETWEEN.SetCheck(TRUE);
|
|
break;
|
|
}
|
|
|
|
|
|
m_ckLastActivity.SetCheck(FALSE);
|
|
if( pdv->lastactivity==-1)
|
|
m_ckLastActivity.SetCheck(TRUE);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//***************************************************************
|
|
|
|
void CDispatchFieldsDlg::OnCkclosedopenBoth()
|
|
{
|
|
m_ckClosedOpen_CLOSED.SetCheck(FALSE);
|
|
//m_ckClosedOpen_BOTH.SetCheck(FALSE);
|
|
m_ckClosedOpen_OPEN.SetCheck(FALSE);
|
|
BuildSQL();
|
|
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkclosedopenOpenonly()
|
|
{
|
|
m_ckClosedOpen_CLOSED.SetCheck(FALSE);
|
|
m_ckClosedOpen_BOTH.SetCheck(FALSE);
|
|
//m_ckClosedOpen_OPEN.SetCheck(FALSE);
|
|
BuildSQL();
|
|
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkclosedopenClosedonly()
|
|
{
|
|
//m_ckClosedOpen_CLOSED.SetCheck(FALSE);
|
|
m_ckClosedOpen_BOTH.SetCheck(FALSE);
|
|
m_ckClosedOpen_OPEN.SetCheck(FALSE);
|
|
BuildSQL();
|
|
|
|
}
|
|
|
|
//***********************************************************
|
|
|
|
void CDispatchFieldsDlg::OnCkonsiteBoth()
|
|
{
|
|
//m_ckOnsite_BOTH.SetCheck(FALSE);
|
|
m_ckOnsite_INHOUSE.SetCheck(FALSE);
|
|
m_ckOnsite_ONSITE.SetCheck(FALSE);
|
|
BuildSQL();
|
|
|
|
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkonsiteInhouseonly()
|
|
{
|
|
m_ckOnsite_BOTH.SetCheck(FALSE);
|
|
//m_ckOnsite_INHOUSE.SetCheck(FALSE);
|
|
m_ckOnsite_ONSITE.SetCheck(FALSE);
|
|
BuildSQL();
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkonsiteOnsiteonly()
|
|
{
|
|
m_ckOnsite_BOTH.SetCheck(FALSE);
|
|
m_ckOnsite_INHOUSE.SetCheck(FALSE);
|
|
//m_ckOnsite_ONSITE.SetCheck(FALSE);
|
|
BuildSQL();
|
|
}
|
|
|
|
|
|
//********************************************************
|
|
void CDispatchFieldsDlg::OnCkscheddateAny()
|
|
{
|
|
m_ckSchedDate_TODAY.SetCheck(FALSE);
|
|
m_ckSchedDate_THISWEEK.SetCheck(FALSE);
|
|
m_ckSchedDate_THISMONTH.SetCheck(FALSE);
|
|
m_ckSchedDate_TOMORROW.SetCheck(FALSE);
|
|
m_ckSchedDate_BETWEEN.SetCheck(FALSE);
|
|
m_dtSchedDate_START.EnableWindow(FALSE);
|
|
m_dtSchedDate_END.EnableWindow(FALSE);
|
|
BuildSQL();
|
|
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkscheddateBetween()
|
|
{
|
|
m_ckSchedDate_TODAY.SetCheck(FALSE);
|
|
m_ckSchedDate_THISWEEK.SetCheck(FALSE);
|
|
m_ckSchedDate_THISMONTH.SetCheck(FALSE);
|
|
m_ckSchedDate_ANY.SetCheck(FALSE);
|
|
m_ckSchedDate_TOMORROW.SetCheck(FALSE);
|
|
m_dtSchedDate_START.EnableWindow(TRUE);
|
|
m_dtSchedDate_END.EnableWindow(TRUE);
|
|
m_dtSchedDate_START.SetTime(COleDateTime::GetCurrentTime());
|
|
m_dtSchedDate_END.SetTime(COleDateTime::GetCurrentTime());
|
|
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkscheddateThismonth()
|
|
{
|
|
m_ckSchedDate_TODAY.SetCheck(FALSE);
|
|
m_ckSchedDate_THISWEEK.SetCheck(FALSE);
|
|
m_ckSchedDate_TOMORROW.SetCheck(FALSE);
|
|
m_ckSchedDate_ANY.SetCheck(FALSE);
|
|
m_ckSchedDate_BETWEEN.SetCheck(FALSE);
|
|
m_dtSchedDate_START.EnableWindow(FALSE);
|
|
m_dtSchedDate_END.EnableWindow(FALSE);
|
|
BuildSQL();
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkscheddateThisweek()
|
|
{
|
|
m_ckSchedDate_TODAY.SetCheck(FALSE);
|
|
m_ckSchedDate_TOMORROW.SetCheck(FALSE);
|
|
m_ckSchedDate_THISMONTH.SetCheck(FALSE);
|
|
m_ckSchedDate_ANY.SetCheck(FALSE);
|
|
m_ckSchedDate_BETWEEN.SetCheck(FALSE);
|
|
m_dtSchedDate_START.EnableWindow(FALSE);
|
|
m_dtSchedDate_END.EnableWindow(FALSE);
|
|
BuildSQL();
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkscheddateToday()
|
|
{
|
|
m_ckSchedDate_TOMORROW.SetCheck(FALSE);
|
|
m_ckSchedDate_THISWEEK.SetCheck(FALSE);
|
|
m_ckSchedDate_THISMONTH.SetCheck(FALSE);
|
|
m_ckSchedDate_ANY.SetCheck(FALSE);
|
|
m_ckSchedDate_BETWEEN.SetCheck(FALSE);
|
|
m_dtSchedDate_START.EnableWindow(FALSE);
|
|
m_dtSchedDate_END.EnableWindow(FALSE);
|
|
BuildSQL();
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkscheddateTomorrow()
|
|
{
|
|
|
|
m_ckSchedDate_TODAY.SetCheck(FALSE);
|
|
m_ckSchedDate_THISWEEK.SetCheck(FALSE);
|
|
m_ckSchedDate_THISMONTH.SetCheck(FALSE);
|
|
m_ckSchedDate_ANY.SetCheck(FALSE);
|
|
m_ckSchedDate_BETWEEN.SetCheck(FALSE);
|
|
m_dtSchedDate_START.EnableWindow(FALSE);
|
|
m_dtSchedDate_END.EnableWindow(FALSE);
|
|
BuildSQL();
|
|
|
|
}
|
|
|
|
//**************************************************************
|
|
|
|
void CDispatchFieldsDlg::OnCklastactivityAny()
|
|
{
|
|
if(m_ckLastActivity_ANY.GetCheck()==TRUE)
|
|
{
|
|
m_edLastActivity_DAYS.SetWindowText("");
|
|
m_edLastActivity_DAYS.EnableWindow(FALSE);
|
|
}
|
|
else
|
|
{
|
|
m_edLastActivity_DAYS.SetWindowText("7");
|
|
m_edLastActivity_DAYS.EnableWindow(TRUE);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
void CDispatchFieldsDlg::OnCloseupCbentry()
|
|
{
|
|
int x=0;
|
|
x=m_cbEntry.GetCurSel();
|
|
m_edCreatedDays.ShowWindow(FALSE);
|
|
m_lblCreatedDays.ShowWindow(FALSE);
|
|
m_dtEntryDate.ShowWindow(FALSE);
|
|
if(x==1 || x==2)
|
|
{
|
|
m_dtEntryDate.ShowWindow(TRUE);
|
|
}
|
|
|
|
if(12==x || 13==x)
|
|
{
|
|
m_edCreatedDays.ShowWindow(TRUE);
|
|
m_lblCreatedDays.ShowWindow(TRUE);
|
|
|
|
}
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkinvoice()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkdate()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnDatetimechangeDtcheddateBetweenStart(NMHDR* pNMHDR, LRESULT* pResult)
|
|
{
|
|
|
|
BuildSQL();
|
|
*pResult = 0;
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnDatetimechangeDtcheddateBetweenEnd(NMHDR* pNMHDR, LRESULT* pResult)
|
|
{
|
|
|
|
BuildSQL();
|
|
*pResult = 0;
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkourref()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkstatus()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
|
|
}
|
|
|
|
|
|
void CDispatchFieldsDlg::OnCloseupCbcategories()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkcategory()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCkproject()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
|
|
}
|
|
|
|
void CDispatchFieldsDlg::OnCloseupCbprojects()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
|
|
}
|