D7myYunxiang/样品新云翔(YPGLBOM.dll)/U_MLManage_FHLR.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

620 lines
17 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_MLManage_FHLR;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, ADODB, DBClient, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, ComCtrls, ToolWin,
cxGridCustomPopupMenu, cxGridPopupMenu, cxContainer, cxTextEdit,
cxMaskEdit, cxDropDownEdit, cxCalendar, StdCtrls, ExtCtrls, BtnEdit,
cxButtonEdit;
type
TfrmMLManage_FHLR = class(TForm)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
TBClose: TToolButton;
CDS_Sub: TClientDataSet;
ADOQueryMain: TADOQuery;
DataSource2: TDataSource;
ADOQueryCmd: TADOQuery;
ADOQueryTemp: TADOQuery;
cxGridPopupMenu1: TcxGridPopupMenu;
Panel1: TPanel;
GSNo: TEdit;
Label1: TLabel;
cxGridPopupMenu2: TcxGridPopupMenu;
Order_GX: TClientDataSet;
DataSource1: TDataSource;
Panel3: TPanel;
ToolBar3: TToolBar;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
MLDLNo: TBtnEditA;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
V1BPCode: TcxGridDBColumn;
V1BPName: TcxGridDBColumn;
V1BPMF: TcxGridDBColumn;
V1BPKZ: TcxGridDBColumn;
V1BPJS: TcxGridDBColumn;
v1BPMiDu: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
ML_Col: TClientDataSet;
DataSource3: TDataSource;
cxGridPopupMenu3: TcxGridPopupMenu;
TMLAdd: TToolButton;
Label3: TLabel;
MLNo: TEdit;
Label4: TLabel;
GXName: TEdit;
Label5: TLabel;
GXNo: TEdit;
V1Zhengfan: TcxGridDBColumn;
DLHXK: TBtnEditA;
Ord_HX: TClientDataSet;
DataSource4: TDataSource;
cxGridPopupMenu4: TcxGridPopupMenu;
V1ZXHNo: TcxGridDBColumn;
Label6: TLabel;
MLName: TEdit;
JSName: TBtnEditA;
Label2: TLabel;
MLMF: TEdit;
MLKZ: TEdit;
Panel6: TPanel;
Label7: TLabel;
GYLX: TEdit;
GYLXName: TEdit;
Label8: TLabel;
GYName: TEdit;
procedure FormShow(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure TAddClick(Sender: TObject);
procedure MLDLNoBtnClick(Sender: TObject);
procedure TMLAddClick(Sender: TObject);
procedure DLHXKBtnClick(Sender: TObject);
procedure JSNameBtnClick(Sender: TObject);
procedure V1ZXHNoPropertiesEditValueChanged(Sender: TObject);
procedure V1ZhengfanPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
private
Fint:Integer;
procedure InitSubGrid();
function SaveData():Boolean;
procedure BHCZhu();
{ Private declarations }
public
FCYID,FCYCode,FCPID,FCPNO,FBPID,FGYName,FML,FGYLX,FGSNo,FHXBPID,FGSName:String;
FGYLXName:string;
{ Public declarations }
end;
var
frmMLManage_FHLR: TfrmMLManage_FHLR;
implementation
uses
U_DataLink,U_Fun,U_BPZdy_LR,U_BPZdy_SH,U_MLMange_ADDCX,U_BPZdy_HXK,U_ZDYHelp,U_BPZdy_LRPB;
{$R *.dfm}
procedure TfrmMLManage_FHLR.InitSubGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
SQL.Add('select * from ML_Manage where MLID='''+trim(FCYID)+'''');
Open;
end;
if ADOQueryMain.IsEmpty=false then
begin
SCSHDataNew(ADOQueryMain,Panel1,2);
SCSHDataNew(ADOQueryMain,Panel3,2);
FBPID:=Trim(ADOQueryMain.FieldByName('MBPID').Value);
end;
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' select A.*,isnull(B.BPCode,C.MLNo) BPCode,isnull(B.BPName,C.MLName) BPName');
sql.Add(' ,isnull(B.BPMF,C.MLMF) BPMF,isnull(B.BPKZ,C.MLKZ) BPKZ');
sql.Add(',B.BPJS,B.BPWS,B.BPMiDu,B.BPUnit');
SQL.Add(' from ML_Manage_PB A left join BP_ZDY B on B.BPID=A.BPID ');
sql.Add(' left join ML_Manage C on C.MLID=A.BPID');
sql.Add('where A.MLID='''+Trim(FCYID)+'''');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Sub);
SInitCDSData20(ADOQueryMain,CDS_Sub);
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' select A.*,B.* from ML_Manage_GX A inner join BP_ZDY B on B.BPID=A.BPID ');
sql.Add('where MLID='''+Trim(FCYID)+'''');
Open;
end;
SCreateCDS20(ADOQueryMain,Order_GX);
SInitCDSData20(ADOQueryMain,Order_GX);
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add('select * from BP_ZDY_Sub ');
sql.Add('where BPCode='''+Trim(MLDLNo.Text)+''' and BPflag=''SHK''');
Open;
end;
SCreateCDS20(ADOQueryMain,ML_Col);
SInitCDSData20(ADOQueryMain,ML_Col);
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add('select A.*,B.* from BP_ZDY_Sub A ');
Sql.Add('inner join KH_Zdy_Attachment B on A.HXATID=B.ATID and B.Type=''CPHX''');
sql.Add(' where A.BPCode='''+trim(DLHXK.Text)+'''');
open;
end;
SCreateCDS20(ADOQueryMain,Ord_HX);
SInitCDSData20(ADOQueryMain,Ord_HX);
MLNo.Text:='F';
FML:='F';
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmMLManage_FHLR.FormShow(Sender: TObject);
var
fsj:String;
begin
ReadCxGrid('<27><><EFBFBD>Ϲ<EFBFBD><CFB9><EFBFBD>1',Tv1,'<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
//ReadCxGrid('<27><><EFBFBD>Ϲ<EFBFBD><CFB9><EFBFBD>3',Tv3,'<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
InitSubGrid();
end;
procedure TfrmMLManage_FHLR.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD>Ϲ<EFBFBD><CFB9><EFBFBD>1',Tv1,'<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
//WriteCxGrid('<27><><EFBFBD>Ϲ<EFBFBD><CFB9><EFBFBD>3',Tv3,'<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
Close;
end;
function TfrmMLManage_FHLR.SaveData():Boolean;
var
maxId,maxno:String;
begin
try
ADOQueryCmd.Connection.BeginTrans;
if FCYID='' then
begin
if GetLSNo(ADOQueryCmd,maxno,'ML','ML_Manage',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end
else
begin
maxno:=Trim(FCYID);
end;
//GSNo.Text:=Trim(maxno);
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from ML_Manage where MLID='''+Trim(FCYID)+'''');
Open;
end;
with ADOQueryCmd do
begin
if isempty then
begin
Append;
end
else
begin
Edit;
end;
FieldByName('MLID').Value:=Trim(maxno);
//FieldByName('GSNo').Value:=Trim(maxno);
FieldByName('MBPID').Value:=Trim(FBPID);
FieldByName('MLType').Value:='<27><><EFBFBD><EFBFBD>';
SSetsaveSqlNew(ADOQueryCmd,'ML_Manage',panel1,2);
SSetsaveSqlNew(ADOQueryCmd,'ML_Manage',panel3,2);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from ML_Manage where GSNo='''+Trim(GSNo.Text)+'''');
Open;
end;
if ADOQueryCmd.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><>˾<EFBFBD><CBBE><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>!','<27><>ʾ',0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from ML_Manage where MLNo='''+Trim(MLNo.Text)+'''');
Open;
end;
if ADOQueryCmd.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>!','<27><>ʾ',0);
Exit;
end;
FCYID:=Trim(maxno);
CDS_Sub.DisableControls;
with CDS_Sub do
begin
First;
while not Eof do
begin
if Trim(CDS_Sub.fieldbyname('MPID').AsString)='' then
begin
if GetLSNo(ADOQueryCmd,maxId,'MP','ML_Manage_PB',4,1)=False then
begin
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end else
begin
maxId:=Trim(CDS_Sub.fieldbyname('MPID').AsString);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from ML_Manage_PB where MPID='''+Trim(maxId)+'''');
Open;
end;
with ADOQueryCmd do
begin
if isempty then
begin
Append;
end else
begin
Edit;
end;
FieldByName('MPID').Value:=Trim(maxId);
FieldByName('MLID').Value:=Trim(FCYID);
FieldByName('ZXHNo').Value:=CDS_Sub.fieldbyname('ZXHNo').AsInteger;
FieldByName('BPID').Value:=Trim(CDS_Sub.fieldbyname('BPID').AsString);
FieldByName('Zhengfan').Value:=Trim(CDS_Sub.fieldbyname('Zhengfan').AsString);
Post;
end;
Next;
end;
end;
CDS_Sub.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
except;
Result:=True;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
end;
end;
procedure TfrmMLManage_FHLR.BHCZhu();
var FBH,FCP,FBHName:string;
begin
CDS_Sub.DisableControls;
with CDS_Sub do
begin
First;
while not eof do
begin
if FieldByName('ZXHNo').AsInteger=1 then
begin
MLNo.Text:='F'+Trim(fieldbyname('BPCode').AsString);
end;
if FBH='' then
FBH:=trim(CDS_Sub.fieldbyname('BPCode').AsString)
else
FBH:=FBH+'+'+trim(CDS_Sub.fieldbyname('BPCode').AsString);
if FBHName='' then
FBHName:=trim(CDS_Sub.fieldbyname('BPName').AsString)
else
FBHName:=FBHName+'+'+trim(CDS_Sub.fieldbyname('BPName').AsString);
Next;
end;
end;
CDS_Sub.EnableControls;
GSNo.Text:='('+Trim(FBH)+')'+'F';
GYName.Text:='('+Trim(FBHName)+')'+'<27><><EFBFBD><EFBFBD>';
end;
procedure TfrmMLManage_FHLR.ToolButton1Click(Sender: TObject);
var FBH:string;
begin
{if Trim(MLNo.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end; }
if CDS_Sub.Locate('ZXHNo',null,[])=true then
begin
application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
if Trim(MLName.Text)='' then
begin
Application.MessageBox('Ʒ<><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
//BHCZhu();
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
ModalResult:=1;
end;
end;
procedure TfrmMLManage_FHLR.ToolButton2Click(Sender: TObject);
begin
frmBPZDY_LRPB:=TfrmBPZDY_LRPB.create(self);
with frmBPZDY_LRPB do
begin
flag:='PBName';
flagName:='<27><><EFBFBD><EFBFBD>';
ViewFlag:=true;
if ShowModal=1 then
begin
with CDS_Sub do
begin
append;
FieldByName('ZXHNo').AsInteger:=CDS_Sub.RecordCount+1;
FieldByName('BPCode').Value:=Trim(ClientDataSet1.fieldbyname('BPCode').AsString);
FieldByName('BPID').Value:=Trim(ClientDataSet1.fieldbyname('BPID').AsString);
FieldByName('BPName').Value:=Trim(ClientDataSet1.fieldbyname('BPName').AsString);
FieldByName('BPMF').Value:=Trim(ClientDataSet1.fieldbyname('BPMF').AsString);
FieldByName('BPKZ').Value:=Trim(ClientDataSet1.fieldbyname('BPKZ').AsString);
FieldByName('BPJS').Value:=Trim(ClientDataSet1.fieldbyname('BPJS').AsString);
FieldByName('BPWS').Value:=Trim(ClientDataSet1.fieldbyname('BPWS').AsString);
FieldByName('BPMiDu').Value:=Trim(ClientDataSet1.fieldbyname('BPMiDu').AsString);
post;
end;
BHCZhu();
end;
free;
end;
end;
procedure TfrmMLManage_FHLR.ToolButton3Click(Sender: TObject);
begin
if CDS_Sub.IsEmpty then exit;
if CDS_Sub.fieldbyname('MPID').AsString<>'' then
begin
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',1)=2 then exit;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('delete from ML_Manage_PB where MPID='''+trim(CDS_Sub.fieldbyname('MPID').AsString)+'''');
ExecSQL;
end;
end;
CDS_Sub.Delete;
BHCZhu();
end;
procedure TfrmMLManage_FHLR.ToolButton5Click(Sender: TObject);
begin
if Order_GX.IsEmpty then exit;
if Order_GX.fieldbyname('GXID').AsString<>'' then
begin
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',1)=2 then exit;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('delete from ML_Manage_GX where GXID='''+trim(CDS_Sub.fieldbyname('GXID').AsString)+'''');
ExecSQL;
end;
end;
Order_GX.Delete;
end;
procedure TfrmMLManage_FHLR.TAddClick(Sender: TObject);
begin
frmBPZDY_LR:=TfrmBPZDY_LR.create(self);
with frmBPZDY_LR do
begin
flag:='GXName';
flagName:='<27><><EFBFBD><EFBFBD>';
ViewFlag:=true;
V1BPMF.Visible:=false;
V1BPKZ.Visible:=false;
V1BPJS.Visible:=false;
//V1BPWS.Visible:=false;
v1BPMiDu.Caption:='<27><><EFBFBD><EFBFBD>';
ToolBar2.Visible:=false;
cxGrid2.Visible:=false;
if ShowModal=1 then
begin
with Order_GX do
begin
append;
FieldByName('XHNo').Value:=Trim(ClientDataSet1.fieldbyname('BPMiDu').AsString);
FieldByName('BPCode').Value:=Trim(ClientDataSet1.fieldbyname('BPCode').AsString);
FieldByName('BPName').Value:=Trim(ClientDataSet1.fieldbyname('BPName').AsString);
FieldByName('BPID').Value:=Trim(ClientDataSet1.fieldbyname('BPID').AsString);
post;
end;
end;
free;
end;
end;
procedure TfrmMLManage_FHLR.MLDLNoBtnClick(Sender: TObject);
begin
frmBPZDY_SH:=TfrmBPZDY_SH.Create(self);
with frmBPZDY_SH do
begin
flag:='SHK';
flagName:=<>ſ<EFBFBD>';
ViewFlag:=true;
if ShowModal=1 then
begin
MLDLNo.Text:=Trim(ClientDataSet1.fieldbyname('BPCode').AsString);
FBPID:=Trim(ClientDataSet1.fieldbyname('BPID').AsString);
ML_GYS.DisableControls;
with ML_GYS do
begin
first;
while not eof do
begin
with ML_Col do
begin
Append;
FieldByName('BPSeHao').Value:=Trim(ML_GYS.fieldbyname('BPSeHao').AsString);
FieldByName('BPCol').Value:=Trim(ML_GYS.fieldbyname('BPCol').AsString);
FieldByName('BPColEng').Value:=Trim(ML_GYS.fieldbyname('BPColEng').AsString);
FieldByName('BPNote').Value:=Trim(ML_GYS.fieldbyname('BPNote').AsString);
post;
end;
Next;
end;
end;
ML_GYS.EnableControls;
end;
free;
end;
end;
procedure TfrmMLManage_FHLR.TMLAddClick(Sender: TObject);
begin
frmMLMange_ADDCX:=TfrmMLMange_ADDCX.Create(self);
with frmMLMange_ADDCX do
begin
if ShowModal=1 then
begin
with CDS_Sub do
begin
Append;
FieldByName('ZXHNo').AsInteger:=CDS_Sub.RecordCount+1;
FieldByName('BPCode').Value:=CDS_Main.fieldbyname('MLNo').AsString;
FieldByName('BPID').Value:=Trim(CDS_Main.fieldbyname('MLID').AsString);
FieldByName('BPName').Value:=CDS_Main.fieldbyname('MLName').AsString;
FieldByName('BPMF').Value:=CDS_Main.fieldbyname('MLMF').AsString;
FieldByName('BPKZ').Value:=CDS_Main.fieldbyname('MLKZ').AsString;
post;
end;
GYLX.Text:=CDS_Main.fieldbyname('GYLX').AsString+'<27><>F';
GYLXName.Text:=CDS_Main.fieldbyname('GYLXName').AsString+'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
BHCZhu();
end;
free;
end;
end;
procedure TfrmMLManage_FHLR.DLHXKBtnClick(Sender: TObject);
begin
frmBPZDY_HXK:=TfrmBPZDY_HXK.Create(self);
with frmBPZDY_HXK do
begin
flag:='HXK';
flagName:='<27><><EFBFBD>Ϳ<EFBFBD>';
ViewFlag:=true;
if ShowModal=1 then
begin
DLHXK.Text:=Trim(ClientDataSet1.fieldbyname('BPCode').AsString);
FHXBPID:=Trim(ClientDataSet1.fieldbyname('BPID').AsString);
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select A.*,B.* from BP_ZDY_Sub A ');
Sql.Add('inner join KH_Zdy_Attachment B on A.HXATID=B.ATID and B.Type=''CPHX''');
sql.Add(' where A.BPCode='''+trim(DLHXK.Text)+'''');
open;
end;
SCreateCDS20(ADOQueryCmd,Ord_HX);
SInitCDSData20(ADOQueryCmd,Ord_HX);
end;
free;
end;
end;
procedure TfrmMLManage_FHLR.JSNameBtnClick(Sender: TObject);
begin
frmBPZDY_LR:=TfrmBPZDY_LR.Create(self);
with frmBPZDY_LR do
begin
flag:='JSName';
flagName:='<27><>ˮ';
Panel2.Visible:=false;
cxGrid3.Visible:=false;
cxGrid1.Align:=alClient;
V1BPJS.Visible:=false;
v1BPMiDu.Visible:=false;
V1BPKZ.Visible:=false;
V1BPMF1.Visible:=false;
ViewFlag:=true;
if ShowModal=1 then
begin
JSName.Text:=Trim(ClientDataSet1.fieldbyname('BPName').AsString);
end;
free;
end;
end;
procedure TfrmMLManage_FHLR.V1ZXHNoPropertiesEditValueChanged(
Sender: TObject);
var mavlue:string;
begin
mavlue:=TcxTextEdit(Sender).EditingText;
if mavlue='' then mavlue:='0';
with CDS_Sub do
begin
edit;
FieldByName('ZXHNo').Value:=mavlue;
end;
BHCZhu();
end;
procedure TfrmMLManage_FHLR.V1ZhengfanPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:='zhengfan';
flagname:='<27><><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
with CDS_Sub do
begin
edit;
FieldByName('Zhengfan').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
free;
end;
end;
end.