BVB Source Codes

Special equipment safety supervision system in Delphi source code Show ufrmBeginWorkListBase.pas Source code

Return Download Special equipment safety supervision system in Delphi source code: download ufrmBeginWorkListBase.pas Source code - Download Special equipment safety supervision system in Delphi source code Source code - Type:.pas
  1. unit ufrmBeginWorkListBase;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, CSScrCtrlChild, CSBarMDIChild, CSGrdColCtrl, CSdxGrdColCtrl,
  8.   CSADOFilter, CSADOdxGrdFilter, CSDBBase, CSDBFind, CSDBdxGrdFind, DB,
  9.   ADODB, CSADOQuery, dxExEdtr, dxCntner, dxTL, dxDBCtrl, dxDBGrid,
  10.   dxEditor, dxEdLib, StdCtrls, Buttons, ExtCtrls, CSRowCountPanel,
  11.   CSdxDateEdit, CSCustomdxDateEdit, dxDBTLCl, dxGrClms;
  12.  
  13. type
  14.   TfrmBeginWorkListBase = class(TForm)
  15.     List: TCSADOQuery;
  16.     Listd: TDataSource;
  17.     ListFind: TCSDBdxGrdFind;
  18.     ListFilter: TCSADOdxGrdFilter;
  19.     ListColCtrl: TCSdxGrdColCtrl;
  20.     CSBarMDIChild1: TCSBarMDIChild;
  21.     ScrChild: TCSScrCtrlChild;
  22.     Panel2: TPanel;
  23.     Label1: TLabel;
  24.     Label2: TLabel;
  25.     bbtnFind: TBitBtn;
  26.     bbtnFilter: TBitBtn;
  27.     bbtnColCtrl: TBitBtn;
  28.     deStartDate: TCSdxDateEdit;
  29.     deEndDate: TCSdxDateEdit;
  30.     Panel1: TPanel;
  31.     Panel3: TPanel;
  32.     bbtnClose: TBitBtn;
  33.     bbtnHelp: TBitBtn;
  34.     bbtnAddReport: TBitBtn;
  35.     bbtnEditReport: TBitBtn;
  36.     bbtnDeleteReport: TBitBtn;
  37.     bbtnRefresh: TBitBtn;
  38.     grdList: TdxDBGrid;
  39.     Temp: TCSADOQuery;
  40.     bbtnCollapse: TBitBtn;
  41.     bbtnExpand: TBitBtn;
  42.     CSRowCountPanel1: TCSRowCountPanel;
  43.     Listsysid: TStringField;
  44.     Listreport_no: TStringField;
  45.     Listdev_kind: TStringField;
  46.     Listconst_kind: TStringField;
  47.     Listappraise_date: TStringField;
  48.     Listproject_name: TStringField;
  49.     Listproperty_com: TStringField;
  50.     Listproperty_address: TStringField;
  51.     Listproperty_manager: TStringField;
  52.     Listmanager_tel: TStringField;
  53.     Listprj_design_com: TStringField;
  54.     Listcontract_no: TStringField;
  55.     Listcontract_date: TStringField;
  56.     Listbuild_project: TStringField;
  57.     Listdev_num: TIntegerField;
  58.     Liststart_date: TStringField;
  59.     Listend_date: TStringField;
  60.     Listbuild_charge: TBCDField;
  61.     Listdev_charge: TBCDField;
  62.     Listconst_com: TStringField;
  63.     Listconst_address: TStringField;
  64.     Listconst_reg_no: TStringField;
  65.     Listconst_deputy: TStringField;
  66.     Listconst_lics_no: TStringField;
  67.     Listconst_lics_date: TStringField;
  68.     Listconst_group: TStringField;
  69.     Listconst_group_address: TStringField;
  70.     Listconst_group_tel: TStringField;
  71.     Listconst_group_fax: TStringField;
  72.     Listconst_manager: TStringField;
  73.     Listconst_manager_tel: TStringField;
  74.     Listconst_instructor: TStringField;
  75.     Listconst_instructor_tel: TStringField;
  76.     Listidea_content: TStringField;
  77.     Listnotice_no: TStringField;
  78.     Listnotice_date: TStringField;
  79.     Listremark: TStringField;
  80.     Listoutflag: TIntegerField;
  81.     Liststate: TIntegerField;
  82.     grdListreport_no: TdxDBGridMaskColumn;
  83.     grdListdev_kind: TdxDBGridMaskColumn;
  84.     grdListconst_kind: TdxDBGridMaskColumn;
  85.     grdListappraise_date: TdxDBGridMaskColumn;
  86.     grdListproject_name: TdxDBGridMaskColumn;
  87.     grdListproperty_com: TdxDBGridMaskColumn;
  88.     grdListproperty_address: TdxDBGridMaskColumn;
  89.     grdListproperty_manager: TdxDBGridMaskColumn;
  90.     grdListmanager_tel: TdxDBGridMaskColumn;
  91.     grdListprj_design_com: TdxDBGridMaskColumn;
  92.     grdListcontract_no: TdxDBGridMaskColumn;
  93.     grdListcontract_date: TdxDBGridMaskColumn;
  94.     grdListbuild_project: TdxDBGridMaskColumn;
  95.     grdListdev_num: TdxDBGridMaskColumn;
  96.     grdListstart_date: TdxDBGridMaskColumn;
  97.     grdListend_date: TdxDBGridMaskColumn;
  98.     grdListbuild_charge: TdxDBGridCurrencyColumn;
  99.     grdListdev_charge: TdxDBGridCurrencyColumn;
  100.     grdListconst_com: TdxDBGridMaskColumn;
  101.     grdListconst_address: TdxDBGridMaskColumn;
  102.     grdListconst_reg_no: TdxDBGridMaskColumn;
  103.     grdListconst_deputy: TdxDBGridMaskColumn;
  104.     grdListconst_lics_no: TdxDBGridMaskColumn;
  105.     grdListconst_lics_date: TdxDBGridMaskColumn;
  106.     grdListconst_group: TdxDBGridMaskColumn;
  107.     grdListconst_group_address: TdxDBGridMaskColumn;
  108.     grdListconst_group_tel: TdxDBGridMaskColumn;
  109.     grdListconst_group_fax: TdxDBGridMaskColumn;
  110.     grdListconst_manager: TdxDBGridMaskColumn;
  111.     grdListconst_manager_tel: TdxDBGridMaskColumn;
  112.     grdListconst_instructor: TdxDBGridMaskColumn;
  113.     grdListconst_instructor_tel: TdxDBGridMaskColumn;
  114.     grdListidea_content: TdxDBGridMaskColumn;
  115.     grdListnotice_no: TdxDBGridMaskColumn;
  116.     grdListnotice_date: TdxDBGridMaskColumn;
  117.     grdListstate: TdxDBGridMaskColumn;
  118.     procedure bbtnCloseClick(Sender: TObject);
  119.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  120.     procedure bbtnFindClick(Sender: TObject);
  121.     procedure bbtnFilterClick(Sender: TObject);
  122.     procedure bbtnColCtrlClick(Sender: TObject);
  123.     procedure FormCreate(Sender: TObject);
  124.     procedure bbtnAddReportClick(Sender: TObject);
  125.     procedure bbtnEditReportClick(Sender: TObject);
  126.     procedure bbtnDeleteReportClick(Sender: TObject);
  127.     procedure bbtnRefreshClick(Sender: TObject);
  128.     procedure grdListCustomDraw(Sender: TObject; ACanvas: TCanvas;
  129.       ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxDBTreeListColumn;
  130.       const AText: String; AFont: TFont; var AColor: TColor; ASelected,
  131.       AFocused: Boolean; var ADone: Boolean);
  132.     procedure grdListChangeNode(Sender: TObject; OldNode,
  133.       Node: TdxTreeListNode);
  134.     procedure bbtnCollapseClick(Sender: TObject);
  135.     procedure bbtnExpandClick(Sender: TObject);
  136.   private
  137.     procedure prip_SetBtnState;
  138.     procedure prip_IniInterface;
  139.     procedure prip_Refresh(const As_Id: string = '');
  140.     procedure prip_AddReport;
  141.     procedure prip_EditReport;
  142.     procedure prip_DeleteReport;
  143.   protected
  144.     Rs_DetailTable: string;
  145.     function prof_CreateManage: TForm; virtual;
  146.     procedure prop_IniData; virtual;
  147.   public
  148.     procedure pubp_Ini;
  149.   end;
  150.  
  151. implementation
  152.  
  153. uses
  154.   DateUtils, CSVCLUtils, CSScrCtrlMaster, udmData, CommonLib,
  155.   ufrmBeginWorkManageBase;
  156.  
  157. const
  158.   CONFIRM_STATE = 1;
  159. {$R *.dfm}
  160.  
  161. { TfrmBeginWorkListBase }
  162.  
  163. procedure TfrmBeginWorkListBase.prip_AddReport;
  164. var
  165.   ls_Id: string;
  166.   lc_Args: TStrings;
  167.   lc_BeginWorkManage: TfrmBeginWorkManageBase;
  168. begin
  169.   ls_Id := '';
  170.  
  171.   lc_Args := TStringList.Create;
  172.   try
  173.     lc_Args.Add(ls_Id);
  174.     lc_BeginWorkManage := TfrmBeginWorkManageBase(prof_CreateManage);
  175.     with lc_BeginWorkManage do
  176.     begin
  177.       try
  178.         pubp_Ini(AM_VMADDREPORT, lc_Args);
  179.         ShowModal;
  180.         if DataModified then prip_Refresh(BWGeneralId);
  181.       finally
  182.         Free;
  183.       end;
  184.     end;
  185.   finally
  186.     lc_Args.Free;
  187.   end;
  188. end;
  189.  
  190. procedure TfrmBeginWorkListBase.prip_DeleteReport;
  191. var
  192.   ls_Id: string;
  193.   lc_Args: TStrings;
  194.   lc_BeginWorkManage: TfrmBeginWorkManageBase;
  195.  
  196.   procedure PerformDelete;
  197.   begin
  198.     Gp_ProgressHint('正在执行删除,请稍候...');
  199.     with dmData.adocon do
  200.     begin
  201.       BeginTrans;
  202.       try
  203.         Execute(Format('DELETE FROM device.equipment_stwk_report WHERE ' +
  204.           'sysid = ''%s''', [ls_Id]));
  205.         Execute(Format('DELETE FROM device.equipment_stwk_device ' +
  206.           'WHERE stwk_id = ''%s''', [ls_Id]));
  207.         Execute(Format('DELETE FROM device.equipment_stwk_person ' +
  208.           'WHERE stwk_id = ''%s''', [ls_Id]));
  209.         Execute(Format('DELETE FROM device.equipment_stwk_build ' +
  210.           'WHERE stwk_id = ''%s''', [ls_Id]));
  211.         Execute(Format('DELETE FROM device.equipment_stwk_const ' +
  212.           'WHERE stwk_id = ''%s''', [ls_Id]));
  213.         Execute(Format('DELETE FROM device.equipment_stwk_doc ' +
  214.           'WHERE stwk_id = ''%s''', [ls_Id]));
  215.         Execute(Format('DELETE FROM device.equipment_stwk_supr ' +
  216.           'WHERE stwk_id = ''%s''', [ls_Id]));
  217.  
  218.         CommitTrans;
  219.         prip_Refresh;
  220.       except
  221.         on E: Exception do
  222.         begin
  223.           RollbackTrans;
  224.           Application.MessageBox(PChar('删除任务时出错,错误原因:' +
  225.             E.Message), PChar(Caption), MB_OK + MB_ICONERROR);
  226.         end;
  227.       end;
  228.     end;
  229.     Gp_ProgressHint;
  230.   end;
  231.  
  232. begin
  233.   with List do
  234.   begin
  235.     if (not Active) or IsEmpty then Exit;
  236.     ls_Id := FieldByName('sysid').AsString;
  237.   end;
  238.   lc_Args := TStringList.Create;
  239.   try
  240.     lc_Args.Add(ls_Id);
  241.     lc_BeginWorkManage := TfrmBeginWorkManageBase(prof_CreateManage);
  242.     with lc_BeginWorkManage do
  243.       try
  244.         pubp_Ini(AM_VMDELETEREPORT, lc_Args);
  245.         ShowModal;
  246.         if ModalResult = mrOK then PerformDelete;
  247.       finally
  248.         Free;
  249.       end;
  250.   finally
  251.     lc_Args.Free;
  252.   end;
  253. end;
  254.  
  255. procedure TfrmBeginWorkListBase.prip_EditReport;
  256. var
  257.   ls_Id: string;
  258.   lc_Args: TStrings;
  259.   lc_BeginWorkManage: TfrmBeginWorkManageBase;
  260. begin
  261.   with List do
  262.   begin
  263.     if (not Active) or IsEmpty then Exit;
  264.     ls_Id := FieldByName('sysid').AsString;
  265.   end;
  266.   lc_Args := TStringList.Create;
  267.   try
  268.     lc_Args.Add(ls_Id);
  269.     lc_BeginWorkManage := TfrmBeginWorkManageBase(prof_CreateManage);
  270.     with lc_BeginWorkManage do
  271.     begin
  272.       try
  273.         pubp_Ini(AM_VMEDITREPORT, lc_Args);
  274.         ShowModal;
  275.         if DataModified then prip_Refresh(BWGeneralId);
  276.       finally
  277.         Free;
  278.       end;
  279.     end;
  280.   finally
  281.     lc_Args.Free;
  282.   end;
  283. end;
  284.  
  285. procedure TfrmBeginWorkListBase.prop_IniData;
  286. var
  287.   ls_StartDate, ls_EndDate: string;
  288. begin
  289.   ls_StartDate := deStartDate.Text;
  290.   ls_EndDate := deEndDate.Text;
  291.   with List do
  292.   begin
  293.     if Active then Close;
  294.     SQL.Text := Format('SELECT * FROM device.equipment_stwk_report WHERE ' +
  295.       '(start_date >= ''%s'' AND start_date <=  ''%s'') OR state <> ' +
  296.       IntToStr(CONFIRM_STATE), [ls_StartDate, ls_EndDate]);
  297.     Open;
  298.   end;
  299. end;
  300.  
  301. procedure TfrmBeginWorkListBase.prip_IniInterface;
  302. begin
  303.   prip_SetBtnState;
  304.   with grdList do
  305.   begin
  306.     FullExpand;
  307.     GotoFirst;
  308.   end;
  309. end;
  310.  
  311. procedure TfrmBeginWorkListBase.prip_Refresh(const As_Id: string);
  312. begin
  313.   prop_IniData;
  314.   prip_SetBtnState;
  315.   grdList.FullExpand;
  316.   if not List.Locate('sysid', As_Id, []) then grdList.GotoFirst;
  317. end;
  318.  
  319. procedure TfrmBeginWorkListBase.pubp_Ini;
  320. begin
  321.   ScrChild.SetSecurity(Self);
  322.   Gp_ProgressHint(Format('正在打开%s,请稍候...', [Caption]));
  323.   try
  324.     prop_IniData;
  325.     Position := poScreenCenter;
  326.     BorderIcons := BorderIcons -[biMinimize];
  327.     FormStyle := fsMDIChild;
  328.     if MAXIMIZEDBYDEFAULT then WindowState := wsMaximized else ClientTile(Self);
  329.     prip_IniInterface;
  330.   finally
  331.     Gp_ProgressHint;
  332.   end;
  333. end;
  334.  
  335. procedure TfrmBeginWorkListBase.bbtnCloseClick(Sender: TObject);
  336. begin
  337.   Close;
  338. end;
  339.  
  340. procedure TfrmBeginWorkListBase.FormClose(Sender: TObject;
  341.   var Action: TCloseAction);
  342. begin
  343.   Action := caFree;
  344. end;
  345.  
  346. procedure TfrmBeginWorkListBase.bbtnFindClick(Sender: TObject);
  347. begin
  348.   ListFind.FindDlg;
  349. end;
  350.  
  351. procedure TfrmBeginWorkListBase.bbtnFilterClick(Sender: TObject);
  352. begin
  353.   ListFilter.FilterDlg;
  354. end;
  355.  
  356. procedure TfrmBeginWorkListBase.bbtnColCtrlClick(Sender: TObject);
  357. begin
  358.   with ListColCtrl do
  359.   begin
  360.     InitColumns;
  361.     SetupDlg;
  362.   end;
  363. end;
  364.  
  365. procedure TfrmBeginWorkListBase.FormCreate(Sender: TObject);
  366. begin
  367.   with grdList do
  368.   begin
  369.     IniFileName := Gs_AppPath + USERCONFIG_NAME;
  370.     LoadFromIniFile(IniFileName);
  371.   end;
  372.  
  373.   Rs_DetailTable := '';
  374.  
  375.   deStartDate.Date := IncDay(ToDay, -60);
  376.   deEndDate.Date := IncDay(ToDay, 60);
  377. end;
  378.  
  379. procedure TfrmBeginWorkListBase.bbtnAddReportClick(Sender: TObject);
  380. begin
  381.   prip_AddReport;  
  382. end;
  383.  
  384. procedure TfrmBeginWorkListBase.bbtnEditReportClick(Sender: TObject);
  385. begin
  386.   prip_EditReport;
  387. end;
  388.  
  389. procedure TfrmBeginWorkListBase.bbtnDeleteReportClick(Sender: TObject);
  390. begin
  391.   prip_DeleteReport;
  392. end;
  393.  
  394. procedure TfrmBeginWorkListBase.bbtnRefreshClick(Sender: TObject);
  395. begin
  396.   prip_Refresh;
  397. end;
  398.  
  399. procedure TfrmBeginWorkListBase.grdListCustomDraw(Sender: TObject;
  400.   ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
  401.   AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont;
  402.   var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean);
  403. var
  404.   li_StateIndex, li_State: Integer;
  405. begin
  406.   if ANode.HasChildren then Exit;
  407.   li_StateIndex := grdList.ColumnByFieldName('state').Index;
  408.   if ANode.Strings[li_StateIndex] = '' then Exit;
  409.   li_State := StrToInt(ANode.Strings[li_StateIndex]);
  410.   if li_State = CONFIRM_STATE then AFont.Color := CL_CONFIRM;
  411. end;
  412.  
  413. procedure TfrmBeginWorkListBase.grdListChangeNode(Sender: TObject; OldNode,
  414.   Node: TdxTreeListNode);
  415. var
  416.   li_StateIndex, li_State: Integer;
  417. begin
  418.   if Node.HasChildren then li_State := List.FieldByName('state').AsInteger
  419.   else begin
  420.     li_StateIndex := grdList.ColumnByFieldName('state').Index;
  421.     li_State := StrToInt(Node.Strings[li_StateIndex]);
  422.   end;
  423.   if li_State = CONFIRM_STATE then
  424.   begin
  425.     bbtnEditReport.Caption := '查看报告';
  426.     bbtnEditReport.Enabled := True;
  427.     bbtnDeleteReport.Enabled := False;
  428.   end else begin
  429.     bbtnEditReport.Caption := '修改报告';
  430.     bbtnEditReport.Enabled := True;
  431.     bbtnDeleteReport.Enabled := True;
  432.   end;
  433. end;
  434.  
  435. procedure TfrmBeginWorkListBase.prip_SetBtnState;
  436. begin
  437.   bbtnEditReport.Caption := '修改报告';
  438.   if List.IsEmpty then
  439.   begin
  440.     bbtnEditReport.Enabled := False;
  441.     bbtnDeleteReport.Enabled := False;
  442.   end else with grdList do
  443.     OnChangeNode(grdList, TopVisibleNode, TopVisibleNode);
  444. end;
  445.  
  446. procedure TfrmBeginWorkListBase.bbtnCollapseClick(Sender: TObject);
  447. begin
  448.   grdList.FullCollapse;
  449. end;
  450.  
  451. procedure TfrmBeginWorkListBase.bbtnExpandClick(Sender: TObject);
  452. begin
  453.   grdList.FullExpand;
  454. end;
  455.  
  456. function TfrmBeginWorkListBase.prof_CreateManage: TForm;
  457. begin
  458.   Result := nil;
  459. end;
  460.  
  461. end.
  462.  
