D7wmguihua/样品/U_ClothContractInPut.pas
DESKTOP-E401PHE\Administrator b4b5840f18 1
2025-01-18 16:22:10 +08:00

581 lines
15 KiB
ObjectPascal
Raw 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_ClothContractInPut;
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;
type
TfrmClothContractInPut = class(TForm)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
ScrollBox1: TScrollBox;
Label1: TLabel;
ConNo: TEdit;
Label4: TLabel;
DeliveryDate: TDateTimePicker;
Label5: TLabel;
Label6: TLabel;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1PRTSpec: TcxGridDBColumn;
v1PRTColor: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1PRTMF: TcxGridDBColumn;
v1PRTKZ: TcxGridDBColumn;
v1OrderQty: TcxGridDBColumn;
v1ClothQty: TcxGridDBColumn;
v1PRTQty: TcxGridDBColumn;
v1Price: TcxGridDBColumn;
v1ClothUnit: TcxGridDBColumn;
ADOTemp: TADOQuery;
ADOCmd: TADOQuery;
DataSource1: TDataSource;
Order_Sub: TClientDataSet;
DataSource2: TDataSource;
ADOZDY: TADOQuery;
CDS_ZDY: TClientDataSet;
FactoryNoName: TcxButtonEdit;
ADOQuery1: TADOQuery;
Label7: TLabel;
Label3: TLabel;
Label8: TLabel;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
ConTK1: TRichEdit;
ConTK2: TRichEdit;
ConTK3: TRichEdit;
ConTK4: TRichEdit;
PanZDY: TPanel;
CXGridZDY: TcxGrid;
TVZDY: TcxGridDBTableView;
VHelpZDYName: TcxGridDBColumn;
CXGridZDYLevel1: TcxGridLevel;
Button1: TButton;
procedure TBCloseClick(Sender: TObject);
procedure TVZDYCellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure Button1Click(Sender: TObject);
procedure PRTCodeNameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure TVZDYKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure v1OrderUnitPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1PRTUnitPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1PRTColorPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure FactoryNoNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1Column1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1PRTMFPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1OrderQtyPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1ClothQtyPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1Column2PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure FactoryNoNamePropertiesChange(Sender: TObject);
private
FXS:Integer;
procedure InitData();
procedure ZDYHelp(FButn:TcxButtonEdit;LType:string);
function SaveData():Boolean;
{ Private declarations }
public
PState:Integer;
FMainId:String;
{ Public declarations }
end;
var
frmClothContractInPut: TfrmClothContractInPut;
implementation
uses
U_DataLink,U_ZDYHelp,U_Fun;
{$R *.dfm}
procedure TfrmClothContractInPut.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmClothContractInPut.InitData();
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add(' exec ClothContract_QryList :MainId,:WSql');
if PState=1 then
begin
ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId);
ADOQuery1.Parameters.ParamByName('WSQl').Value:='';
end;
if PState=0 then
begin
ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId);
ADOQuery1.Parameters.ParamByName('WSql').Value:=' and 1<>1 ';
end;
Open;
end;
SCreateCDS20(ADOQuery1,Order_Sub);
SInitCDSData20(ADOQuery1,Order_Sub);
SCSHData(ADOQuery1,ScrollBox1,0);
if PState=0 then
begin
with ADOTemp do
begin
Close;
SQL.Clear;
sql.Add('select Top 1* from Contract_Main order by FillTime desc ');
Open;
end;
ConTK1.Text:=ADOTemp.fieldbyname('ConTK1').AsString;
ConTK2.Text:=ADOTemp.fieldbyname('ConTK2').AsString;
ConTK3.Text:=ADOTemp.fieldbyname('ConTK3').AsString;
ConTK4.Text:=ADOTemp.fieldbyname('ConTK4').AsString;
end;
PanZDY.Visible:=False;
end;
procedure TfrmClothContractInPut.ZDYHelp(FButn:TcxButtonEdit;LType:string);
var
FType,ZDYName,FText:String;
begin
PanZDY.Visible:=True;
PanZDY.Left:=FButn.Left;
PanZDY.Top:=FButn.Top+FButn.Height;
with ADOZDY do
begin
Filtered:=False;
Close;
SQL.Clear;
SQL.Add('select RTrim(ZDYNo) ZDYNo,RTrim(ZDYName) ZDYName from KH_ZDY where Type='''+Trim(LType)+'''');
Open;
end;
FText:=Trim(FButn.Text);
if FText<>'' then
SDofilter(ADOZDY,' ZDYName like '+QuotedStr('%'+Trim(FText)+'%'))
else
SDofilter(ADOZDY,'');
VHelpZDYName.Summary.GroupFormat:=Trim(FButn.Name);
end;
procedure TfrmClothContractInPut.TVZDYCellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var
FName:string;
begin
if ADOZDY.IsEmpty then Exit;
FName:=Trim(VHelpZDYName.Summary.GroupFormat);
TcxButtonEdit(FindComponent(FName)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString);
TcxButtonEdit(FindComponent(FName)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString);
PanZDY.Visible:=False;
end;
procedure TfrmClothContractInPut.Button1Click(Sender: TObject);
begin
PanZDY.Visible:=False;
end;
procedure TfrmClothContractInPut.PRTCodeNameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=vk_return) or (Key=vk_Down) then
begin
if ADOZDY.Active then
CXGridZDY.SetFocus;
end;
end;
procedure TfrmClothContractInPut.TVZDYKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
if ADOZDY.IsEmpty then Exit;
TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString);
TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString);
PanZDY.Visible:=False;
ADOZDY.Active:=False;
end;
end;
procedure TfrmClothContractInPut.FormShow(Sender: TObject);
begin
if Trim(DParameters1)='1' then
begin
v1Price.Visible:=False;
v1ClothQty.Visible:=False;
v1PRTQty.Visible:=False;
end else
begin
v1Price.Visible:=True;
v1ClothQty.Visible:=True;
v1PRTQty.Visible:=True;
end;
InitData();
end;
function TfrmClothContractInPut.SaveData():Boolean;
var
maxno:String;
begin
try
ADOCmd.Connection.BeginTrans;
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from Contract_Main where MainId='''+Trim(FMainId)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(FMainId)='' then
begin
Append;
if GetLSNo(ADOTemp,maxno,'CM','Contract_Main',2,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><ECB3A3>','<27><>ʾ',0);
exit;
end;
end
else begin
maxno:=Trim(FMainId);
Edit;
end;
FieldByName('MainId').Value:=Trim(maxno);
SSetsaveSql(ADOCmd,'Contract_Main',ScrollBox1,0);
if Trim(FMainId)='' then
begin
FieldByName('Filler').Value:=Trim(DName);
end else
begin
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp);
end;
Post;
end;
FMainId:=Trim(maxno);
///<2F><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>
with Order_Sub do
begin
First;
while not Eof do
begin
if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then
begin
if GetLSNo(ADOTemp,maxno,'CS','Contract_Sub',3,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from Contract_Sub where MainId='''+Trim(FMainId)+'''');
sql.Add(' and SubId='''+Trim(maxno)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then
Append
else
Edit;
FieldByName('MainId').Value:=Trim(FMainId);
FieldByName('SubId').Value:=Trim(maxno);
SSetSaveDataCDSNew(ADOCmd,Tv1,Order_Sub,'Contract_Sub',0);
Post;
end;
Order_Sub.Edit;
Order_Sub.FieldByName('SubId').Value:=Trim(maxno);
//Order_Sub.Post;
Next;
end;
end;
ADOCmd.Connection.CommitTrans;
Result:=True;
except
Result:=False;
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmClothContractInPut.TBSaveClick(Sender: TObject);
begin
DeliveryDate.SetFocus;
if Trim(ConNo.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if Trim(FactoryNoName.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if Order_Sub.IsEmpty then
begin
Application.MessageBox('<27><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
exit;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmClothContractInPut.v1OrderUnitPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='OrdUnit';
flagname:='<27><>λ';
if ShowModal=1 then
begin
Self.Order_Sub.Edit;
Self.Order_Sub.FieldByName('OrderUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmClothContractInPut.v1PRTUnitPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='OrdUnit';
flagname:='<27><>λ';
if ShowModal=1 then
begin
Self.Order_Sub.Edit;
Self.Order_Sub.FieldByName('PRTUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmClothContractInPut.v1PRTColorPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='OrdColor';
flagname:='<27><>ɫ';
if ShowModal=1 then
begin
Self.Order_Sub.Edit;
Self.Order_Sub.FieldByName('PRTColor').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmClothContractInPut.ToolButton1Click(Sender: TObject);
begin
with Order_Sub do
begin
Append;
Post;
end;
end;
procedure TfrmClothContractInPut.ToolButton2Click(Sender: TObject);
begin
if Order_Sub.IsEmpty then Exit;
if Trim(Order_Sub.fieldbyname('SubId').AsString)<>'' then
begin
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 Contract_Sub where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+'''');
ExecSQL;
end;
end;
Order_Sub.Delete;
end;
procedure TfrmClothContractInPut.FactoryNoNamePropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='FactoryNo1Name';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
FXS:=99;
FactoryNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
FactoryNoName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmClothContractInPut.v1Column1PropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='Cloth';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
Self.Order_Sub.Edit;
Self.Order_Sub.FieldByName('C_CodeName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
Self.Order_Sub.FieldByName('C_Code').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmClothContractInPut.v1PRTMFPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='KZ';
flagname:='<27><><EFBFBD>ص<EFBFBD>λ';
if ShowModal=1 then
begin
Self.Order_Sub.Edit;
Self.Order_Sub.FieldByName('KZUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmClothContractInPut.v1OrderQtyPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='MF';
flagname:='<27>ŷ<EFBFBD><C5B7><EFBFBD>λ';
if ShowModal=1 then
begin
Self.Order_Sub.Edit;
Self.Order_Sub.FieldByName('MFUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmClothContractInPut.v1ClothQtyPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='PriceUnit';
flagname:='<27>Ƽ۵<C6BC>λ';
if ShowModal=1 then
begin
Self.Order_Sub.Edit;
Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmClothContractInPut.v1Column2PropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='OrdUnit';
flagname:='<27><>λ';
if ShowModal=1 then
begin
Self.Order_Sub.Edit;
Self.Order_Sub.FieldByName('C_Unit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmClothContractInPut.FactoryNoNamePropertiesChange(
Sender: TObject);
begin
if FXS=99 then
begin
PanZDY.Visible:=False;
FXS:=0;
Exit;
end;
ZDYHelp(FactoryNoName,'FactoryNo1Name');
end;
end.