375 lines
11 KiB
ObjectPascal
375 lines
11 KiB
ObjectPascal
unit U_XiShouInPut;
|
||
|
||
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
|
||
TfrmXiShouInPut = 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
|
||
frmXiShouInPut: TfrmXiShouInPut;
|
||
implementation
|
||
uses
|
||
U_DataLink,U_ZDYHelp,U_RTFun,U_ZDYHelpSel,U_KHListSelJJ,U_XiaoShouDataOldList;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmXiShouInPut.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 TfrmXiShouInPut.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;
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
procedure TfrmXiShouInPut.FormShow(Sender: TObject);
|
||
begin
|
||
InitData();
|
||
end;
|
||
|
||
function TfrmXiShouInPut.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><EFBFBD><EFBFBD>뵥<EFBFBD>ǼǺ<C7BC>ʧ<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><DBB3><EFBFBD>';
|
||
FieldByName('CRFlag').Value:='<27><><EFBFBD><EFBFBD>';
|
||
FieldByName('CRType').Value:='<27><>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>';
|
||
FieldByName('CRQtyFlag').Value:=-1;
|
||
RTSetsavedata(ADOQueryCmd,'CK_YCL_CR_Main',Panel2,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;
|
||
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 TfrmXiShouInPut.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('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 TfrmXiShouInPut.FormClose(Sender: TObject;
|
||
var Action: TCloseAction);
|
||
begin
|
||
ModalResult:=1;
|
||
end;
|
||
|
||
|
||
|
||
procedure TfrmXiShouInPut.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;
|
||
if Trim(FactoryName.Text)<>'' then
|
||
begin
|
||
Button1.Click;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmXiShouInPut.Button1Click(Sender: TObject);
|
||
begin
|
||
if Trim(FactoryName.Text)='' then
|
||
begin
|
||
Application.MessageBox('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
|
||
Exit;
|
||
end;
|
||
try
|
||
frmXiaoShouDataOldList:=TfrmXiaoShouDataOldList.Create(Application);
|
||
with frmXiaoShouDataOldList do
|
||
begin
|
||
FKHName:=Trim(Self.FactoryName.Text);
|
||
if ShowModal=1 then
|
||
begin
|
||
Self.CKNO.Text:=Trim(frmXiaoShouDataOldList.Order_Main.fieldbyname('CKOrdNo').AsString);
|
||
Self.CRTime.Date:=frmXiaoShouDataOldList.Order_Main.fieldbyname('CRTime').AsDateTime;
|
||
end;
|
||
end;
|
||
finally
|
||
frmXiaoShouDataOldList.Free;
|
||
end;
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select AA.CRTime,AA.CKOrdNo,AA.QtyUnit,AA.JQty,AA.HSQty,JM.ConNo,JM.CustomerNoName,SPName=JM.MPRTCodeName ');
|
||
sql.Add(',SPColor=JS.PRTColor,SPMF=JM.MPRTMF,SPKZ=JS.PRTKZ,SPColorNo=JS.SOrdDefStr1,SPHX=JS.PRTHX,Note=SOrdDefNote8 ');
|
||
sql.Add(',SPID=SOrdDefNote8');
|
||
sql.Add(',Case when isnull(JS.PriceUnit,'''')=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' then ''<27><>'' ');
|
||
sql.Add(' when isnull(PriceUnit,'''')=''RMB'' then ''<27><>'' ');
|
||
sql.Add(' when isnull(PriceUnit,'''')='''' then ''<27><>'' ');
|
||
sql.Add(' else ''$'' end as BZType ');
|
||
sql.Add(',Price=JS.PRTPrice,HZFee=isnull(JS.SOrdqty1,0)+isnull(JS.SOrdqty2,0)+isnull(JS.SOrdqty3,0)+isnull(JS.SOrdqty4,0)');
|
||
sql.Add(',Money=Cast(JS.PRTPrice*AA.HSQty as decimal(18,2))+isnull(JS.SOrdqty1,0)+isnull(JS.SOrdqty2,0)+isnull(JS.SOrdqty3,0)+isnull(JS.SOrdqty4,0)');
|
||
sql.Add('from (');
|
||
sql.Add(' select MainId,SubId,CRTime,CKOrdNo,QtyUnit,JQty=Count(*),HSQty=sum(Qty) ');
|
||
sql.Add(' from CK_BanCP_CR A ');
|
||
sql.Add(' where isnull(A.CKOrdNo,'''')='''+Trim(CKNO.Text)+'''');
|
||
sql.Add(' and isnull(A.CKOrdNo,'''')<>'''' ');
|
||
sql.Add(' and not exists(select * from CK_YCL_CR_Main CM where isnull(CM.CKNO,'''')=isnull(A.CKOrdNo,'''') )');
|
||
sql.Add('Group by MainId,SubId,CRTime,CKOrdNo,QtyUnit)AA');
|
||
sql.Add('inner join JYOrder_Sub JS on AA.SubId=JS.SubId ');
|
||
sql.Add('inner join JYOrder_Main JM on JS.MainId=JM.MainId ');
|
||
|
||
sql.Add('Union All ');
|
||
|
||
sql.Add('select CRTime,CKOrdNo=InOutNo,QtyUnit,JQty=Sum(RollNum),HSQty=Sum(Qty),ConNo,CustomerNoName=CustName');
|
||
sql.Add(',SPName=P_CodeName,SPColor=P_Color,SPMF=Cast(P_MF as varchar(20)),SPKZ=Cast(P_KZ as varchar(20)),SPColorNo=P_ColNo,SPHX=P_HX');
|
||
sql.Add(',Note=Cast(Null as varchar(200)),SPID=Cast(Null as varchar(200)),BZType=''<27><>'' ');
|
||
sql.Add(',Price,HZFee=0.00,Money=sum(Money)');
|
||
sql.Add(' from CP_InOut1 A ');
|
||
sql.Add(' where isnull(A.InOutNo,'''')='''+Trim(CKNO.Text)+'''');
|
||
SQL.Add(' and CRType=''<27><><EFBFBD>۳<EFBFBD><DBB3><EFBFBD>'' ');
|
||
sql.Add('Group by CRTime,InOutNo,QtyUnit,ConNo,CustName,P_CodeName,P_Color,P_MF,P_KZ,P_ColNo,P_HX,Price');
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryTemp,CDS_Sub);
|
||
SInitCDSData20(ADOQueryTemp,CDS_Sub);
|
||
end;
|
||
|
||
end.
|