D10xhGemei/T02贸易汇总仓库/U_GeMeiOutputSel.pas
DESKTOP-E401PHE\Administrator f3de0a3270 未完成版本
2025-08-11 17:32:22 +08:00

353 lines
10 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_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.