D10szGerun/T02贸易汇总仓库/U_WJGZC.pas

643 lines
16 KiB
ObjectPascal
Raw Normal View History

2026-10-13 17:29:49 +08:00
unit U_WJGZC;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC,
cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters,
cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList;
type
TfrmWJGZC = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main: TClientDataSet;
TBDel: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
TBAdd: TToolButton;
TBEdit: TToolButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label8: TLabel;
Label12: TLabel;
C_name: TEdit;
FromCoName: TEdit;
BCIOID: TEdit;
C_spec: TEdit;
IOType: TComboBox;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1Column10: TcxGridDBColumn;
Label10: TLabel;
BatchNo: TEdit;
v1Column11: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
ToolButton1: TToolButton;
Tv1Column1: TcxGridDBColumn;
ToolButton2: TToolButton;
Tv1Column2: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
Tv1Column12: TcxGridDBColumn;
Tv1Column13: TcxGridDBColumn;
Tv1Column14: TcxGridDBColumn;
Tv1Column15: TcxGridDBColumn;
Label6: TLabel;
Label7: TLabel;
Label9: TLabel;
Label11: TLabel;
FromC_ConNo: TEdit;
FromcontractNO: TEdit;
FromoperationNO: TEdit;
FromBuyConNoHZ: TEdit;
Tv1Column16: TcxGridDBColumn;
Tv1Column17: TcxGridDBColumn;
Tv1Column18: TcxGridDBColumn;
Tv1Column19: TcxGridDBColumn;
Tv1Column20: TcxGridDBColumn;
Tv1Column21: TcxGridDBColumn;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
Tv1Column22: TcxGridDBColumn;
Label13: TLabel;
C_goods: TEdit;
Tv1Column23: TcxGridDBColumn;
Tv1Column24: TcxGridDBColumn;
Tv1Column25: TcxGridDBColumn;
Tv1Column26: TcxGridDBColumn;
ToolButton5: TToolButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure BCIOIDChange(Sender: TObject);
procedure C_specChange(Sender: TObject);
procedure FromCoNameChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
private
canshu1, canshu2, canshu3: string;
procedure InitGrid();
procedure setStatus();
{ Private declarations }
public
FSTKName: string;
{ Public declarations }
end;
implementation
uses
U_DataLink, U_RTFun, U_LabelPrint, U_TradeFtyClothInEdit;
{$R *.dfm}
procedure TfrmWJGZC.setStatus();
begin
end;
procedure TfrmWJGZC.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmWJGZC.FormCreate(Sender: TObject);
begin
inherited;
EndDate.DateTime := SGetServerDate(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 30;
canshu1 := Trim(self.fParameters1);
canshu2 := Trim(self.fParameters2);
canshu3 := Trim(self.fParameters3);
end;
procedure TfrmWJGZC.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.*,B.* ');
sql.Add(' from BS_Cloth_IO A');
sql.Add(' INNER JOIN WFB_MJJY B On A.BCIOID=B.BCIOID');
sql.add(' where A.IOTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + '''');
sql.Add(' and A.IOTime<''' + Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)) + '''');
sql.Add(' and isnull(STKNAME,'''')=''' + Trim(FSTKNAME) + '''');
SQL.Add(' and IOFlag=''<27><><EFBFBD><EFBFBD>'' ');
SQL.Add(' and B.CKflag=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(' and isnull(B.MXZC,''0'')=''1'' ');
SQL.Add(' order by IOTime desc,B.MJXH ');
// showmessage(sql.text);
Open;
end;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmWJGZC.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
InitGrid();
end;
procedure TfrmWJGZC.ToolButton1Click(Sender: TObject);
begin
WriteCxGrid(Self.Caption, Tv1, 'ó<>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
end;
procedure TfrmWJGZC.ToolButton2Click(Sender: TObject);
var
MBCIOID: string;
begin
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox('û<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
MBCIOID := '';
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while CDS_Main.Locate('SSel', True, []) do
begin
MBCIOID := MBCIOID + ',' + QuotedStr(Trim(CDS_Main.fieldbyname('BCIOID').AsString));
Edit;
FieldByName('SSel').Value := False;
Post;
end;
end;
CDS_Main.EnableControls;
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'TradeFinishClothInPrt1';
FFiltration1 := MBCIOID;
if ShowModal = 1 then
begin
// Self.InitGrid();
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmWJGZC.ToolButton3Click(Sender: TObject);
begin
// inherited;
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox('û<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if CDS_Main.IsEmpty then
Exit;
if Application.MessageBox('ȷ<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while not Eof do
begin
if CDS_Main.FieldByName('SSel').AsBoolean = True then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from WFB_MJJY where MJID=''' + Trim(CDS_Main.fieldbyname('MJID').AsString) + ''' and CKflag=''<27><><EFBFBD><EFBFBD>'' ');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
CDS_Main.EnableControls;
Application.MessageBox('<27>ѳ<EFBFBD><D1B3>ⲻ<EFBFBD><E2B2BB>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
Exit;
end
else
begin
//begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.add('insert into WFB_MJJY_Del select * from WFB_MJJY where mjid=''' + trim(CDS_Main.fieldbyname('MJID').AsString) + ''' ');
sql.Add('delete WFB_MJJY where MJID=''' + Trim(CDS_Main.fieldbyname('MJID').AsString) + '''');
ExecSQL;
end;
// end;
end;
CDS_Main.Delete;
end
else
Next;
end;
end;
CDS_Main.EnableControls;
end;
procedure TfrmWJGZC.ToolButton4Click(Sender: TObject);
var
WSql: string;
begin
// inherited;
WSql := '';
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox('û<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with CDS_Main do
begin
DisableControls;
First;
while not Eof do
begin
if Fieldbyname('Ssel').AsBoolean then
begin
if WSql <> '' then
begin
WSql := WSql + ',' + quotedstr(Trim(CDS_Main.fieldbyname('MJID').AsString));
end
else
begin
WSql := quotedstr(Trim(CDS_Main.fieldbyname('MJID').AsString));
end;
end;
Next;
end;
EnableControls;
end;
// showmessage(WSql);
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'bqPrint';
FFiltration1 := WSql;
if ShowModal = 1 then
begin
// with ADOQueryCmd do
// begin
// close;
// sql.Clear;
// sql.Add('update Trade_Plan_Card SET status=''9'' ,chker=''' + trim(DName) + ''',Chktime=getdate() ');
// sql.Add(' where EXISTS(select X.RTValue from [dbo].[F_Tool_SplitString](' + quotedstr(WSql) + ','','') X where X.RTValue=Trade_Plan_Card.PCID ) ');
// execsql;
// end;
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmWJGZC.ToolButton5Click(Sender: TObject);
begin
// inherited;
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox('û<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if CDS_Main.IsEmpty then
Exit;
if Application.MessageBox('ȷ<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while not Eof do
begin
if CDS_Main.FieldByName('SSel').AsBoolean = True then
begin
with ADOQueryTemp do
begin
//begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.add('UPDATE Bs_Cloth_IO SET KCPS =KCPS + cast(''' + trim(CDS_Main.fieldbyname('MJXH').AsString) + '''as float) ');
sql.add(', KCSL =KCSL + cast(''' + trim(CDS_Main.fieldbyname('MJLen').AsString) + '''as float) ');
sql.add('where BCIOID=''' + Trim(CDS_Main.fieldbyname('BCIOID').AsString) + ''' ');
// sql.add('insert into WFB_MJJY_Del select * from WFB_MJJY where mjid=''' + trim(CDS_Main.fieldbyname('MJID').AsString) + ''' ');
sql.Add('delete WFB_MJJY where MJID=''' + Trim(CDS_Main.fieldbyname('MJID').AsString) + '''');
ExecSQL;
end;
// end;
end;
CDS_Main.Delete;
end
else
Next;
end;
end;
CDS_Main.EnableControls;
end;
procedure TfrmWJGZC.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmWJGZC.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmWJGZC.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(Self.Caption, Tv1, 'ó<>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
setStatus();
InitGrid();
end;
procedure TfrmWJGZC.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel(FSTKName + '<27><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid1);
end;
procedure TfrmWJGZC.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmWJGZC.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmWJGZC.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmWJGZC.TBDelClick(Sender: TObject);
var
MBCIOID: string;
begin
if CDS_Main.IsEmpty then
Exit;
if Application.MessageBox('ȷ<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox('û<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
MBCIOID := '';
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while CDS_Main.Locate('SSel', True, []) do
begin
MBCIOID := MBCIOID + ',' + Trim(CDS_Main.fieldbyname('BCIOID').AsString);
CDS_Main.Delete;
end;
end;
CDS_Main.EnableControls;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('exec P_Fin_Flow_Judge ');
Sql.Add(' @FFIDS=' + quotedstr(MBCIOID));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
Open;
end;
if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then
begin
Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '<27><>ʾ', 0);
exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) ');
sql.Add('values(''ó<><C3B3><EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(MBCIOID));
sql.Add(',''ɾ<><C9BE>'' ');
sql.Add(',' + quotedstr(DName));
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(MBCIOID));
sql.Add(') ');
Sql.Add('exec P_BS_Cloth_In_Del ');
Sql.Add(' @BCIOIDS=' + quotedstr(MBCIOID));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
InitGrid();
end;
end;
procedure TfrmWJGZC.TBAddClick(Sender: TObject);
begin
try
frmTradeFtyClothInEdit := TfrmTradeFtyClothInEdit.Create(Application);
with frmTradeFtyClothInEdit do
begin
FBCId := '';
frmTradeFtyClothInEdit.canshu3 := Trim(Self.canshu3);
FSTKName := Self.FSTKName;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmTradeFtyClothInEdit.Free;
end;
end;
procedure TfrmWJGZC.TBEditClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
with ADOQueryTemp do
begin
Close;
Sql.Clear;
Sql.Add('exec P_BS_Cloth_In_Edit ');
Sql.Add(' @BCIOIDS=' + quotedstr(Trim(CDS_Main.fieldbyname('BCIOID').AsString)));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
Open;
end;
if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then
begin
Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '<27><>ʾ', 0);
exit;
end;
try
frmTradeFtyClothInEdit := TfrmTradeFtyClothInEdit.Create(Application);
with frmTradeFtyClothInEdit do
begin
FBCId := Trim(CDS_Main.fieldbyname('BCIOID').AsString);
TBDel.Visible := False;
TBAdd.Visible := False;
FSTKName := Self.FSTKName;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmTradeFtyClothInEdit.Free;
end;
end;
procedure TfrmWJGZC.BCIOIDChange(Sender: TObject);
begin
if Length(Trim(BCIOID.Text)) < 4 then
begin
if Trim(BCIOID.Text) <> '' then
Exit;
end;
TBFind.Click;
end;
procedure TfrmWJGZC.C_specChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmWJGZC.FromCoNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmWJGZC.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
end.