RTFormwork/项目代码/RTBasicsV1/D03针织坯布仓库/U_KnitClothOutEdit.pas
“ddf” b5fbedfd26 1
2024-08-08 16:35:41 +08:00

817 lines
24 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_KnitClothOutEdit;
interface
uses
Windows, Messages, strUtils, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, ADODB, DBClient,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, MMSystem,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, MovePanel, cxCheckBox, Menus, ComCtrls,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, U_BaseList, dxSkinsCore,
dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, RM_Common, RM_Class,
RM_GridReport, RM_Dataset, Vcl.ToolWin, dxSkinBasic, dxSkinBlack, dxSkinBlue,
dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkroom, dxSkinDarkSide,
dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinOffice2016Colorful, dxSkinOffice2016Dark,
dxSkinOffice2019Black, dxSkinOffice2019Colorful, dxSkinOffice2019DarkGray,
dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringtime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinTheBezier, dxSkinValentine,
dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,
dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint, dxSkinWXI,
dxSkinXmas2008Blue, dxScrollbarAnnotations, cxContainer, cxTextEdit, dxCore,
cxDateUtils, cxMaskEdit, cxDropDownEdit, cxCalendar;
type
TfrmKnitClothOutEdit = class(TfrmBaseList)
GPM_1: TcxGridPopupMenu;
CDS_1: TClientDataSet;
DS_1: TDataSource;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
Panel1: TPanel;
CDS_2: TClientDataSet;
DS_2: TDataSource;
GPM_2: TcxGridPopupMenu;
DS_3: TDataSource;
CDS_3: TClientDataSet;
GPM_3: TcxGridPopupMenu;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v1OrderNo: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
v1PRTMF: TcxGridDBColumn;
v1PRTKZ: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Panel2: TPanel;
Panel4: TPanel;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column6: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
ToolBar1: TToolBar;
ToolButton2: TToolButton;
cxGrid3: TcxGrid;
Tv3: TcxGridDBTableView;
v3Column5: TcxGridDBColumn;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
v3MJID: TcxGridDBColumn;
v3Column3: TcxGridDBColumn;
Tv3Column1: TcxGridDBColumn;
v3Column4: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
v3Column1: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
Panel3: TPanel;
Label4: TLabel;
Label5: TLabel;
Label11: TLabel;
DRMID: TcxTextEdit;
ToolBar3: TToolBar;
ToolButton3: TToolButton;
btnGetOutNo: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
edtScan: TcxTextEdit;
Label6: TLabel;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
Tv2Column2: TcxGridDBColumn;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
Label1: TLabel;
ToCoName: TcxTextEdit;
Pnl_msg: TPanel;
Tv3Column2: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv3Column3: TcxGridDBColumn;
DlyDate: TcxDateEdit;
OutType: TcxComboBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure btnGetOutNoClick(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure edtScanKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton9Click(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure ToolButton11Click(Sender: TObject);
procedure ToolButton12Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
private
{ Private declarations }
FScan, FSubIds: string;
procedure PlayWav(MMsg: string);
procedure InitDR(MDRMID: string);
procedure InitGrid1();
procedure InitGrid2();
procedure InitGrid3();
procedure ScanInNo();
procedure ScanCIID();
public
{ Public declarations }
end;
var
frmKnitClothOutEdit: TfrmKnitClothOutEdit;
implementation
uses
U_DataLink, U_RTFun, U_KnitClothWaitReleased, U_LabelPrint, U_KnitDRQuickInPut,
U_KnitDRQuickSel;
{$R *.dfm}
procedure TfrmKnitClothOutEdit.PlayWav(MMsg: string);
begin
if (MMsg = '<27><><EFBFBD><EFBFBD>') or (MMsg = '<27><>ȷ') then
Pnl_msg.Visible := False
else
begin
Pnl_msg.Visible := true;
Pnl_msg.Caption := MMsg;
end;
if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\' + MMsg + '.wav')) then
begin
PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\' + MMsg + '.wav'), 0, SND_ASYNC);
end
else
begin
MMsg := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\' + MMsg + '.wav')) then
PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\' + MMsg + '.wav'), 0, SND_ASYNC);
end;
end;
procedure TfrmKnitClothOutEdit.InitDR(MDRMID: string);
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('exec P_Fin_Flow_Judge ');
Sql.Add(' @FFIDS=' + quotedstr(Trim(MDRMID)));
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);
DRMID.Text := '';
end
else
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Knit_Cloth_DR_Main A where A.DRMID=''' + Trim(MDRMID) + '''');
Open;
end;
SCSHData(ADOQueryTemp, Panel3, 8);
end;
end;
procedure TfrmKnitClothOutEdit.InitGrid2();
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from ');
sql.Add('(select KC.MainId,KC.SubID ,ZPPS=Count(KC.StkID),ZPKGQty=sum(StkGrossWeight),ZPQty=sum(StkMeter) ');
sql.Add(' from Knit_Cloth_Stock KC where KC.StkExists=1 and 1=2 group by KC.MainId,KC.SubID ) AA ');
sql.Add(' left join Knit_Plan_Main BB on AA.MainId=BB.MainID ');
sql.Add(' left join Knit_Plan_Sub CC on AA.SubID=CC.SubID ');
// ShowMessage(sql.Text);
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_2);
SInitCDSData(ADOQueryTemp, CDS_2);
end;
procedure TfrmKnitClothOutEdit.InitGrid1();
begin
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add('select A.IOFlag,A.IONo,A.IOID,B.* from Knit_Cloth_IO A ');
sql.Add('inner join Knit_Cloth_Stock B on A.StkId=B.StkId and A.IOCycles=B.StkCycles ');
sql.Add('where A.IOFlag=''<27><><EFBFBD><EFBFBD>'' and B.StkExists=1 ');
if TRIm(FSubIds) <> '' then
sql.add('and SubId in (' + FSubIds + ')')
else
sql.add('and 1=2');
Open;
end;
TV1.DataController.Filter.Clear;
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
procedure TfrmKnitClothOutEdit.InitGrid3();
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select A.IOFlag,A.IONo,A.IOID,A.filltime,B.* from Knit_Cloth_IO A ');
sql.Add('inner join Knit_Cloth_Stock B on A.StkId=B.StkId and A.IOCycles=B.StkCycles ');
sql.Add('where A.IOFlag=''<27><><EFBFBD><EFBFBD>'' and B.StkExists=0 ');
if TRIm(DRMID.Text) <> '' then
sql.add('and IONO =' + QuotedStr(TRIm(DRMID.Text)))
else
sql.add('and 1=2');
sql.add(' order by A.filltime desc');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_3);
SInitCDSData(ADOQueryTemp, CDS_3);
end;
procedure TfrmKnitClothOutEdit.ScanInNo();
var
MStkIds: string;
begin
try
if Trim(DRMID.Text) = '' then
raise Exception.Create('<27><><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!');
if CDS_2.IsEmpty then
raise Exception.Create(ѡ<CEB4><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!');
if not CDS_1.Locate('IONo', Trim(FScan), []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
MStkIds := '';
with CDS_1 do
begin
First;
while CDS_1.Locate('IONo', Trim(FScan), []) = True do
begin
MStkIds := MStkIds + (Trim(CDS_1.FieldByName('StkId').AsString)) + ',';
CDS_1.Delete;
end;
end;
MStkIds := copy(MStkIds, 1, Length(MStkIds) - 1);
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule) ');
sql.Add('values(''<27><>֯<EFBFBD><D6AF>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(DRMID.Text));
sql.Add(',''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(dname));
sql.Add(',' + quotedstr(self.Caption));
sql.Add(') ');
Sql.Add('exec P_Knit_Cloth_Out ');
Sql.Add(' @StkIds=' + quotedstr(trim(MStkIds)));
Sql.Add(',@IOTime=' + Quotedstr(FormatDateTime('yyyy-MM-dd', DlyDate.Date)));
Sql.Add(',@IOType=' + Quotedstr(OutType.Text));
Sql.Add(',@IONO=' + Quotedstr(DRMID.Text));
Sql.Add(',@FillId=' + Quotedstr(DCode));
Sql.Add(',@Filler=' + Quotedstr(DName));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
ADOQueryCmd.Connection.CommitTrans;
PlayWav('<27><>ȷ');
InitGrid3();
except
ADOQueryCmd.Connection.RollbackTrans;
raise Exception.Create(PChar(Exception(ExceptObject).Message));
end;
except
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// PlayWav('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
end;
procedure TfrmKnitClothOutEdit.ScanCIID();
var
MStkIds: string;
begin
try
if Trim(DRMID.Text) = '' then
raise Exception.Create('<27><><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!');
if CDS_2.IsEmpty then
raise Exception.Create(ѡ<CEB4><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!');
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select stkid from Knit_Cloth_IO X where IOFlag=''<27><><EFBFBD><EFBFBD>'' AND X.stkid=' + quotedstr(FScan));
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
raise Exception.Create('<27><><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>');
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select stkid from Knit_Cloth_IO X where IOFlag=''<27><><EFBFBD><EFBFBD>'' AND X.stkid=' + quotedstr(FScan));
Open;
end;
if not ADOQueryTemp.IsEmpty then
begin
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD>ѳ<EFBFBD><D1B3><EFBFBD>');
end;
if not CDS_1.Locate('StkId', Trim(FScan), []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2BB><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
try
ADOQueryCmd.Connection.BeginTrans;
MStkIds := (Trim(CDS_1.FieldByName('StkId').AsString));
CDS_1.Delete;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule) ');
sql.Add('values(''<27><>֯<EFBFBD><D6AF>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(DRMID.Text));
sql.Add(',''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(dname));
sql.Add(',' + quotedstr(self.Caption));
sql.Add(') ');
Sql.Add('exec P_Knit_Cloth_Out ');
Sql.Add(' @StkIds=' + quotedstr(trim(MStkIds)));
Sql.Add(',@IOTime=' + Quotedstr(FormatDateTime('yyyy-MM-dd', DlyDate.Date)));
Sql.Add(',@IOType=' + Quotedstr(OutType.Text));
Sql.Add(',@IONO=' + Quotedstr(DRMID.Text));
Sql.Add(',@FillId=' + Quotedstr(DCode));
Sql.Add(',@Filler=' + Quotedstr(DName));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
ADOQueryCmd.Connection.CommitTrans;
PlayWav('<27><>ȷ');
InitGrid3();
except
ADOQueryCmd.Connection.RollbackTrans;
raise Exception.Create(PChar(Exception(ExceptObject).Message));
end;
except
// application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
PlayWav(PChar(Exception(ExceptObject).Message));
end;
end;
procedure TfrmKnitClothOutEdit.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmKnitClothOutEdit.FormDestroy(Sender: TObject);
begin
inherited;
frmKnitClothOutEdit := nil;
end;
procedure TfrmKnitClothOutEdit.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(self.caption + 'Tv1', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
ReadCxGrid(self.caption + 'Tv2', Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
ReadCxGrid(self.caption + 'Tv3', Tv3, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
InitGrid2();
InitGrid1();
InitGrid3();
DlyDate.Date := SGetServerDate(ADOQueryTemp);
end;
procedure TfrmKnitClothOutEdit.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
if CDS_3.IsEmpty = False then
Exit;
if CDS_2.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
CDS_1.DisableControls;
with CDS_1 do
begin
First;
while not Eof do
begin
if Trim(CDS_1.fieldbyname('SubId').AsString) = Trim(CDS_2.fieldbyname('SubId').AsString) then
begin
CDS_1.Delete;
end
else
Next;
end;
end;
CDS_1.EnableControls;
CDS_2.Delete;
end;
procedure TfrmKnitClothOutEdit.edtScanKeyPress(Sender: TObject; var Key: Char);
var
maxno, SMFlag, KYCKFlag, FMainId, ff: string;
FFQty: Integer;
begin
if Key = #13 then
begin
PlayWav('<27><><EFBFBD><EFBFBD>');
if TRIM(edtScan.Text) = '' then
Exit;
FScan := TRIM(edtScan.Text);
edtScan.Text := '';
if Copy(FScan, 1, 2) = 'RK' then
begin
ScanInNo();
end
else
begin
ScanCIID();
end;
end;
end;
procedure TfrmKnitClothOutEdit.ToolButton10Click(Sender: TObject);
begin
SelOKNo(CDS_1, False);
end;
procedure TfrmKnitClothOutEdit.ToolButton11Click(Sender: TObject);
begin
SelOKNo(CDS_3, True);
end;
procedure TfrmKnitClothOutEdit.ToolButton12Click(Sender: TObject);
begin
SelOKNo(CDS_3, False);
end;
procedure TfrmKnitClothOutEdit.ToolButton1Click(Sender: TObject);
var
MStkIds, MIOIDS: string;
begin
if CDS_3.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
MStkIds := '';
MIOIDS := '';
with CDS_3 do
begin
while CDS_3.Locate('SSel', True, []) do
begin
MStkIds := MStkIds + (Trim(CDS_3.FieldByName('StkId').AsString)) + ',';
MIOIDS := MIOIDS + (Trim(CDS_3.FieldByName('IOID').AsString)) + ',';
CDS_3.Delete;
end;
end;
MStkIds := copy(MStkIds, 1, Length(MStkIds) - 1);
MIOIDS := copy(MIOIDS, 1, Length(MIOIDS) - 1);
try
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) ');
sql.Add('values(''<27><>֯<EFBFBD><D6AF>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(DRMID.Text));
sql.Add(',''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(dname));
sql.Add(',' + quotedstr(self.Caption));
sql.Add(',' + quotedstr(MStkIds));
sql.Add(') ');
Sql.Add('exec P_Knit_Cloth_ReOut ');
Sql.Add(' @StkIds=' + quotedstr(trim(MStkIds)));
Sql.Add(',@IOIDS=' + quotedstr(trim(MIOIDS)));
Sql.Add(',@FillId=' + Quotedstr(DCode));
Sql.Add(',@Filler=' + Quotedstr(DName));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
ADOQueryCmd.Connection.CommitTrans;
PlayWav('<27><>ȷ');
InitGrid1();
except
ADOQueryCmd.Connection.RollbackTrans;
raise Exception.Create(PChar(Exception(ExceptObject).Message));
end;
except
InitGrid1();
InitGrid3();
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// PlayWav('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
end;
procedure TfrmKnitClothOutEdit.ToolButton2Click(Sender: TObject);
var
MStkIds: string;
begin
try
if Trim(DRMID.Text) = '' then
raise Exception.Create('<27><><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!');
if CDS_2.IsEmpty then
raise Exception.Create(ѡ<CEB4><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!');
if not CDS_1.Locate('SSel', True, []) then
raise Exception.Create('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
MStkIds := '';
with CDS_1 do
begin
while CDS_1.Locate('SSel', True, []) = True do
begin
MStkIds := MStkIds + (Trim(CDS_1.FieldByName('StkId').AsString)) + ',';
CDS_1.Delete;
end;
end;
MStkIds := copy(MStkIds, 1, Length(MStkIds) - 1);
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule) ');
sql.Add('values(''<27><>֯<EFBFBD><D6AF>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(DRMID.Text));
sql.Add(',''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(dname));
sql.Add(',' + quotedstr(self.Caption));
sql.Add(') ');
Sql.Add('exec P_Knit_Cloth_Out ');
Sql.Add(' @StkIds=' + quotedstr(trim(MStkIds)));
Sql.Add(',@IOTime=' + Quotedstr(FormatDateTime('yyyy-MM-dd', DlyDate.Date)));
Sql.Add(',@IOType=' + Quotedstr(OutType.Text));
Sql.Add(',@IONO=' + Quotedstr(DRMID.Text));
Sql.Add(',@FillId=' + Quotedstr(DCode));
Sql.Add(',@Filler=' + Quotedstr(DName));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
ADOQueryCmd.Connection.CommitTrans;
PlayWav('<27><>ȷ');
InitGrid3();
except
ADOQueryCmd.Connection.RollbackTrans;
raise Exception.Create(PChar(Exception(ExceptObject).Message));
end;
except
InitGrid1();
InitGrid3();
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// PlayWav('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
end;
procedure TfrmKnitClothOutEdit.ToolButton3Click(Sender: TObject);
begin
if Trim(DRMID.Text) = '' then
Exit;
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'KnitClothOut1';
FFiltration1 := Trim(Self.DRMID.Text);
if ShowModal = 1 then
begin
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmKnitClothOutEdit.ToolButton4Click(Sender: TObject);
begin
FSubIds := '';
InitGrid2();
end;
procedure TfrmKnitClothOutEdit.ToolButton5Click(Sender: TObject);
var
MKey: Char;
begin
MKey := #13;
try
frmKnitDRQuickSel := TfrmKnitDRQuickSel.Create(self);
with frmKnitDRQuickSel do
begin
if ShowModal = 1 then
begin
self.InitDR(Order_Main.fieldbyname('DRMID').AsString);
Self.InitGrid2();
Self.InitGrid1();
Self.InitGrid3();
end;
end;
finally
frmKnitDRQuickSel.Free;
end;
end;
procedure TfrmKnitClothOutEdit.btnGetOutNoClick(Sender: TObject);
begin
try
frmKnitDRQuickInPut := TfrmKnitDRQuickInPut.Create(Application);
with frmKnitDRQuickInPut do
begin
if ShowModal = 1 then
begin
Self.InitDR(FDRMID);
Self.InitGrid2();
Self.InitGrid1();
Self.InitGrid3();
end;
end;
finally
frmKnitDRQuickInPut.Free;
end;
end;
procedure TfrmKnitClothOutEdit.ToolButton6Click(Sender: TObject);
var
maxno, fsj: string;
begin
if Trim(DRMID.Text) = '' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
try
frmKnitClothWaitReleased := TfrmKnitClothWaitReleased.Create(Application);
with frmKnitClothWaitReleased do
begin
if ShowModal = 1 then
begin
CDS_OrderSel.DisableControls;
with CDS_OrderSel do
begin
First;
while not Eof do
begin
if FieldByName('SSel').Value = True then
begin
if Self.CDS_2.Locate('SubId', Trim(CDS_OrderSel.fieldbyname('SubId').AsString), []) = False then
begin
with Self.CDS_2 do
begin
Append;
FieldByName('OrderNo').Value := Trim(CDS_OrderSel.fieldbyname('OrderNo').AsString);
FieldByName('MainId').Value := Trim(CDS_OrderSel.fieldbyname('MainId').AsString);
FieldByName('SubId').Value := Trim(CDS_OrderSel.fieldbyname('SubId').AsString);
FieldByName('CustNo').Value := Trim(CDS_OrderSel.fieldbyname('CustNo').AsString);
FieldByName('CustName').Value := Trim(CDS_OrderSel.fieldbyname('CustName').AsString);
FieldByName('C_Name').Value := Trim(CDS_OrderSel.fieldbyname('C_Name').AsString);
FieldByName('ZPQty').Value := CDS_OrderSel.fieldbyname('ZPQty').Value;
FieldByName('ZPQty').Value := CDS_OrderSel.fieldbyname('ZPQty').Value;
FieldByName('OrdUnit').Value := Trim(CDS_OrderSel.fieldbyname('OrdUnit').AsString);
FieldByName('C_Color').Value := Trim(CDS_OrderSel.fieldbyname('C_Color').AsString);
FieldByName('C_Width').Value := Trim(CDS_OrderSel.fieldbyname('C_Width').AsString);
FieldByName('C_GramWeight').Value := Trim(CDS_OrderSel.fieldbyname('C_GramWeight').AsString);
Post;
end;
end;
end;
Next;
end;
end;
CDS_OrderSel.EnableControls;
end;
end;
finally
frmKnitClothWaitReleased.Free;
end;
FSubIds := '';
CDS_2.DisableControls;
with CDS_2 do
begin
First;
while not Eof do
begin
FSubIds := FSubIds + Quotedstr(Trim(CDS_2.FieldByName('SubId').AsString)) + ',';
Next;
end;
end;
FSubIds := copy(FSubIds, 1, Length(FSubIds) - 1);
CDS_2.EnableControls;
InitGrid1();
InitGrid3();
end;
procedure TfrmKnitClothOutEdit.ToolButton7Click(Sender: TObject);
begin
tv1.Controller.EditingController.ShowEdit();
tv3.Controller.EditingController.ShowEdit();
Close;
end;
procedure TfrmKnitClothOutEdit.ToolButton8Click(Sender: TObject);
begin
WriteCxGrid(self.caption + 'Tv2', Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
WriteCxGrid(self.caption + 'Tv1', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
WriteCxGrid(self.caption + 'Tv3', Tv3, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end;
procedure TfrmKnitClothOutEdit.ToolButton9Click(Sender: TObject);
begin
SelOKNo(CDS_1, True);
end;
end.