RTFormwork/项目代码/RTBasicsV1/F06染色成品仓库/U_DyeDRtInPut.pas
“ddf” 61630656e9 1
2024-07-07 09:35:27 +08:00

452 lines
14 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_DyeDRtInPut;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo,
cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit,
StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils,
cxDropDownEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters,
dxDateRanges, dxBarBuiltInMenu, U_BaseList;
type
TfrmTatDRtInPut = class(Tform)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
ScrollBox1: TScrollBox;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
ADOTemp: TADOQuery;
ADOCmd: TADOQuery;
DataSource1: TDataSource;
Order_Sub: TClientDataSet;
ADOQuery1: TADOQuery;
cxGridPopupMenu2: TcxGridPopupMenu;
Label1: TLabel;
OutType: TComboBox;
Note: TEdit;
Label12: TLabel;
Label11: TLabel;
ToCoName: TBtnEditC;
v1Column1: TcxGridDBColumn;
cv1Column3: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
dazi1: TcxStyle;
v1Column2: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
Label2: TLabel;
DlyDate: TDateTimePicker;
Tv1Column2: TcxGridDBColumn;
ToolButton3: TToolButton;
Tv1Column3: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
ToolButton4: TToolButton;
Label27: TLabel;
QtyUnit: TComboBox;
Tv1Column1: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToCoNameBtnUpClick(Sender: TObject);
procedure ToCoNameBtnDnClick(Sender: TObject);
procedure JSQtyUnitChange(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
private
fuserName: string;
procedure InitData();
function SaveData(): Boolean;
{ Private declarations }
public
PState, CopyInt: Integer;
FDRMID: string;
{ Public declarations }
end;
var
frmTatDRtInPut: TfrmTatDRtInPut;
newh: hwnd;
implementation
uses
U_DataLink, U_ZDYHelp, U_RTFun, U_CompanySel, U_DyePlanSel;
{$R *.dfm}
procedure TfrmTatDRtInPut.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmTatDRtInPut.InitData();
var
fsj: string;
begin
if PState = 0 then
begin
DlyDate.DateTime := strtodatetime(Trim(FormatDateTime('yyyy-MM-dd', Now)));
end;
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add(' select A.* ');
sql.Add(' from Dye_Cloth_DR_Sub A');
if PState = 1 then
begin
sql.Add('where DRMID=''' + Trim(FDRMID) + '''');
end;
if PState = 0 then
begin
sql.Add(' where 1<>1');
end;
Open;
end;
SCreateCDS(ADOQuery1, Order_Sub);
SInitCDSData(ADOQuery1, Order_Sub);
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select A.* ');
sql.Add(' from Dye_Cloth_DR_Main A');
sql.Add(' where DRMID=''' + Trim(FDRMID) + ''' ');
Open;
end;
SCSHData(ADOQuery1, ScrollBox1, 1);
end;
procedure TfrmTatDRtInPut.JSQtyUnitChange(Sender: TObject);
begin
if not Order_Sub.IsEmpty then
begin
exit;
end;
end;
procedure TfrmTatDRtInPut.FormShow(Sender: TObject);
var
fsj: string;
begin
readCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
InitData();
end;
function TfrmTatDRtInPut.SaveData(): Boolean;
var
MaxMid, MaxSid: string;
begin
try
ADOCmd.Connection.BeginTrans;
///////////////// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> /////////////////
if Trim(FDRMID) = '' then
begin
if GetLSNo(ADOCmd, MaxMid, 'TDM', 'Dye_Cloth_DR_Main', 4, 1) = False then
raise Exception.Create(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
end
else
begin
MaxMid := Trim(FDRMID);
end;
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from Dye_Cloth_DR_Main where DRMID=''' + Trim(MaxMid) + '''');
Open;
end;
with ADOCmd do
begin
if Trim(FDRMID) = '' then
begin
Append;
FieldByName('FillID').Value := Trim(DCode);
FieldByName('Filler').Value := Trim(DName);
end
else
begin
Edit;
FieldByName('EditID').Value := Trim(DCode);
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp);
end;
RTSetsavedata(ADOCmd, 'Dye_Cloth_DR_Main', ScrollBox1, 1);
FieldByName('DRMID').Value := Trim(MaxMid);
FieldByName('Status').Value := '0';
Post;
end;
///////////////// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> /////////////////
///
///////////////// <20><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD> /////////////////
Order_Sub.DisableControls;
with Order_Sub do
begin
First;
while not Eof do
begin
if Trim(Order_Sub.fieldbyname('DRSID').AsString) = '' then
begin
if GetLSNo(ADOCmd, MaxSid, 'TDS', 'Dye_Cloth_DR_Sub', 4, 1) = False then
raise Exception.Create(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>');
end
else
begin
MaxSid := Trim(Order_Sub.fieldbyname('DRSID').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from Dye_Cloth_DR_Sub ');
sql.Add(' where DRMID=''' + Trim(MaxMid) + '''');
sql.Add(' and DRSID=''' + Trim(MaxSid) + '''');
Open;
if ADOCmd.IsEmpty then
begin
Append;
end
else
begin
Edit;
end;
RTSetSaveDataCDS(ADOCmd, Tv1, Order_Sub, 'Dye_Cloth_DR_Sub', 0);
FieldByName('DRMID').Value := Trim(MaxMid);
FieldByName('DRSID').Value := Trim(MaxSid);
FieldByName('QtyUnit').Value := QtyUnit.Text;
FieldByName('MainId').Value := Order_Sub.fieldbyname('MainId').Value;
FieldByName('SubId').Value := Order_Sub.fieldbyname('SubId').Value;
FieldByName('ConMId').Value := Order_Sub.fieldbyname('ConMId').Value;
FieldByName('ConSId').Value := Order_Sub.fieldbyname('ConSId').Value;
Post;
end;
Order_Sub.Edit;
Order_Sub.FieldByName('DRSID').Value := Trim(MaxSid);
Next;
end;
end;
Order_Sub.EnableControls;
///////////////// <20><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD> /////////////////
FDRMID := Trim(MaxMid);
ADOCmd.Connection.CommitTrans;
Result := True;
except
ADOCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Result := False;
end;
end;
procedure TfrmTatDRtInPut.TBSaveClick(Sender: TObject);
var
Freal: Double;
begin
ToolBar1.SetFocus;
if Trim(OutType.Text) = '' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
if Trim(ToCoName.Text) = '' then
begin
Application.MessageBox('<27>ջ<EFBFBD><D5BB><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
if (Order_Sub.Locate('Piece', null, [])) and (Order_Sub.Locate('Qty', null, [])) = True then
begin
Application.MessageBox(<><CFB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫΪ<C8AB>գ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ', 0);
ModalResult := 1;
end;
end;
procedure TfrmTatDRtInPut.ToolButton1Click(Sender: TObject);
var
FQtyUnit, FFSubid: string;
begin
{
try
frmTradePlanSel := TfrmTradePlanSel.Create(Application);
with frmTradePlanSel do
begin
if ShowModal = 1 then
begin
while CDS_1.locate('SSel', true, []) do
begin
// Self.CustomerNoName.Text := Trim(frmTradePlanSel.Order_Main.fieldbyname('CustomerNoName').AsString);
// FQtyUnit := Trim(frmTradePlanSel.Order_Main.fieldbyname('orderUnit').AsString);
// if Self.Order_Sub.Locate('Subid', Trim(frmTradePlanSel.Order_Main.fieldbyname('Subid').AsString), []) = False then
begin
with Self.Order_Sub do
begin
Append;
FieldByName('SCConNo').Value := Trim(frmTradePlanSel.CDS_1.fieldbyname('Orderno').AsString);
FieldByName('SSConMainId').Value := frmTradePlanSel.CDS_1.fieldbyname('ConMainId').Value;
FieldByName('SSConSubId').Value := frmTradePlanSel.CDS_1.fieldbyname('ConSubId').Value;
FieldByName('MainId').Value := frmTradePlanSel.CDS_1.fieldbyname('MainId').Value;
FieldByName('SubId').Value := frmTradePlanSel.CDS_1.fieldbyname('SubId').Value;
FieldByName('PRTColor').Value := Trim(frmTradePlanSel.CDS_1.fieldbyname('P_Color').AsString);
FieldByName('SPrtCode').Value := Trim(frmTradePlanSel.CDS_1.fieldbyname('P_Code').AsString);
FieldByName('SPrtCodeName').Value := Trim(frmTradePlanSel.CDS_1.fieldbyname('P_CodeName').AsString);
FieldByName('PRTHX').Value := Trim(frmTradePlanSel.CDS_1.fieldbyname('P_HX').AsString);
// FieldByName('orderUnit').Value := JSQtyUnit.Text;
// if Trim(JSQtyUnit.Text) = 'Kg' then
// begin
// FieldByName('sqqty').Value := frmTradePlanSel.Order_Main.fieldbyname('JYGW').Value;
// end
// else if Trim(JSQtyUnit.Text) = 'M' then
// begin
// FieldByName('sqqty').Value := frmTradePlanSel.Order_Main.fieldbyname('JYLen').Value;
// end
// else if Trim(JSQtyUnit.Text) = 'Y' then
// begin
// FieldByName('sqqty').Value := frmTradePlanSel.Order_Main.fieldbyname('JYYLen').Value;
// end;
end;
end;
CDS_1.Delete;
end;
end;
end;
finally
frmTradePlanSel.Free;
end; }
end;
procedure TfrmTatDRtInPut.ToolButton2Click(Sender: TObject);
begin
if Order_Sub.IsEmpty then
Exit;
if Trim(Order_Sub.fieldbyname('DRSID').AsString) <> '' then
begin
with ADOTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Dye_Cloth_DR_Sub where DRSID=''' + Trim(Order_Sub.fieldbyname('DRSID').AsString) + '''');
sql.add(' and isnull(DlyPiece,0)>0');
Open;
end;
if ADOTemp.IsEmpty = False then
begin
Application.MessageBox('<27>ѷ<EFBFBD><D1B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><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;
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('delete Dye_Cloth_DR_Sub where DRSID=''' + Trim(Order_Sub.fieldbyname('DRSID').AsString) + '''');
ExecSQL;
end;
end;
Order_Sub.Delete;
end;
procedure TfrmTatDRtInPut.ToolButton3Click(Sender: TObject);
var
FConMainId, FMPRTCode: string;
begin
try
frmDyePlanSel := TfrmDyePlanSel.Create(Application);
with frmDyePlanSel do
begin
if ShowModal = 1 then
begin
while CDS_1.locate('SSel', true, []) do
begin
// if not self.Order_Sub.locate('ConSId', trim(frmDyePlanSel.CDS_1.Fieldbyname('ConSId').AsString), []) then
// begin
with Self.Order_Sub do
begin
Append;
FieldByName('ConNo').Value := Trim(frmDyePlanSel.CDS_1.fieldbyname('ConNo').AsString);
FieldByName('ConMId').Value := Trim(frmDyePlanSel.CDS_1.fieldbyname('ConMId').AsString);
FieldByName('ConSId').Value := frmDyePlanSel.CDS_1.fieldbyname('ConSId').Value;
FieldByName('BuyConNo').Value := frmDyePlanSel.CDS_1.fieldbyname('BuyConNo').Value;
FieldByName('C_Code').Value := frmDyePlanSel.CDS_1.fieldbyname('C_Code').Value;
FieldByName('C_Name').Value := frmDyePlanSel.CDS_1.fieldbyname('C_Name').Value;
FieldByName('C_Spec').Value := frmDyePlanSel.CDS_1.fieldbyname('C_Spec').Value;
FieldByName('C_Width').Value := frmDyePlanSel.CDS_1.fieldbyname('C_Width').Value;
FieldByName('C_GramWeight').Value := frmDyePlanSel.CDS_1.fieldbyname('C_GramWeight').Value;
FieldByName('C_Color').Value := frmDyePlanSel.CDS_1.fieldbyname('C_Color').Value;
FieldByName('C_ColorNo').Value := frmDyePlanSel.CDS_1.fieldbyname('C_ColorNo').Value;
FieldByName('C_Pattern').Value := frmDyePlanSel.CDS_1.fieldbyname('C_Pattern').Value;
FieldByName('Piece').Value := frmDyePlanSel.CDS_1.fieldbyname('SumPiece').Value;
FieldByName('Qty').Value := frmDyePlanSel.CDS_1.fieldbyname('SumStkGrossWeight').Value;
end;
// end;
CDS_1.Edit;
CDS_1.fieldbyname('SSel').value := false;
end;
end;
end;
finally
frmDyePlanSel.Free;
end;
end;
procedure TfrmTatDRtInPut.ToolButton4Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')
end;
procedure TfrmTatDRtInPut.ToCoNameBtnUpClick(Sender: TObject);
begin
try
frmCompanySel := TfrmCompanySel.Create(Application);
with frmCompanySel do
begin
FCoType := '<27>ͻ<EFBFBD>';
if ShowModal = 1 then
begin
self.ToCoName.TxtCode := Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString);
self.ToCoName.Text := Trim(frmCompanySel.CDS_1.fieldbyname('CoAbbrName').AsString);
end;
end;
finally
frmCompanySel.Free;
end;
end;
procedure TfrmTatDRtInPut.ToCoNameBtnDnClick(Sender: TObject);
begin
ToCoName.Text := '';
end;
end.