D7snShanfengT/山峰贸易管理/U_JWLChkIn.pas

466 lines
13 KiB
ObjectPascal
Raw Normal View History

2026-02-26 09:41:35 +08:00
unit U_JWLChkIn;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics,
cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGrid, ADODB, DBClient,
cxButtonEdit, cxDropDownEdit, cxCalendar, cxGridCustomPopupMenu,
cxGridPopupMenu, cxTextEdit, cxCheckBox;
type
TfrmJWLChkIn = class(TForm)
ToolBar1: TToolBar;
BtnSave: TToolButton;
BtnExit: TToolButton;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
v1P_ChnName: TcxGridDBColumn;
v1ShortName: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
v1Quantity: TcxGridDBColumn;
v1UnitName: TcxGridDBColumn;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
DataSource1: TDataSource;
CDS_Sub: TClientDataSet;
ADOQueryMain: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryTemp: TADOQuery;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
cxGridPopupMenu1: TcxGridPopupMenu;
v1Column3: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
v1YCLMoney: TcxGridDBColumn;
procedure FormCreate(Sender: TObject);
procedure BtnExitClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure BtnSaveClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure v1P_ChnNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1ShortNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1UnitNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1Column2PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1Column6PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
private
procedure InitGrid();
function SaveData():Boolean;
{ Private declarations }
public
FMainID,Canshu1:string;
{ Public declarations }
end;
var
frmJWLChkIn: TfrmJWLChkIn;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp;
{$R *.dfm}
procedure TfrmJWLChkIn.FormCreate(Sender: TObject);
begin
cxGrid1.Align:=alClient;
end;
procedure TfrmJWLChkIn.BtnExitClick(Sender: TObject);
begin
Close;
WriteCxGrid('Xԭ<58><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',Tv1,<><D4AD><EFBFBD>ϲֿ<CFB2>');
end;
procedure TfrmJWLChkIn.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
SQL.Add('select * from CK_YCLONE_CR ');
SQL.Add(' where MSId='''+Trim(FMainID)+'''');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Sub);
SInitCDSData20(ADOQueryMain,CDS_Sub);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmJWLChkIn.ToolButton2Click(Sender: TObject);
var
FDate:TDateTime;
begin
FDate:=SGetServerDate(ADOQueryTemp);
with CDS_Sub do
begin
Append;
FieldByName('CRTime').Value:=FDate;
FieldByName('CRType').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
Post;
end;
end;
procedure TfrmJWLChkIn.ToolButton3Click(Sender: TObject);
begin
if CDS_Sub.IsEmpty then Exit;
if Trim(CDS_Sub.fieldbyname('MSID').AsString)<>'' then
begin
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from CK_YCLONE_CR where RKID='''+Trim(CDS_Sub.fieldbyname('MSID').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
Application.MessageBox('<27><><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>ɾ<EFBFBD><C9BE>!','<27><>ʾ',0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_YCLONE_CR where MSID='''+Trim(CDS_Sub.fieldbyname('MSID').AsString)+'''');
Open;
end;
if ADOQueryTemp.FieldByName('Chker').AsString<>'' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><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 ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' delete from CK_YCLONE_CR where MSID='''+Trim(CDS_Sub.fieldbyname('MSID').AsString)+'''');
ExecSQL;
end;
CDS_Sub.Delete;
end else
begin
CDS_Sub.Delete;
end;
end;
function TfrmJWLChkIn.SaveData():Boolean;
var
MaxNo,CRID:string;
begin
try
Result:=False;
ADOQueryCmd.Connection.BeginTrans;
CDS_Sub.DisableControls;
CDS_Sub.First;
while not CDS_Sub.Eof do
begin
if Trim(CDS_Sub.fieldbyname('MSID').AsString)<>'' then
begin
MaxNo:=Trim(CDS_Sub.fieldbyname('MSID').AsString);
end else
begin
if GetLSNo(ADOQueryCmd,MaxNo,'MR','CK_YCLONE_CR',4,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from CK_YCLONE_CR where MSId='''+Trim(MaxNo)+'''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(CDS_Sub.fieldbyname('MSId').AsString)<>'' then
begin
Edit;
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditerCode').Value:=Trim(DCode);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp);
end
else begin
Append;
FieldByName('Filler').Value:=Trim(DName);
FieldByName('FillerCode').Value:=Trim(DCode);
end;
FieldByName('MSId').Value:=Trim(MaxNo);
FieldByName('RKId').Value:=Trim(MaxNo);
FieldByName('CRFlag').Value:='<27><><EFBFBD><EFBFBD>';
FieldByName('JSFlag').Value:=1;
FieldByName('CRTime').Value:=Trim(CDS_Sub.fieldbyname('CRTime').AsString);
FieldByName('CRType').Value:=Trim(CDS_Sub.fieldbyname('CRType').AsString);
FieldByName('GYS').Value:=Trim(CDS_Sub.fieldbyname('GYS').AsString);
FieldByName('GYSName').Value:=Trim(CDS_Sub.fieldbyname('GYSName').AsString);
FieldByName('CKName').Value:=Trim(Canshu1);
FieldByName('YCLCode').Value:=Trim(CDS_Sub.fieldbyname('YCLCode').AsString);
FieldByName('YCLName').Value:=Trim(CDS_Sub.fieldbyname('YCLName').AsString);
FieldByName('YCLSpec').Value:=Trim(CDS_Sub.fieldbyname('YCLSpec').AsString);
FieldByName('KCPLace').Value:=Trim(CDS_Sub.fieldbyname('KCPLace').AsString);
FieldByName('CRUnit').Value:=Trim(CDS_Sub.fieldbyname('CRUnit').AsString);
FieldByName('LYPerson').Value:=Trim(CDS_Sub.fieldbyname('LYPerson').AsString);
FieldByName('LYDept').Value:=Trim(CDS_Sub.fieldbyname('LYDept').AsString);
FieldByName('MoneyUserName').Value:=Trim(CDS_Sub.fieldbyname('MoneyUserName').AsString);
FieldByName('Note').Value:=Trim(CDS_Sub.fieldbyname('Note').AsString);
FieldByName('YCLMoney').Value:=CDS_Sub.fieldbyname('YCLMoney').AsFloat;
if Trim(CDS_Sub.fieldbyname('YCLPrice').AsString)<>'' then
begin
FieldByName('YCLPrice').Value:=CDS_Sub.fieldbyname('YCLPrice').Value;
end else
begin
FieldByName('YCLPrice').Value:=0;
end;
if Trim(CDS_Sub.fieldbyname('CRQty').AsString)='' then
begin
FieldByName('CRQty').Value:=0;
end else
begin
FieldByName('CRQty').Value:=Trim(CDS_Sub.fieldbyname('CRQty').AsString);
end;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update CK_YCLONE_CR Set KCQty=');
sql.Add('(select Sum(CRQty*JSFlag) from CK_YCLONE_CR A where A.RKID=CK_YCLONE_CR.MSID)');
//sql.Add(',YCLMoney=YCLPrice*CRQty');
sql.Add(' where MSID='''+Trim(MaxNo)+'''');
ExecSQL;
end;
with CDS_Sub do
begin
Edit;
FieldByName('MSID').Value:=Trim(MaxNo);
end;
CDS_Sub.Next;
end;
CDS_Sub.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
FMainID:=Trim(MaxNo);
Result:=True;
ModalResult:=1;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
end;
end;
procedure TfrmJWLChkIn.BtnSaveClick(Sender: TObject);
begin
if CDS_Sub.IsEmpty then Exit;
if CDS_Sub.Locate('CRTime',Null,[]) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4B2BB>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('CRType',Null,[]) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('CRType','',[]) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('YCLName',Null,[]) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('CRQty',Null,[]) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('CRUnit',Null,[]) then
begin
Application.MessageBox('<27><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('LYPerson',Null,[]) then
begin
Application.MessageBox('<27>ɹ<EFBFBD><C9B9>˲<EFBFBD><CBB2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
{if CDS_Sub.Locate('LYDept',Null,[]) then
begin
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end; }
if CDS_Sub.Locate('CRUnit',Null,[]) then
begin
Application.MessageBox('<27><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if (CDS_Sub.Locate('GYSName',null,[]) or CDS_Sub.Locate('GYSName','',[])) then
begin
Application.MessageBox('<27><>Ӧ<EFBFBD>̲<EFBFBD><CCB2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if (CDS_Sub.Locate('YCLSpec',null,[]) or CDS_Sub.Locate('YCLSpec','',[])) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmJWLChkIn.FormShow(Sender: TObject);
var
FDate:TDateTime;
begin
readCxGrid('Xԭ<58><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',Tv1,<><D4AD><EFBFBD>ϲֿ<CFB2>');
InitGrid();
FDate:=SGetServerDate(ADOQueryTemp);
if Trim(FMainID)='' then
begin
with CDS_Sub do
begin
Append;
FieldByName('CRTime').Value:=FDate;
FieldByName('CRType').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
Post;
end;
end;
end;
procedure TfrmJWLChkIn.v1P_ChnNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='YCL';
flagname:=<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
MainType:=Trim(Canshu1);
if ShowModal=1 then
begin
Self.CDS_Sub.Edit;
Self.CDS_Sub.FieldByName('YCLCode').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
Self.CDS_Sub.FieldByName('YCLName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmJWLChkIn.v1ShortNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='GYSBG';
flagname:='<27><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
MainType:=Trim(Canshu1);
if ShowModal=1 then
begin
Self.CDS_Sub.Edit;
Self.CDS_Sub.FieldByName('GYS').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
Self.CDS_Sub.FieldByName('GYSName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmJWLChkIn.v1UnitNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='DW';
flagname:='<27><>λ';
if ShowModal=1 then
begin
Self.CDS_Sub.Edit;
Self.CDS_Sub.FieldByName('CRUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmJWLChkIn.v1Column2PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='YCLSpec';
flagname:=<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
Self.CDS_Sub.Edit;
Self.CDS_Sub.FieldByName('YCLSpec').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmJWLChkIn.v1Column6PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='KCPlace';
flagname:='<27><>λ';
if ShowModal=1 then
begin
with CDS_Sub do
begin
Edit;
FieldByName('KCPlace').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
end.