D10gmBitao/F01染色坯布仓库/U_DyeDJBClothInList.pas

460 lines
12 KiB
ObjectPascal
Raw Normal View History

2025-04-11 10:54:54 +08:00
unit U_DyeDJBClothInList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC,
cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters,
cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList, dxSkinWXI,
dxScrollbarAnnotations;
type
TfrmDyeDJBClothInList = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
TBDel: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
TBAdd: TToolButton;
TBEdit: TToolButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label8: TLabel;
Label12: TLabel;
C_name: TEdit;
FromCoName: TEdit;
BCIOID: TEdit;
C_spec: TEdit;
IOType: TComboBox;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Label10: TLabel;
BatchNo: TEdit;
v1Column9: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
ToolButton1: TToolButton;
Tv1Column1: TcxGridDBColumn;
ToolButton2: TToolButton;
Tv1Column2: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
Label6: TLabel;
Label7: TLabel;
C_Width: TEdit;
C_GramWeight: TEdit;
Label9: TLabel;
Label11: TLabel;
C_XINHAO: TEdit;
C_ColorDepth: TEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure BCIOIDChange(Sender: TObject);
procedure C_specChange(Sender: TObject);
procedure FromCoNameChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
private
canshu1, canshu2, canshu3, FWorkshop: string;
procedure InitGrid();
procedure setStatus();
{ Private declarations }
public
FSTKName: string;
{ Public declarations }
end;
implementation
uses
U_DataLink, U_RTFun, U_DyeGreyClothInEdit, U_LabelPrint;
{$R *.dfm}
procedure TfrmDyeDJBClothInList.setStatus();
begin
if canshu1 = '<27><>ѯ' then
begin
TBAdd.Visible := false;
TBEdit.Visible := false;
TBDel.Visible := false;
end;
end;
procedure TfrmDyeDJBClothInList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmDyeDJBClothInList.FormCreate(Sender: TObject);
begin
inherited;
EndDate.DateTime := SGetServerDate(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime;
canshu1 := Trim(self.fParameters1);
canshu2 := Trim(self.fParameters2);
FWorkshop := Trim(self.fParameters3);
end;
procedure TfrmDyeDJBClothInList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from BS_Cloth_IO A');
sql.add(' where A.IOTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + '''');
sql.Add(' and A.IOTime<''' + Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)) + '''');
sql.Add(' and isnull(STKNAME,'''')=''' + Trim(FSTKNAME) + '''');
SQL.Add(' and IOFlag=''<27><><EFBFBD><EFBFBD>'' ');
if trim(FWorkshop) <> '' then
sql.Add(' and A.Workshop=''' + trim(FWorkshop) + ''' ');
SQL.Add(' order by IOTime desc');
Open;
end;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmDyeDJBClothInList.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
InitGrid();
end;
procedure TfrmDyeDJBClothInList.ToolButton1Click(Sender: TObject);
begin
WriteCxGrid(Self.Caption, Tv1, 'Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
end;
procedure TfrmDyeDJBClothInList.ToolButton2Click(Sender: TObject);
var
MBCIOID: string;
begin
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
MBCIOID := '';
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while CDS_Main.Locate('SSel', True, []) do
begin
MBCIOID := MBCIOID + ',' + Trim(CDS_Main.fieldbyname('BCIOID').AsString);
Edit;
FieldByName('SSel').Value := False;
Post;
end;
end;
CDS_Main.EnableControls;
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'DyeGreyClothInPrint1';
FFiltration1 := MBCIOID;
if ShowModal = 1 then
begin
// Self.InitGrid();
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmDyeDJBClothInList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if (AViewInfo.GridRecord.Values[v1Column4.Index] = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') then
begin
ACanvas.Brush.Color := $008080FF;
end;
if (AViewInfo.GridRecord.Values[v1Column4.Index] = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') then
begin
ACanvas.Brush.Color := $0080FF80;
end;
if (AViewInfo.GridRecord.Values[v1Column4.Index] = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') then
begin
ACanvas.Brush.Color := $00FF80FF;
end;
if (AViewInfo.GridRecord.Values[v1Column4.Index] = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') then
begin
ACanvas.Brush.Color := $00FF8080;
end;
end;
procedure TfrmDyeDJBClothInList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmDyeDJBClothInList.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmDyeDJBClothInList.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(Self.Caption, Tv1, 'Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
setStatus();
InitGrid();
end;
procedure TfrmDyeDJBClothInList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel(FSTKName + '<27><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmDyeDJBClothInList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmDyeDJBClothInList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmDyeDJBClothInList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmDyeDJBClothInList.TBDelClick(Sender: TObject);
var
MBCIOID: string;
begin
if CDS_Main.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
MBCIOID := '';
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while CDS_Main.Locate('SSel', True, []) do
begin
MBCIOID := MBCIOID + ',' + Trim(CDS_Main.fieldbyname('BCIOID').AsString);
CDS_Main.Delete;
end;
end;
CDS_Main.EnableControls;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('exec P_BS_Cloth_In_Del ');
Sql.Add(' @BCIOIDS=' + quotedstr(MBCIOID));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
ADOQueryCmd.Connection.CommitTrans;
// CDS_Main.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmDyeDJBClothInList.TBAddClick(Sender: TObject);
begin
try
frmDyeGreyClothInEdit := TfrmDyeGreyClothInEdit.Create(Application);
with frmDyeGreyClothInEdit do
begin
FBCId := '';
frmDyeGreyClothInEdit.canshu3 := Trim(Self.canshu3);
FWorkshop := self.FWorkshop;
FSTKName := Self.FSTKName;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmDyeGreyClothInEdit.Free;
end;
end;
procedure TfrmDyeDJBClothInList.TBEditClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
with ADOQueryTemp do
begin
Close;
Sql.Clear;
Sql.Add('exec P_BS_Cloth_In_Edit ');
Sql.Add(' @BCIOIDS=' + quotedstr(Trim(CDS_Main.fieldbyname('BCIOID').AsString)));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
Open;
end;
if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then
begin
Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '<27><>ʾ', 0);
exit;
end;
try
frmDyeGreyClothInEdit := TfrmDyeGreyClothInEdit.Create(Application);
with frmDyeGreyClothInEdit do
begin
FBCId := Trim(CDS_Main.fieldbyname('BCIOID').AsString);
TBDel.Visible := False;
TBAdd.Visible := False;
FWorkshop := self.FWorkshop;
FSTKName := Self.FSTKName;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmDyeGreyClothInEdit.Free;
end;
end;
procedure TfrmDyeDJBClothInList.BCIOIDChange(Sender: TObject);
begin
if Length(Trim(BCIOID.Text)) < 4 then
begin
if Trim(BCIOID.Text) <> '' then
Exit;
end;
TBFind.Click;
end;
procedure TfrmDyeDJBClothInList.C_specChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDyeDJBClothInList.FromCoNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDyeDJBClothInList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
end.