D10SZKaiXiYa/A05基础资料管理/U_GKDRtInPut.pas
DESKTOP-E401PHE\Administrator ed8c265ddd 111
2025-03-11 15:26:40 +08:00

391 lines
11 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_GKDRtInPut;
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, dxDateRanges, dxBarBuiltInMenu, U_BaseList,
dxScrollbarAnnotations, dxSkinsCore, dxSkinsDefaultPainters;
type
TfrmGKDRtInPut = 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;
Note: TEdit;
Label12: TLabel;
cxStyleRepository1: TcxStyleRepository;
dazi1: TcxStyle;
Label2: TLabel;
DlyDate: TDateTimePicker;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
Filler: TEdit;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(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
frmGKDRtInPut: TfrmGKDRtInPut;
newh: hwnd;
implementation
uses
U_DataLink, U_ZDYHelp, U_RTFun, U_GKManage_Sel;
{$R *.dfm}
procedure TfrmGKDRtInPut.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmGKDRtInPut.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 Tat_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 Tat_Cloth_DR_Main A');
sql.Add(' where DRMID=''' + Trim(FDRMID) + ''' ');
Open;
end;
SCSHData(ADOQuery1, ScrollBox1, 1);
end;
procedure TfrmGKDRtInPut.JSQtyUnitChange(Sender: TObject);
begin
if not Order_Sub.IsEmpty then
begin
exit;
end;
end;
procedure TfrmGKDRtInPut.FormShow(Sender: TObject);
var
fsj: string;
begin
readCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
InitData();
end;
function TfrmGKDRtInPut.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, 'BF', 'Tat_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 Tat_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(Filler.text);
end
else
begin
Edit;
FieldByName('EditID').Value := Trim(DCode);
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp);
end;
RTSetsavedata(ADOCmd, 'Tat_Cloth_DR_Main', ScrollBox1, 1);
FieldByName('DRMID').Value := Trim(MaxMid);
FieldByName('Status').Value := '0';
FieldByName('LX').Value := '<27>ֿ<EFBFBD>';
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', 'Tat_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 Tat_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, 'Tat_Cloth_DR_Sub', 0);
FieldByName('DRMID').Value := Trim(MaxMid);
FieldByName('DRSID').Value := Trim(MaxSid);
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 TfrmGKDRtInPut.TBSaveClick(Sender: TObject);
var
Freal: Double;
begin
ToolBar1.SetFocus;
if Trim(Filler.Text) = '' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>Ϊ<EFBFBD>գ<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 TfrmGKDRtInPut.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 TfrmGKDRtInPut.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 Tat_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 Tat_Cloth_DR_Sub where DRSID=''' + Trim(Order_Sub.fieldbyname('DRSID').AsString) + '''');
ExecSQL;
end;
end;
Order_Sub.Delete;
end;
procedure TfrmGKDRtInPut.ToolButton3Click(Sender: TObject);
begin
try
frmGKManage_Sel := TfrmGKManage_Sel.Create(Application);
with frmGKManage_Sel do
begin
if ShowModal = 1 then
begin
while CDS_HZ.locate('SSel', true, []) do
begin
with Self.Order_Sub do
begin
Append;
FieldByName('GKNo').Value := frmGKManage_Sel.CDS_HZ.fieldbyname('GKNo').Value;
FieldByName('GKKH').Value := frmGKManage_Sel.CDS_HZ.fieldbyname('GKKH').Value;
FieldByName('GKCS').Value := frmGKManage_Sel.CDS_HZ.fieldbyname('GKCS').Value;
FieldByName('GKBH').Value := frmGKManage_Sel.CDS_HZ.fieldbyname('GKBH').Value;
FieldByName('GKSpec').Value := frmGKManage_Sel.CDS_HZ.fieldbyname('GKSpec').Value;
end;
CDS_HZ.Edit;
CDS_HZ.fieldbyname('SSel').value := false;
end;
end;
end;
finally
frmGKManage_Sel.Free;
end;
end;
procedure TfrmGKDRtInPut.ToolButton4Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')
end;
end.