D7myYunxiang/染厂码单(PBMDDJ.dll)/U_DJBRKDDList.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

653 lines
17 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_DJBRKDDList;
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, BtnEdit,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator;
type
TfrmDJBRKDDList = class(TForm)
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;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
TBDel: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
TBAdd: TToolButton;
TBEdit: TToolButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
SPName: TEdit;
SPID: TEdit;
Label7: TLabel;
OrderNo: TEdit;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Label9: TLabel;
ToFactoryName: TEdit;
Label12: TLabel;
CRType: TComboBox;
Label10: TLabel;
KuWei: TEdit;
Label13: TLabel;
SPColor: TEdit;
v1Column20: TcxGridDBColumn;
v1Column24: TcxGridDBColumn;
ADOQueryPrint: TADOQuery;
TBPrint1: TToolButton;
begTime: TDateTimePicker;
endTime: TDateTimePicker;
v1Column22: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
ToolButton1: TToolButton;
v1Column32: TcxGridDBColumn;
Cmb_BZ: TComboBox;
v1Column34: TcxGridDBColumn;
Label14: TLabel;
QCorderNo: TEdit;
ToolButton2: TToolButton;
Label15: TLabel;
note: TEdit;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
edtnote: TEdit;
FactoryName: TEdit;
Label6: TLabel;
SPColorNo: TEdit;
Tv1Column1: TcxGridDBColumn;
Label8: TLabel;
ZNote: TEdit;
procedure FormDestroy(Sender: TObject);
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 SPIDKeyPress(Sender: TObject; var Key: Char);
procedure SPIDChange(Sender: TObject);
procedure SPSpecChange(Sender: TObject);
procedure FactoryNameChange(Sender: TObject);
procedure TBPrint1Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure v1Column12PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
private
canshu1, canshu2: string;
procedure InitGrid();
{ Private declarations }
public
fckName: string;
{ Public declarations }
end;
var
frmDJBRKDDList: TfrmDJBRKDDList;
implementation
uses
U_DataLink, U_RTFun, U_Fun, U_DJBCKInPut, U_DJBDDRK_Edit, U_ZdyAttachGYS;
{$R *.dfm}
procedure TfrmDJBRKDDList.FormDestroy(Sender: TObject);
begin
frmDJBRKDDList := nil;
end;
procedure TfrmDJBRKDDList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmDJBRKDDList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
canshu1 := Trim(DParameters1);
canshu2 := Trim(DParameters2);
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := SGetServerDate10(ADOQueryTemp);
end;
procedure TfrmDJBRKDDList.InitGrid();
var
mBegdate, mEnddate, fsj: string;
begin
mBegdate := FormatDateTime('yyyy-MM-dd', begdate.Date) + ' ' + FormatDateTime('HH:nn', begTime.Time);
mEnddate := FormatDateTime('yyyy-MM-dd', enddate.Date) + ' ' + FormatDateTime('HH:nn', endTime.Time);
// fsj := 'select distinct(FactoryName) name from CK_XNMD_CR A ';
//
// fsj := fsj + ' where A.CRTime>=''' + FormatDateTime('yyyy-MM-dd', begdate.Date) + ''' ';
// fsj := fsj + ' and A.CRTime<''' + FormatDateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ';
//
// SInitComBoxBySql(ADOQueryTemp, FactoryName, False, fsj);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
Filtered := False;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from CK_XNMD_CR A');
sql.add(' where A.CRTime>=''' + FormatDateTime('yyyy-MM-dd', begdate.Date) + ''' ');
sql.add(' and A.CRTime<''' + FormatDateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ');
SQL.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
SQL.Add(' order by [dbo].[getNum](GangNo) ');
Open;
// ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
tbfind.Click;
end;
end;
procedure TfrmDJBRKDDList.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
InitGrid();
end;
procedure TfrmDJBRKDDList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmDJBRKDDList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD><EFBFBD><ECB2BC><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>1', Tv1, '<27><><EFBFBD><EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmDJBRKDDList.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD><ECB2BC><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>1', Tv1, '<27><><EFBFBD><EFBFBD>ֿ<EFBFBD>');
InitGrid();
end;
procedure TfrmDJBRKDDList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><ECB2BC><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmDJBRKDDList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmDJBRKDDList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmDJBRKDDList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmDJBRKDDList.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select APID from CK_BanCP_CR where isnull(APID,'''')=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + '''');
Open;
end;
if not ADOQueryTemp.IsEmpty then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B2BB>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from YF_money_CR where YFTypeId=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
Application.MessageBox('<27><><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
Exit;
end;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
while CDS_Main.Locate('SSel', True, []) do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete CK_XNMD_CR where SPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + '''');
sql.Add('delete from MD_MJJY where not exists(select SPID from CK_XNMD_CR X where X.SPID=MD_MJJY.APID)');
if Trim(CDS_Main.fieldbyname('CRType').AsString) = '<27>ͻ<EFBFBD><CDBB>˻<EFBFBD>' then
begin
sql.Add('delete from YF_Money_CR ');
sql.Add(' where mainID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + '''');
end;
ExecSQL;
end;
CDS_Main.Delete;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C9BE><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
procedure TfrmDJBRKDDList.TBAddClick(Sender: TObject);
begin
try
frmDJBDDRK_Edit := TfrmDJBDDRK_Edit.Create(Application);
with frmDJBDDRK_Edit do
begin
fkeyNo := '';
fckName := self.fckName;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmDJBDDRK_Edit.Free;
end;
end;
procedure TfrmDJBRKDDList.TBEditClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
if Trim(CDS_Main.fieldbyname('CRType').AsString) = 'ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
Application.MessageBox('ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select APID from CK_BanCP_CR where isnull(APID,'''')=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + '''');
Open;
end;
if not ADOQueryTemp.IsEmpty then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B2BB><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
{ try
frmDJBCKInPut:=TfrmDJBCKInPut.Create(Application);
with frmDJBCKInPut do
begin
FBCId:=Trim(CDS_Main.fieldbyname('SPID').AsString);
TBDel.Visible:=False;
TBAdd.Visible:=False;
fckName:=self.fckName;
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmDJBCKInPut.Free;
end; }
try
frmDJBDDRK_Edit := TfrmDJBDDRK_Edit.Create(Application);
with frmDJBDDRK_Edit do
begin
fkeyNo := Trim(self.CDS_Main.fieldbyname('SPID').AsString);
fckName := self.fckName;
TBDel.Visible := False;
TBAdd.Visible := False;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmDJBDDRK_Edit.Free;
end;
end;
procedure TfrmDJBRKDDList.SPIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
{if Length(Trim(SPID.Text))<4 then Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(',ConNo=(select ConNo from Contract_Main CM where CM.MainId=A.CGMainId)');
//sql.Add(' ,ConNo=(select ConNo from Contract_Main CM where CM.MainId=A.CGMainId )');
sql.Add(' from CK_XNMD_CR A');
sql.add(' where SPID like :SXID');
Parameters.ParamByName('SXID').Value:='%'+Trim(SXID.Text)+'%';
Open;
//ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end; }
end;
end;
procedure TfrmDJBRKDDList.SPIDChange(Sender: TObject);
begin
if Length(Trim(SPID.Text)) < 4 then
begin
if Trim(SPID.Text) <> '' then
Exit;
end;
TBFind.Click;
end;
procedure TfrmDJBRKDDList.SPSpecChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDJBRKDDList.FactoryNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDJBRKDDList.TBPrint1Click(Sender: TObject);
var
fPrintFile: string;
begin
if CDS_Main.IsEmpty then
EXIT;
if CDS_Main.Locate('SSel', True, []) = false then
begin
Application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
EXIT;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete TbForBatch where DName=' + quotedstr(Trim(DName)));
SQL.Add('and MainType=' + quotedstr('<27><EFBFBD><EBB5A5>ӡ'));
ExecSQL;
end;
while CDS_Main.Locate('SSel', True, []) do
begin
with Self.ADOQueryCmd do //WFB_MJJY
begin
Close;
sql.Clear;
sql.Add(' insert into TbForBatch(DName,MainType,Value1) ');
sql.Add(' values( ' + quotedstr(Trim(DName)) + ',' + quotedstr('<27><EFBFBD><EBB5A5>ӡ') + ',' + quotedstr(Trim(Self.CDS_Main.FieldByName('SPID').AsString)) + ')');
ExecSQL;
end;
with CDS_Main do
begin
Edit;
FieldByName('SSel').Value := False;
Post;
end;
Next;
end;
ExportFtErpFile(trim(Cmb_BZ.Text) + '.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(Cmb_BZ.Text) + '.rmf';
if Cmb_BZ.Text = '<27><><EFBFBD><EFBFBD><EFBFBD>뵥1' then
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKMD11 ' + quotedstr(Trim(DName)));
Open;
end;
end;
if Cmb_BZ.Text = '<27><><EFBFBD><EFBFBD><EFBFBD>뵥2' then
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKMD22 ' + quotedstr(Trim(DName)));
Open;
end;
end;
if Cmb_BZ.Text = '<27><><EFBFBD><EFBFBD><EFBFBD>뵥3' then
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKMD33 ' + quotedstr(Trim(DName)));
Open;
end;
end;
if Cmb_BZ.Text = '<27><><EFBFBD><EFBFBD><EFBFBD>뵥4' then
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKMD44 ' + quotedstr(Trim(DName)));
Open;
end;
end;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmDJBRKDDList.ToolButton1Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
try
frmDJBDDRK_Edit := TfrmDJBDDRK_Edit.Create(Application);
with frmDJBDDRK_Edit do
begin
fkeyNo := Trim(self.CDS_Main.fieldbyname('SPID').AsString);
fckName := self.fckName;
TBDel.Visible := False;
TBAdd.Visible := False;
TBsave.Visible := false;
Tv2.OptionsData.Editing := false;
Tv2.OptionsData.Deleting := false;
tv2.OnCellDblClick := nil;
Tv1.OptionsData.Editing := false;
Label3.Visible := false;
Label5.Visible := false;
QtyMX.Visible := false;
if ShowModal = 1 then
begin
// Self.InitGrid();
end;
end;
finally
frmDJBDDRK_Edit.Free;
end;
end;
procedure TfrmDJBRKDDList.ToolButton2Click(Sender: TObject);
begin
try
frmDJBDDRK_Edit := TfrmDJBDDRK_Edit.Create(Application);
with frmDJBDDRK_Edit do
begin
CopyFlag := 1;
fkeyNo := Trim(self.CDS_Main.fieldbyname('SPID').AsString);
fckName := self.fckName;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmDJBDDRK_Edit.Free;
end;
end;
procedure TfrmDJBRKDDList.v1Column12PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' update CK_XNMD_CR set ' + FFieldName + ' = ' + QuotedStr(mvalue));
sql.Add(' where SPID= ' + quotedstr(Trim(self.CDS_Main.fieldbyname('SPID').AsString)));
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmDJBRKDDList.ToolButton4Click(Sender: TObject);
var
fPrintFile: string;
WSql: 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;
WSql := '';
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while CDS_Main.Locate('SSel', True, []) do
begin
if WSql <> '' then
WSql := WSql + ',' + QuotedStr(Trim(CDS_Main.fieldbyname('SPId').AsString))
else
WSql := 'where SPID in (' + QuotedStr(Trim(CDS_Main.fieldbyname('SPId').AsString));
Edit;
FieldByName('SSel').Value := False;
Post;
end;
end;
CDS_Main.EnableControls;
WSql := WSql + ')';
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' update CK_XNMD_CR set note=' + QuotedStr(trim(edtnote.Text)));
sql.Add(WSql);
// ShowMessage(SQL.Text);
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C9BE><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
InitGrid();
end;
end.