D7myzhenyong/寄样管理(SendSample.dll)/U_BpDY.pas
DESKTOP-E401PHE\Administrator 237de1c308 0
2025-08-26 15:25:51 +08:00

567 lines
19 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_BpDY;
interface
uses
Windows, Messages, SysUtils, StrUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxButtonEdit, cxDropDownEdit,
DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, BtnEdit, cxTextEdit;
type
TfrmbpDY = class(TForm)
ToolBar1: TToolBar;
TBClose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
CRTime: TDateTimePicker;
Label2: TLabel;
CRType: TComboBox;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1P_CodeName: TcxGridDBColumn;
v1P_SPEC: TcxGridDBColumn;
v1P_MF: TcxGridDBColumn;
v1P_KZ: TcxGridDBColumn;
v1RollNum: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
Label3: TLabel;
ToCustName: TBtnEditA;
v1CPType: TcxGridDBColumn;
ckName: TComboBox;
Label4: TLabel;
Label5: TLabel;
orderNO: TBtnEditA;
Label6: TLabel;
Label7: TLabel;
defstr2: TEdit;
v1P_Color: TcxGridDBColumn;
v1P_Code: TcxGridDBColumn;
Label8: TLabel;
InoutNo: TEdit;
Label9: TLabel;
custName: TBtnEditA;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
ywy: TBtnEditA;
Label12: TLabel;
v1Column4: TcxGridDBColumn;
defstr1: TBtnEditA;
TBSave: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure v1P_CodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure ToCustNameBtnClick(Sender: TObject);
procedure orderNOBtnClick(Sender: TObject);
procedure custNameBtnClick(Sender: TObject);
procedure v1QtyPropertiesEditValueChanged(Sender: TObject);
procedure ywyBtnClick(Sender: TObject);
procedure defstr1BtnClick(Sender: TObject);
procedure v1P_CodePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
private
procedure InitGrid();
function savedate(): Boolean;
procedure SetComboBox();
{ Private declarations }
public
canshu1: string;
fkeyNO: string;
FType: integer;
fCKName: string;
{ Public declarations }
end;
var
frmbpDY: TfrmbpDY;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_ZdyAttachment, U_CPManageSel;
{$R *.dfm}
procedure TfrmbpDY.SetComboBox();
begin
ckName.Items.Clear;
with adoQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_ZDY where Type=''YPCK'' ');
if trim(fCKName) <> '' then
sql.Add('and zdyName=' + quotedstr(trim(fCKName)));
open;
while not eof do
begin
ckName.Items.Add(trim(fieldbyname('zdyName').AsString));
next;
end;
end;
if ckName.Items.Count > 0 then
ckName.ItemIndex := 0;
CRType.Items.Clear;
with adoQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_ZDY where Type=''YPCKTYPE''');
if trim(fCKName) <> '' then
sql.Add('and note=' + quotedstr(trim(fCKName)));
open;
while not eof do
begin
CRType.Items.Add(trim(fieldbyname('zdyName').AsString));
next;
end;
end;
if CRType.Items.Count > 0 then
CRType.ItemIndex := 0;
end;
function TfrmbpDY.savedate(): Boolean;
var
fkcID: integer;
Filler: string;
FillTime: TdateTime;
maxno: string;
begin
result := false;
try
ADOQueryCmd.Connection.BeginTrans;
if FType = 0 then
begin
Filler := DName;
FillTime := SGetServerDateTime(adoqueryTmp);
end
else
begin
with adoqueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from YP_InOut');
sql.Add('where CRNO=' + quotedstr(trim(fkeyNO)));
open;
Filler := adoqueryTmp.fieldbyname('Filler').AsString;
FillTime := adoqueryTmp.fieldbyname('FillTime').AsDateTime;
end;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('delete from YP_INout');
sql.Add('where CRNO=' + quotedstr(trim(fkeyNO)));
execsql;
end;
CDS_Main.DisableControls;
CDS_Main.First;
with CDS_Main do
begin
while not eof do
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from YP_INout');
sql.Add('where 1=2 ');
open;
end;
ADOQueryCmd.Append;
ADOQueryCmd.FieldByName('CRNO').Value := trim(fkeyNO);
ADOQueryCmd.FieldByName('CRID').Value := recNo;
ADOQueryCmd.FieldByName('CKName').Value := trim(CKName.Text);
ADOQueryCmd.FieldByName('InoutNO').Value := trim(InoutNO.Text);
ADOQueryCmd.FieldByName('custNo').Value := trim(custName.TxtCode);
ADOQueryCmd.FieldByName('custName').Value := trim(custName.Text);
ADOQueryCmd.FieldByName('TocustNo').Value := trim(TocustName.TxtCode);
ADOQueryCmd.FieldByName('TocustName').Value := trim(TocustName.Text);
ADOQueryCmd.FieldByName('ywy').Value := trim(ywy.Text);
ADOQueryCmd.FieldByName('factoryName').Value := trim(fieldbyname('factoryName').AsString);
ADOQueryCmd.FieldByName('mainID').Value := trim(fieldbyname('mainID').AsString);
ADOQueryCmd.FieldByName('subID').Value := trim(fieldbyname('subID').AsString);
ADOQueryCmd.FieldByName('CRTime').Value := formatdateTime('yyyy-MM-dd', CRTIme.Date);
ADOQueryCmd.FieldByName('CRType').Value := '<27><><EFBFBD><EFBFBD>';
ADOQueryCmd.FieldByName('CRFlag').Value := '<27><><EFBFBD><EFBFBD>';
ADOQueryCmd.FieldByName('kuwei').Value := trim(fieldbyname('kuwei').AsString);
ADOQueryCmd.FieldByName('MJID').Value := trim(fieldbyname('MJID').AsString);
ADOQueryCmd.FieldByName('MJXH').Value := trim(fieldbyname('MJXH').AsString);
ADOQueryCmd.FieldByName('P_Code').Value := trim(fieldbyname('P_Code').AsString);
ADOQueryCmd.FieldByName('P_CodeName').Value := trim(fieldbyname('P_CodeName').AsString);
ADOQueryCmd.FieldByName('P_spec').Value := trim(fieldbyname('P_spec').AsString);
ADOQueryCmd.FieldByName('P_CF').Value := trim(fieldbyname('P_CF').AsString);
ADOQueryCmd.FieldByName('P_Color').Value := trim(fieldbyname('P_Color').AsString);
ADOQueryCmd.FieldByName('P_MF').Value := fieldbyname('P_MF').AsString;
ADOQueryCmd.FieldByName('P_KZ').Value := fieldbyname('P_KZ').AsString;
ADOQueryCmd.FieldByName('RollNum').Value := fieldbyname('RollNum').AsFloat;
ADOQueryCmd.FieldByName('Qty').Value := fieldbyname('Qty').AsFloat;
ADOQueryCmd.FieldByName('QtyUnit').Value := trim(fieldbyname('QtyUnit').AsString);
ADOQueryCmd.FieldByName('note').Value := trim(fieldbyname('note').AsString);
ADOQueryCmd.FieldByName('Price').Value := fieldbyname('Price').AsFloat;
ADOQueryCmd.FieldByName('money').Value := fieldbyname('money').AsFloat;
ADOQueryCmd.FieldByName('Filler').Value := trim(Filler);
ADOQueryCmd.FieldByName('FillTime').Value := dateTimetostr(FillTime);
ADOQueryCmd.FieldByName('inoutNo').Value := trim(inoutNo.Text);
ADOQueryCmd.FieldByName('defstr1').Value := trim(defstr1.Text);
ADOQueryCmd.FieldByName('defstr2').Value := trim(defstr2.Text);
if FType = 1 then
begin
ADOQueryCmd.FieldByName('editer').Value := trim(dName);
ADOQueryCmd.FieldByName('editTime').Value := SGetServerDateTime(adoqueryTmp);
end;
ADOQueryCmd.FieldByName('kcID').Value := FieldByName('kcID').AsInteger;
ADOQueryCmd.Post;
CDS_Main.edit;
CDS_Main.FieldByName('CRNO').Value := trim(fkeyNO);
CDS_Main.FieldByName('CRID').Value := recNo;
next;
end;
end;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
result := true;
except
CDS_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
end;
end;
procedure TfrmbpDY.InitGrid();
begin
try
with adoqueryTmp do
begin
close;
sql.Clear;
sql.Add('select A.* from YP_InOut A');
sql.Add('where A.CRNO=' + quotedstr(trim(fkeyNO)));
open;
end;
SCreateCDS20(adoqueryTmp, CDS_Main);
SInitCDSData20(adoqueryTmp, CDS_Main);
if not CDS_Main.IsEmpty then
begin
CRTime.Date := CDS_Main.fieldbyname('CRTime').AsDateTime;
CKName.ItemIndex := CKName.Items.IndexOf(trim(CDS_Main.fieldbyname('CKName').AsString));
CRType.ItemIndex := CRType.Items.IndexOf(trim(CDS_Main.fieldbyname('CRType').AsString));
InoutNO.Text := trim(CDS_Main.fieldbyname('InoutNO').AsString);
// orderNo.Text:=trim(CDS_Main.fieldbyname('orderNo').AsString);
// PRTCodeName.Text:=trim(CDS_Main.fieldbyname('PRTCodeName').AsString);
// PRTColor.Text:=trim(CDS_Main.fieldbyname('PRTColor').AsString);
custName.TxtCode := trim(CDS_Main.fieldbyname('custNo').AsString);
custName.Text := trim(CDS_Main.fieldbyname('custName').AsString);
ywy.Text := trim(CDS_Main.fieldbyname('ywy').AsString);
TocustName.TxtCode := trim(CDS_Main.fieldbyname('TocustNo').AsString);
TocustName.Text := trim(CDS_Main.fieldbyname('TocustName').AsString);
defstr1.Text := trim(CDS_Main.fieldbyname('defstr1').AsString);
defstr2.Text := trim(CDS_Main.fieldbyname('defstr2').AsString);
end;
finally
end;
end;
procedure TfrmbpDY.FormDestroy(Sender: TObject);
begin
frmbpDY := nil;
end;
procedure TfrmbpDY.FormCreate(Sender: TObject);
begin
CRTime.Date := SGetServerDate(ADOQueryTmp);
cxGrid1.Align := alclient;
end;
procedure TfrmbpDY.FormClose(Sender: TObject; var Action: TCloseAction);
begin
writeCxGrid(self.Caption, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Action := cahide;
end;
procedure TfrmbpDY.FormShow(Sender: TObject);
begin
readCxGrid(self.Caption, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
SetComboBox();
InitGrid();
if fType = 0 then
begin
if GetLSNo(ADOQueryCmd, fkeyNo, 'CK', 'YP_InOut', 3, 1) = False then
begin
// ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
inoutNo.Text := 'C' + Trim(RightBStr(fkeyNo, Length(fkeyNo) - 2));
end;
end;
procedure TfrmbpDY.TBSaveClick(Sender: TObject);
begin
if cds_main.IsEmpty then
exit;
CRTime.SetFocus;
if cds_main.Locate('QtyUnit', NULL, []) then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
exit;
end;
if savedate() then
begin
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
ModalResult := 1;
end
else
begin
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
end;
end;
procedure TfrmbpDY.v1P_CodeNamePropertiesButtonClick(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.CDS_Main.Edit;
Self.CDS_Main.FieldByName('P_CodeName').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
Self.CDS_Main.FieldByName('P_Code').Value := Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmbpDY.ToolButton1Click(Sender: TObject);
begin
// frmBpkcsumlist:=TfrmBpkcsumlist.create(self);
// with frmBpkcsumlist do
// begin
// fType:=10;
// fckName:=self.fckName;
// if showmodal=1 then
// begin
// cds_main.DisableControls;
// cds_main.First;
// while not cds_main.Eof do
// begin
// if (cds_main.fieldbyname('ssel').AsBoolean) then
// begin
// self.cds_main.Append;
// // self.cds_main.FieldByName('kcid').Value:=trim(cds_main.fieldbyname('kcid').AsString);
// self.cds_main.FieldByName('factoryName').Value:=trim(cds_main.fieldbyname('factoryName').AsString);
// // self.cds_main.FieldByName('mainID').Value:=trim(cds_main.fieldbyname('mainID').AsString);
// // self.cds_main.FieldByName('subID').Value:=trim(cds_main.fieldbyname('subID').AsString);
// // self.cds_main.FieldByName('kuwei').Value:=trim(cds_main.fieldbyname('kuwei').AsString);
// // self.cds_main.FieldByName('MJID').Value:=trim(cds_main.fieldbyname('MJID').AsString);
// // self.cds_main.FieldByName('MJXH').Value:=trim(cds_main.fieldbyname('MJXH').AsString);
// // self.cds_main.FieldByName('CPTYPE').Value:=trim(cds_main.fieldbyname('CPTYPE').AsString);
// self.cds_main.FieldByName('P_Code').Value:=trim(cds_main.fieldbyname('P_Code').AsString);
// self.cds_main.FieldByName('P_CodeName').Value:=trim(cds_main.fieldbyname('P_CodeName').AsString);
// self.cds_main.FieldByName('P_cf').Value:=trim(cds_main.fieldbyname('P_cf').AsString);
// self.cds_main.FieldByName('P_spec').Value:=trim(cds_main.fieldbyname('P_spec').AsString);
// self.cds_main.FieldByName('defnote5').Value:=trim(cds_main.fieldbyname('defnote5').AsString);
// self.cds_main.FieldByName('P_Color').Value:=trim(cds_main.fieldbyname('P_Color').AsString);
// self.cds_main.FieldByName('CYMF').Value:=trim(cds_main.fieldbyname('CYMF').AsString);
// self.cds_main.FieldByName('CYKZ').Value:=trim(cds_main.fieldbyname('CYKZ').AsString);
// self.cds_main.FieldByName('P_MF').Value:=0;
// self.cds_main.FieldByName('P_KZ').Value:=0;
// self.cds_main.FieldByName('RollNum').Value:=cds_main.fieldbyname('kcRollNum').AsFloat;
// self.cds_main.FieldByName('Qty').Value:=cds_main.fieldbyname('kcQty').AsFloat;
// self.cds_main.FieldByName('QtyUnit').Value:=trim(cds_main.fieldbyname('QtyUnit').AsString);
// self.cds_main.FieldByName('kuwei').Value:=trim(cds_main.fieldbyname('kuwei').AsString);
// // self.cds_main.FieldByName('Price').Value:=cds_main.fieldbyname('Price').AsFloat;
// // self.cds_main.FieldByName('money').Value:=cds_main.fieldbyname('money').AsFloat;
// // self.cds_main.FieldByName('defstr1').Value:=trim(cds_main.fieldbyname('defstr1').AsString);
// self.cds_main.Post;
// end;
// cds_main.Next;
// end;
// cds_main.EnableControls;
// end;
// free;
// end;
cds_main.Append;
CDS_Main.FieldByName('price').Value := '0';
cds_Main.fieldbyname('qtyUnit').Value := 'M';
cds_main.post;
end;
procedure TfrmbpDY.ToolButton2Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
CDS_Main.Delete;
end;
procedure TfrmbpDY.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmbpDY.ToCustNameBtnClick(Sender: TObject);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'CustomerNoName';
flagname := '<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
ToCustName.Text := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString);
ToCustName.TxtCode := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmbpDY.orderNOBtnClick(Sender: TObject);
begin
{ frmProductOrderNewList:=TfrmProductOrderNewList.Create(Application);
with frmProductOrderNewList do
begin
DParameters1:='<27><>Ȩ<EFBFBD><C8A8>';
if showmodal=1 then
begin
self.fmainID:=trim(Order_Main.fieldbyname('MainID').AsString);
self.fsubID:=trim(Order_Main.fieldbyname('subID').AsString);
self.orderNo.Text:=trim(Order_Main.fieldbyname('orderNo').AsString);
self.PRTCodeName.Text:=trim(Order_Main.fieldbyname('PRTCodeName').AsString);
self.PRTColor.Text:=trim(Order_Main.fieldbyname('PRTColor').AsString);
end;
free;
end; }
end;
procedure TfrmbpDY.custNameBtnClick(Sender: TObject);
begin
try
frmZdyAttachment := TfrmZdyAttachment.Create(Application);
with frmZdyAttachment do
begin
if Self.canshu1 = <><C2BC>' then
fywy := trim(ywy.Text);
if ShowModal = 1 then
begin
CustName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString);
CustName.TxtCode := Trim(CDS_HZ.fieldbyname('CoCode').AsString);
end;
end;
finally
frmZdyAttachment.Free;
end;
end;
procedure TfrmbpDY.v1QtyPropertiesEditValueChanged(Sender: TObject);
var
fieldname: string;
begin
fieldname := Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
with CDS_Main do
begin
Edit;
FieldByName(Trim(fieldname)).Value := TcxTextEdit(Sender).EditingText;
FieldByName('Money').Value := strtofloat(format('%0.2f', [FieldByName('Qty').AsFloat * FieldByName('Price').AsFloat]));
Post;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmbpDY.ywyBtnClick(Sender: TObject);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'ywy';
flagname := <><D2B5>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
ywy.Text := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmbpDY.defstr1BtnClick(Sender: TObject);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'YPYSType';
flagname := '<27><>Ʒ<EFBFBD><C6B7><EFBFBD>ʽ';
if ShowModal = 1 then
begin
defstr1.Text := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmbpDY.v1P_CodePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
frmCPManageSel := TfrmCPManageSel.Create(self);
with frmCPManageSel do
begin
if showmodal = 1 then
begin
Self.CDS_Main.Edit;
Self.CDS_Main.FieldByName('P_Code').Value := Trim(CDS_Main.fieldbyname('CYNo').AsString);
Self.CDS_Main.FieldByName('P_CodeName').Value := Trim(CDS_Main.fieldbyname('CYName').AsString);
Self.CDS_Main.FieldByName('P_SPEC').Value := Trim(CDS_Main.fieldbyname('CYSpec').AsString);
Self.CDS_Main.FieldByName('P_CF').Value := Trim(CDS_Main.fieldbyname('CYCF').AsString);
Self.CDS_Main.FieldByName('P_MF').Value := Trim(CDS_Main.fieldbyname('CYmf').AsString);
Self.CDS_Main.FieldByName('P_KZ').Value := Trim(CDS_Main.fieldbyname('CYkz').AsString);
end;
free;
end;
tv1.Controller.EditingController.ShowEdit();
end;
end.