353 lines
10 KiB
ObjectPascal
353 lines
10 KiB
ObjectPascal
unit U_GeMeiOutputSel;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
|
||
cxEdit, DB, cxDBData, ToolWin, ComCtrls, U_BaseHelp, cxGridCustomTableView,
|
||
cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls,
|
||
cxGridCustomView, cxGrid, DBClient, ADODB, ImgList, StdCtrls, ExtCtrls,
|
||
cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels,
|
||
cxLookAndFeelPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu,
|
||
System.ImageList, U_BaseInput, cxContainer, cxImageList,
|
||
dxScrollbarAnnotations, dxSkinsCore, dxSkinsDefaultPainters;
|
||
|
||
type
|
||
TfrmGeMeiOutputSel = class(TfrmBaseHelp)
|
||
TV1: TcxGridDBTableView;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
cxGrid1: TcxGrid;
|
||
ToolBar1: TToolBar;
|
||
ADOQueryMain: TADOQuery;
|
||
ADOQueryTemp: TADOQuery;
|
||
ADOQueryCmd: TADOQuery;
|
||
DS_1: TDataSource;
|
||
CDS_1: TClientDataSet;
|
||
TBSave: TToolButton;
|
||
TBClose: TToolButton;
|
||
ToolButton1: TToolButton;
|
||
ADOConnection1: TADOConnection;
|
||
GPM_1: TcxGridPopupMenu;
|
||
ImageList1: TImageList;
|
||
TV1Column1: TcxGridDBColumn;
|
||
TV1Column2: TcxGridDBColumn;
|
||
TV1Column3: TcxGridDBColumn;
|
||
ThreeColorBase: TcxStyleRepository;
|
||
SHuangSe: TcxStyle;
|
||
SkyBlue: TcxStyle;
|
||
Default: TcxStyle;
|
||
QHuangSe: TcxStyle;
|
||
Red: TcxStyle;
|
||
FontBlue: TcxStyle;
|
||
TextSHuangSe: TcxStyle;
|
||
FonePurple: TcxStyle;
|
||
FoneClMaroon: TcxStyle;
|
||
FoneRed: TcxStyle;
|
||
RowColor: TcxStyle;
|
||
handBlack: TcxStyle;
|
||
cxBlue: TcxStyle;
|
||
SHuangSeCu: TcxStyle;
|
||
cxImageList_bar: TcxImageList;
|
||
TV1Column4: TcxGridDBColumn;
|
||
TV1Column5: TcxGridDBColumn;
|
||
TV1Column6: TcxGridDBColumn;
|
||
TV1Column7: TcxGridDBColumn;
|
||
TV1Column8: TcxGridDBColumn;
|
||
TV1Column9: TcxGridDBColumn;
|
||
TV1Column10: TcxGridDBColumn;
|
||
TV1Column11: TcxGridDBColumn;
|
||
TV1Column12: TcxGridDBColumn;
|
||
TV1Column13: TcxGridDBColumn;
|
||
TV1Column14: TcxGridDBColumn;
|
||
TV1Column15: TcxGridDBColumn;
|
||
TV1Column16: TcxGridDBColumn;
|
||
TV1Column17: TcxGridDBColumn;
|
||
TV1Column18: TcxGridDBColumn;
|
||
TV1Column19: TcxGridDBColumn;
|
||
TV1Column20: TcxGridDBColumn;
|
||
TV1Column21: TcxGridDBColumn;
|
||
TV1Column22: TcxGridDBColumn;
|
||
TV1Column23: TcxGridDBColumn;
|
||
TV1Column24: TcxGridDBColumn;
|
||
TV1Column25: TcxGridDBColumn;
|
||
TV1Column26: TcxGridDBColumn;
|
||
TV1Column27: TcxGridDBColumn;
|
||
TV1Column28: TcxGridDBColumn;
|
||
TV1Column29: TcxGridDBColumn;
|
||
TV1Column30: TcxGridDBColumn;
|
||
TV1Column31: TcxGridDBColumn;
|
||
TV1Column32: TcxGridDBColumn;
|
||
TV1Column33: TcxGridDBColumn;
|
||
TV1Column34: TcxGridDBColumn;
|
||
TV1Column35: TcxGridDBColumn;
|
||
TV1Column36: TcxGridDBColumn;
|
||
TV1Column37: TcxGridDBColumn;
|
||
TV1Column38: TcxGridDBColumn;
|
||
TV1Column39: TcxGridDBColumn;
|
||
TV1Column40: TcxGridDBColumn;
|
||
TV1Column41: TcxGridDBColumn;
|
||
TV1Column42: TcxGridDBColumn;
|
||
TV1Column43: TcxGridDBColumn;
|
||
TV1Column44: TcxGridDBColumn;
|
||
TV1Column45: TcxGridDBColumn;
|
||
TV1Column46: TcxGridDBColumn;
|
||
TV1Column47: TcxGridDBColumn;
|
||
TV1Column48: TcxGridDBColumn;
|
||
TV1Column49: TcxGridDBColumn;
|
||
TV1Column50: TcxGridDBColumn;
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure TBSaveClick(Sender: TObject);
|
||
procedure TV1DblClick(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
private
|
||
procedure InitGrid();
|
||
function SaveData(): Boolean;
|
||
{ Private declarations }
|
||
public
|
||
FCoType, FAuthority, FStores,FSTKName: string;
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmGeMeiOutputSel: TfrmGeMeiOutputSel;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_RTFun;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmGeMeiOutputSel.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
inherited;
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmGeMeiOutputSel.FormCreate(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
try
|
||
with ADOConnection1 do
|
||
begin
|
||
Connected := false;
|
||
ConnectionString := DConString;
|
||
Connected := true;
|
||
end;
|
||
ADOQueryBaseCmd.Connection := ADOConnection1;
|
||
ADOQueryBaseTemp.Connection := ADOConnection1;
|
||
except
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmGeMeiOutputSel.InitGrid();
|
||
begin
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add(' select A.* ,Pieceint=CEILING(A.Piece) ');
|
||
sql.Add(' from BS_Cloth_IO A where 1 = 1');
|
||
sql.Add(' and isnull(stkName,'''')=''' + Trim('<27><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>') + '''');
|
||
sql.Add(' and IOFlag=''<27><><EFBFBD><EFBFBD>'' ');
|
||
sql.Add(' order by IOTime desc');
|
||
|
||
Open;
|
||
end;
|
||
|
||
SCreateCDS(ADOQueryMain, CDS_1);
|
||
SInitCDSData(ADOQueryMain, CDS_1);
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmGeMeiOutputSel.FormShow(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
|
||
InitGrid();
|
||
|
||
ReadCxGrid('<27><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>' + Trim(FCoType), TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
|
||
end;
|
||
|
||
procedure TfrmGeMeiOutputSel.TBCloseClick(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
Close;
|
||
end;
|
||
|
||
procedure TfrmGeMeiOutputSel.TBSaveClick(Sender: TObject);
|
||
begin
|
||
WriteCxGrid('<27><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>' + Trim(FCoType), TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
|
||
end;
|
||
|
||
procedure TfrmGeMeiOutputSel.ToolButton1Click(Sender: TObject);
|
||
var
|
||
MBCIONO: string;
|
||
begin
|
||
|
||
|
||
//Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
|
||
ModalResult:=1;
|
||
|
||
|
||
end;
|
||
|
||
function TfrmGeMeiOutputSel.SaveData(): Boolean;
|
||
var
|
||
Maxno, MBCIOID: string;
|
||
begin
|
||
try
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
CDS_1.DisableControls;
|
||
with CDS_1 do
|
||
begin
|
||
First;
|
||
while not eof do
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from BS_Cloth_IO where BCIOID=''' + Trim(CDS_1.fieldbyname('BCIOID').AsString) + '''');
|
||
open;
|
||
end;
|
||
MBCIOID := Trim(ADOQueryTemp.fieldbyname('BCIOID').AsString);
|
||
|
||
if Trim(MBCIOID) = '' then
|
||
begin
|
||
if not GetLSNo(ADOQueryCmd, Maxno, 'MR', 'BS_Cloth_IO', 4, 1) then
|
||
raise Exception.Create('ȡȾɫ<C8BE><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
|
||
end
|
||
else
|
||
begin
|
||
Maxno := Trim(MBCIOID);
|
||
end;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from BS_Cloth_IO where BCIOID=''' + Trim(Maxno) + '''');
|
||
Open;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
if Trim(MBCIOID) = '' then
|
||
begin
|
||
Append;
|
||
FieldByName('Fillid').Value := Trim(Dcode);
|
||
FieldByName('Filler').Value := Trim(DName);
|
||
FieldByName('BCIONO').Value := Trim(Maxno);
|
||
FieldByName('BCIOID').Value := Trim(Maxno);
|
||
FieldByName('BCIONO').Value := Trim(Maxno);
|
||
FieldByName('STKID').Value := Trim(Maxno);
|
||
FieldByName('CIID').Value := Trim(Maxno);
|
||
end
|
||
else
|
||
begin
|
||
Edit;
|
||
FieldByName('Editid').Value := Trim(Dcode);
|
||
FieldByName('Editer').Value := Trim(DName);
|
||
FieldByName('EditTime').Value := SGetServerDate(ADOQueryTemp);
|
||
end;
|
||
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_1, 'BS_Cloth_IO', 0);
|
||
FieldByName('FromCoNo').Value := CDS_1.fieldbyname('FromCoNo').Value;
|
||
FieldByName('StkCoNo').Value := CDS_1.fieldbyname('StkCoNo').Value;
|
||
|
||
FieldByName('FromMainId').Value := CDS_1.fieldbyname('FromMainId').Value;
|
||
FieldByName('FromSubId').Value := CDS_1.fieldbyname('FromSubId').Value;
|
||
|
||
FieldByName('FromConMId').Value := CDS_1.fieldbyname('FromConMId').Value;
|
||
FieldByName('FromConSId').Value := CDS_1.fieldbyname('FromConSId').Value;
|
||
|
||
FieldByName('FromPurMId').Value := CDS_1.fieldbyname('FromPurMId').Value;
|
||
FieldByName('FromPurSId').Value := CDS_1.fieldbyname('FromPurSId').Value;
|
||
|
||
FieldByName('FromTPNID').Value := CDS_1.fieldbyname('FromTPNID').Value;
|
||
|
||
//FieldByName('STKName').Value := FSTKName;
|
||
FieldByName('IOFlag').Value := '<27><><EFBFBD><EFBFBD>';
|
||
FieldByName('IOQtyFlag').Value := 1;
|
||
Post;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('Update BS_Cloth_IO Set StkPiece=(select Sum(isnull(Piece,0)*IOQtyFlag) from BS_Cloth_IO A where A.STKID=BS_Cloth_IO.BCIOID )');
|
||
sql.Add(',StkQty=(select Sum(isnull(Qty,0)*IOQtyFlag) from BS_Cloth_IO A where A.STKID=BS_Cloth_IO.BCIOID )');
|
||
sql.Add(' where BCIOID=''' + Trim(Maxno) + '''');
|
||
ExecSQL;
|
||
end;
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select stkQty,StkPiece from BS_Cloth_IO where BCIOID=''' + Trim(Maxno) + '''');
|
||
Open;
|
||
end;
|
||
if ADOQueryTemp.FieldByName('stkQty').Value < 0 then
|
||
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>!');
|
||
if ADOQueryTemp.FieldByName('StkPiece').Value < 0 then
|
||
raise Exception.Create('<27><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>С<EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>!');
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) ');
|
||
sql.Add('values(''ó<>״<EFBFBD><D7B4>첼<EFBFBD><ECB2BC><EFBFBD><EFBFBD>'' ');
|
||
sql.Add(',' + quotedstr(Maxno));
|
||
sql.Add(',''<27><><EFBFBD><EFBFBD>'' ');
|
||
sql.Add(',' + quotedstr(DName));
|
||
sql.Add(',' + quotedstr(trim(self.Caption)));
|
||
sql.Add(',' + quotedstr(Maxno));
|
||
sql.Add(') ');
|
||
ExecSQL;
|
||
end;
|
||
|
||
|
||
Edit;
|
||
FieldByName('BCIOID').Value := Trim(Maxno);
|
||
Post;
|
||
Next;
|
||
end;
|
||
end;
|
||
|
||
CDS_1.EnableControls;
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
|
||
Result := True;
|
||
except
|
||
Result := False;
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmGeMeiOutputSel.TV1DblClick(Sender: TObject);
|
||
begin
|
||
ModalResult := 1;
|
||
end;
|
||
|
||
procedure TfrmGeMeiOutputSel.FormDestroy(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frmGeMeiOutputSel := nil;
|
||
end;
|
||
|
||
end.
|
||
|