unit ufrmCardInfoModify;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ufrmModifyDataBase, ImgList, StdCtrls, Buttons, DB, ADODB,
CSADOQuery, dxExEdtr, dxEdLib, dxDBELib, dxEditor, dxCntner,
CSCustomdxDateEdit, CSdxDBDateEdit, OleCtrls, MSCommLib_TLB, ExtCtrls,
ExtDlgs=
type
TfrmCardInfoModify = class(TfrmModifyDataBase)
Viewq: TCSADOQuery;
Viewd: TDataSource;
Label1: TLabel;
Label2: TLabel;
Label11: TLabel;
eCMId: TdxDBEdit;
eCMName: TdxDBEdit;
eCMTel: TdxDBEdit;
Label16: TLabel;
Label3: TLabel;
Label4: TLabel;
eCMMail: TdxDBEdit;
Label8: TLabel;
Label5: TLabel;
eCMOnlyNo: TdxDBEdit;
Label9: TLabel;
eCMDate: TCSdxDBDateEdit;
Label6: TLabel;
eCMOld: TdxDBSpinEdit;
eCMSex: TdxDBPickEdit;
eCMAddRess: TdxDBEdit;
eCMTime: TdxDBEdit;
Label7: TLabel;
Label10: TLabel;
eCardId: TdxDBEdit;
eCardKindId: TdxDBButtonEdit;
Label12: TLabel;
eEmpId: TdxDBButtonEdit;
cardinfoq: TCSADOQuery;
cardinfoqcard_id: TStringField;
cardinfoqcm_id: TStringField;
cardinfoqkind_id: TIntegerField;
cardinfoqcard_money: TBCDField;
cardinfoqcard_state: TIntegerField;
cardinfoqemp_id: TStringField;
cardinfoqlogin_id: TStringField;
Viewqcm_id: TStringField;
Viewqcm_name: TStringField;
Viewqcm_old: TIntegerField;
Viewqcm_sex: TStringField;
Viewqcm_address: TStringField;
Viewqcm_tel: TStringField;
Viewqcm_mail: TStringField;
Viewqcm_onlyno: TStringField;
Viewqcm_date: TStringField;
Viewqcm_time: TStringField;
Viewqlast_time: TDateTimeField;
Viewqlogin_id: TStringField;
Label13: TLabel;
eBirthday: TCSdxDBDateEdit;
Viewqcm_birthday: TStringField;
bbtnServiceFix: TBitBtn;
bbtnPrcFix: TBitBtn;
MSComm: TMSComm;
Label14: TLabel;
imgView: TImage;
bbtnSelect: TBitBtn;
cardinfod: TDataSource;
Imgd: TDataSource;
Imgq: TCSADOQuery;
Imgqcardid: TStringField;
Imgqcardimg: TStringField;
Imgqstart_date: TStringField;
Imgqend_date: TStringField;
eStartDate: TCSdxDBDateEdit;
Label15: TLabel;
eEndDate: TCSdxDBDateEdit;
Label17: TLabel;
procedure bbtnConfirmClick(Sender: TObject);
procedure bbtnCancelClick(Sender: TObject);
procedure eCardKindIdButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure eEmpIdButtonClick(Sender: TObject; AbsoluteIndex: Integer);
procedure bbtnServiceFixClick(Sender: TObject);
procedure bbtnSelectClick(Sender: TObject);
private
Fs_CMId: String;
Fb_SelectImg: Boolean;
Fi_OleTick, Fi_NewTick: DWord;
function prif_CanSave: Boolean;
function prif_OpenComPort(Ai_Buff: Integer): boolean;
function prif_SendCommand(Av_Command: Variant; Ai_Buff, Ai_Time: DWord): String;
protected
procedure prop_IniData; override;
public
{ Public declarations }
end;
const
COMMANDHEAD = Chr(27);
var
frmCardInfoModify: TfrmCardInfoModify;
implementation
uses udmData, ufrmBase, ufrmEmpView, ufrmCardKindView, ufrmCardServiceFix;
{$R *.dfm}
{ TfrmCardInfoModify }
procedure TfrmCardInfoModify.prop_IniData;
var
ls_CMId, ls_CardId: String;
begin
inherited;
case Ri_Flag of
2:
begin
Caption := Format(Caption, ['[]']);
with cardInfoq do
begin
if Active then Close;
Connection := dmData.adocon;
SQL.Text := Format('SELECT * FROM cardinfo WHERE card_id = ''%s, [Rs_Id]);
Open;
Edit;
ls_CMId := FieldByName('cm_id').AsString;
end;
with Viewq do
begin
if Active then Close;
Connection := dmData.adocon;
SQL.Text := Format('SELECT * FROM customerinfo WHERE cm_id = ''%s,
[ls_CMId]);
Open;
Edit;
end;
with Imgq do
begin
if Active then Close;
Connection := dmData.adocon;
SQL.Text := Format('SELECT * FROM cardimage WHERE cardid = ''%s, [Rs_Id]);
Open;
if (FileExists(FieldByName('cardimg').AsString)) and (not FieldByName('cardimg').IsNull) then
begin
imgView.Picture.LoadFromFile(FieldByName('cardimg').AsString);
end;
Edit;
FieldByName('cardid').AsString := Rs_Id;
end;
end;
3:
begin
Caption := Format(Caption, ['[]']);
with cardInfoq do
begin
if Active then Close;
Connection := dmData.adocon;
SQL.Text := Format('SELECT * FROM cardinfo WHERE card_id = ''%s, [Rs_Id]);
Open;
ls_CMId := FieldByName('cm_id').AsString;
end;
with Viewq do
begin
if Active then Close;
Connection := dmData.adocon;
SQL.Text := Format('SELECT * FROM customerinfo WHERE cm_id = ''%s,
[ls_CMId]);
Open;
end;
with Imgq do
begin
if Active then Close;
Connection := dmData.adocon;
SQL.Text := Format('SELECT * FROM cardimage WHERE cardid = ''%s, [Rs_Id]);
Open;
end;
end;
1:
begin
ls_CMId := dmData.pubf_GetCustomerId;
ls_CardId := dmData.pubf_GetCardId;
with Viewq do
begin
if Active then Close;
Connection := dmData.adocon;
SQL.Text := 'SELECT * FROM customerinfo WHERE 1 = 2';
Open;
Caption := Format(Caption, ['[]']);
Append;
FieldByName('cm_id').AsString := ls_CMId;
FieldByName('cm_date').AsString := FormatDateTime('YYYY-MM-DD', Date);
FieldByName('cm_time').AsString := FormatDateTime('HH:MM:SS', Time);
end;
with cardInfoq do
begin
if Active then Close;
Connection := dmData.adocon;
SQL.Text := 'SELECT * FROM cardinfo WHERE 1 = 2';
Open;
Append;
FieldByName('card_id').AsString := ls_CardId;
FieldByName('cm_id').AsString := ls_CMId;
end;
with Imgq do
begin
if Active then Close;
Connection := dmData.adocon;
SQL.Text := 'SELECT * FROM cardimage WHERE 1 = 2';
Open;
Append;
FieldByName('cardid').AsString := ls_CardId;
FieldByName('start_date').AsString := FormatDateTime('YYYY-MM-DD', Date);
FieldByName('end_date').AsString := FormatDateTime('YYYY-MM-DD', Date);
end;
end;
end;
end;
procedure TfrmCardInfoModify.bbtnConfirmClick(Sender: TObject);
var
ls_Receive, ls_CardId: String;
begin
inherited;
if dmData.Ai_Card = 1 then
begin
ls_Receive := prif_SendCommand('e', 1024, 3);
if (Copy(ls_Receive, 1, 1) = Chr(27)) and (Copy(ls_Receive, 2, 1) = 'y') then
else begin
Application.MessageBox(',!', PChar(Caption),
MB_OK + MB_ICONQUESTION);
Exit;
end;
ls_Receive := prif_SendCommand('t' + '00000' + '8' + Chr(2) + 's' +
'0' + cardInfoq.FieldByName('card_id').AsString + '0' + Chr(29) + Chr(27) + '\', 1024, 100);
if Copy(ls_Receive, 1, 1) <> Chr(27) then /
begin
Application.MessageBox('1。', PChar(Caption),
MB_OK + MB_ICONWARNING);
Exit;
end;
if Copy(ls_Receive, 2, 2) = 'rq' then
begin
Application.MessageBox('2。', PChar(Caption),
MB_OK + MB_ICONWARNING);
Exit;
end;
end;
case Ri_Flag of
1:
begin
if not prif_CanSave then Exit;
Viewq.FieldByName('login_id').AsString := dmData.As_OptName;
cardinfoq.FieldByName('login_id').AsString := dmData.As_OptName;
cardinfoq.FieldByName('card_state').AsInteger := 1;
Imgq.FieldByName('start_date').AsString := FormatDateTime('YYYY-MM-DD',
StrToDate(Imgq.FieldByName('start_date').AsString));
Imgq.FieldByName('end_date').AsString := FormatDateTime('YYYY-MM-DD',
StrToDate(Imgq.FieldByName('end_date').AsString));
Viewq.Post;
cardinfoq.Post;
Imgq.Post;
if DispInfo(',?', 3) = 'y' then
begin
Viewq.Append;
cardinfoq.Append;
Fs_CMId := dmData.pubf_GetCustomerId;
ls_CardId := dmData.pubf_GetCardId;
cardinfoq.FieldByName('card_id').AsString := ls_CardId;
cardinfoq.FieldByName('cm_id').AsString := Fs_CMId;
Viewq.FieldByName('cm_id').AsString := Fs_CMId;
Imgq.Append;
Imgq.FieldByName('cardid').AsString := ls_CardId;
Imgq.FieldByName('start_date').AsString := FormatDateTime('YYYY-MM-DD', Date);
Imgq.FieldByName('end_date').AsString := FormatDateTime('YYYY-MM-DD', Date);
end else ModalResult := mrOk;
end;
2:
begin
if not prif_CanSave then Exit;
Viewq.FieldByName('login_id').AsString := dmData.As_OptName;
cardinfoq.FieldByName('login_id').AsString := dmData.As_OptName;
Imgq.FieldByName('start_date').AsString := FormatDateTime('YYYY-MM-DD',
StrToDate(Imgq.FieldByName('start_date').AsString));
Imgq.FieldByName('end_date').AsString := FormatDateTime('YYYY-MM-DD',
StrToDate(Imgq.FieldByName('end_date').AsString));
Viewq.Post;
cardinfoq.Post;
Imgq.Post;
DispInfo('', 2);
ModalResult := mrOk;
end;
3:
begin
if DispInfo('?', 3) = 'y' then
begin
Viewq.Delete;
cardinfoq.Delete;
Imgq.Delete;
ModalResult := mrOk;
end;
end;
end;
end;
function TfrmCardInfoModify.prif_CanSave: Boolean;
begin
Result := True;
end;
procedure TfrmCardInfoModify.bbtnCancelClick(Sender: TObject);
begin
Viewq.Cancel;
inherited;
end;
procedure TfrmCardInfoModify.eCardKindIdButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
inherited;
frmCardKindView := TfrmCardKindView.Create(nil);
try
frmCardKindView.pubp_Ini('', 2);
if frmCardKindView.ShowModal = mrOk then
begin
cardinfoq.FieldByName('kind_id').AsInteger := frmCardKindView.Ai_KindId;
end;
finally
FreeAndNil(frmCardKindView);
end;
end;
procedure TfrmCardInfoModify.eEmpIdButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
inherited;
{ frmEmpView := TfrmEmpView.Create(nil);
try
frmEmpView.pubp_Ini('', 2);
if frmEmpVIew.ShowModal = mrOk then
begin
cardinfoq.FieldByName('emp_id').AsString := frmEmpView.As_EmpId;
end;
finally
FreeAndNil(frmEmpVIew);
end;}
end;
procedure TfrmCardInfoModify.bbtnServiceFixClick(Sender: TObject);
begin
inherited;
frmCardServiceFix := TfrmCardServiceFix.Create(nil);
try
frmCardServiceFix.pubp_Ini(cardinfoq.FieldByName('card_id').AsString,
Viewq.FieldByName('cm_name').AsString);
frmCardServiceFix.ShowModal;
finally
FreeAndNil(frmCardServiceFix);
end;
end;
function TfrmCardInfoModify.prif_OpenComPort(Ai_Buff: Integer): boolean;
begin
Result := True;
try
if MsComm.PortOpen then MsComm.PortOpen := False;
MsComm.Settings := '9600,n,8,1';
MsComm.InputMode := comInputModeText;
MsComm.InBufferSize := Ai_Buff;
MsComm.CommPort := dmData.Ai_ComPort;
MsComm.PortOpen := True;
except
on e: Exception do
begin
e.Create('!');
end;
end;
end;
function TfrmCardInfoModify.prif_SendCommand(Av_Command: Variant; Ai_Buff,
Ai_Time: DWord): String;
begin
prif_OpenComPort(Ai_Buff);
Av_Command := COMMANDHEAD + Av_Command;
if MsComm.InBufferCount <> 0 then MsComm.InBufferCount := 0;
if MsComm.OutBufferCount <> 0 then MsComm.OutBufferCount := 0;
MsComm.Output := Av_Command;
Fi_OleTick := GetTickCount;
repeat
Fi_NewTick := GetTickCount;
until (Fi_NewTick - Fi_OleTick) > (Ai_Time * 10);
Result := MsComm.Input;
MsComm.PortOpen := False;
end;
procedure TfrmCardInfoModify.bbtnSelectClick(Sender: TObject);
var
lc_OpenPic: TOpenPictureDialog;
begin
inherited;
Fb_SelectImg := False;
lc_OpenPic := TOpenPictureDialog.Create(nil);
try
lc_OpenPic.InitialDir := ExtractFilePath(Application.ExeName) + 'Image\';
lc_OpenPic.Filter := 'All (*.jpg;*.jpeg;*.bmp)|*.jpg;*.jpeg;*.bmp|JPEG Image File ' +
'(*.jpg)|*.jpg|JPEG Image File (*.jpeg)|*.jpeg|Bitmaps (*.bmp)|*.bmp';
if lc_OpenPic.Execute then
begin
Imgq.FieldByName('cardimg').AsString := lc_OpenPic.FileName;
imgView.Picture.LoadFromFile(lc_OpenPic.FileName);
Fb_SelectImg := True;
end;
bbtnConfirm.Enabled := True;
finally
lc_OpenPic.Free;
end;
end;
end.
unit ufrmBPLPlugin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, mybean.core.beanFactory, uBasePluginForm, StdCtrls, ExtCtrls,
TeeProcs, TeEngine, Chart, DBChart;
type
TfrmBPLPlugin = class(TBasePluginForm)
Memo1: TMemo;
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmBPLPlugin: TfrmBPLPlugin;
implementation
{$R *.dfm}
initialization
beanFactory.RegisterBean('bplFormDEMO', TfrmBPLPlugin);
finalization
;
end.
unit ufrmBeginWorkManageBase;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxExEdtr, DBCtrls, CSDBNavigator, CSdxDBNavigator, FR_DSet,
FR_DBSet, FR_Class, CSScrCtrlChild, DB, ADODB, CSADOQuery, dxCntner,
dxTL, dxDBCtrl, dxDBGrid, dxEdLib, dxDBELib, DBLookupEh, dxEditor,
CSCustomdxDateEdit, CSdxDBDateEdit, StdCtrls, Mask, DBCtrlsEh, Buttons,
ExtCtrls, dxGrClms, ComCtrls, dxDBTLCl, ufrmOrganMng;
type
TfrmBeginWorkManageBase = class(TForm)
Panel1: TPanel;
Panel3: TPanel;
bbtnClose: TBitBtn;
bbtnHelp: TBitBtn;
bbtnConfirm: TBitBtn;
bbtnSave: TBitBtn;
bbtnCancel: TBitBtn;
bbtnDeleteConfirm: TBitBtn;
spList: TSplitter;
Generald: TDataSource;
ScrChild: TCSScrCtrlChild;
Temp: TCSADOQuery;
DetailDevCode: TCSADOQuery;
DetailDevCoded: TDataSource;
bbtnPrint: TBitBtn;
frBeginWork: TfrReport;
frDBBeginWork: TfrDBDataSet;
Panel2: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
grdDeviceDetail: TdxDBGrid;
Panel4: TPanel;
Panel5: TPanel;
bbtnAddDeviceDetail: TBitBtn;
bbtnDeleteDeviceDetail: TBitBtn;
navDeviceDetail: TCSdxDBNavigator;
Panel6: TPanel;
pagGeneralInfo: TPageControl;
TabSheet2: TTabSheet;
ScrollBox1: TScrollBox;
Label3: TLabel;
Label1: TLabel;
Label16: TLabel;
Label7: TLabel;
eReportNo: TDBEditEh;
GroupBox3: TGroupBox;
mRemark: TdxDBMemo;
peDevKind: TdxDBPickEdit;
peConstKind: TdxDBPickEdit;
TabSheet4: TTabSheet;
grdPersonDetail: TdxDBGrid;
Panel7: TPanel;
Panel8: TPanel;
bbtnAddPersonDetail: TBitBtn;
bbtnDeletePersonDetail: TBitBtn;
navPersonDetail: TCSdxDBNavigator;
DeviceDetail: TCSADOQuery;
DeviceDetaild: TDataSource;
PersonDetail: TCSADOQuery;
PersonDetaild: TDataSource;
BuildDetail: TCSADOQuery;
BuildDetaild: TDataSource;
DocDetaild: TDataSource;
SuprDetail: TCSADOQuery;
SuprDetaild: TDataSource;
DocDetail: TCSADOQuery;
ConstDetail: TCSADOQuery;
PersonDetailsysid: TStringField;
PersonDetailstwk_id: TStringField;
PersonDetailcard_no: TStringField;
PersonDetailname: TStringField;
PersonDetailwork_kind: TStringField;
PersonDetailwork_item: TStringField;
PersonDetailwork_level: TStringField;
PersonDetailoutflag: TIntegerField;
ConstDetaild: TDataSource;
General: TCSADOQuery;
Generalsysid: TStringField;
Generalreport_no: TStringField;
Generalconst_kind: TStringField;
Generalappraise_date: TStringField;
Generalproject_name: TStringField;
Generalproperty_com: TStringField;
Generalproperty_address: TStringField;
Generalproperty_manager: TStringField;
Generalmanager_tel: TStringField;
Generalprj_design_com: TStringField;
Generalcontract_no: TStringField;
Generalcontract_date: TStringField;
Generalbuild_project: TStringField;
Generaldev_num: TIntegerField;
Generalstart_date: TStringField;
Generalend_date: TStringField;
Generalbuild_charge: TBCDField;
Generaldev_charge: TBCDField;
Generalconst_com: TStringField;
Generalconst_address: TStringField;
Generalconst_reg_no: TStringField;
Generalconst_deputy: TStringField;
Generalconst_lics_no: TStringField;
Generalconst_lics_date: TStringField;
Generalconst_group: TStringField;
Generalconst_group_address: TStringField;
Generalconst_group_tel: TStringField;
Generalconst_group_fax: TStringField;
Generalconst_manager: TStringField;
Generalconst_manager_tel: TStringField;
Generalconst_instructor: TStringField;
Generalconst_instructor_tel: TStringField;
Generalidea_content: TStringField;
Generalnotice_no: TStringField;
Generalnotice_date: TStringField;
Generalremark: TStringField;
Generaloutflag: TIntegerField;
TabSheet5: TTabSheet;
deAppraiseDate: TCSdxDBDateEdit;
Label5: TLabel;
Label10: TLabel;
Label12: TLabel;
Label18: TLabel;
eProjectName: TDBEditEh;
Label19: TLabel;
Label20: TLabel;
Label22: TLabel;
Label25: TLabel;
deContractDate: TCSdxDBDateEdit;
Label26: TLabel;
eContractNo: TDBEditEh;
Label28: TLabel;
Label35: TLabel;
Label33: TLabel;
deStartDate: TCSdxDBDateEdit;
Label34: TLabel;
deEndDate: TCSdxDBDateEdit;
GroupBox1: TGroupBox;
Label14: TLabel;
Label36: TLabel;
GroupBox4: TGroupBox;
DeviceDetaildev_type: TStringField;
DeviceDetaildev_reg_no: TStringField;
DeviceDetaildev_inner_no: TStringField;
DeviceDetaildev_address: TStringField;
DeviceDetailmanu_no: TStringField;
DeviceDetailmanu_date: TStringField;
DeviceDetailmanu_reg_no: TStringField;
DeviceDetailmanu_name: TStringField;
DeviceDetailoutflag: TIntegerField;
BuildDetailsysid: TStringField;
BuildDetailstwk_id: TStringField;
BuildDetailreg_no: TStringField;
BuildDetailcom_name: TStringField;
BuildDetailitem_name: TStringField;
BuildDetailoutflag: TIntegerField;
ConstDetailsysid: TStringField;
ConstDetailstwk_id: TStringField;
ConstDetailreg_no: TStringField;
ConstDetailcom_name: TStringField;
ConstDetailitem_name: TStringField;
ConstDetailoutflag: TIntegerField;
SuprDetailsysid: TStringField;
SuprDetailstwk_id: TStringField;
SuprDetailreg_no: TStringField;
SuprDetailcom_name: TStringField;
SuprDetailitem_name: TStringField;
SuprDetailoutflag: TIntegerField;
DocDetailsysid: TStringField;
DocDetailstwk_id: TStringField;
DocDetaildoc_name: TStringField;
DocDetailpages: TIntegerField;
DocDetailoutflag: TIntegerField;
eManagerTel: TDBEditEh;
ePrjDesignCom: TDBEditEh;
Generalstate: TIntegerField;
Generaldev_kind: TStringField;
DeviceDetaildev_category: TStringField;
grdDeviceDetaildev_category: TdxDBGridPickColumn;
grdDeviceDetaildev_level: TdxDBGridPickColumn;
grdDeviceDetaildev_model: TdxDBGridPickColumn;
grdDeviceDetaildev_name: TdxDBGridMaskColumn;
grdDeviceDetaildev_type: TdxDBGridMaskColumn;
grdDeviceDetaildev_reg_no: TdxDBGridMaskColumn;
grdDeviceDetaildev_inner_no: TdxDBGridMaskColumn;
grdDeviceDetaildev_address: TdxDBGridMaskColumn;
grdDeviceDetailmanu_no: TdxDBGridMaskColumn;
grdDeviceDetailmanu_date: TdxDBGridMaskColumn;
grdDeviceDetailmanu_reg_no: TdxDBGridMaskColumn;
grdDeviceDetailmanu_name: TdxDBGridMaskColumn;
grdDeviceDetaildev_kind: TdxDBGridMaskColumn;
grdConstDetailreg_no: TdxDBGridColumn;
grdConstDetailcom_name: TdxDBGridButtonColumn;
grdConstDetailitem_name: TdxDBGridColumn;
grdBuildDetailreg_no: TdxDBGridColumn;
grdBuildDetailitem_name: TdxDBGridColumn;
grdBuildDetailcom_name: TdxDBGridButtonColumn;
grdSuprDetailreg_no: TdxDBGridColumn;
grdSuprDetailitem_name: TdxDBGridColumn;
grdSuprDetailcom_name: TdxDBGridButtonColumn;
grdDocDetaildoc_name: TdxDBGridColumn;
grdDocDetailpages: TdxDBGridColumn;
grdPersonDetailname: TdxDBGridColumn;
grdPersonDetailwork_kind: TdxDBGridColumn;
grdPersonDetailwork_item: TdxDBGridColumn;
grdPersonDetailwork_level: TdxDBGridColumn;
grdPersonDetailcard_no: TdxDBGridButtonColumn;
procedure FormCreate(Sender: TObject);
procedure bbtnCloseClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bbtnSaveClick(Sender: TObject);
procedure bbtnCancelClick(Sender: TObject);
procedure bbtnConfirmClick(Sender: TObject);
procedure DeviceDetailAfterInsert(DataSet: TDataSet);
procedure bbtnDeleteDeviceDetailClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure bbtnPrintMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure navDeviceDetailBeforeAction(Sender: TObject; Button: TNavigateBtn);
procedure bbtnAddDeviceDetailClick(Sender: TObject);
procedure bbtnDeleteConfirmClick(Sender: TObject);
procedure GeneraldDataChange(Sender: TObject; Field: TField);
procedure GeneralAfterInsert(DataSet: TDataSet);
procedure PersonDetailAfterInsert(DataSet: TDataSet);
procedure bbtnAddPersonDetailClick(Sender: TObject);
procedure bbtnDeletePersonDetailClick(Sender: TObject);
procedure peConstKindChange(Sender: TObject);
procedure bbtnAddConstDetailClick(Sender: TObject);
procedure bbtnDeleteConstDetailClick(Sender: TObject);
procedure bbtnAddBuildDetailClick(Sender: TObject);
procedure bbtnDeleteBuildDetailClick(Sender: TObject);
procedure bbtnAddSuprDetailClick(Sender: TObject);
procedure bbtnDeleteSuprDetailClick(Sender: TObject);
procedure bbtnAddDocDetailClick(Sender: TObject);
procedure bbtnDeleteDocDetailClick(Sender: TObject);
procedure navConstDetailBeforeAction(Sender: TObject;
Button: TNavigateBtn);
procedure navBuildDetailBeforeAction(Sender: TObject;
Button: TNavigateBtn);
procedure navSuprDetailBeforeAction(Sender: TObject;
Button: TNavigateBtn);
procedure navDocDetailBeforeAction(Sender: TObject;
Button: TNavigateBtn);
procedure peDevKindChange(Sender: TObject);
procedure DeviceDetailAfterScroll(DataSet: TDataSet);
procedure grdDeviceDetailChangeColumn(Sender: TObject;
Node: TdxTreeListNode; Column: Integer);
procedure BuildDetailAfterInsert(DataSet: TDataSet);
procedure DocDetailAfterInsert(DataSet: TDataSet);
procedure SuprDetailAfterInsert(DataSet: TDataSet);
procedure ConstDetailAfterInsert(DataSet: TDataSet);
procedure grdDeviceDetaildev_categoryCloseUp(Sender: TObject;
var Value: Variant; var Accept: Boolean);
procedure grdDeviceDetaildev_levelCloseUp(Sender: TObject;
var Value: Variant; var Accept: Boolean);
procedure DeviceDetailBeforeOpen(DataSet: TDataSet);
procedure DeviceDetailAfterOpen(DataSet: TDataSet);
procedure eConstComEditButtons0Click(Sender: TObject;
var Handled: Boolean);
procedure ePropertyComEditButtons0Click(Sender: TObject;
var Handled: Boolean);
procedure ePrjDesignComEditButtons0Click(Sender: TObject;
var Handled: Boolean);
procedure eConstGroupEditButtons0Click(Sender: TObject;
var Handled: Boolean);
procedure grdBuildDetailcom_nameButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure grdSuprDetailcom_nameButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure grdConstDetailcom_nameButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure grdPersonDetailcard_noButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
private
Fs_CurOrganId, Fs_CurCertId: string;
Fb_DataModified, Fb_GeneralChanged, Fb_DetailChanged,
Fb_DisableSetChange, Fb_DisableAfterScroll: Boolean;
Fs_BWGeneralId, Fs_PrevBWCustomId, Fs_DevKindId, Fs_DevCategoryId, Fs_DevLevelId: string;
Fe_DeviceDetail: TDataSetNotifyEvent;
procedure prip_AfterEdit(DataSet: TDataSet);
procedure prip_GetGeneralData;
procedure prip_GetDetailData;
procedure prip_IniData;
procedure prip_IniInterface(Ai_ActMode: Integer);
procedure prip_Adjust;
function prif_CheckBlank(Ac_DataSet: TDataSet;
Ac_Fields: array of TField): Boolean;
function prif_Validate: Boolean;
function prif_CheckSaved: Boolean;
function prof_GenerateCustomId: string;
function prif_Save: Boolean;
function prif_Sameness: Boolean;
procedure prip_SelectCompany(const Ai_Category: Integer;
Ac_Requestor: TfrmOrganMng);
procedure prip_SelectPerson;
procedure prip_Reset;
procedure prip_AddGeneral;
procedure prip_AddDeviceDetail;
procedure prip_AddPersonDetail;
procedure prip_AddBuildDetail;
procedure prip_AddSuprDetail;
procedure prip_AddDocDetail;
procedure prip_AddConstDetail;
procedure prip_DeleteDeviceDetail;
procedure prip_DeletePersonDetail;
procedure prip_DeleteBuildDetail;
procedure prip_DeleteSuprDetail;
procedure prip_DeleteDocDetail;
procedure prip_DeleteConstDetail;
procedure prip_Cancel;
procedure prip_Confirm;
procedure prip_PrintReport(Ab_IsDesign: Boolean);
procedure prip_GetDevKind;
procedure prip_GetDevCategory;
procedure prip_GetDevLevel;
procedure prip_GetDevModel;
procedure prip_GetConstKind;
procedure prip_EnableAfterScroll;
procedure prip_DisableAfterScroll;
protected
Rs_BeginWorkReport, Rs_DetailTableName, Rs_CustomIdHead,
Rs_DevCodeId: string;
procedure prop_GetTechInfoItems(const As_Section: string;
Ac_DBGridPickColumn: TdxDBGridPickColumn);
public
procedure pubp_Ini(const Ai_ActMode: Integer; Ac_Args: TStrings);
property DataModified: Boolean read Fb_DataModified;
property BWGeneralId: string read Fs_BWGeneralId;
end;
implementation
uses
StrUtils, IniFiles, CSDBUtils, udmData, Commonlib,
ufrmPersonMng;
const
SAVE_STATE = 0;
CONFIRM_STATE = 1;
{$R *.dfm}
{ TfrmBeginWorkManageBase }
procedure TfrmBeginWorkManageBase.prip_AddGeneral;
begin
with General do
begin
Fb_DisableSetChange := True;
try
Append;
finally
Fb_DisableSetChange := False;
end;
end;
end;
procedure TfrmBeginWorkManageBase.prip_Cancel;
begin
Gp_ProgressHint(',...');
try
DeviceDetail.CancelBatch;
PersonDetail.CancelBatch;
SuprDetail.CancelBatch;
BuildDetail.CancelBatch;
ConstDetail.CancelBatch;
DocDetail.CancelBatch;
with General do
begin
if State <> dsBrowse then Cancel;
if IsEmpty then prip_AddGeneral;
end;
prip_GetDetailData;
prip_Reset;
finally
Gp_ProgressHint;
end;
end;
procedure TfrmBeginWorkManageBase.prip_Confirm;
begin
if Application.MessageBox('?', PChar(Caption),
MB_YESNO + MB_ICONQUESTION) = IDNO then Exit;
if not prif_Save then Exit;
Gp_ProgressHint(',...');
try
with General do
begin
Fb_DisableSetChange := True;
try
Edit;
FieldByName('state').AsInteger := CONFIRM_STATE;
Post;
finally
Fb_DisableSetChange := False;
end;
Fb_DataModified := True;
end;
Gp_ProgressHint;
Close;
except
on E: Exception do
begin
Gp_ProgressHint;
Application.MessageBox(PChar(',:' + E.Message),
PChar(Caption), MB_OK + MB_ICONERROR);
end;
end;
end;
procedure TfrmBeginWorkManageBase.prip_GetDetailData;
begin
with DeviceDetail do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.equipment_stwk_device ' +
'WHERE stwk_id = ''%s, [Fs_BWGeneralId]);
Open;
end;
with PersonDetail do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.equipment_stwk_person ' +
'WHERE stwk_id = ''%s, [Fs_BWGeneralId]);
Open;
end;
with BuildDetail do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.equipment_stwk_build ' +
'WHERE stwk_id = ''%s, [Fs_BWGeneralId]);
Open;
end;
with DocDetail do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.equipment_stwk_doc ' +
'WHERE stwk_id = ''%s, [Fs_BWGeneralId]);
Open;
end;
with SuprDetail do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.equipment_stwk_supr ' +
'WHERE stwk_id = ''%s, [Fs_BWGeneralId]);
Open;
end;
with ConstDetail do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.equipment_stwk_const ' +
'WHERE stwk_id = ''%s, [Fs_BWGeneralId]);
Open;
end;
end;
procedure TfrmBeginWorkManageBase.prip_GetGeneralData;
begin
with General do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.equipment_stwk_report WHERE ' +
'sysid = ''%s, [Fs_BWGeneralId]);
Open;
if not IsEmpty then
begin
Fs_PrevBWCustomId := VarToStr(FieldValues['report_no']);
end;
end;
end;
function TfrmBeginWorkManageBase.prif_Save: Boolean;
var
lb_DetailUpdated: Boolean;
begin
Result := False;
if not prif_Validate then Exit;
lb_DetailUpdated := False;
Gp_ProgressHint(',...');
dmData.adocon.BeginTrans;
try
with General do
begin
Fb_DisableSetChange := True;
try
Edit;
FieldByName('state').AsInteger := SAVE_STATE;
Fb_DataModified := True;
if State <> dsBrowse then Post;
finally
Fb_DisableSetChange := False;
end;
end;
with DeviceDetail do
begin
if State <> dsBrowse then Post;
UpdateBatch;
lb_DetailUpdated := True;
end;
with PersonDetail do
begin
if State <> dsBrowse then Post;
UpdateBatch;
lb_DetailUpdated := True;
end;
with BuildDetail do
begin
if State <> dsBrowse then Post;
UpdateBatch;
lb_DetailUpdated := True;
end;
with ConstDetail do
begin
if State <> dsBrowse then Post;
UpdateBatch;
lb_DetailUpdated := True;
end;
with DocDetail do
begin
if State <> dsBrowse then Post;
UpdateBatch;
lb_DetailUpdated := True;
end;
with SuprDetail do
begin
if State <> dsBrowse then Post;
UpdateBatch;
lb_DetailUpdated := True;
end;
dmData.adocon.CommitTrans;
Fb_GeneralChanged := False;
Fb_DetailChanged := False;
bbtnSave.Enabled := False;
bbtnCancel.Enabled := False;
Result := True;
except
on E: Exception do
begin
dmData.adocon.RollbackTrans;
try
with General do
begin
if State = dsBrowse then Requery;
if IsEmpty then prip_AddGeneral;
end;
if lb_DetailUpdated then prip_GetDetailData;
except
end;
Application.MessageBox(PChar(',:' + E.Message),
PChar(Caption), MB_OK + MB_ICONERROR);
end;
end;
Gp_ProgressHint;
end;
procedure TfrmBeginWorkManageBase.pubp_Ini(const Ai_ActMode: Integer;
Ac_Args: TStrings);
begin
ScrChild.SetSecurity(Self);
Gp_ProgressHint(Format('%s,...', [Caption]));
try
if Ac_Args.Count > 0 then
begin
Fs_BWGeneralId := Ac_Args.Strings[0];
end;
prip_IniData;
if Ai_ActMode = AM_VMADDREPORT then prip_AddGeneral;
General.AfterEdit := prip_AfterEdit;
with DeviceDetail do
begin
AfterEdit := prip_AfterEdit;
AfterDelete := prip_AfterEdit;
end;
with PersonDetail do
begin
AfterEdit := prip_AfterEdit;
AfterDelete := prip_AfterEdit;
end;
with BuildDetail do
begin
AfterEdit := prip_AfterEdit;
AfterDelete := prip_AfterEdit;
end;
with DocDetail do
begin
AfterEdit := prip_AfterEdit;
AfterDelete := prip_AfterEdit;
end;
with ConstDetail do
begin
AfterEdit := prip_AfterEdit;
AfterDelete := prip_AfterEdit;
end;
with SuprDetail do
begin
AfterEdit := prip_AfterEdit;
AfterDelete := prip_AfterEdit;
end;
prip_IniInterface(Ai_ActMode);
BorderIcons := BorderIcons -[biMinimize];
Position := poScreenCenter;
WindowState := wsMaximized;
prip_Adjust;
finally
Gp_ProgressHint;
end;
end;
procedure TfrmBeginWorkManageBase.FormCreate(Sender: TObject);
begin
Fb_DataModified := False;
Fb_GeneralChanged := False;
Fb_DetailChanged := False;
Fb_DisableSetChange := False;
Fs_BWGeneralId := '';
Fs_PrevBWCustomId := '';
Fs_CurOrganId := '';
Fs_CurCertId := '';
end;
procedure TfrmBeginWorkManageBase.bbtnCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmBeginWorkManageBase.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caHide;
end;
procedure TfrmBeginWorkManageBase.bbtnSaveClick(Sender: TObject);
begin
prif_Save;
end;
procedure TfrmBeginWorkManageBase.bbtnCancelClick(Sender: TObject);
begin
prip_Cancel;
end;
procedure TfrmBeginWorkManageBase.bbtnConfirmClick(Sender: TObject);
begin
prip_Confirm;
end;
procedure TfrmBeginWorkManageBase.prip_AddDeviceDetail;
begin
with General do
begin
if VarToStr(FieldValues['dev_kind']) = '' then
begin
Application.MessageBox('', PChar(Caption),
MB_OK + MB_ICONINFORMATION);
Exit;
end;
if not IsEmpty then DeviceDetail.Append;
end;
end;
procedure TfrmBeginWorkManageBase.DeviceDetailAfterInsert(DataSet: TDataSet);
begin
with DataSet do
begin
FieldByName('sysid').AsString := Gf_GenSysId;
FieldByName('stwk_id').AsString := Fs_BWGeneralId;
FieldByName('dev_kind').AsString := peDevKind.Text;
end;
prip_AfterEdit(DataSet);
end;
procedure TfrmBeginWorkManageBase.PersonDetailAfterInsert(
DataSet: TDataSet);
begin
with DataSet do
begin
FieldByName('sysid').AsString := Gf_GenSysId;
FieldByName('stwk_id').AsString := Fs_BWGeneralId;
end;
prip_AfterEdit(DataSet);
end;
procedure TfrmBeginWorkManageBase.prip_IniInterface(Ai_ActMode: Integer);
var
li_GeneralState: Integer;
procedure SetReadOnly;
begin
eReportNo.Enabled := False;
peDevKind.Enabled := False;
peConstKind.Enabled := False;
deAppraiseDate.Enabled := False;
eProjectName.Enabled := False;
ePropertyCom.Enabled := False;
ePropertyAddress.Enabled := False;
ePropertyManager.Enabled := False;
eManagerTel.Enabled := False;
ePrjDesignCom.Enabled := False;
eContractNo.Enabled := False;
eBuildProject.Enabled := False;
deContractDate.Enabled := False;
eDevNum.Enabled := False;
deStartDate.Enabled := False;
deEndDate.Enabled := False;
eBuildCharge.Enabled := False;
eDevCharge.Enabled := False;
mRemark.Enabled := False;
eConstCom.Enabled := False;
eConstAddress.Enabled := False;
eConstRegNo.Enabled := False;
eConstDeputy.Enabled := False;
eConstLicsNo.Enabled := False;
deConstLicsDate.Enabled := False;
eConstGroup.Enabled := False;
eConstGroupAddress.Enabled := False;
eConstManager.Enabled := False;
eConstManagerTel.Enabled := False;
eConstGroupTel.Enabled := False;
eConstGroupFax.Enabled := False;
eConstInstructor.Enabled := False;
eConstInstructorTel.Enabled := False;
mIdeaContent.Enabled := False;
eNoticeNo.Enabled := False;
deNoticeDate.Enabled := False;
bbtnAddDeviceDetail.Enabled := False;
bbtnDeleteDeviceDetail.Enabled := False;
navDeviceDetail.Enabled := False;
bbtnAddPersonDetail.Enabled := False;
bbtnDeletePersonDetail.Enabled := False;
navPersonDetail.Enabled := False;
bbtnAddBuildDetail.Enabled := False;
bbtnDeleteBuildDetail.Enabled := False;
navBuildDetail.Enabled := False;
bbtnAddDocDetail.Enabled := False;
bbtnDeleteDocDetail.Enabled := False;
navDocDetail.Enabled := False;
bbtnAddConstDetail.Enabled := False;
bbtnDeleteConstDetail.Enabled := False;
navConstDetail.Enabled := False;
bbtnAddSuprDetail.Enabled := False;
bbtnDeleteSuprDetail.Enabled := False;
navSuprDetail.Enabled := False;
bbtnSave.Enabled := False;
bbtnCancel.Enabled := False;
bbtnConfirm.Enabled := False;
with grdDeviceDetail do OptionsBehavior := OptionsBehavior - [edgoEditing];
with grdPersonDetail do OptionsBehavior := OptionsBehavior - [edgoEditing];
with grdBuildDetail do OptionsBehavior := OptionsBehavior - [edgoEditing];
with grdDocDetail do OptionsBehavior := OptionsBehavior - [edgoEditing];
with grdSuprDetail do OptionsBehavior := OptionsBehavior - [edgoEditing];
with grdConstDetail do OptionsBehavior := OptionsBehavior - [edgoEditing];
end;
begin
case Ai_ActMode of
AM_VMADDREPORT, AM_VMEDITREPORT:
begin
bbtnDeleteConfirm.Visible := False;
bbtnPrint.Left := bbtnConfirm.Left + bbtnConfirm.Width + 2;
if Ai_ActMode = AM_VMEDITREPORT then
begin
li_GeneralState := General.FieldByName('state').AsInteger;
if li_GeneralState = CONFIRM_STATE then SetReadOnly;
end;
end;
AM_VMDELETEREPORT: SetReadOnly;
end;
end;
procedure TfrmBeginWorkManageBase.prip_DeleteDeviceDetail;
begin
with DeviceDetail do if not IsEmpty then Delete;
end;
procedure TfrmBeginWorkManageBase.bbtnDeleteDeviceDetailClick(Sender: TObject);
begin
prip_DeleteDeviceDetail;
end;
function TfrmBeginWorkManageBase.prif_CheckBlank(Ac_DataSet: TDataSet;
Ac_Fields: array of TField): Boolean;
var
li_i: Integer;
begin
Result := True;
with Ac_DataSet do
for li_i := 0 to Length(Ac_Fields) - 1 do
if Trim(VarToStr(Ac_Fields[li_i].Value)) = '' then
begin
Result := False;
Application.MessageBox(PChar(Ac_Fields[li_i].DisplayLabel +
'。'), PChar(Caption), MB_OK + MB_ICONWARNING);
Ac_Fields[li_i].FocusControl;
Exit;
end;
end;
function TfrmBeginWorkManageBase.prif_Validate: Boolean;
var
ls_BWCustomId: string;
begin
with General do
begin
Result := prif_CheckBlank(General, [FieldByName('report_no'),FieldByName('dev_kind'),
FieldByName('const_kind'),FieldByName('appraise_date'),
FieldByName('project_name'),FieldByName('property_com'),
FieldByName('property_address'),FieldByName('property_manager'),
FieldByName('manager_tel'),FieldByName('prj_design_com'),
FieldByName('build_project'),FieldByName('dev_num'),
FieldByName('start_date'),FieldByName('end_date'),
FieldByName('build_charge'),FieldByName('dev_charge'),
FieldByName('const_com'),FieldByName('const_address'),
FieldByName('const_reg_no'),FieldByName('const_deputy'),
FieldByName('const_lics_no'),FieldByName('const_lics_date')]);
if not Result then Exit;
if FieldByName('end_date').AsString <=
FieldByName('start_date').AsString then
begin
Result := False;
Application.MessageBox('', PChar(Caption),
MB_OK + MB_ICONWARNING);
Exit;
end;
if DeviceDetail.IsEmpty then
begin
Result := False;
Application.MessageBox(',。',
PChar(Caption), MB_OK + MB_ICONWARNING);
Exit;
end;
if PersonDetail.IsEmpty then
begin
Result := False;
Application.MessageBox(',。',
PChar(Caption), MB_OK + MB_ICONWARNING);
Exit;
end;
if BuildDetail.IsEmpty then
begin
Result := False;
Application.MessageBox(',。',
PChar(Caption), MB_OK + MB_ICONWARNING);
Exit;
end;
if DocDetail.IsEmpty then
begin
Result := False;
Application.MessageBox(',。',
PChar(Caption), MB_OK + MB_ICONWARNING);
Exit;
end;
if ConstDetail.IsEmpty then
begin
Result := False;
Application.MessageBox(',。',
PChar(Caption), MB_OK + MB_ICONWARNING);
Exit;
end;
if SuprDetail.IsEmpty then
begin
Result := False;
Application.MessageBox(',。',
PChar(Caption), MB_OK + MB_ICONWARNING);
Exit;
end;
ls_BWCustomId := VarToStr(FieldValues['report_no']);
if ls_BWCustomId <> Fs_PrevBWCustomId then
begin
if Temp.Active then Temp.Close;
Temp.SQL.Text := Format('SELECT sysid FROM device.equipment_stwk_report ' +
'WHERE report_no = ''%s, [ls_BWCustomId]);
Temp.Open;
if not Temp.IsEmpty then
begin
Result := False;
eReportNo.SetFocus;
Application.MessageBox(',。',
PChar(Caption), MB_OK + MB_ICONWARNING);
end;
end;
end;
end;
function TfrmBeginWorkManageBase.prif_CheckSaved: Boolean;
var
li_Result: Integer;
lc_PrevActive: TWinControl;
begin
Result := True;
if ActiveControl <> bbtnClose then
begin
lc_PrevActive := ActiveControl;
ActiveControl := bbtnClose;
ActiveControl := lc_PrevActive;
end;
if Fb_GeneralChanged or Fb_DetailChanged then
begin
li_Result := Application.MessageBox(',?',
PChar(Caption), MB_YESNOCANCEL + MB_ICONQUESTION);
case li_Result of
IDYES: Result := prif_Save;
IDNO:
begin
DeviceDetail.CancelBatch;
PersonDetail.CancelBatch;
BuildDetail.CancelBatch;
DocDetail.CancelBatch;
ConstDetail.CancelBatch;
SuprDetail.CancelBatch;
General.Cancel;
Result := True;
end;
IDCANCEL: Result := False;
end;
end;
end;
procedure TfrmBeginWorkManageBase.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose := prif_CheckSaved;
end;
procedure TfrmBeginWorkManageBase.prip_PrintReport(
Ab_IsDesign: Boolean);
//var
// ls_WorkReportReport: string;
// lc_Bookmark: TBookmarkStr;
begin
{ ls_WorkReportReport := Gs_AppPath + REPORTS_PATH + Rs_BeginWorkReport;
Detail.DisableControls;
lc_Bookmark := Detail.Bookmark;
try
Detail.First;
with frBeginWork do
begin
LoadFromFile(ls_WorkReportReport);
if Ab_IsDesign then DesignReport else ShowReport;
end;
finally
try
Detail.GotoBookmark(Pointer(lc_Bookmark));
except
end;
Detail.EnableControls;
end;}
end;
procedure TfrmBeginWorkManageBase.bbtnPrintMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
prip_PrintReport(Shift = [ssShift, ssCtrl, ssAlt]);
end;
procedure TfrmBeginWorkManageBase.navDeviceDetailBeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
if Button = nbRefresh then
begin
prip_GetDetailData;
Abort;
end;
end;
function TfrmBeginWorkManageBase.prof_GenerateCustomId: string;
var
ls_CustomIdHead: string;
begin
ls_CustomIdHead := Rs_CustomIdHead + FormatDateTime('yyyymm', Now);
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT MAX(report_no) AS report_no FROM ' +
'device.equipment_stwk_report WHERE report_no LIKE ''%s%%,
[ls_CustomIdHead]);
Open;
if VarToStr(FieldValues['report_no']) = '' then
Result := ls_CustomIdHead + Format('%.5d', [1])
else Result := ls_CustomIdHead + Format('%.5d',
[StrToInt(RightStr(FieldByName('report_no').AsString, 5)) + 1]);
Close;
end;
end;
procedure TfrmBeginWorkManageBase.prop_GetTechInfoItems(
const As_Section: string; Ac_DBGridPickColumn: TdxDBGridPickColumn);
var
ls_IniFile: string;
lc_IniFile: TIniFile;
begin
ls_IniFile := Gs_AppPath + TECHINFO_NAME;
lc_IniFile := TIniFile.Create(ls_IniFile);
try
lc_IniFile.ReadSection(As_Section, Ac_DBGridPickColumn.Items);
finally
lc_IniFile.Free;
end;
end;
procedure TfrmBeginWorkManageBase.bbtnAddDeviceDetailClick(Sender: TObject);
begin
prip_AddDeviceDetail;
end;
procedure TfrmBeginWorkManageBase.prip_IniData;
begin
prip_GetDevKind;
prip_GetConstKind;
prip_GetGeneralData;
prip_GetDetailData;
if not (General.FieldByName('dev_kind').AsString = '') then
prip_GetDevCategory;
end;
procedure TfrmBeginWorkManageBase.bbtnDeleteConfirmClick(Sender: TObject);
begin
ModalResult := mrOK;
end;
procedure TfrmBeginWorkManageBase.prip_Reset;
begin
Fb_GeneralChanged := False;
Fb_DetailChanged := False;
bbtnSave.Enabled := False;
bbtnCancel.Enabled := False;
end;
procedure TfrmBeginWorkManageBase.prip_AfterEdit(DataSet: TDataSet);
begin
if Fb_DisableSetChange then Exit;
if DataSet = General then Fb_GeneralChanged := True;
if DataSet = DeviceDetail then Fb_DetailChanged := True;
if DataSet = BuildDetail then Fb_DetailChanged := True;
if DataSet = ConstDetail then Fb_DetailChanged := True;
if DataSet = DocDetail then Fb_DetailChanged := True;
if DataSet = SuprDetail then Fb_DetailChanged := True;
if not bbtnSave.Enabled then bbtnSave.Enabled := True;
if not bbtnCancel.Enabled then bbtnCancel.Enabled := True;
end;
procedure TfrmBeginWorkManageBase.GeneraldDataChange(Sender: TObject;
Field: TField);
begin
if Field <> nil then prip_AfterEdit(General);
end;
procedure TfrmBeginWorkManageBase.prip_Adjust;
//var
// li_i, li_Bottom, li_MaxBottom, li_Height: Integer;
begin
{ li_MaxBottom := 0;
with scrbGeneral do
for li_i := 0 to ControlCount - 1 do
begin
li_Bottom := Controls[li_i].Top + Controls[li_i].Height;
if li_Bottom > li_MaxBottom then li_MaxBottom := li_Bottom;
end;
Inc(li_MaxBottom, 5);
li_Height := scrbGeneral.Height;
if li_Height > li_MaxBottom then
begin
scrbGeneral.Align := alNone;
scrbGeneral.Height := li_Height - li_MaxBottom;
spList.Align := alTop;
scrbDetail.Align := alTop;
scrbDetail.Height := scrbDetail.Height + (li_Height - li_MaxBottom);
scrbDetail.Align := alBottom;
spList.Align := alBottom;
scrbGeneral.Align := alClient;
end;}
end;
procedure TfrmBeginWorkManageBase.GeneralAfterInsert(DataSet: TDataSet);
begin
Fs_BWGeneralId := Gf_GenSysId;
with DataSet do
begin
FieldByName('sysid').AsString := BWGeneralId;
FieldByName('report_no').AsString := prof_GenerateCustomId;
end;
end;
procedure TfrmBeginWorkManageBase.prip_AddPersonDetail;
begin
with General do if not IsEmpty then PersonDetail.Append;
end;
procedure TfrmBeginWorkManageBase.prip_DeletePersonDetail;
begin
with PersonDetail do if not IsEmpty then Delete;
end;
procedure TfrmBeginWorkManageBase.bbtnAddPersonDetailClick(
Sender: TObject);
begin
prip_AddPersonDetail;
end;
procedure TfrmBeginWorkManageBase.bbtnDeletePersonDetailClick(
Sender: TObject);
begin
prip_DeletePersonDetail
end;
procedure TfrmBeginWorkManageBase.peConstKindChange(Sender: TObject);
begin
// prip_GetDevKindData(peReportKind.Text);
end;
procedure TfrmBeginWorkManageBase.prip_SelectPerson;
var
ls_PrevPersonId: string;
lc_Arg: TStrings;
lc_Rc: TModalResult;
lc_Person: TfrmPersonMng;
begin
ls_PrevPersonId := '';
lc_Person := TfrmPersonMng.Create(nil);
try
with PersonDetail do
begin
lc_Arg := TStringList.Create;
lc_Arg.Add(ls_PrevPersonId);
try
lc_Person.pubp_ini(True, lc_Arg);
lc_Rc := lc_Person.ShowModal;
Self.Update;
finally
lc_Arg.Free;
end;
if lc_Rc = mrOK then
begin
Edit;
FieldValues['card_no'] := lc_Person.PersonInfo.FieldValues['cardid'];
FieldValues['name'] := lc_Person.PersonInfo.FieldValues['name'];
FieldValues['work_kind'] :=
lc_Person.licenselist.FieldValues['licns_category_name'];
FieldValues['work_item'] :=
lc_Person.licnsprjlist.FieldValues['psnlicns_prjname'];
FieldValues['work_level'] :=
lc_Person.licnsprjlist.FieldValues['psnlicns_levelcode_name'];
end;
end;
finally
if lc_Person <> nil then lc_Person.Free;
end;
end;
procedure TfrmBeginWorkManageBase.bbtnAddConstDetailClick(Sender: TObject);
begin
prip_AddConstDetail;
end;
procedure TfrmBeginWorkManageBase.bbtnDeleteConstDetailClick(
Sender: TObject);
begin
prip_DeleteConstDetail;
end;
procedure TfrmBeginWorkManageBase.bbtnAddBuildDetailClick(Sender: TObject);
begin
prip_AddBuildDetail;
end;
procedure TfrmBeginWorkManageBase.bbtnDeleteBuildDetailClick(
Sender: TObject);
begin
prip_DeleteBuildDetail;
end;
procedure TfrmBeginWorkManageBase.bbtnAddSuprDetailClick(Sender: TObject);
begin
prip_AddSuprDetail;
end;
procedure TfrmBeginWorkManageBase.bbtnDeleteSuprDetailClick(
Sender: TObject);
begin
prip_DeleteSuprDetail;
end;
procedure TfrmBeginWorkManageBase.bbtnAddDocDetailClick(Sender: TObject);
begin
prip_AddDocDetail;
end;
procedure TfrmBeginWorkManageBase.bbtnDeleteDocDetailClick(
Sender: TObject);
begin
prip_DeleteDocDetail;
end;
procedure TfrmBeginWorkManageBase.prip_AddBuildDetail;
begin
with General do if not IsEmpty then BuildDetail.Append;
end;
procedure TfrmBeginWorkManageBase.prip_AddConstDetail;
begin
with General do if not IsEmpty then ConstDetail.Append;
end;
procedure TfrmBeginWorkManageBase.prip_AddDocDetail;
begin
with General do if not IsEmpty then DocDetail.Append;
end;
procedure TfrmBeginWorkManageBase.prip_AddSuprDetail;
begin
with General do if not IsEmpty then SuprDetail.Append;
end;
procedure TfrmBeginWorkManageBase.prip_DeleteBuildDetail;
begin
with BuildDetail do if not IsEmpty then Delete;
end;
procedure TfrmBeginWorkManageBase.prip_DeleteConstDetail;
begin
with ConstDetail do if not IsEmpty then Delete;
end;
procedure TfrmBeginWorkManageBase.prip_DeleteDocDetail;
begin
with DocDetail do if not IsEmpty then Delete;
end;
procedure TfrmBeginWorkManageBase.prip_DeleteSuprDetail;
begin
with SuprDetail do if not IsEmpty then Delete;
end;
procedure TfrmBeginWorkManageBase.navConstDetailBeforeAction(
Sender: TObject; Button: TNavigateBtn);
begin
if Button = nbRefresh then
begin
prip_GetDetailData;
Abort;
end;
end;
procedure TfrmBeginWorkManageBase.navBuildDetailBeforeAction(
Sender: TObject; Button: TNavigateBtn);
begin
if Button = nbRefresh then
begin
prip_GetDetailData;
Abort;
end;
end;
procedure TfrmBeginWorkManageBase.navSuprDetailBeforeAction(
Sender: TObject; Button: TNavigateBtn);
begin
if Button = nbRefresh then
begin
prip_GetDetailData;
Abort;
end;
end;
procedure TfrmBeginWorkManageBase.navDocDetailBeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
if Button = nbRefresh then
begin
prip_GetDetailData;
Abort;
end;
end;
procedure TfrmBeginWorkManageBase.prip_GetDevKind;
begin
with Temp do
begin
if Active then Close;
SQL.Text := 'SELECT name FROM device.code_cert_device ' +
'WHERE code_level = 2 ORDER BY id';
Open;
peDevKind.Items.Clear;
if not IsEmpty then
begin
while not Eof do
begin
peDevKind.Items.Add(FieldByName('name').AsString);
Next;
end;
end;
Close;
end;
end;
procedure TfrmBeginWorkManageBase.prip_GetConstKind;
begin
with Temp do
begin
if Active then Close;
SQL.Text := 'SELECT name FROM device.code_stwk_kind ORDER BY code';
Open;
peConstKind.Items.Clear;
if not IsEmpty then
begin
while not Eof do
begin
peConstKind.Items.Add(FieldByName('name').AsString);
Next;
end;
end;
Close;
end;
end;
procedure TfrmBeginWorkManageBase.prip_GetDevCategory;
var
ls_DevKind: string;
begin
Fb_DisableAfterScroll := True;
ls_DevKind := peDevKind.Text;
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT id,name FROM device.code_cert_device ' +
'WHERE code_level = 2 AND name = ''%s, [ls_DevKind]);
Open;
Fs_DevKindId :=FieldByName('id').AsString;
end;
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT name FROM device.code_cert_device ' +
'WHERE code_level = 3 AND parent_id = ''%s, [Fs_DevKindId]);
Open;
grdDeviceDetaildev_category.Items.Clear;
if not IsEmpty then
begin
while not Eof do
begin
grdDeviceDetaildev_category.Items.Add(FieldByName('name').AsString);
Next;
end;
end;
Close;
end;
Fb_DisableAfterScroll := False;
end;
procedure TfrmBeginWorkManageBase.prip_GetDevLevel;
begin
Fb_DisableAfterScroll := True;
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT id, name FROM device.code_cert_device ' +
'WHERE code_level = 3 AND name = ''%s'' AND parent_id = ''%s,
[grdDeviceDetaildev_category.Field.AsString, Fs_DevKindId]);
Open;
Fs_DevCategoryId := FieldByName('id').AsString;
end;
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT name FROM device.code_cert_device ' +
'WHERE code_level = 4 AND parent_id = ''%s, [Fs_DevCategoryId]);
Open;
grdDeviceDetaildev_level.Items.Clear;
if not IsEmpty then
begin
while not Eof do
begin
grdDeviceDetaildev_level.Items.Add(FieldByName('name').AsString);
Next;
end;
end;
Close;
end;
Fb_DisableAfterScroll := False;
end;
procedure TfrmBeginWorkManageBase.prip_GetDevModel;
begin
Fb_DisableAfterScroll := True;
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT id, name FROM device.code_cert_device ' +
'WHERE code_level = 4 AND name = ''%s'' AND parent_id= ''%s,
[grdDeviceDetaildev_level.Field.AsString, Fs_DevCategoryId]);
Open;
Fs_DevLevelId := FieldByName('id').AsString;
end;
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT name FROM device.code_cert_device ' +
'WHERE code_level = 5 AND parent_id= ''%s, [Fs_DevLevelId]);
Open;
grdDeviceDetaildev_model.Items.Clear;
if not IsEmpty then
begin
while not Eof do
begin
grdDeviceDetaildev_model.Items.Add(FieldByName('name').AsString);
Next;
end;
end;
Close;
end;
Fb_DisableAfterScroll := False;
end;
procedure TfrmBeginWorkManageBase.peDevKindChange(Sender: TObject);
begin
// ShowMessage('peDevKindChange');
prip_GetDevCategory;
end;
procedure TfrmBeginWorkManageBase.DeviceDetailAfterScroll(
DataSet: TDataSet);
begin
// ShowMessage('DeviceDetailAfterScroll');
if Fb_DisableAfterScroll then Exit;
prip_GetDevCategory;
prip_GetDevLevel;
prip_GetDevModel;
end;
procedure TfrmBeginWorkManageBase.grdDeviceDetailChangeColumn(
Sender: TObject; Node: TdxTreeListNode; Column: Integer);
begin
// ShowMessage('grdDeviceDetailChangeColumn');
case Column of
2: prip_GetDevLevel;
3: prip_GetDevModel;
end;
end;
procedure TfrmBeginWorkManageBase.BuildDetailAfterInsert(
DataSet: TDataSet);
begin
with DataSet do
begin
FieldByName('sysid').AsString := Gf_GenSysId;
FieldByName('stwk_id').AsString := Fs_BWGeneralId;
end;
prip_AfterEdit(DataSet);
end;
procedure TfrmBeginWorkManageBase.DocDetailAfterInsert(DataSet: TDataSet);
begin
with DataSet do
begin
FieldByName('sysid').AsString := Gf_GenSysId;
FieldByName('stwk_id').AsString := Fs_BWGeneralId;
end;
prip_AfterEdit(DataSet);
end;
procedure TfrmBeginWorkManageBase.SuprDetailAfterInsert(DataSet: TDataSet);
begin
with DataSet do
begin
FieldByName('sysid').AsString := Gf_GenSysId;
FieldByName('stwk_id').AsString := Fs_BWGeneralId;
end;
prip_AfterEdit(DataSet);
end;
procedure TfrmBeginWorkManageBase.ConstDetailAfterInsert(
DataSet: TDataSet);
begin
with DataSet do
begin
FieldByName('sysid').AsString := Gf_GenSysId;
FieldByName('stwk_id').AsString := Fs_BWGeneralId;
end;
prip_AfterEdit(DataSet);
end;
procedure TfrmBeginWorkManageBase.grdDeviceDetaildev_categoryCloseUp(
Sender: TObject; var Value: Variant; var Accept: Boolean);
begin
if prif_Sameness then
begin
with DeviceDetail do
begin
Edit;
FieldByName('dev_level').Clear;
FieldByName('dev_model').Clear;
end;
end;
end;
function TfrmBeginWorkManageBase.prif_Sameness: Boolean;
begin
Result := True;
end;
procedure TfrmBeginWorkManageBase.grdDeviceDetaildev_levelCloseUp(
Sender: TObject; var Value: Variant; var Accept: Boolean);
begin
with DeviceDetail do
begin
Edit;
FieldByName('dev_model').Clear;
end;
end;
procedure TfrmBeginWorkManageBase.DeviceDetailBeforeOpen(
DataSet: TDataSet);
begin
prip_DisableAfterScroll;
end;
procedure TfrmBeginWorkManageBase.DeviceDetailAfterOpen(DataSet: TDataSet);
begin
prip_EnableAfterScroll;
end;
procedure TfrmBeginWorkManageBase.prip_DisableAfterScroll;
begin
Fe_DeviceDetail := DeviceDetail.AfterScroll;
DeviceDetail.AfterScroll := nil;
end;
procedure TfrmBeginWorkManageBase.prip_EnableAfterScroll;
begin
DeviceDetail.AfterScroll := Fe_DeviceDetail;
end;
procedure TfrmBeginWorkManageBase.prip_SelectCompany(
const Ai_Category: Integer; Ac_Requestor: TfrmOrganMng);
var
ls_PrevId: string;
lc_Arg: TStrings;
lc_Rc: TModalResult;
lc_Company: TfrmOrganMng;
begin
ls_PrevId := '';
lc_Company := Ac_Requestor;
with lc_Company do
begin
lc_Arg := TStringList.Create;
lc_Arg.Add(ls_PrevId);
lc_Arg.Add(IntToStr(Ai_Category));
try
pubp_ini(True, lc_Arg);
lc_Rc := ShowModal;
Self.Update;
finally
lc_Arg.Free;
end;
if lc_Rc = mrOK then
begin
Fs_CurOrganId := CurOrganId;
Fs_CurCertId := CurCertId;
end;
end;
end;
procedure TfrmBeginWorkManageBase.eConstComEditButtons0Click(
Sender: TObject; var Handled: Boolean);
var
lc_Organ: TfrmOrganMng;
begin
with Generald do if (not AutoEdit) and (State = dsBrowse) then Exit;
lc_Organ := TfrmOrganMng.Create(nil);
try
prip_SelectCompany(INST_SIGN, lc_Organ);
if Fs_CurOrganId <> '' then
begin
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s, [Fs_CurOrganId]);
Open;
General.Edit;
General.FieldValues['const_com'] := FieldValues['name'];
General.FieldValues['const_reg_no'] := FieldValues['regno'];
General.FieldValues['const_address'] := FieldValues['addr'];
General.FieldValues['const_deputy'] := FieldValues['legalperson'];
Close;
end;
end;
if Fs_CurCertId <> '' then
begin
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.organ_cert ' +
'WHERE sysid= ''%s, [Fs_CurCertId]);
Open;
General.Edit;
General.FieldValues['const_lics_no'] := FieldValues['certno'];
General.FieldValues['const_lics_date'] := FieldValues['end_date'];
Close;
end;
end;
finally
if lc_Organ <> nil then lc_Organ.Free;
Fs_CurOrganId := '';
Fs_CurCertId := '';
end;
end;
procedure TfrmBeginWorkManageBase.ePropertyComEditButtons0Click(
Sender: TObject; var Handled: Boolean);
var
lc_Organ: TfrmOrganMng;
begin
with Generald do if (not AutoEdit) and (State = dsBrowse) then Exit;
lc_Organ := TfrmOrganMng.Create(nil);
try
prip_SelectCompany(PROPERTY_SIGN, lc_Organ);
if Fs_CurOrganId <> '' then
begin
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s, [Fs_CurOrganId]);
Open;
General.Edit;
General.FieldValues['property_com'] := FieldValues['name'];
General.FieldValues['property_address'] := FieldValues['addr'];
Close;
end;
end;
finally
if lc_Organ <> nil then lc_Organ.Free;
Fs_CurOrganId := '';
Fs_CurCertId := '';
end;
end;
procedure TfrmBeginWorkManageBase.ePrjDesignComEditButtons0Click(
Sender: TObject; var Handled: Boolean);
var
lc_Organ: TfrmOrganMng;
begin
with Generald do if (not AutoEdit) and (State = dsBrowse) then Exit;
lc_Organ := TfrmOrganMng.Create(nil);
try
prip_SelectCompany(0, lc_Organ);
if Fs_CurOrganId <> '' then
begin
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s, [Fs_CurOrganId]);
Open;
General.Edit;
General.FieldValues['prj_design_com'] := FieldValues['name'];
Close;
end;
end;
finally
if lc_Organ <> nil then lc_Organ.Free;
Fs_CurOrganId := '';
Fs_CurCertId := '';
end;
end;
procedure TfrmBeginWorkManageBase.eConstGroupEditButtons0Click(
Sender: TObject; var Handled: Boolean);
var
lc_Organ: TfrmOrganMng;
begin
with Generald do if (not AutoEdit) and (State = dsBrowse) then Exit;
lc_Organ := TfrmOrganMng.Create(nil);
try
prip_SelectCompany(INST_SIGN, lc_Organ);
if Fs_CurOrganId <> '' then
begin
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s, [Fs_CurOrganId]);
Open;
General.Edit;
General.FieldValues['const_group'] := FieldValues['name'];
General.FieldValues['const_group_address'] := FieldValues['addr'];
General.FieldValues['const_group_tel'] := FieldValues['tel'];
General.FieldValues['const_group_fax'] := FieldValues['fax'];
Close;
end;
end;
finally
if lc_Organ <> nil then lc_Organ.Free;
Fs_CurOrganId := '';
Fs_CurCertId := '';
end;
end;
procedure TfrmBeginWorkManageBase.grdConstDetailcom_nameButtonClick(
Sender: TObject; AbsoluteIndex: Integer);
var
lc_Organ: TfrmOrganMng;
begin
with ConstDetaild do if (not AutoEdit) and (State = dsBrowse) then Exit;
lc_Organ := TfrmOrganMng.Create(nil);
try
prip_SelectCompany(BUILDER_SIGN, lc_Organ);
if Fs_CurOrganId <> '' then
begin
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s, [Fs_CurOrganId]);
Open;
ConstDetail.Edit;
ConstDetail.FieldValues['com_name'] := FieldValues['name'];
ConstDetail.FieldValues['reg_no'] := FieldValues['regno'];
Close;
end;
end;
finally
if lc_Organ <> nil then lc_Organ.Free;
Fs_CurOrganId := '';
Fs_CurCertId := '';
end;
end;
procedure TfrmBeginWorkManageBase.grdBuildDetailcom_nameButtonClick(
Sender: TObject; AbsoluteIndex: Integer);
var
lc_Organ: TfrmOrganMng;
begin
with BuildDetaild do if (not AutoEdit) and (State = dsBrowse) then Exit;
lc_Organ := TfrmOrganMng.Create(nil);
try
prip_SelectCompany(BUILDER_SIGN, lc_Organ);
if Fs_CurOrganId <> '' then
begin
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s, [Fs_CurOrganId]);
Open;
BuildDetail.Edit;
BuildDetail.FieldValues['com_name'] := FieldValues['name'];
BuildDetail.FieldValues['reg_no'] := FieldValues['regno'];
Close;
end;
end;
finally
if lc_Organ <> nil then lc_Organ.Free;
Fs_CurOrganId := '';
Fs_CurCertId := '';
end;
end;
procedure TfrmBeginWorkManageBase.grdSuprDetailcom_nameButtonClick(
Sender: TObject; AbsoluteIndex: Integer);
var
lc_Organ: TfrmOrganMng;
begin
with SuprDetaild do if (not AutoEdit) and (State = dsBrowse) then Exit;
lc_Organ := TfrmOrganMng.Create(nil);
try
prip_SelectCompany(BUILDVERIFY_SIGN, lc_Organ);
if Fs_CurOrganId <> '' then
begin
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s, [Fs_CurOrganId]);
Open;
SuprDetail.Edit;
SuprDetail.FieldValues['com_name'] := FieldValues['name'];
SuprDetail.FieldValues['reg_no'] := FieldValues['regno'];
Close;
end;
end;
finally
if lc_Organ <> nil then lc_Organ.Free;
Fs_CurOrganId := '';
Fs_CurCertId := '';
end;
end;
procedure TfrmBeginWorkManageBase.grdPersonDetailcard_noButtonClick(
Sender: TObject; AbsoluteIndex: Integer);
begin
prip_SelectPerson;
end;
end.
unit ufrmBeginWorkManage;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ufrmBeginWorkManageBase, dxExEdtr, DB, FR_DSet, FR_DBSet,
FR_Class, ADODB, CSADOQuery, CSScrCtrlChild, dxEdLib, dxDBELib, dxCntner,
dxEditor, CSCustomdxDateEdit, CSdxDBDateEdit, StdCtrls, Mask, DBCtrlsEh,
DBCtrls, CSDBNavigator, CSdxDBNavigator, dxDBTLCl, dxGrClms, dxTL,
dxDBCtrl, dxDBGrid, ComCtrls, Buttons, ExtCtrls;
type
TfrmBeginWorkManage = class(TfrmBeginWorkManageBase)
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmBeginWorkManage: TfrmBeginWorkManage;
implementation
{$R *.dfm}
end.
unit ufrmBeginWorkListBase;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, CSScrCtrlChild, CSBarMDIChild, CSGrdColCtrl, CSdxGrdColCtrl,
CSADOFilter, CSADOdxGrdFilter, CSDBBase, CSDBFind, CSDBdxGrdFind, DB,
ADODB, CSADOQuery, dxExEdtr, dxCntner, dxTL, dxDBCtrl, dxDBGrid,
dxEditor, dxEdLib, StdCtrls, Buttons, ExtCtrls, CSRowCountPanel,
CSdxDateEdit, CSCustomdxDateEdit, dxDBTLCl, dxGrClms;
type
TfrmBeginWorkListBase = class(TForm)
List: TCSADOQuery;
Listd: TDataSource;
ListFind: TCSDBdxGrdFind;
ListFilter: TCSADOdxGrdFilter;
ListColCtrl: TCSdxGrdColCtrl;
CSBarMDIChild1: TCSBarMDIChild;
ScrChild: TCSScrCtrlChild;
Panel2: TPanel;
Label1: TLabel;
Label2: TLabel;
bbtnFind: TBitBtn;
bbtnFilter: TBitBtn;
bbtnColCtrl: TBitBtn;
deStartDate: TCSdxDateEdit;
deEndDate: TCSdxDateEdit;
Panel1: TPanel;
Panel3: TPanel;
bbtnClose: TBitBtn;
bbtnHelp: TBitBtn;
bbtnAddReport: TBitBtn;
bbtnEditReport: TBitBtn;
bbtnDeleteReport: TBitBtn;
bbtnRefresh: TBitBtn;
grdList: TdxDBGrid;
Temp: TCSADOQuery;
bbtnCollapse: TBitBtn;
bbtnExpand: TBitBtn;
CSRowCountPanel1: TCSRowCountPanel;
Listsysid: TStringField;
Listreport_no: TStringField;
Listdev_kind: TStringField;
Listconst_kind: TStringField;
Listappraise_date: TStringField;
Listproject_name: TStringField;
Listproperty_com: TStringField;
Listproperty_address: TStringField;
Listproperty_manager: TStringField;
Listmanager_tel: TStringField;
Listprj_design_com: TStringField;
Listcontract_no: TStringField;
Listcontract_date: TStringField;
Listbuild_project: TStringField;
Listdev_num: TIntegerField;
Liststart_date: TStringField;
Listend_date: TStringField;
Listbuild_charge: TBCDField;
Listdev_charge: TBCDField;
Listconst_com: TStringField;
Listconst_address: TStringField;
Listconst_reg_no: TStringField;
Listconst_deputy: TStringField;
Listconst_lics_no: TStringField;
Listconst_lics_date: TStringField;
Listconst_group: TStringField;
Listconst_group_address: TStringField;
Listconst_group_tel: TStringField;
Listconst_group_fax: TStringField;
Listconst_manager: TStringField;
Listconst_manager_tel: TStringField;
Listconst_instructor: TStringField;
Listconst_instructor_tel: TStringField;
Listidea_content: TStringField;
Listnotice_no: TStringField;
Listnotice_date: TStringField;
Listremark: TStringField;
Listoutflag: TIntegerField;
Liststate: TIntegerField;
grdListreport_no: TdxDBGridMaskColumn;
grdListdev_kind: TdxDBGridMaskColumn;
grdListconst_kind: TdxDBGridMaskColumn;
grdListappraise_date: TdxDBGridMaskColumn;
grdListproject_name: TdxDBGridMaskColumn;
grdListproperty_com: TdxDBGridMaskColumn;
grdListproperty_address: TdxDBGridMaskColumn;
grdListproperty_manager: TdxDBGridMaskColumn;
grdListmanager_tel: TdxDBGridMaskColumn;
grdListprj_design_com: TdxDBGridMaskColumn;
grdListcontract_no: TdxDBGridMaskColumn;
grdListcontract_date: TdxDBGridMaskColumn;
grdListbuild_project: TdxDBGridMaskColumn;
grdListdev_num: TdxDBGridMaskColumn;
grdListstart_date: TdxDBGridMaskColumn;
grdListend_date: TdxDBGridMaskColumn;
grdListbuild_charge: TdxDBGridCurrencyColumn;
grdListdev_charge: TdxDBGridCurrencyColumn;
grdListconst_com: TdxDBGridMaskColumn;
grdListconst_address: TdxDBGridMaskColumn;
grdListconst_reg_no: TdxDBGridMaskColumn;
grdListconst_deputy: TdxDBGridMaskColumn;
grdListconst_lics_no: TdxDBGridMaskColumn;
grdListconst_lics_date: TdxDBGridMaskColumn;
grdListconst_group: TdxDBGridMaskColumn;
grdListconst_group_address: TdxDBGridMaskColumn;
grdListconst_group_tel: TdxDBGridMaskColumn;
grdListconst_group_fax: TdxDBGridMaskColumn;
grdListconst_manager: TdxDBGridMaskColumn;
grdListconst_manager_tel: TdxDBGridMaskColumn;
grdListconst_instructor: TdxDBGridMaskColumn;
grdListconst_instructor_tel: TdxDBGridMaskColumn;
grdListidea_content: TdxDBGridMaskColumn;
grdListnotice_no: TdxDBGridMaskColumn;
grdListnotice_date: TdxDBGridMaskColumn;
grdListstate: TdxDBGridMaskColumn;
procedure bbtnCloseClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bbtnFindClick(Sender: TObject);
procedure bbtnFilterClick(Sender: TObject);
procedure bbtnColCtrlClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure bbtnAddReportClick(Sender: TObject);
procedure bbtnEditReportClick(Sender: TObject);
procedure bbtnDeleteReportClick(Sender: TObject);
procedure bbtnRefreshClick(Sender: TObject);
procedure grdListCustomDraw(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxDBTreeListColumn;
const AText: String; AFont: TFont; var AColor: TColor; ASelected,
AFocused: Boolean; var ADone: Boolean);
procedure grdListChangeNode(Sender: TObject; OldNode,
Node: TdxTreeListNode);
procedure bbtnCollapseClick(Sender: TObject);
procedure bbtnExpandClick(Sender: TObject);
private
procedure prip_SetBtnState;
procedure prip_IniInterface;
procedure prip_Refresh(const As_Id: string = '');
procedure prip_AddReport;
procedure prip_EditReport;
procedure prip_DeleteReport;
protected
Rs_DetailTable: string;
function prof_CreateManage: TForm; virtual;
procedure prop_IniData; virtual;
public
procedure pubp_Ini;
end;
implementation
uses
DateUtils, CSVCLUtils, CSScrCtrlMaster, udmData, CommonLib,
ufrmBeginWorkManageBase;
const
CONFIRM_STATE = 1;
{$R *.dfm}
{ TfrmBeginWorkListBase }
procedure TfrmBeginWorkListBase.prip_AddReport;
var
ls_Id: string;
lc_Args: TStrings;
lc_BeginWorkManage: TfrmBeginWorkManageBase;
begin
ls_Id := '';
lc_Args := TStringList.Create;
try
lc_Args.Add(ls_Id);
lc_BeginWorkManage := TfrmBeginWorkManageBase(prof_CreateManage);
with lc_BeginWorkManage do
begin
try
pubp_Ini(AM_VMADDREPORT, lc_Args);
ShowModal;
if DataModified then prip_Refresh(BWGeneralId);
finally
Free;
end;
end;
finally
lc_Args.Free;
end;
end;
procedure TfrmBeginWorkListBase.prip_DeleteReport;
var
ls_Id: string;
lc_Args: TStrings;
lc_BeginWorkManage: TfrmBeginWorkManageBase;
procedure PerformDelete;
begin
Gp_ProgressHint(',...');
with dmData.adocon do
begin
BeginTrans;
try
Execute(Format('DELETE FROM device.equipment_stwk_report WHERE ' +
'sysid = ''%s, [ls_Id]));
Execute(Format('DELETE FROM device.equipment_stwk_device ' +
'WHERE stwk_id = ''%s, [ls_Id]));
Execute(Format('DELETE FROM device.equipment_stwk_person ' +
'WHERE stwk_id = ''%s, [ls_Id]));
Execute(Format('DELETE FROM device.equipment_stwk_build ' +
'WHERE stwk_id = ''%s, [ls_Id]));
Execute(Format('DELETE FROM device.equipment_stwk_const ' +
'WHERE stwk_id = ''%s, [ls_Id]));
Execute(Format('DELETE FROM device.equipment_stwk_doc ' +
'WHERE stwk_id = ''%s, [ls_Id]));
Execute(Format('DELETE FROM device.equipment_stwk_supr ' +
'WHERE stwk_id = ''%s, [ls_Id]));
CommitTrans;
prip_Refresh;
except
on E: Exception do
begin
RollbackTrans;
Application.MessageBox(PChar(',:' +
E.Message), PChar(Caption), MB_OK + MB_ICONERROR);
end;
end;
end;
Gp_ProgressHint;
end;
begin
with List do
begin
if (not Active) or IsEmpty then Exit;
ls_Id := FieldByName('sysid').AsString;
end;
lc_Args := TStringList.Create;
try
lc_Args.Add(ls_Id);
lc_BeginWorkManage := TfrmBeginWorkManageBase(prof_CreateManage);
with lc_BeginWorkManage do
try
pubp_Ini(AM_VMDELETEREPORT, lc_Args);
ShowModal;
if ModalResult = mrOK then PerformDelete;
finally
Free;
end;
finally
lc_Args.Free;
end;
end;
procedure TfrmBeginWorkListBase.prip_EditReport;
var
ls_Id: string;
lc_Args: TStrings;
lc_BeginWorkManage: TfrmBeginWorkManageBase;
begin
with List do
begin
if (not Active) or IsEmpty then Exit;
ls_Id := FieldByName('sysid').AsString;
end;
lc_Args := TStringList.Create;
try
lc_Args.Add(ls_Id);
lc_BeginWorkManage := TfrmBeginWorkManageBase(prof_CreateManage);
with lc_BeginWorkManage do
begin
try
pubp_Ini(AM_VMEDITREPORT, lc_Args);
ShowModal;
if DataModified then prip_Refresh(BWGeneralId);
finally
Free;
end;
end;
finally
lc_Args.Free;
end;
end;
procedure TfrmBeginWorkListBase.prop_IniData;
var
ls_StartDate, ls_EndDate: string;
begin
ls_StartDate := deStartDate.Text;
ls_EndDate := deEndDate.Text;
with List do
begin
if Active then Close;
SQL.Text := Format('SELECT * FROM device.equipment_stwk_report WHERE ' +
'(start_date >= ''%s'' AND start_date <= ''%s'') OR state <> ' +
IntToStr(CONFIRM_STATE), [ls_StartDate, ls_EndDate]);
Open;
end;
end;
procedure TfrmBeginWorkListBase.prip_IniInterface;
begin
prip_SetBtnState;
with grdList do
begin
FullExpand;
GotoFirst;
end;
end;
procedure TfrmBeginWorkListBase.prip_Refresh(const As_Id: string);
begin
prop_IniData;
prip_SetBtnState;
grdList.FullExpand;
if not List.Locate('sysid', As_Id, []) then grdList.GotoFirst;
end;
procedure TfrmBeginWorkListBase.pubp_Ini;
begin
ScrChild.SetSecurity(Self);
Gp_ProgressHint(Format('%s,...', [Caption]));
try
prop_IniData;
Position := poScreenCenter;
BorderIcons := BorderIcons -[biMinimize];
FormStyle := fsMDIChild;
if MAXIMIZEDBYDEFAULT then WindowState := wsMaximized else ClientTile(Self);
prip_IniInterface;
finally
Gp_ProgressHint;
end;
end;
procedure TfrmBeginWorkListBase.bbtnCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmBeginWorkListBase.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmBeginWorkListBase.bbtnFindClick(Sender: TObject);
begin
ListFind.FindDlg;
end;
procedure TfrmBeginWorkListBase.bbtnFilterClick(Sender: TObject);
begin
ListFilter.FilterDlg;
end;
procedure TfrmBeginWorkListBase.bbtnColCtrlClick(Sender: TObject);
begin
with ListColCtrl do
begin
InitColumns;
SetupDlg;
end;
end;
procedure TfrmBeginWorkListBase.FormCreate(Sender: TObject);
begin
with grdList do
begin
IniFileName := Gs_AppPath + USERCONFIG_NAME;
LoadFromIniFile(IniFileName);
end;
Rs_DetailTable := '';
deStartDate.Date := IncDay(ToDay, -60);
deEndDate.Date := IncDay(ToDay, 60);
end;
procedure TfrmBeginWorkListBase.bbtnAddReportClick(Sender: TObject);
begin
prip_AddReport;
end;
procedure TfrmBeginWorkListBase.bbtnEditReportClick(Sender: TObject);
begin
prip_EditReport;
end;
procedure TfrmBeginWorkListBase.bbtnDeleteReportClick(Sender: TObject);
begin
prip_DeleteReport;
end;
procedure TfrmBeginWorkListBase.bbtnRefreshClick(Sender: TObject);
begin
prip_Refresh;
end;
procedure TfrmBeginWorkListBase.grdListCustomDraw(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont;
var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean);
var
li_StateIndex, li_State: Integer;
begin
if ANode.HasChildren then Exit;
li_StateIndex := grdList.ColumnByFieldName('state').Index;
if ANode.Strings[li_StateIndex] = '' then Exit;
li_State := StrToInt(ANode.Strings[li_StateIndex]);
if li_State = CONFIRM_STATE then AFont.Color := CL_CONFIRM;
end;
procedure TfrmBeginWorkListBase.grdListChangeNode(Sender: TObject; OldNode,
Node: TdxTreeListNode);
var
li_StateIndex, li_State: Integer;
begin
if Node.HasChildren then li_State := List.FieldByName('state').AsInteger
else begin
li_StateIndex := grdList.ColumnByFieldName('state').Index;
li_State := StrToInt(Node.Strings[li_StateIndex]);
end;
if li_State = CONFIRM_STATE then
begin
bbtnEditReport.Caption := '';
bbtnEditReport.Enabled := True;
bbtnDeleteReport.Enabled := False;
end else begin
bbtnEditReport.Caption := '';
bbtnEditReport.Enabled := True;
bbtnDeleteReport.Enabled := True;
end;
end;
procedure TfrmBeginWorkListBase.prip_SetBtnState;
begin
bbtnEditReport.Caption := '';
if List.IsEmpty then
begin
bbtnEditReport.Enabled := False;
bbtnDeleteReport.Enabled := False;
end else with grdList do
OnChangeNode(grdList, TopVisibleNode, TopVisibleNode);
end;
procedure TfrmBeginWorkListBase.bbtnCollapseClick(Sender: TObject);
begin
grdList.FullCollapse;
end;
procedure TfrmBeginWorkListBase.bbtnExpandClick(Sender: TObject);
begin
grdList.FullExpand;
end;
function TfrmBeginWorkListBase.prof_CreateManage: TForm;
begin
Result := nil;
end;
end.
unit ufrmBeginWorkList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ufrmBeginWorkListBase, dxExEdtr, CSScrCtrlChild, CSBarMDIChild,
CSGrdColCtrl, CSdxGrdColCtrl, CSADOFilter, CSADOdxGrdFilter, CSDBBase,
CSDBFind, CSDBdxGrdFind, DB, ADODB, CSADOQuery, dxCntner, dxTL, dxDBCtrl,
dxDBGrid, dxEditor, dxEdLib, StdCtrls, Buttons, ExtCtrls, CSRowCountPanel,
CSdxDateEdit, CSCustomdxDateEdit, dxDBTLCl, dxGrClms;
type
TfrmBeginWorkList = class(TfrmBeginWorkListBase)
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
protected
function prof_CreateManage: TForm; override;
public
{ Public declarations }
end;
var
frmBeginWorkList: TfrmBeginWorkList;
implementation
uses
DateUtils, CSVCLUtils, CSScrCtrlMaster, udmData, CommonLib,
ufrmBeginWorkManage;
{$R *.dfm}
{ TfrmBeginWorkList }
procedure TfrmBeginWorkList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
frmBeginWorkList := nil;
end;
function TfrmBeginWorkList.prof_CreateManage: TForm;
begin
Result := TfrmBeginWorkManage.Create(nil);
end;
end.
unit ufrmBeginning;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, dxfColorButton, DB, ADODB, CSADOQuery;
var
frmBeginning: TfrmBeginning;
implementation
uses StrUtils, ufrmFrontPay, upubCommon, udmData;
{$R *.dfm}
//{$DEFINE DEBUG}
{ TfrmBeginning }
procedure TfrmBeginning.OnBbtnNumClick(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
li_Tag: Integer;
begin
li_Tag := (Sender as TdxfColorButton).Tag;
Case li_Tag of
10: //
begin
if Pos(eMoney.Text, '.') = 0 then
begin
eMoney.Text := eMoney.Text + '.';
end;
end;
11:
begin
eMoney.Text := LeftStr(eMoney.Text, Length(eMoney.Text) - 1);
end;
12:
begin
eMoney.Clear;
end;
else
begin
eMoney.Text := eMoney.Text + LeftStr((Sender as TdxfColorButton).Caption.Text, 1);
end;
end;
end;
procedure TfrmDeviceManage.grdListGetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
with List do
begin
if FieldByName('dev_state').AsString = DS_STOP then
AFont.Color := CL_DSSTOP;
if FieldByName('dev_state').AsString = DS_USELESS then
AFont.Color := CL_DSUSELESS;
end;
end;
procedure TfrmDeviceManage.bbtnLogPrintClick(Sender: TObject);
begin
with PrintGrd do
begin
DBGridEh := grdDeviceLog;
Preview;
end;
end;
procedure TfrmDeviceManage.prip_GetComInfo(Asa_Ids: array of string);
var
li_Index: Integer;
begin
with Temp do
begin
if Active then Close;
SQL.Text := Format('SELECT sysid, name, 1 AS ix FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s'' UNION ' +
'SELECT sysid, name, 2 AS ix FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s'' UNION ' +
'SELECT sysid, name, 3 AS ix FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s'' UNION ' +
'SELECT sysid, name, 4 AS ix FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s'' UNION ' +
'SELECT sysid, name, 5 AS ix FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s'' UNION ' +
'SELECT sysid, name, 6 AS ix FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s'' UNION ' +
'SELECT sysid, name, 7 AS ix FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s'' UNION ' +
'SELECT sysid, name, 8 AS ix FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s'' UNION ' +
'SELECT sysid, name, 9 AS ix FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s'' UNION ' +
'SELECT sysid, name, 10 AS ix FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s'' UNION ' +
'SELECT sysid, name, 11 AS ix FROM device.organ_baseinfo ' +
'WHERE sysid = ''%s,
[Asa_Ids[0], Asa_Ids[1], Asa_Ids[2], Asa_Ids[3], Asa_Ids[4], Asa_Ids[5],
Asa_Ids[6], Asa_Ids[7], Asa_Ids[8], Asa_Ids[9], Asa_Ids[10]]);
Open;
if not mComInfo.IsEmpty then mComInfo.Delete;
mComInfo.Insert;
while not Eof do
begin
li_Index := FieldByName('ix').AsInteger;
mComInfo.Fields[li_Index * 2 - 1].Value := FieldValues['sysid'];
mComInfo.Fields[li_Index * 2].Value := FieldValues['name'];
Next;
end;
mComInfo.Post;
if BaseInfo.State <> dsInsert then mComInfoBak.LoadFromDataSet(mComInfo);
prip_GetUserCom(VarToStr(mComInfo.FieldValues['user_id']));
Close;
end;
prip_RefreshListSource;
end;
procedure TfrmDeviceManage.BaseInfoAfterScroll(DataSet: TDataSet);
begin
with DataSet do
begin
if State <> dsInsert then
prip_GetComInfo([VarToStr(FieldValues['user_id']),
VarToStr(FieldValues['inst_id']),
VarToStr(FieldValues['manu_id']),
VarToStr(FieldValues['repair_id']),
VarToStr(FieldValues['property_id']),
VarToStr(FieldValues['design_id']),
VarToStr(FieldValues['verify_id']),
VarToStr(FieldValues['build_id']),
VarToStr(FieldValues['buildverify_id']),
VarToStr(FieldValues['supervise_id']),
VarToStr(FieldValues['verifyorg_id'])]);
// else prip_RefreshListSource;
end;
end;
procedure TfrmDeviceManage.prip_RefreshListSource;
begin
with lcmbUserCom do
begin
ListSource := nil;
ListSource := mComInfod;
end;
with lcmbInstCom do
begin
ListSource := nil;
ListSource := mComInfod;
end;
with lcmbManuCom do
begin
ListSource := nil;
ListSource := mComInfod;
end;
with lcmbRepairCom do
begin
ListSource := nil;
ListSource := mComInfod;
end;
with lcmbPropertyCom do
begin
ListSource := nil;
ListSource := mComInfod;
end;
with lcmbDesignCom do
begin
ListSource := nil;
ListSource := mComInfod;
end;
with lcmbVerifyCom do
begin
ListSource := nil;
ListSource := mComInfod;
end;
with lcmbBuildCom do
begin
ListSource := nil;
ListSource := mComInfod;
end;
with lcmbBuildVerifyCom do
begin
ListSource := nil;
ListSource := mComInfod;
end;
with lcmbSuperviseOrg do
begin
ListSource := nil;
ListSource := mComInfod;
end;
with lcmbVerifyOrg do
begin
ListSource := nil;
ListSource := mComInfod;
end;
end;
procedure TfrmDeviceManage.BaseInfoAfterCancel(DataSet: TDataSet);
begin
with mComInfo do
begin
LoadFromDataSet(mComInfoBak);
prip_GetUserCom(VarToStr(FieldValues['user_id']));
end;
prip_RefreshListSource;
end;
procedure TfrmDeviceManage.prip_CheckDevCode(
Ac_lcmbDevCode: TDBLookupComboboxEh);
var
li_OldType, li_NewType: Integer;
begin
if BaseInfo.State <> dsEdit then Exit;
li_OldType := StrToInt(Copy(Fs_PrevDevCode, 1, 1));
li_NewType := StrToInt(Copy(DeviceCode.FieldByName('code').AsString, 1, 1));
PostMessage(Handle, CM_DEVICECODECHANGED, li_OldType, li_NewType);
end;
procedure TfrmDeviceManage.CMDeviceCodeChanged(var Msg: TMessage);
var
ls_DevCode: string;
begin
if Msg.WParam <> Msg.LParam then
begin
Application.MessageBox('', PChar(Self.Caption),
MB_OK + MB_ICONWARNING);
BaseInfo.FieldByName('dev_code_id').AsString := Fs_PrevDevCodeId;
end;
ls_DevCode := DeviceCode.FieldByName('code').AsString;
prip_SetInterface(ls_DevCode);
end;
procedure TfrmDeviceManage.lcmbSuperviseOrgEditButtons0Click(
Sender: TObject; var Handled: Boolean);
begin
prip_CompanyDialog(SUPERVISOR_SIGN, lcmbSuperviseOrg, TfrmOrganMng.Create(nil));
end;
procedure TfrmDeviceManage.lcmbUserComEditButtons0Click(Sender: TObject;
var Handled: Boolean);
begin
prip_CompanyDialog(USER_SIGN, lcmbUserCom, TfrmOrganMng.Create(nil));
end;
procedure TfrmDeviceManage.lcmbManuComEditButtons0Click(Sender: TObject;
var Handled: Boolean);
begin
prip_CompanyDialog(MANU_SIGN, lcmbManuCom, TfrmOrganMng.Create(nil));
end;
procedure TfrmDeviceManage.lcmbInstComEditButtons0Click(Sender: TObject;
var Handled: Boolean);
begin
prip_CompanyDialog(INST_SIGN, lcmbInstCom, TfrmOrganMng.Create(nil));
end;
procedure TfrmDeviceManage.lcmbRepairComEditButtons0Click(
Sender: TObject; var Handled: Boolean);
begin
prip_CompanyDialog(REPAIR_SIGN, lcmbRepairCom, TfrmOrganMng.Create(nil));
end;
procedure TfrmDeviceManage.lcmbBuildComEditButtons0Click(
Sender: TObject; var Handled: Boolean);
begin
prip_CompanyDialog(BUILDER_SIGN, lcmbBuildCom, TfrmOrganMng.Create(nil));
end;
procedure TfrmDeviceManage.lcmbBuildVerifyComEditButtons0Click(
Sender: TObject; var Handled: Boolean);
begin
prip_CompanyDialog(BUILDVERIFY_SIGN, lcmbBuildVerifyCom,
TfrmOrganMng.Create(nil));
end;
procedure TfrmDeviceManage.lcmbVerifyOrgEditButtons0Click(
Sender: TObject; var Handled: Boolean);
begin
prip_CompanyDialog(VERIFYACCEPT_SIGN, lcmbVerifyOrg, TfrmOrganMng.Create(nil));
end;
procedure TfrmDeviceManage.lcmbPropertyComEditButtons0Click(
Sender: TObject; var Handled: Boolean);
begin
prip_CompanyDialog(PROPERTY_SIGN, lcmbPropertyCom, TfrmOrganMng.Create(nil));
end;
procedure TfrmDeviceManage.prip_SetInterface(const As_DevCode: string);
var
li_DevCode: Integer;
begin
li_DevCode := StrToInt(Copy(As_DevCode, 1, 1));
case li_DevCode of
end;
procedure TfrmBeginning.prip_IniData;
begin
labEmpCD.Caption := LoginInfo.UserId;
labEmpName.Caption := LoginInfo.UserName;
labOnDate.Caption := FormatDateTime('YYYY-MM-DD', Date);
labOnTime.Caption := FormatDateTime('HH:MM:SS', Time);
labNum.Caption := MachinesInfo.MachinesCD;
with dmData.Temp do
begin
if Active then Close;
Connection := dmData.adocon;
SQL.Text := Format('SELECT * FROM T_SHOP_MS WHERE I_SHOP_CD = ''%s,
[ShopInfo.ShopCD]);
{$IF DEFINED(DEBUG)}
ShowMessage(SQL.Text);
{$IFEND}
Open;
if not IsEmpty then
begin
ShopInfo.CompanyName := FieldByName('I_COMPANY_NAME').AsString;
ShopInfo.ShopName := FieldByName('I_SHOP_NAME').AsString;
labCompany.Caption := ShopInfo.CompanyName;
labShopName.Caption := ShopInfo.ShopName;
end;
Close;
SQL.Clear;
SQL.Text := Format('SELECT I_WORK_CD FROM T_WORK_MS WHERE I_START_TIME <= ' +
%s'' AND I_END_TIME >= ''%s,[Trim(labOnTime.Caption),
Trim(labOnTime.Caption)]);
Open;
{$IF DEFINED(DEBUG)}
SQL.SaveToFile('1.txt');
ShowMessage(SQL.Text);
{$IFEND}
if not IsEmpty then
begin
LoginInfo.WorkCD := FieldByName('I_WORK_CD').AsString;
end;
labWork.Caption := LoginInfo.WorkCD;
Close;
end;
end;
procedure TfrmBeginning.prip_IniInterFace;
begin
btnNum0.OnMouseDown := OnBbtnNumClick;
btnNum1.OnMouseDown := OnBbtnNumClick;
btnNum2.OnMouseDown := OnBbtnNumClick;
btnNum3.OnMouseDown := OnBbtnNumClick;
btnNum4.OnMouseDown := OnBbtnNumClick;
btnNum5.OnMouseDown := OnBbtnNumClick;
btnNum6.OnMouseDown := OnBbtnNumClick;
btnNum7.OnMouseDown := OnBbtnNumClick;
btnNum8.OnMouseDown := OnBbtnNumClick;
btnNum9.OnMouseDown := OnBbtnNumClick;
btnDot.OnMouseDown := OnBbtnNumClick;
btnModify.OnMouseDown := OnBbtnNumClick;
btnClear.OnMouseDown := OnBbtnNumClick;
WindowState := wsMaximized;
end;
procedure TfrmBeginning.pubp_Ini;
begin
prip_IniData;
prip_IniInterFace;
end;
procedure TfrmBeginning.bbtnCancelClick(Sender: TObject);
var
ls_SQL: String;
begin
Close;
pubCommon.OnOffLine := False;
ls_SQL := Format('UPDATE T_MACHINES_MS SET I_MACHINES_FREE = 1, ' +
' I_LAST_ON_TIME = ''%s'' WHERE I_MACHINES_CD = ''%s,
[FormatDateTime('YYYY-MM-DD HH:MM:SS', Now), MachinesInfo.MachinesCD]);
dmData.pubp_ExecSQL(ls_SQL);
end;
procedure TfrmBeginning.bbtnConfirmClick(Sender: TObject);
begin
LoginInfo.LYMoney := StrToCurrDef(eMoney.Text, 0.00);
with OnLineq do
begin
if Active then Close;
Connection := dmData.adocon;
SQL.Text := 'SELECT * FROM T_LOGIN_WORK_MS WHERE 1 = 2';
Open;
Append;
FieldByName('I_MACHINES_CD').AsString := MachinesInfo.MachinesCD;
FieldByName('I_LOGIN_CD').AsString := LoginInfo.UserId;
FieldByName('I_DATE').AsString := labOnDate.Caption;
FieldByName('I_TIME').AsString := labOnTime.Caption;
FieldByName('I_WORK_CD').AsString := LoginInfo.WorkCD;
FieldByName('I_AMOUNT').AsCurrency := LoginInfo.LYMoney;
FieldByName('I_FLAG').AsCurrency := AI_ONLINE;
Post;
Close;
end;
ModalResult := MrOk;
end;
end.