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

361 lines
9.6 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_XiShouInPutWKC;
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
TfrmXiShouInPutWKC = class(TForm)
ToolBar1: TToolBar;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: 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;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column11: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1Column7: TcxGridDBColumn;
Button1: TButton;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FactoryNameBtnClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
procedure InitData();
function SaveData():Boolean;
{ Private declarations }
public
canshu1:String;
PState,CopyInt:Integer;
FMainId:String;
{ Public declarations }
end;
var
frmXiShouInPutWKC: TfrmXiShouInPutWKC;
implementation
uses
U_DataLink,U_ZDYHelp,U_RTFun,U_ZDYHelpSel,U_KHListSelJJ,U_XiaoShouDataOldList,U_ZHCPListSel;
{$R *.dfm}
procedure TfrmXiShouInPutWKC.TBCloseClick(Sender: TObject);
begin
Close;
ReadCxGrid('<27><>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>',Tv1,<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmXiShouInPutWKC.InitData();
begin
ReadCxGrid('<27><>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>',Tv1,<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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,Panel2,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);
if TBSave.Visible=False then
begin
FactoryName.Enabled:=False;
FactoryName.Color:=clMenu;
Button1.Visible:=False;
Tv1.OptionsSelection.CellSelect:=False;
CRTime.Enabled:=False;
CRTime.Color:=clMenu;
end;
end;
procedure TfrmXiShouInPutWKC.FormShow(Sender: TObject);
begin
InitData();
end;
function TfrmXiShouInPutWKC.SaveData():Boolean;
var
FCRID,Maxno,FFSPID,MMaxNo:string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
if Trim(FMainId)='' then
begin
if Trim(Label21.Caption)='<27>޿<EFBFBD><DEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
if GetLSNo(ADOQueryCmd,MMaxNo,'WK','CK_YCL_CR_Main',3,1)=False then
begin
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǼǺ<C7BC>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end else
if Trim(Label21.Caption)='<27><EFBFBD><E2B5A5><EFBFBD><EFBFBD>' then
begin
if GetLSNo(ADOQueryCmd,MMaxNo,'MD','CK_YCL_CR_Main',3,1)=False then
begin
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǼǺ<C7BC>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
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><DBB3><EFBFBD>';
FieldByName('CRFlag').Value:='<27><><EFBFBD><EFBFBD>';
FieldByName('CRType').Value:=Label21.Caption;
FieldByName('CRQtyFlag').Value:=-1;
RTSetsavedata(ADOQueryCmd,'CK_YCL_CR_Main',Panel2,2);
FieldByName('CKNO').Value:=Trim(MMaxNo);
FieldByName('SPCode').Value:=CDS_Sub.fieldbyname('SPCode').Value;
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;
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 TfrmXiShouInPutWKC.TBSaveClick(Sender: TObject);
begin
ToolBar1.SetFocus;
if Trim(FactoryName.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('JQty',null,[])=True then
begin
Application.MessageBox(<><C6A5><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 TfrmXiShouInPutWKC.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
ModalResult:=1;
end;
procedure TfrmXiShouInPutWKC.FactoryNameBtnClick(Sender: TObject);
begin
if CDS_Sub.IsEmpty=False then Exit;
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;
procedure TfrmXiShouInPutWKC.Button1Click(Sender: TObject);
begin
try
frmZHCPListSel:=TfrmZHCPListSel.Create(Application);
with frmZHCPListSel do
begin
if ShowModal=1 then
begin
with Self.CDS_Sub do
begin
Append;
FieldByName('SPCode').Value:=frmZHCPListSel.Order_Main.fieldbyname('ZIID').Value;
FieldByName('SPMF').Value:=frmZHCPListSel.Order_Main.fieldbyname('ZIMF').Value;
FieldByName('SPKZ').Value:=frmZHCPListSel.Order_Main.fieldbyname('ZIKZ').Value;
FieldByName('SPName').Value:=frmZHCPListSel.Order_Main.fieldbyname('ZIName').Value;
FieldByName('QtyUnit').Value:='M';
Post;
end;
end;
end;
finally
frmZHCPListSel.Free;
end;
end;
end.