D7myYunxiang/云翔生产管理(MYSC.dll)/U_GYSList.pas

386 lines
10 KiB
ObjectPascal
Raw Normal View History

2025-01-20 13:04:03 +08:00
unit U_GYSList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
2025-08-30 10:58:21 +08:00
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System,
RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxButtonEdit,
cxDropDownEdit, BtnEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxSkinsCore, dxSkinDarkRoom, dxSkinOffice2013White, dxSkinSharpPlus,
dxSkinSpringTime, dxSkinsDefaultPainters, dxSkinscxPCPainter, dxSkinBlack,
dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkSide,
dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSilver,
dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinValentine,
dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue;
2025-01-20 13:04:03 +08:00
type
TfrmGYSList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
DataSource1: TDataSource;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBDataSet1: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
ToolButton3: TToolButton;
Panel1: TPanel;
Label9: TLabel;
KHNameJC: TEdit;
v1KHNo: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
Label2: TLabel;
KHNo: TEdit;
v1Column1: TcxGridDBColumn;
Label34: TLabel;
ToolButton1: TToolButton;
KHType: TBtnEditC;
v1KHLXR: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
2025-07-08 09:22:54 +08:00
Tv1Column1: TcxGridDBColumn;
2025-01-20 13:04:03 +08:00
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure CustomerNoNameChange(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure KHTypeBtnDnClick(Sender: TObject);
procedure KHTypeBtnUpClick(Sender: TObject);
private
2025-08-30 10:58:21 +08:00
DQdate: TDateTime;
XZKHTYpe, canshu1: string;
2025-01-20 13:04:03 +08:00
procedure InitGrid();
procedure InitForm();
2025-08-30 10:58:21 +08:00
function DelData(): Boolean;
2025-01-20 13:04:03 +08:00
{ Private declarations }
public
2025-08-30 10:58:21 +08:00
FFInt, FCloth: Integer;
2025-01-20 13:04:03 +08:00
{ Public declarations }
end;
var
frmGYSList: TfrmGYSList;
implementation
2025-08-30 10:58:21 +08:00
2025-01-20 13:04:03 +08:00
uses
2025-08-30 10:58:21 +08:00
U_DataLink, U_RTFun, U_ZDYHelp, U_SCPerson, U_PBGYSInPutMain;
2025-01-20 13:04:03 +08:00
{$R *.dfm}
procedure TfrmGYSList.FormDestroy(Sender: TObject);
begin
2025-08-30 10:58:21 +08:00
frmGYSList := nil;
2025-01-20 13:04:03 +08:00
end;
2025-08-30 10:58:21 +08:00
procedure TfrmGYSList.FormClose(Sender: TObject; var Action: TCloseAction);
2025-01-20 13:04:03 +08:00
begin
2025-08-30 10:58:21 +08:00
Action := caFree;
2025-01-20 13:04:03 +08:00
end;
procedure TfrmGYSList.FormCreate(Sender: TObject);
begin
2025-08-30 10:58:21 +08:00
cxgrid1.Align := alClient;
2025-01-20 13:04:03 +08:00
end;
procedure TfrmGYSList.TBCloseClick(Sender: TObject);
begin
Close;
2025-08-30 10:58:21 +08:00
WriteCxGrid('<27><>Ӧ<EFBFBD>̵Ǽ<CCB5>', Tv1, '<27><>Ӧ<EFBFBD>̹<EFBFBD><CCB9><EFBFBD>');
2025-01-20 13:04:03 +08:00
end;
procedure TfrmGYSList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
2025-08-30 10:58:21 +08:00
Filtered := False;
2025-01-20 13:04:03 +08:00
Close;
sql.Clear;
sql.Add('select *,zjm=dbo.getpinyin(KHName) ');
sql.Add(' from KH_Main A ');
sql.Add(' where isnull(KHFlag,'''')=''GYS'' and isnull(Valid,'''')=''Y''');
{if Trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
SQL.Add(' and A.FZR like '''+'%'+trim(DName)+'%'+'''');
end;}
Open;
end;
2025-08-30 10:58:21 +08:00
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
2025-01-20 13:04:03 +08:00
TBFind.Click;
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmGYSList.InitForm();
begin
2025-08-30 10:58:21 +08:00
ReadCxGrid(self.Caption, Tv1, <><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
KHType.Visible := true;
label34.Visible := true;
ToolButton1.Visible := true;
canshu1 := Trim(DParameters1);
if Trim(canshu1) <> '<27><>Ȩ<EFBFBD><C8A8>' then
2025-01-20 13:04:03 +08:00
begin
2025-08-30 10:58:21 +08:00
ToolButton1.Visible := false;
2025-01-20 13:04:03 +08:00
end;
InitGrid();
2025-08-30 10:58:21 +08:00
2025-01-20 13:04:03 +08:00
end;
procedure TfrmGYSList.TBFindClick(Sender: TObject);
begin
2025-08-30 10:58:21 +08:00
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
2025-01-20 13:04:03 +08:00
end;
procedure TfrmGYSList.TBEditClick(Sender: TObject);
begin
2025-08-30 10:58:21 +08:00
if Order_Main.IsEmpty then
Exit;
if Trim(canshu1) = '' then
2025-01-20 13:04:03 +08:00
begin
2025-08-30 10:58:21 +08:00
if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then
2025-01-20 13:04:03 +08:00
begin
2025-08-30 10:58:21 +08:00
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-01-20 13:04:03 +08:00
Exit;
end;
end;
end;
procedure TfrmGYSList.TBDelClick(Sender: TObject);
begin
2025-08-30 10:58:21 +08:00
if Order_Main.IsEmpty then
Exit;
if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then
2025-01-20 13:04:03 +08:00
begin
2025-08-30 10:58:21 +08:00
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-01-20 13:04:03 +08:00
Exit;
end;
2025-08-30 10:58:21 +08:00
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
2025-01-20 13:04:03 +08:00
if DelData() then
begin
Order_Main.Delete;
end;
end;
2025-08-30 10:58:21 +08:00
function TfrmGYSList.DelData(): Boolean;
2025-01-20 13:04:03 +08:00
begin
try
2025-08-30 10:58:21 +08:00
Result := false;
2025-01-20 13:04:03 +08:00
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
2025-08-30 10:58:21 +08:00
sql.Add('Update ZH_KH_Info Set Valid=''N'' where ZKId=''' + Trim(Order_Main.fieldbyname('ZKId').AsString) + '''');
2025-01-20 13:04:03 +08:00
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
2025-08-30 10:58:21 +08:00
Result := True;
2025-01-20 13:04:03 +08:00
except
ADOQueryCmd.Connection.RollbackTrans;
2025-08-30 10:58:21 +08:00
Result := False;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
2025-01-20 13:04:03 +08:00
end;
end;
procedure TfrmGYSList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmGYSList.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmGYSList.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmGYSList.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmGYSList.N1Click(Sender: TObject);
var
2025-08-30 10:58:21 +08:00
fPrintFile: string;
Porderno: string;
2025-01-20 13:04:03 +08:00
begin
2025-08-30 10:58:21 +08:00
if Order_Main.IsEmpty then
Exit;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>10.rmf';
SDofilter(ADOQueryMain, ' OrderNoM=''' + Trim(Order_Main.fieldbyname('OrderNoM').AsString) + '''');
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
Porderno := Trim(Order_Main.fieldbyname('OrderNoM').AsString);
2025-01-20 13:04:03 +08:00
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
2025-08-30 10:58:21 +08:00
end
else
2025-01-20 13:04:03 +08:00
begin
2025-08-30 10:58:21 +08:00
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>10.rmf'), '<27><>ʾ', 0);
2025-01-20 13:04:03 +08:00
end;
2025-08-30 10:58:21 +08:00
SDofilter(ADOQueryMain, '');
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
Order_Main.Locate('ordernoM', Porderno, []);
2025-01-20 13:04:03 +08:00
end;
procedure TfrmGYSList.N2Click(Sender: TObject);
var
2025-08-30 10:58:21 +08:00
fPrintFile: string;
Porderno: string;
2025-01-20 13:04:03 +08:00
begin
2025-08-30 10:58:21 +08:00
if Order_Main.IsEmpty then
Exit;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>.rmf';
SDofilter(ADOQueryMain, ' OrderNoM=''' + Trim(Order_Main.fieldbyname('OrderNoM').AsString) + '''');
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
Porderno := Trim(Order_Main.fieldbyname('OrderNoM').AsString);
2025-01-20 13:04:03 +08:00
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
2025-08-30 10:58:21 +08:00
end
else
2025-01-20 13:04:03 +08:00
begin
2025-08-30 10:58:21 +08:00
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>.rmf'), '<27><>ʾ', 0);
2025-01-20 13:04:03 +08:00
end;
2025-08-30 10:58:21 +08:00
SDofilter(ADOQueryMain, '');
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
Order_Main.Locate('ordernoM', Porderno, []);
2025-01-20 13:04:03 +08:00
end;
procedure TfrmGYSList.ToolButton3Click(Sender: TObject);
begin
2025-08-30 10:58:21 +08:00
ModalResult := 1;
2025-01-20 13:04:03 +08:00
end;
procedure TfrmGYSList.CustomerNoNameChange(Sender: TObject);
begin
2025-08-30 10:58:21 +08:00
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
2025-01-20 13:04:03 +08:00
end;
procedure TfrmGYSList.Tv1DblClick(Sender: TObject);
begin
ToolButton3.Click;
end;
procedure TfrmGYSList.ToolButton1Click(Sender: TObject);
begin
try
2025-08-30 10:58:21 +08:00
frmSCPerson := TfrmSCPerson.Create(Application);
2025-01-20 13:04:03 +08:00
with frmSCPerson do
begin
2025-08-30 10:58:21 +08:00
FlagStr := 'GYSType';
if ShowModal = 1 then
2025-01-20 13:04:03 +08:00
begin
2025-08-30 10:58:21 +08:00
XZKHTYpe := Trim(FSDPerson);
2025-01-20 13:04:03 +08:00
end;
end;
finally
frmSCPerson.Free;
end;
2025-08-30 10:58:21 +08:00
if Trim(XZKHTYpe) = '' then
Exit;
2025-01-20 13:04:03 +08:00
try
2025-08-30 10:58:21 +08:00
frmPBGYSInPutMain := TfrmPBGYSInPutMain.Create(Application);
2025-01-20 13:04:03 +08:00
with frmPBGYSInPutMain do
begin
2025-08-30 10:58:21 +08:00
FKHMainid := '';
FKHFlag := 'GYS';
frmPBGYSInPutMain.KHType.Text := Trim(XZKHTYpe);
frmPBGYSInPutMain.KHType.Enabled := False;
frmPBGYSInPutMain.KHType.Color := clMenu;
if ShowModal = 1 then
2025-01-20 13:04:03 +08:00
begin
TBRafresh.Click;
2025-08-30 10:58:21 +08:00
Order_Main.Locate('KHMainId', FKHMainid, []);
2025-01-20 13:04:03 +08:00
end;
end;
finally
frmPBGYSInPutMain.Free;
end;
end;
procedure TfrmGYSList.KHTypeBtnDnClick(Sender: TObject);
begin
2025-08-30 10:58:21 +08:00
KHType.Text := '';
KHType.TxtCode := '';
2025-01-20 13:04:03 +08:00
end;
procedure TfrmGYSList.KHTypeBtnUpClick(Sender: TObject);
begin
try
2025-08-30 10:58:21 +08:00
frmSCPerson := TfrmSCPerson.Create(Application);
2025-01-20 13:04:03 +08:00
with frmSCPerson do
begin
2025-08-30 10:58:21 +08:00
FlagStr := 'GYSType';
if ShowModal = 1 then
2025-01-20 13:04:03 +08:00
begin
2025-08-30 10:58:21 +08:00
Self.KHType.Text := Trim(FSDPerson);
Self.KHType.TxtCode := Trim(FSDPerson);
2025-01-20 13:04:03 +08:00
end;
end;
finally
frmSCPerson.Free;
end;
TBFind.Click;
end;
end.
2025-08-30 10:58:21 +08:00