downloadufrmBeginWorkListBase.pas Source code - Download Special equipment safety supervision system in Delphi source code Source code
Related Source Codes/Software:
Company or enterprise equipment management system for Delphi source code - DELPHI tool registration management system, key fe... 2012-02-18
Delphi gets directory and subdirectory files - This small Delphi program not only can get the num... 2012-02-18
Delphi medical proof of registration management system - Delphi medical proof of registration management sy... 2012-02-18
Delphi Edition music player source code - A Delphi version of the music player code, availab... 2012-02-18
Screen magnifier Delphi implementation - You can enlarge the screen, scale up. 2012-02-18
Delphi based on CnPack water wave effect - Is based on component CnPack component wave algori... 2012-02-18
Several instances of DELPHI advanced programming - Package contains 10 sets of advanced programming e... 2012-02-18
Delphi materials building materials companies leasing management system - Delphi leasing company material management system ... 2012-02-18
Cell of the report component for Delphi example source program - UFIDA table company developed a report component, ... 2012-02-18
Using Delphi to achieve control of the camera - This procedure describes how to use DELPHI AVICAP3... 2012-02-18
Delphi car rental company business management system - A car rental company's business management systems... 2012-02-18
Delphi major revision of the human resources management system source code - RedHR owned a large OFFICE of human resources mana... 2012-02-18
DELPHI pawn industry management system source code - Pawn shop of an integrated business management sys... 2012-02-18
Cool interface Delphi chat software source code - Interface is really cool? This is a small LAN chat... 2012-02-18
Delphi shield Ctrl+Alt+Del reqijian method - Real shielding theory of Delphi is this: using a r... 2012-02-18
Classic RPG games with Delphi source code - The actual and Diablo game or scene is similar in ... 2012-02-18
35 Delphi7 Indy instance package - Application example demonstrates a lot of Indy Dem... 2012-02-18
Delphi transportation company business management system - A Delphi transportation company business managemen... 2012-02-18

 Back to top