RTFormwork/项目代码/RTBasicsV1/F02染色计划单/U_DyeCardInput.pas
“ddf” 61630656e9 1
2024-07-07 09:35:27 +08:00

987 lines
28 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_DyeCardInput;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, BtnEdit, ComCtrls, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ToolWin,
cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, ADODB, DBClient,
cxCalendar, cxContainer, cxTextEdit, cxCurrencyEdit, cxDropDownEdit,
cxCheckBox, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore,
dxSkinsDefaultPainters, dxDateRanges, U_BaseInput, System.ImageList,
Vcl.ImgList, dxBarBuiltInMenu, cxGridCustomPopupMenu, cxGridPopupMenu,
cxButtonEdit, Vcl.Menus, cxPC;
type
TfrmDyeCardInput = class(TfrmBaseInput)
CDS_1: TClientDataSet;
DS_1: TDataSource;
ADO_Car: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
GPM_1: TcxGridPopupMenu;
Panel3: TPanel;
Panel5: TPanel;
Panel4: TPanel;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
V1SSel: TcxGridDBColumn;
V1Column1: TcxGridDBColumn;
V1Column5: TcxGridDBColumn;
TV1Column1: TcxGridDBColumn;
TV1Column5: TcxGridDBColumn;
TV1Column6: TcxGridDBColumn;
TV1Column7: TcxGridDBColumn;
V1Column2: TcxGridDBColumn;
V1Column3: TcxGridDBColumn;
TV1Column4: TcxGridDBColumn;
TV1Column3: TcxGridDBColumn;
V1Column6: TcxGridDBColumn;
V1Column4: TcxGridDBColumn;
TV1Column2: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
ToolBar1: TToolBar;
ToolButton4: TToolButton;
ADOQueryMain: TADOQuery;
DS_2: TDataSource;
CDS_2: TClientDataSet;
PM_2: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
PM_1: TPopupMenu;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
GPM_2: TcxGridPopupMenu;
TV1Column10: TcxGridDBColumn;
ToolButton5: TToolButton;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
cxPageControl1: TcxPageControl;
cxTabSheet3: TcxTabSheet;
cxTabSheet4: TcxTabSheet;
Panel2: TPanel;
Label3: TLabel;
Label2: TLabel;
Label8: TLabel;
Label5: TLabel;
Label6: TLabel;
C_Name: TEdit;
FromCoName: TEdit;
C_Spec: TEdit;
BatchNo: TEdit;
FromCoNo: TEdit;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
v1Column17: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
cxGrid3: TcxGrid;
TV3: TcxGridDBTableView;
cxGridDBColumn8: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridDBColumn11: TcxGridDBColumn;
cxGridDBColumn12: TcxGridDBColumn;
cxGridDBColumn13: TcxGridDBColumn;
cxGridDBColumn14: TcxGridDBColumn;
cxGridDBColumn15: TcxGridDBColumn;
cxGridDBColumn16: TcxGridDBColumn;
cxGridDBColumn17: TcxGridDBColumn;
cxGridDBColumn18: TcxGridDBColumn;
cxGridDBColumn19: TcxGridDBColumn;
cxGridDBColumn20: TcxGridDBColumn;
cxGridDBColumn21: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Panel6: TPanel;
Label20: TLabel;
PCID: TEdit;
GPM_3: TcxGridPopupMenu;
CDS_3: TClientDataSet;
DS_3: TDataSource;
Panel1: TPanel;
Label1: TLabel;
Label7: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label4: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
PCTime: TDateTimePicker;
carnum: TcxCurrencyEdit;
PCPiece: TcxCurrencyEdit;
PCType: TComboBox;
PCQty: TEdit;
edt_Width: TEdit;
edt_GramWeight: TEdit;
edt_Color: TEdit;
edt_ColorNo: TEdit;
Button2: TButton;
PCUnit: TComboBox;
TV3Column1: TcxGridDBColumn;
TV3Column2: TcxGridDBColumn;
Button1: TButton;
TV1Column12: TcxGridDBColumn;
TV1Column13: TcxGridDBColumn;
TV1Column14: TcxGridDBColumn;
TV1Column15: TcxGridDBColumn;
TV1Column16: TcxGridDBColumn;
TV1Column17: TcxGridDBColumn;
TV3Column3: TcxGridDBColumn;
TV3Column4: TcxGridDBColumn;
TV3Column5: TcxGridDBColumn;
TV3Column6: TcxGridDBColumn;
TV3Column7: TcxGridDBColumn;
TV3Column8: TcxGridDBColumn;
Label13: TLabel;
Label14: TLabel;
Label18: TLabel;
Label19: TLabel;
Re_Width: TEdit;
Re_GramWeight: TEdit;
Re_Color: TEdit;
Re_ColorNo: TEdit;
Label21: TLabel;
REUnit: TComboBox;
Label22: TLabel;
RePCType: TComboBox;
TV1Column18: TcxGridDBColumn;
TV1Column19: TcxGridDBColumn;
Label23: TLabel;
processRequirements: TEdit;
TV1Column20: TcxGridDBColumn;
TV1Column21: TcxGridDBColumn;
TV1Column22: TcxGridDBColumn;
TV1Column23: TcxGridDBColumn;
Label24: TLabel;
OrderNo: TEdit;
TV1Column24: TcxGridDBColumn;
TV2Column1: TcxGridDBColumn;
Label25: TLabel;
SPR1: TEdit;
Label26: TLabel;
SPR2: TEdit;
TV1Column25: TcxGridDBColumn;
TV1Column26: TcxGridDBColumn;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure FromCoNoChange(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure MenuItem1Click(Sender: TObject);
procedure MenuItem2Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure TV2DblClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure PCIDKeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
procedure TV3DblClick(Sender: TObject);
procedure TextEdit(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
private
FRollNum: integer;
FGC_BatchNo, FGC_Piece, FGC_STKID, FGC_Position: string;
FFromCoNo, FFromCoName, FSaleser, FC_Name, FNote: string;
procedure InitCard();
procedure InitGreyClothStk();
function GetGreyClothStk(): Boolean;
function GetCard(): Boolean;
procedure InitRepairCard(PPCID: string);
{ Private declarations }
public
FWorkshop, FPCIDS: string;
{ Public declarations }
end;
var
frmDyeCardInput: TfrmDyeCardInput;
implementation
uses
U_DataLink, U_ZDYHelp, U_RTFun, U_DyePlanForCardSel, U_DyeProcessSel,
U_DyeTechnicsSel, U_DyePlanCardSel, U_DyeGreyClothStkSel, U_DyeCardGlideEdit,
U_DyeCardOrdSel;
{$R *.dfm} function TfrmDyeCardInput.GetCard(): Boolean;
var
MCustNo, MC_Name: string;
begin
try
CDS_3.DisableControls;
if CDS_3.IsEmpty then
raise Exception.Create('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><CCBF><EFBFBD>');
CDS_3.First;
while not CDS_3.eof do
begin
if Trim(MCustNo) = '' then
begin
MCustNo := trim(CDS_3.FieldByName('CustNo').AsString);
MC_Name := trim(CDS_3.FieldByName('C_Name').AsString);
end
else
begin
if MCustNo <> trim(CDS_3.FieldByName('CustNo').AsString) then
raise Exception.Create('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>');
if MC_Name <> trim(CDS_3.FieldByName('C_Name').AsString) then
raise Exception.Create('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7>');
end;
if CDS_3.FieldByName('MvPiece').AsFloat > CDS_3.FieldByName('PSC_StkPiece').AsFloat then
raise Exception.Create('<27><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>ޣ<EFBFBD>');
if CDS_3.FieldByName('MvQty').AsFloat > CDS_3.FieldByName('PSC_StkQty').AsFloat then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޣ<EFBFBD>');
CDS_3.Next;
end;
CDS_3.EnableControls;
Result := True;
except
Result := false;
CDS_3.EnableControls;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmDyeCardInput.InitRepairCard(PPCID: string);
begin
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('select A.*');
sql.Add(',GlideList=[dbo].[F_Dye_Card_GlideList](A.PCID) ');
sql.Add(',MvPiece=PSC_StkPiece,MvQty=PSC_StkQty ');
sql.Add('from Dye_Plan_Card A ');
if TRIM(PPCID) = '' then
sql.Add('where 1=2 ')
else
sql.Add('where PCID= ' + Quotedstr(trim(PPCID)));
open;
end;
if TRIM(PPCID) = '' then
begin
SCreateCDS(ADOQueryTmp, CDS_3);
end
else
begin
SInitCDSData(ADOQueryTmp, CDS_3);
end;
end;
procedure TfrmDyeCardInput.InitGreyClothStk();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from BS_Cloth_IO A where isnull(STKName,'''')=''Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD>'' ');
SQL.Add(' and A.IOFlag=''<27><><EFBFBD><EFBFBD>'' and (isnull(STKQty,0)>0 or isnull(STKpiece,0)>0) ');
Open;
end;
SDofilter(ADOQueryMain, SGetFilters(Panel2, 1, 2));
SCreateCDS(ADOQueryMain, CDS_2);
SInitCDSData(ADOQueryMain, CDS_2);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmDyeCardInput.MenuItem1Click(Sender: TObject);
begin
SelOKNo(CDS_1, True);
end;
procedure TfrmDyeCardInput.MenuItem2Click(Sender: TObject);
begin
SelOKNo(CDS_1, False);
end;
procedure TfrmDyeCardInput.N1Click(Sender: TObject);
begin
SelOKNo(CDS_2, True);
end;
procedure TfrmDyeCardInput.N2Click(Sender: TObject);
begin
SelOKNo(CDS_2, False);
end;
procedure TfrmDyeCardInput.PCIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
if Trim(PCID.Text) = '' then
exit;
InitRepairCard(PCID.Text);
PCID.Text := '';
end;
end;
procedure TfrmDyeCardInput.InitCard();
begin
with Ado_car do
begin
close;
sql.Clear;
sql.Add('select A.*');
sql.Add(',GlideList=[dbo].[F_Dye_Card_GlideList](A.PCID) ');
sql.Add('from Dye_Plan_Card A ');
sql.Add('where EXISTS(select X.RTValue from [dbo].[F_Tool_SplitString](' + Quotedstr(trim(FPCIDS)) + ', '';'' ) X where X.RTValue=A.PCID ) ');
open;
end;
SCreateCDS(Ado_car, CDS_1);
SInitCDSData(Ado_car, CDS_1);
end;
function TfrmDyeCardInput.GetGreyClothStk(): Boolean;
begin
FNote := '';
FC_Name := '';
FFromCoNo := '';
FGC_BatchNo := '';
FGC_Piece := '';
FGC_STKID := '';
FGC_Position := '';
FRollNum := 0;
try
CDS_2.DisableControls;
CDS_2.First;
while not CDS_2.eof do
begin
if CDS_2.FieldByName('ssel').AsBoolean then
begin
FGC_BatchNo := FGC_BatchNo + trim(CDS_2.FieldByName('BatchNo').AsString) + '+';
FRollNum := FRollNum + CDS_2.FieldByName('STKPIECE').AsInteger;
FGC_Piece := FGC_Piece + trim(CDS_2.FieldByName('STKPIECE').AsString) + ',';
FGC_STKID := FGC_STKID + trim(CDS_2.FieldByName('STKID').AsString) + ';';
FGC_Position := FGC_Position + trim(CDS_2.FieldByName('StkPosition').AsString) + ';';
if Trim(FFromCoNo) = '' then
begin
FFromCoNo := trim(CDS_2.FieldByName('FromCoNo').AsString);
FFromCoName := trim(CDS_2.FieldByName('FromCoName').AsString);
FSaleser := trim(CDS_2.FieldByName('Saleser').AsString);
FC_Name := trim(CDS_2.FieldByName('C_Name').AsString);
FNote := trim(CDS_2.FieldByName('Note').AsString);
end
else
begin
if FFromCoNo <> trim(CDS_2.FieldByName('FromCoNo').AsString) then
raise Exception.Create('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>');
if FC_Name <> trim(CDS_2.FieldByName('C_Name').AsString) then
raise Exception.Create('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7>');
end;
end;
CDS_2.Next;
end;
CDS_2.EnableControls;
if length(FGC_STKID) > 0 then
begin
FGC_BatchNo := copy(FGC_BatchNo, 1, Length(FGC_BatchNo) - 1);
FGC_Piece := copy(FGC_Piece, 1, Length(FGC_Piece) - 1);
FGC_STKID := copy(FGC_STKID, 1, Length(FGC_STKID) - 1);
FGC_Position := copy(FGC_Position, 1, Length(FGC_Position) - 1);
FNote := copy(FNote, 1, Length(FNote) - 1);
end
else
raise Exception.Create('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Result := True;
except
Result := false;
CDS_2.EnableControls;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmDyeCardInput.FormDestroy(Sender: TObject);
begin
inherited;
frmDyeCardInput := nil;
end;
procedure TfrmDyeCardInput.Button1Click(Sender: TObject);
var
maxId: string;
begin
PCID.SetFocus;
if not GetCard() then
Exit;
if GetLSNo(ADOQueryCmd, maxId, 'CZ', 'Dye_Plan_Card', 3, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
FPCIDS := FPCIDS + maxId + ';';
try
ADOQueryCmd.Connection.BeginTrans;
CDS_3.DisableConstraints;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('select * from Dye_Plan_Card A where 1=2');
Open;
Append;
FieldByName('Filler').Value := trim(DName);
FieldByName('Workshop').Value := trim(FWorkshop);
FieldByName('PCType').Value := trim(RePCType.Text);
FieldByName('PCID').Value := trim(maxId);
FieldByName('PCTime').Value := formatdateTime('yyyy-MM-dd', now());
FieldByName('GC_BatchNo').Value := '';
FieldByName('GC_Piece').Value := '';
FieldByName('GC_STKID').Value := '';
FieldByName('GC_Position').Value := '';
FieldByName('C_Name').Value := trim(CDS_3.FieldByName('C_Name').AsString);
FieldByName('CustNo').Value := trim(CDS_3.FieldByName('CustNo').AsString);
FieldByName('CustName').Value := trim(CDS_3.FieldByName('CustName').AsString);
FieldByName('MainId').Value := trim(CDS_3.FieldByName('MainId').AsString);
FieldByName('SubId').Value := trim(CDS_3.FieldByName('SubId').AsString);
FieldByName('C_GramWeight').Value := trim(Re_GramWeight.Text);
FieldByName('C_Width').Value := trim(Re_Width.Text);
FieldByName('C_Color').Value := trim(Re_Color.Text);
FieldByName('PCUnit').Value := trim(ReUnit.Text);
FieldByName('C_ColorNo').Value := trim(Re_ColorNo.Text);
FieldByName('PCPiece').Value := 0;
FieldByName('PCQty').Value := 0;
post;
end;
with CDS_3 do
begin
first;
while not Eof do
begin
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('select * from Dye_Plan_Card_Move A where 1=2');
Open;
Append;
FieldByName('Filler').Value := trim(DName);
FieldByName('FromID').Value := trim(CDS_3.FieldByName('PCID').AsString);
FieldByName('ToID').Value := maxId;
FieldByName('MvPiece').Value := CDS_3.FieldByName('MvPiece').AsFloat;
FieldByName('MvQty').Value := CDS_3.FieldByName('MvQty').AsFloat;
post;
end;
Next;
end;
end;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('exec P_Dye_Card_Move ');
Sql.Add('@PCID=' + quotedstr(trim(maxId)));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_3.EnableConstraints;
except
ADOQueryCmd.Connection.RollbackTrans;
CDS_3.EnableConstraints;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
InitCard();
InitRepairCard('');
end;
procedure TfrmDyeCardInput.Button2Click(Sender: TObject);
var
i, k, fhxInt: integer;
maxId, ForderNo: string;
begin
if not GetGreyClothStk() then
Exit;
if trim(OrderNo.Text) = '' then
begin
if GetLSNo(ADOQueryCmd, ForderNo, 'JH', 'Dye_Plan_Main', 3, 1) = False then
begin
application.MessageBox(<>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
OrderNo.Text := ForderNo;
end;
if trim(edt_Width.Text) = '' then
begin
application.MessageBox('<27>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
if trim(edt_GramWeight.Text) = '' then
begin
application.MessageBox('<27><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
if (StrToFloatDef(PCPiece.Text, 0) + StrToFloatDef(PCQty.Text, 0)) = 0 then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>Ϊ<EFBFBD>㣡', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
if strtointdef(trim(carNum.text), 0) <= 1 then
k := 1
else
k := strtointdef(trim(carNum.text), 0);
CDS_1.Last;
for i := 1 to k do
begin
if GetLSNo(ADOQueryCmd, maxId, 'SM', 'Dye_Plan_Card', 3, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
FPCIDS := FPCIDS + maxId + ';';
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('select * from Dye_Plan_Card A where 1=2');
Open;
Append;
FieldByName('Filler').Value := trim(DName);
FieldByName('OrderNo').Value := trim(OrderNo.Text);
FieldByName('Workshop').Value := trim(FWorkshop);
FieldByName('PCType').Value := trim(PCType.Text);
FieldByName('PCID').Value := trim(maxId);
FieldByName('PCTime').Value := formatdateTime('yyyy-MM-dd', PCTime.DateTime);
FieldByName('GC_BatchNo').Value := trim(FGC_BatchNo);
FieldByName('GC_Piece').Value := trim(FGC_Piece);
FieldByName('GC_STKID').Value := trim(FGC_STKID);
FieldByName('GC_Position').Value := trim(FGC_Position);
FieldByName('CustNo').Value := trim(FFromCoNo);
FieldByName('CustName').Value := trim(FFromCoName);
FieldByName('Saleser').Value := trim(FSaleser);
FieldByName('C_Name').Value := trim(FC_Name);
FieldByName('PCNote').Value := trim(FNote);
FieldByName('processRequirements').Value := trim(processRequirements.Text);
FieldByName('C_GramWeight').Value := trim(edt_GramWeight.Text);
FieldByName('C_Width').Value := trim(edt_Width.Text);
FieldByName('C_Color').Value := trim(edt_Color.Text);
FieldByName('PCUnit').Value := trim(PCUnit.Text);
FieldByName('C_ColorNo').Value := trim(edt_ColorNo.Text);
FieldByName('SPR1').Value := trim(SPR1.Text);
FieldByName('SPR2').Value := trim(SPR2.Text);
FieldByName('PCPiece').Value := StrtoIntDef(PCPiece.Text, 0);
FieldByName('PCQty').Value := StrtoFloatDef(PCQty.Text, 0);
post;
end;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('exec P_Dye_GreyCloth_Out ');
Sql.Add('@PCID=' + quotedstr(trim(maxId)));
Sql.Add(',@Filler=' + quotedstr(trim(DName)));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
InitCard();
InitGreyClothStk();
end;
procedure TfrmDyeCardInput.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := cahide;
end;
procedure TfrmDyeCardInput.FormCreate(Sender: TObject);
begin
inherited;
PCTime.Date := DServerDate;
end;
procedure TfrmDyeCardInput.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(self.Caption + 'TV1', Tv1, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid(self.Caption + 'TV2', Tv2, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
InitCard();
InitGreyClothStk();
InitRepairCard('');
end;
procedure TfrmDyeCardInput.FromCoNoChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel2, 1, 2));
SCreateCDS(ADOQueryMain, CDS_2);
SInitCDSData(ADOQueryMain, CDS_2);
end;
end;
procedure TfrmDyeCardInput.ToolButton1Click(Sender: TObject);
var
MPCIDS: string;
begin
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with CDS_1 do
begin
DisableControls;
First;
while not Eof do
begin
if Fieldbyname('Ssel').AsBoolean then
begin
MPCIDS := MPCIDS + trim(CDS_1.FieldByName('PCID').AsString) + ';';
end;
Next;
end;
EnableControls;
end;
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('select distinct GX=[dbo].[F_Dye_Card_GlideList](A.RTValue) from [dbo].[F_Tool_SplitString](' + quotedstr(MPCIDS) + ','';'') A ');
open;
end;
if ADOQueryTmp.RecordCount > 1 then
begin
Application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>༭!', '<27><>ʾ', 0);
Exit;
end;
try
frmDyeCardGlideEdit := TfrmDyeCardGlideEdit.Create(Application);
with frmDyeCardGlideEdit do
begin
FPCIDS := MPCIDS;
FWorkshop := self.FWorkshop;
if ShowModal = 1 then
begin
InitCard();
end;
end;
finally
frmDyeCardGlideEdit.Free;
end;
end;
procedure TfrmDyeCardInput.ToolButton2Click(Sender: TObject);
begin
WriteCxGrid(self.Caption + 'TV1', Tv1, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid(self.Caption + 'TV2', Tv2, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmDyeCardInput.ToolButton3Click(Sender: TObject);
begin
close;
end;
procedure TfrmDyeCardInput.ToolButton4Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
exit;
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
with CDS_1 do
begin
DisableControls;
First;
while not Eof do
begin
if Fieldbyname('Ssel').AsBoolean then
begin
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('exec P_Dye_Card_Del ');
Sql.Add('@PCIDS=' + quotedstr(Trim(CDS_1.fieldbyname('PCID').AsString)));
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)));
if (Trim(CDS_1.fieldbyname('PCType').AsString) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') or (Trim(CDS_1.fieldbyname('PCType').AsString) = <><C7B0><EFBFBD><EFBFBD>') then
begin
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('exec P_Dye_GreyCloth_Out_Del ');
Sql.Add('@PCID=' + quotedstr(Trim(CDS_1.fieldbyname('PCID').AsString)));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end
else
begin
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('exec P_Dye_Card_Move_Del ');
Sql.Add('@PCID=' + quotedstr(Trim(CDS_1.fieldbyname('PCID').AsString)));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
raise Exception.Create(PChar(Exception(ExceptObject).Message));
end;
end;
Next;
EnableControls;
end;
InitCard();
InitGreyClothStk();
end;
except
CDS_1.EnableControls;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmDyeCardInput.ToolButton5Click(Sender: TObject);
begin
carnum.SetFocus;
try
CDS_1.DisableControls;
CDS_1.First;
while not CDS_1.Eof do
begin
if CDS_1.Fieldbyname('Ssel').AsBoolean then
begin
ADOQueryCmd.Connection.BeginTrans;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from Dye_Plan_Card A');
sql.Add('where PCID=''' + trim(CDS_1.fieldbyname('PCID').AsString) + '''');
open;
edit;
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTmp);
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_1, 'Dye_Plan_Card', 0);
post;
end;
if (Trim(CDS_1.fieldbyname('PCType').AsString) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') or (Trim(CDS_1.fieldbyname('PCType').AsString) = <><C7B0><EFBFBD><EFBFBD>') then
begin
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('exec P_Dye_GreyCloth_Out_Del ');
Sql.Add('@PCID=' + quotedstr(Trim(CDS_1.fieldbyname('PCID').AsString)));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('exec P_Dye_GreyCloth_Out ');
Sql.Add('@PCID=' + quotedstr(Trim(CDS_1.fieldbyname('PCID').AsString)));
Sql.Add(',@Filler=' + quotedstr(trim(DName)));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
end
else
begin
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('exec P_Dye_Card_Move ');
Sql.Add('@PCID=' + quotedstr(Trim(CDS_1.fieldbyname('PCID').AsString)));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
raise Exception.Create(PChar(Exception(ExceptObject).Message));
end;
end;
CDS_1.Next;
end;
CDS_1.EnableControls;
InitCard();
InitGreyClothStk();
except
CDS_1.EnableControls;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmDyeCardInput.ToolButton6Click(Sender: TObject);
begin
inherited;
try
frmDyeCardOrdSel := TfrmDyeCardOrdSel.Create(Application);
with frmDyeCardOrdSel do
begin
if ShowModal = 1 then
begin
Self.OrderNo.Text := frmDyeCardOrdSel.CDS_1.FieldByName('OrderNo').AsString;
end;
end;
finally
frmDyeCardOrdSel.Free;
end;
end;
procedure TfrmDyeCardInput.ToolButton7Click(Sender: TObject);
begin
OrderNo.Text := '';
end;
procedure TfrmDyeCardInput.TV2DblClick(Sender: TObject);
begin
edt_Width.Text := trim(CDS_2.FieldByName('C_Width').AsString);
edt_GramWeight.Text := trim(CDS_2.FieldByName('C_GramWeight').AsString);
end;
procedure TfrmDyeCardInput.TextEdit(Sender: TObject);
var
mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
with CDS_3 do
begin
Edit;
FieldByName('MvPiece').Value := STRTOFLOATDEF(mvalue, 0);
if FieldByName('PSC_StkPiece').AsFloat > 0 then
FieldByName('MvQty').Value := STRTOFLOATDEF(mvalue, 0) * (FieldByName('PSC_StkQty').AsFloat / FieldByName('PSC_StkPiece').AsFloat)
else
FieldByName('MvQty').Value := 0;
Post;
end;
Tv3.Controller.EditingController.ShowEdit();
end;
procedure TfrmDyeCardInput.TV3DblClick(Sender: TObject);
begin
CDS_3.Delete;
end;
end.