D7myYunxiang/云翔生产管理(MYSC.dll)/U_XiShouDataOldList.pas

312 lines
8.4 KiB
ObjectPascal
Raw Normal View History

2025-01-20 13:04:03 +08:00
unit U_XiShouDataOldList;
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, cxCalendar,StrUtils, cxDropDownEdit,jpeg,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, cxPC,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGroupBox, cxCheckBox,
RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport,IniFiles;
type
TfrmXiShouDataOldList = class(TForm)
ToolBar1: TToolBar;
TBClose: TToolButton;
ADOTemp: TADOQuery;
ADOCmd: TADOQuery;
ADOQuery1: TADOQuery;
TBSave: TToolButton;
DataSource1: TDataSource;
CDS_Sub: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
Label21: TLabel;
Label26: TLabel;
Label19: TLabel;
Panel3: TPanel;
labMYType: TLabel;
Panel2: TPanel;
Label13: TLabel;
Label27: TLabel;
CRTime: TDateTimePicker;
FactoryName: TBtnEditA;
CKNO: TEdit;
Label22: TLabel;
Panel16: TPanel;
Button1: TButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column11: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1Column7: TcxGridDBColumn;
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FactoryNameBtnClick(Sender: TObject);
private
procedure InitData();
function SaveData():Boolean;
{ Private declarations }
public
canshu1:String;
PState,CopyInt:Integer;
FMainId:String;
{ Public declarations }
end;
var
frmXiShouDataOldList: TfrmXiShouDataOldList;
implementation
uses
U_DataLink,U_ZDYHelp,U_RTFun,U_ZDYHelpSel, U_GYSList,U_SCPerson,U_QCRKJLList,U_RSColorBig,
U_RTPTColor,U_KHListSelJJ,U_ZHCPBigTP,U_LLRKMXInPut;
{$R *.dfm}
procedure TfrmXiShouDataOldList.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmXiShouDataOldList.InitData();
begin
ReadCxGrid('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>',Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
CRTime.Date:=SGetServerDate(ADOQueryTemp);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_YCL_CR_Main ');
sql.Add(' where SMID='''+Trim(FMainId)+'''');
Open;
end;
SCSHData(ADOQueryTemp,Panel1,2);
FactoryName.Text:=Trim(ADOQueryTemp.fieldbyname('FactoryName').AsString);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from CK_YCL_CR A');
sql.Add(' where SMID='''+Trim(FMainId)+'''');
Open;
end;
SCreateCDS20(ADOQueryTemp,CDS_Sub);
SInitCDSData20(ADOQueryTemp,CDS_Sub);
end;
procedure TfrmXiShouDataOldList.FormShow(Sender: TObject);
begin
InitData();
end;
function TfrmXiShouDataOldList.SaveData():Boolean;
var
FCRID,Maxno,FFSPID,MMaxNo:string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
if Trim(FMainId)='' then
begin
if GetLSNo(ADOQueryCmd,MMaxNo,'SM','CK_YCL_CR_Main',3,1)=False then
begin
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end else
begin
MMaxNo:=Trim(FMainId);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from CK_YCL_CR_Main where SMID='''+Trim(MMaxNo)+'''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(FMainId)='' then
begin
Append;
FieldByName('Filler').Value:=Trim(DName);
end else
begin
Edit;
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp);
FieldByName('Editer').Value:=Trim(DName);
end;
FieldByName('SMID').Value:=Trim(MMaxNo);
FieldByName('CKName').Value:='<27><>Ʒ<EFBFBD>ֿ<EFBFBD>';
FieldByName('CRFlag').Value:='<27><><EFBFBD><EFBFBD>';
FieldByName('CRQtyFlag').Value:=-1;
RTSetsavedata(ADOQueryCmd,'CK_YCL_CR_Main',Panel1,2);
Post;
end;
CDS_Sub.DisableControls;
with CDS_Sub do
begin
First;
while not eof do
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_YCL_CR where SPID='''+Trim(CDS_Sub.fieldbyname('SPID').AsString)+'''');
open;
end;
FFSPID:=Trim(ADOQueryTemp.fieldbyname('SPID').AsString);
if Trim(FFSPID)='' then
begin
if GetLSNo(ADOQueryCmd,Maxno,'SC','CK_YCL_CR',3,1)=False then
begin
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><D3B1><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end else
begin
Maxno:=Trim(FFSPID);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from CK_YCL_CR where SPID='''+Trim(Maxno)+'''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(FFSPID)='' then
begin
Append;
end else
begin
Edit;
end;
FieldByName('SMID').Value:=Trim(MMaxno);
FieldByName('SPID').Value:=Trim(Maxno);
RTSetSaveDataCDS(ADOQueryCmd,Tv1,CDS_Sub,'CK_YCL_CR',2);
if Trim(FFSPID)='' then
FieldByName('Filler').Value:=Trim(DName)
else
begin
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDate(ADOQueryTemp);
end;
Post;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select MXKCQty=sum(HSQty*CRQtyFlag) from CK_YCL_CR A inner join CK_YCL_CR_Main B on A.SMID=B.SMID where B.CKName=''<27><>Ʒ<EFBFBD>ֿ<EFBFBD>'' ');
sql.Add(' and isnull(SPName,'''')='''+Trim(CDS_Sub.fieldbyname('SPName').AsString)+'''');
sql.Add(' and isnull(QtyUnit,'''')='''+Trim(CDS_Sub.fieldbyname('QtyUnit').AsString)+'''');
sql.Add(' and isnull(SPSpec,'''')='''+Trim(CDS_Sub.fieldbyname('SPSpec').AsString)+'''');
sql.Add(' and ZFFlag=0 ');
Open;
end;
if ADOQueryTemp.FieldByName('MXKCQty').Value<0 then
begin
CDS_Sub.DisableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
Edit;
FieldByName('SPID').Value:=Trim(Maxno);
Post;
Next;
end;
end;
CDS_Sub.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
FMainId:=Trim(MMaxNo);
Result:=True;
except
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmXiShouDataOldList.TBSaveClick(Sender: TObject);
begin
ToolBar1.SetFocus;
if Trim(KHName.Text)='' then
begin
Application.MessageBox('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('SPName',null,[])=True then
begin
Application.MessageBox('Ʒ<><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('HSQty',null,[])=True then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('QtyUnit',null,[])=True then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
ModalResult:=1;
end;
end;
Procedure TfrmXiShouDataOldList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
ModalResult:=1;
end;
procedure TfrmXiShouDataOldList.FactoryNameBtnClick(Sender: TObject);
begin
try
frmKHListSelJJ:=TfrmKHListSelJJ.Create(Application);
with frmKHListSelJJ do
begin
frmKHListSelJJ.canshu2:='<27><>Ȩ<EFBFBD><C8A8>';
if ShowModal=1 then
begin
Self.FactoryName.Text:=Trim(frmKHListSelJJ.CDS_HZ.fieldbyname('KHNameJC').AsString);
Self.FactoryName.TxtCode:=Trim(frmKHListSelJJ.CDS_HZ.fieldbyname('KHNo').AsString);
end;
end;
finally
frmKHListSelJJ.Free;
end;
end;
end.