D10xhGemei/T02贸易汇总仓库/U_TradeClothTransferInput.pas
“ddf” 56b1ef408f 1
2024-12-14 17:23:12 +08:00

298 lines
8.3 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_TradeClothTransferInput;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxCalendar, cxDropDownEdit, ComCtrls, ToolWin,
cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu,
cxGridPopupMenu, ADODB, DBClient, cxButtonEdit, cxTextEdit, cxSpinEdit,
StdCtrls, ExtCtrls, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxDateRanges, dxBarBuiltInMenu, U_BaseInput, System.ImageList, Vcl.ImgList,
cxPC, dxScrollbarAnnotations, cxCheckBox, cxContainer, cxImageList, Vcl.Menus;
type
TfrmTradeClothTransferInput = class(TfrmBaseInput)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
DS_1: TDataSource;
CDS_Sub: TClientDataSet;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
GPM_1: TcxGridPopupMenu;
ToolButton1: TToolButton;
Pnl_F2: TPanel;
Label2: TLabel;
Label4: TLabel;
FromOrdNo: TcxTextEdit;
C_Name: TcxTextEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
Tv1Column13: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
Tv1Column20: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
Tv1Column19: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Tv1Column21: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column14: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Tv1Column7: TcxGridDBColumn;
Tv1Column12: TcxGridDBColumn;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
Tv1Column15: TcxGridDBColumn;
Tv1Column16: TcxGridDBColumn;
Label5: TLabel;
CraftCode: TcxTextEdit;
GC_Name: TcxTextEdit;
Label23: TLabel;
TBFind: TToolButton;
Label1: TLabel;
Label3: TLabel;
FtyPCId: TcxTextEdit;
BatchNo: TcxTextEdit;
Tv1Column17: TcxGridDBColumn;
Tv1Column18: TcxGridDBColumn;
Tv1Column22: TcxGridDBColumn;
pm1: TPopupMenu;
N5: TMenuItem;
N6: TMenuItem;
N3: TMenuItem;
Tv1Column23: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure GC_NamePropertiesChange(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure GC_NameKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
procedure InitGrid();
function SaveData(): Boolean;
public
{ Public declarations }
FBCId, FStkName, FMasterOrderNo: string;
end;
var
frmTradeClothTransferInput: TfrmTradeClothTransferInput;
implementation
uses
U_DataLink, U_RTFun;
{$R *.dfm}
procedure TfrmTradeClothTransferInput.InitGrid();
var
Msql, mbegdate, menddate: string;
SqlStr: string;
begin
SqlStr := ' select A.* ';
SqlStr := SqlStr + ' ,PurDate=( select PurDate from Pur_ClothPlan_Main X where X.PurMId=A.FromPurMId )';
SqlStr := SqlStr + ',OutPiece=StkPiece,OutQty=StkQty ';
SqlStr := SqlStr + ' from BS_Cloth_IO A ';
SqlStr := SqlStr + ' where A.IOFlag=''<27><><EFBFBD><EFBFBD>'' and (isnull(StkQty,0)>0 or isnull(StkPiece,0)>0) ';
SqlStr := SqlStr + ' and isnull(stkName,'''')='<>ײ<EFBFBD>ƥ'' ';
SqlStr := SqlStr + ' and (IOFlag<>''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' and ISNULL(FromMasterOrdNo,'''')<>' + quotedstr(Trim(FMasterOrderNo)) + ') ';
// ShowMessage(SqlStr);
InitCDSData(ADOQueryTemp, CDS_Sub, Tv1, SqlStr, SGetFilters(Pnl_F2, 1, 2), 'STKID');
end;
procedure TfrmTradeClothTransferInput.N3Click(Sender: TObject);
begin
CopyTVFocusValue(TV1);
end;
procedure TfrmTradeClothTransferInput.N5Click(Sender: TObject);
begin
SelOKNo(CDS_Sub, True);
end;
procedure TfrmTradeClothTransferInput.N6Click(Sender: TObject);
begin
SelOKNo(CDS_Sub, false);
end;
procedure TfrmTradeClothTransferInput.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
function TfrmTradeClothTransferInput.SaveData(): Boolean;
var
MBCIOID, Maxno: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
CDS_Sub.DisableControls;
with CDS_Sub do
begin
First;
while not eof do
begin
if CDS_Sub.FieldByName('ssel').AsBoolean then
begin
if CDS_Sub.fieldbyname('OutQty').AsFloat > 0 then
begin
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('exec P_BS_Cloth_IOALL ');
Sql.Add(' @Operation=' + quotedstr(Trim('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')));
Sql.Add(' ,@StkID=' + quotedstr(Trim(CDS_Sub.fieldbyname('StkID').AsString)));
Sql.Add(' ,@MasterOrdNo=' + quotedstr(Trim(FMasterOrderNo)));
Sql.Add(' ,@Piece=' + Trim(CDS_Sub.fieldbyname('OutPiece').AsString));
Sql.Add(' ,@Qty=' + Trim(CDS_Sub.fieldbyname('OutQty').AsString));
Sql.Add(' ,@Dcode=' + quotedstr(Trim(Dcode)));
Sql.Add(' ,@DName=' + quotedstr(Trim(DName)));
// ShowMessage(sql.Text);
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
end;
Next;
end;
end;
CDS_Sub.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmTradeClothTransferInput.TBCloseClick(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmTradeClothTransferInput.FormShow(Sender: TObject);
var
fsj: string;
begin
inherited;
ReadCxGrid(Trim(Self.Caption) + 'Tv1', Tv1, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
InitGrid();
end;
procedure TfrmTradeClothTransferInput.GC_NameKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
InitGrid();
end;
procedure TfrmTradeClothTransferInput.GC_NamePropertiesChange(Sender: TObject);
begin
if Length(Trim(TcxTextEdit(Sender).Text)) < 4 then
Exit;
TBFind.Click;
end;
procedure TfrmTradeClothTransferInput.TBSaveClick(Sender: TObject);
begin
if CDS_Sub.IsEmpty then
Exit;
ToolBar1.SetFocus();
if CDS_Sub.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
InitGrid();
end;
end;
procedure TfrmTradeClothTransferInput.ToolButton1Click(Sender: TObject);
begin
WriteCxGrid(Trim(Self.Caption) + 'Tv1', Tv1, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
end;
procedure TfrmTradeClothTransferInput.ToolButton2Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmTradeClothTransferInput.ToolButton3Click(Sender: TObject);
begin
if CDS_Sub.IsEmpty then
Exit;
ToolBar1.SetFocus();
if CDS_Sub.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
ModalResult := 1;
end;
end;
procedure TfrmTradeClothTransferInput.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Pnl_F2, 1, 2));
SCreateCDS(ADOQueryMain, CDS_Sub);
SInitCDSData(ADOQueryMain, CDS_Sub);
end;
end.