D7myYunxiang/云翔生产管理(MYSC.dll)/U_ZDYCPName.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

608 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_ZDYCPName;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, ToolWin, ComCtrls,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, ImgList,
StdCtrls, ExtCtrls, cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu,
cxTimeEdit, cxDropDownEdit;
type
TfrmZDYCPName = class(TForm)
TV1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
V1Code: TcxGridDBColumn;
V1Name: TcxGridDBColumn;
ToolBar1: TToolBar;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
DataSource1: TDataSource;
ClientDataSet1: TClientDataSet;
TBAdd: TToolButton;
TBSave: TToolButton;
TBEdit: TToolButton;
Panel1: TPanel;
Label1: TLabel;
ZDYName: TEdit;
cxGridPopupMenu1: TcxGridPopupMenu;
V1ZdyFlag: TcxGridDBColumn;
V1HelpType: TcxGridDBColumn;
V1ZdyStr1: TcxGridDBColumn;
V1ZdyStr2: TcxGridDBColumn;
V1ZdyStr3: TcxGridDBColumn;
V1ZdyStr4: TcxGridDBColumn;
V1ZdyStr5: TcxGridDBColumn;
V1CYMName: TcxGridDBColumn;
Label2: TLabel;
ZDYCYName: TEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBAddClick(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TV1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ZDYNameChange(Sender: TObject);
procedure V1NamePropertiesEditValueChanged(Sender: TObject);
procedure V1OrderNoPropertiesEditValueChanged(Sender: TObject);
procedure V1NotePropertiesEditValueChanged(Sender: TObject);
procedure V1Column1PropertiesEditValueChanged(Sender: TObject);
procedure V1HelpTypePropertiesEditValueChanged(Sender: TObject);
procedure V1ZdyStr1PropertiesEditValueChanged(Sender: TObject);
procedure ZDYCYNameChange(Sender: TObject);
procedure V1CYMNamePropertiesEditValueChanged(Sender: TObject);
private
procedure InitGrid();
procedure initCom(FZDYNO:string);
{ Private declarations }
public
flag,flagname,snote,MainType:string;
fnote,forderno,fZdyFlag,ViewFlag:Boolean;
PPSTE:integer;
{ Public declarations }
end;
var
frmZDYCPName: TfrmZDYCPName;
implementation
uses
U_DataLink,U_RTFun;
{$R *.dfm}
procedure TfrmZDYCPName.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
ZDYName.SetFocus;
WriteCxGrid('<27>Զ<EFBFBD><D4B6><EFBFBD>'+Trim(flag),TV1,'<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Action:=caFree;
end;
procedure TfrmZDYCPName.initCom(FZDYNO:string);
begin
with ADOQueryTemp do
begin
close;
sql.clear;
sql.Add('select ZDYName from KH_ZDY_LS ');
sql.add('where ZDYNo='''+trim(FZDYNO)+'''');
Open;
if isEmpty then
begin
exit;
end;
(V1CYMName.Properties as TcxComboBoxProperties).Items.Clear;
while not EOF do
begin
(V1CYMName.Properties as TcxComboBoxProperties).Items.Add(trim(fieldByName('ZDYName').AsString));
next;
end;
end;
end;
procedure TfrmZDYCPName.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add('select A.*,ZJM=dbo.getPinYin(A.ZdyName)');
sql.Add(' from KH_ZDY A where A.Type='''+flag+'''');
if Trim(MainType)<>'' then
begin
sql.Add(' and A.MainType='''+Trim(MainType)+'''');
end;
Open;
end;
SCreateCDS20(ADOQueryMain,ClientDataSet1);
SInitCDSData20(ADOQueryMain,ClientDataSet1);
ClientDataSet1.DisableControls;
with ClientDataSet1 do
begin
First;
while not eof do
begin
InitCom(fieldbyname('ZDYName').AsString);
Next;
end;
end;
ClientDataSet1.EnableControls;
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZDYCPName.TBAddClick(Sender: TObject);
var
i:Integer;
begin
ZDYName.SetFocus;
TV1.OptionsData.Editing:=True;
TV1.OptionsSelection.CellSelect:=True;
with ClientDataSet1 do
begin
Append;
Post;
end;
end;
procedure TfrmZDYCPName.TBSaveClick(Sender: TObject);
begin
ToolBar1.SetFocus;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
end;
procedure TfrmZDYCPName.TBDelClick(Sender: TObject);
begin
if ClientDataSet1.IsEmpty then Exit;
if (Trim(ClientDataSet1.FieldByName('ZDYNo').AsString)<>'') or
(Trim(ClientDataSet1.FieldByName('ZDYname').AsString)<>'') then
begin
if application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>?','<27><>ʾ<EFBFBD><CABE>Ϣ',1)=2 then exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete KH_ZDY where ZDYNo='''+Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString)+'''');
SQL.Add(' and Type='''+Trim(flag)+'''');
ExecSQL;
end;
end;
ClientDataSet1.Delete;
end;
procedure TfrmZDYCPName.TBCloseClick(Sender: TObject);
begin
ModalResult:=2;
ZDYName.SetFocus;
WriteCxGrid('<27>Զ<EFBFBD><D4B6><EFBFBD>'+Trim(flag),TV1,'<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmZDYCPName.FormShow(Sender: TObject);
var
fsj,fsj1:string;
begin
InitGrid();
fsj:=Trim(flag)+'01';
fsj1:=Trim(flagname)+'01';
ReadCxGrid('<27>Զ<EFBFBD><D4B6><EFBFBD>'+Trim(flag),TV1,'<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
if ViewFlag=True then
begin
TBAdd.Visible:=False;
TBSave.Visible:=False;
TBEdit.Visible:=False;
end;
end;
procedure TfrmZDYCPName.ToolButton1Click(Sender: TObject);
begin
ZDYName.SetFocus;
WriteCxGrid('<27>Զ<EFBFBD><D4B6><EFBFBD>'+Trim(flag),TV1,'<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ModalResult:=1;
end;
procedure TfrmZDYCPName.TBEditClick(Sender: TObject);
begin
TV1.OptionsData.Editing:=True;
TV1.OptionsSelection.CellSelect:=True;
end;
procedure TfrmZDYCPName.TV1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
if TV1.OptionsData.Editing=False then
begin
ModalResult:=1;
end;
end;
procedure TfrmZDYCPName.ZDYNameChange(Sender: TObject);
var
fsj:String;
begin
if Trim(ZDYName.Text)<>'' then
begin
fsj:=' ZDYName like '''+'%'+Trim(ZDYName.Text)+'%'+'''';
end;
if ADOQueryMain.Active then
begin
// SDofilter(ADOQueryMain,fsj);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
if Trim(fsj)='' then
begin
Filtered:=False;
end else
begin
Filtered:=False;
Filter:=fsj;
Filtered:=True;
end;
end;
finally
ADOQueryMain.EnableControls;
end;
SCreateCDS20(ADOQueryMain,ClientDataSet1);
SInitCDSData20(ADOQueryMain,ClientDataSet1);
end;
end;
procedure TfrmZDYCPName.V1NamePropertiesEditValueChanged(Sender: TObject);
var
maxno,mvalue,mxmaxno,FPM:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
if Trim(mvalue)='' then
begin
Exit;
end;
with ClientDataSet1 do
begin
Edit;
FieldByName('ZdyName').Value:=Trim(mvalue);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_ZDY where ZdyName='''+trim(mvalue)+'''');
sql.Add(' and Type='''+trim(flag)+'''');
if Trim(MainType)<>'' then
sql.Add(' and MainType='''+trim(MainType)+'''');
Open;
end;
if ADOQueryCmd.IsEmpty=false then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>','<27><>ʾ');
exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_ZDY where ZDYCYName like '''+'%'+trim(mvalue)+'%'+'''');
sql.Add(' and Type='''+trim(flag)+'''');
if Trim(MainType)<>'' then
sql.Add(' and MainType='''+trim(MainType)+'''');
Open;
end;
if ADOQueryCmd.IsEmpty=false then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ');
exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
if Trim(ClientDataSet1.FieldByName('ZDYNO').AsString)='' then
begin
if GetLSNo(ADOQueryTemp,maxno,'B','TBSubID',4,0)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
if GetLSNo(ADOQueryTemp,mxmaxno,'LS','TBSubID',4,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_ZDY where ZdyNo='''+trim(maxno)+'''');
Open;
end;
FPM:=Trim(ADOQueryCmd.fieldbyname('ZDYname').AsString);
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into KH_ZDY_LS (LSID,ZDYName,LSTime,LSName) values');
sql.Add(' ('''+trim(mxmaxno)+''','''+trim(FPM)+''',getdate(),'''+trim(DName)+''')');
ExecSQL;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update KH_ZDY set ZDYCYName=dbo.F_Get_Order_SubStr(ZdyNo,''LSCodeName'') ');
sql.Add('where ZDYNo='''+trim(maxno)+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_ZDY where ZdyNo='''+trim(maxno)+'''');
Open;
end;
if ADOQueryCmd.IsEmpty then
ADOQueryCmd.Append
else
ADOQueryCmd.Edit;
ADOQueryCmd.FieldByName('ZDYNo').Value:=Trim(maxno);
ADOQueryCmd.FieldByName('ZDYName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
ADOQueryCmd.FieldByName('note').Value:=Trim(snote);
ADOQueryCmd.FieldByName('Type').Value:=flag;
ADOQueryCmd.FieldByName('valid').Value:='Y';
if Trim(MainType)<>'' then
ADOQueryCmd.FieldByName('MainType').Value:=Trim(MainType);
ADOQueryCmd.Post;
ClientDataSet1.Edit;
ClientDataSet1.FieldByName('ZDYNo').Value:=Trim(maxno);
ClientDataSet1.FieldByName('ZDYCYName').Value:=Trim(ADOQueryCmd.fieldbyname('ZDYCYName').AsString);
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update CK_MYSC_CR set CYName=dbo.F_Get_Order_SubStr(MYCode,''LSCodeName'')');
sql.Add(',MYName='''+trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''' ');
sql.Add('where MYCode='''+trim(maxno)+'''');
sql.Add(' and isnull(CRType,'''')=''<27>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
except;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmZDYCPName.V1OrderNoPropertiesEditValueChanged(Sender: TObject);
var
mvalue:string;
begin
if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)='' then
begin
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
mvalue:=TcxTextEdit(Sender).EditingText;
if Trim(mvalue)='' then
begin
mvalue:='0';
end;
with ClientDataSet1 do
begin
Edit;
FieldByName('OrderNo').Value:=mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update KH_Zdy Set OrderNo='+mvalue);
sql.Add(' where ZdyNo='''+Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)+'''');
ExecSQL;
end;
end;
procedure TfrmZDYCPName.V1NotePropertiesEditValueChanged(Sender: TObject);
var
mvalue:string;
begin
if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)='' then
begin
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
mvalue:=TcxTextEdit(Sender).EditingText;
if Trim(mvalue)='' then
begin
mvalue:='0';
end;
with ClientDataSet1 do
begin
Edit;
FieldByName('Note').Value:=mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update KH_Zdy Set Note='''+Trim(mvalue)+'''');
sql.Add(' where ZdyNo='''+Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)+'''');
ExecSQL;
end;
end;
procedure TfrmZDYCPName.V1Column1PropertiesEditValueChanged(Sender: TObject);
var
mvalue:String;
begin
if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)='' then
begin
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
mvalue:=TcxTextEdit(Sender).EditingText;
if Trim(mvalue)='' then
begin
mvalue:='0';
end;
with ClientDataSet1 do
begin
Edit;
FieldByName('ZdyFlag').Value:=StrToInt(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update KH_Zdy Set ZdyFlag='+Trim(mvalue));
sql.Add(' where ZdyNo='''+Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)+'''');
ExecSQL;
end;
end;
procedure TfrmZDYCPName.V1HelpTypePropertiesEditValueChanged(
Sender: TObject);
var
mvalue:string;
begin
if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)='' then
begin
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
mvalue:=TcxTextEdit(Sender).EditingText;
if Trim(mvalue)='' then
begin
mvalue:='0';
end;
with ClientDataSet1 do
begin
Edit;
FieldByName('HelpType').Value:=mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update KH_Zdy Set HelpType='''+Trim(mvalue)+'''');
sql.Add(' where ZdyNo='''+Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)+'''');
ExecSQL;
end;
end;
procedure TfrmZDYCPName.V1ZdyStr1PropertiesEditValueChanged(Sender: TObject);
var
mvalue,FFieldName:string;
begin
if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)='' then
begin
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
mvalue:=TcxTextEdit(Sender).EditingText;
FFieldName:=TV1.Controller.FocusedColumn.DataBinding.FilterFieldName;
if Trim(mvalue)='' then
begin
mvalue:='';
end;
with ClientDataSet1 do
begin
Edit;
FieldByName(FFieldName).Value:=mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update KH_Zdy Set '+FFieldName+'='''+Trim(mvalue)+'''');
sql.Add(' where ZdyNo='''+Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)+'''');
ExecSQL;
end;
end;
procedure TfrmZDYCPName.ZDYCYNameChange(Sender: TObject);
var
fsj:String;
begin
if Trim(ZDYCYName.Text)<>'' then
begin
fsj:=' ZDYCYName like '''+'%'+Trim(ZDYCYName.Text)+'%'+'''';
end;
if ADOQueryMain.Active then
begin
// SDofilter(ADOQueryMain,fsj);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
if Trim(fsj)='' then
begin
Filtered:=False;
end else
begin
Filtered:=False;
Filter:=fsj;
Filtered:=True;
end;
end;
finally
ADOQueryMain.EnableControls;
end;
SCreateCDS20(ADOQueryMain,ClientDataSet1);
SInitCDSData20(ADOQueryMain,ClientDataSet1);
end;
end;
procedure TfrmZDYCPName.V1CYMNamePropertiesEditValueChanged(
Sender: TObject);
var
maxno,mvalue:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
with ClientDataSet1 do
begin
Edit;
FieldByName('ZDYCYName').Value:=Trim(mvalue);
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update KH_ZDY set ZDYCYName='''+trim(mvalue)+'''');
sql.Add('where ZDYNo='''+trim(ClientDataSet1.fieldbyname('ZDYNo').AsString)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
except;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
end.