D7myYunxiang/云翔生产管理(MYSC.dll)/U_QCRKList_SD.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

491 lines
13 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_QCRKList_SD;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter,
RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls,
Menus, cxButtonEdit, cxDropDownEdit, cxPC;
type
TfrmQCRKList_SD = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBClose: TToolButton;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
Order_Main: TClientDataSet;
Panel1: TPanel;
v1Column1: TcxGridDBColumn;
Label34: TLabel;
v1Column7: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
MYCode: TEdit;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
ToolButton4: TToolButton;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport2: TRMXLSExport;
CDS_PRT: TClientDataSet;
v1Column17: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
Label2: TLabel;
MYName: TEdit;
v1Column3: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
Label1: TLabel;
Note: TEdit;
v1GYLXName: TcxGridDBColumn;
Label5: TLabel;
GYLXName: TEdit;
labMYType: TLabel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
CheckBox1: TCheckBox;
Label3: TLabel;
MYColor: TEdit;
ToolButton1: TToolButton;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxMYColorNo: TcxGridDBColumn;
cxGangQty: TcxGridDBColumn;
cxPS: TcxGridDBColumn;
cxKgQty: TcxGridDBColumn;
cxQty: TcxGridDBColumn;
cxNote: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
cxMYColor: TcxGridDBColumn;
Order_MX: TClientDataSet;
DataSource2: TDataSource;
ADOQuery1: TADOQuery;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure CustomerNoNameChange(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ZJStatusChange(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TV2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
canshu1:string;
DQdate:TDateTime;
procedure InitGrid();
procedure InitForm();
function DelData():Boolean;
{ Private declarations }
public
FFInt,FCloth:Integer;
{ Public declarations }
end;
var
frmQCRKList_SD: TfrmQCRKList_SD;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp,U_QCRKInPut_SD,U_LLRKInPut_SD;
{$R *.dfm}
procedure TfrmQCRKList_SD.FormDestroy(Sender: TObject);
begin
frmQCRKList_SD:=nil;
end;
procedure TfrmQCRKList_SD.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmQCRKList_SD.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
end;
procedure TfrmQCRKList_SD.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>RS21',Tv1,<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid('<27>ڳ<EFBFBD><DAB3><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>RS21',Tv2,<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmQCRKList_SD.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select A.CRTime,A.MYCode,A.MYName,B.GYLXName,Sum(A.GangQty) GangQty ');
sql.Add(',Sum(PS) PS,Sum(KgQty) KgQty,Sum(Qty) Qty');
sql.Add(' from CK_MYSC_CR A ');
sql.Add(' inner join ML_Manage B on A.MLID=B.MLID');
sql.Add(' where 1=1 ');
if CheckBox1.Checked=False then
begin
sql.Add(' and CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date))+'''');
sql.Add(' and CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
BegDate.Visible:=false;
EndDate.Visible:=false;
end
else
begin
sql.Add(' and CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''');
sql.Add(' and CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
BegDate.Visible:=true;
EndDate.Visible:=true;
end;
sql.Add(' and isnull(CRType,'''')=''<27>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>'' ');
{if Trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add(' and FillerCode='''+Trim(DCode)+'''');
end; }
sql.Add('group by A.CRTime,A.MYCode,A.MYName,B.GYLXName');
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmQCRKList_SD.InitForm();
begin
BegDate.Date:=SGetServerDateMBeg(ADOQueryTemp);
EndDate.Date:=SGetServerDate(ADOQueryTemp);
ReadCxGrid('<27>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>RS21',Tv1,<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid('<27>ڳ<EFBFBD><DAB3><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>RS21',Tv2,<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
InitGrid();
end;
procedure TfrmQCRKList_SD.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
procedure TfrmQCRKList_SD.TBDelClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_MYSC_CR_MX where MYID='''+Trim(Order_Main.fieldbyname('MYID').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Application.MessageBox('<27>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!','<27><>ʾ',0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
if DelData() then
begin
//Order_Main.Delete;
end;
end;
function TfrmQCRKList_SD.DelData():Boolean;
begin
try
Result:=false;
ADOQueryCmd.Connection.BeginTrans;
Order_Main.DisableControls;
with Order_Main do
begin
//First;
// while Order_Main.Locate('SSel',True,[]) do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' insert into CK_MYSC_CR_Log ');
sql.Add(' select * from CK_MYSC_CR where MYID='''+Trim(Order_Main.fieldbyname('MYID').AsString)+'''');
sql.Add(' UPdate CK_MYSC_CR_Log Set DelTime=getdate(),DelerCode='''+Trim(DCode)+''',Deler='''+Trim(DName)+'''');
sql.Add(' where MYID='''+Trim(Order_Main.fieldbyname('MYID').AsString)+'''');
sql.Add('Delete CK_MYSC_CR where MYId='''+Trim(Order_Main.fieldbyname('MYId').AsString)+'''');
ExecSQL;
end;
Order_Main.Delete;
end;
end;
Order_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
except
ADOQueryCmd.Connection.RollbackTrans;
Result:=False;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>','<27><>ʾ',0);
end;
end;
procedure TfrmQCRKList_SD.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel(Self.Caption,cxGrid1);
end;
procedure TfrmQCRKList_SD.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmQCRKList_SD.TBAddClick(Sender: TObject);
var
maxno:string;
begin
try
frmLLRKInPut_SD:=TfrmLLRKInPut_SD.Create(Application);
with frmLLRKInPut_SD do
begin
PState:=0;
FMainId:='';
FRead:='';
if ShowModal=1 then
begin
InitGrid();
end;
end;
finally
frmLLRKInPut_SD.Free;
end;
end;
procedure TfrmQCRKList_SD.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmQCRKList_SD.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmQCRKList_SD.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmQCRKList_SD.ToolButton1Click(Sender: TObject);
begin
if Order_MX.IsEmpty then Exit;
try
frmQCRKInPut_SD:=TfrmQCRKInPut_SD.Create(Application);
with frmQCRKInPut_SD do
begin
PState:=1;
FMainId:=Trim(Self.Order_MX.fieldbyname('MYId').AsString);
TBSave.Visible:=False;
FRead:='';
BtnDel.Visible:=False;
cxGroupBox1.Visible:=False;
if ShowModal=1 then
begin
InitGrid();
end;
end;
finally
frmQCRKInPut_SD.Free;
end;
end;
procedure TfrmQCRKList_SD.CustomerNoNameChange(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
procedure TfrmQCRKList_SD.N2Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_MYSC_CR_MX where MYID='''+Trim(Order_Main.fieldbyname('MYID').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Application.MessageBox('<27>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!','<27><>ʾ',0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
if DelData() then
begin
//Order_Main.Delete;
end;
end;
procedure TfrmQCRKList_SD.N1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmQCRKInPut_SD:=TfrmQCRKInPut_SD.Create(Application);
with frmQCRKInPut_SD do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('MYId').AsString);
if ShowModal=1 then
begin
InitGrid();
end;
end;
finally
frmQCRKInPut_SD.Free;
end;
end;
procedure TfrmQCRKList_SD.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmQCRKList_SD.ZJStatusChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmQCRKList_SD.ToolButton4Click(Sender: TObject);
var
fPrintFile:string;
begin
if Order_Main.IsEmpty then Exit;
if Trim(Order_Main.fieldbyname('Chker').AsString)='' then exit;
fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD><E2B1A8>.rmf';
RMXLSExport2:= TRMXLSExport.Create(RMXLSExport2);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Test_Report where TRId='''+Trim(Order_Main.fieldbyname('TRId').AsString)+'''');
Open;
end;
SCreateCDS20(ADOQueryTemp,CDS_PRT);
SInitCDSData20(ADOQueryTemp,CDS_PRT);
if FileExists(fPrintFile) then
begin
//RMVariables['OrderUnit']:=Order_Main.fieldbyname('OrderUnit').Value;
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD><E2B1A8>.rmf'),'<27><>ʾ',0);
end;
end;
procedure TfrmQCRKList_SD.TBEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmQCRKInPut_SD:=TfrmQCRKInPut_SD.Create(Application);
with frmQCRKInPut_SD do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('MYId').AsString);
if ShowModal=1 then
begin
InitGrid();
end;
end;
finally
frmQCRKInPut_SD.Free;
end;
end;
procedure TfrmQCRKList_SD.TV2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
ToolButton1.Click;
end;
procedure TfrmQCRKList_SD.Tv1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
try
ADOQuery1.DisableControls;
with ADOQuery1 do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select A.*,B.GYLXName ');
sql.Add(' from CK_MYSC_CR A ');
sql.Add(' inner join ML_Manage B on A.MLID=B.MLID');
sql.Add(' where 1=1 ');
SQL.Add(' and A.MYCode='''+trim(Order_Main.fieldbyname('MYCode').AsString)+'''');
SQL.Add(' and A.MYName='''+trim(Order_Main.fieldbyname('MYName').AsString)+'''');
SQL.Add(' and B.GYLXName='''+trim(Order_Main.fieldbyname('GYLXName').AsString)+'''');
if CheckBox1.Checked=False then
begin
sql.Add(' and CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date))+'''');
sql.Add(' and CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
end
else
begin
sql.Add(' and CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''');
sql.Add(' and CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
end;
sql.Add(' and isnull(CRType,'''')=''<27>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>'' ');
Open;
end;
SCreateCDS20(ADOQuery1,Order_MX);
SInitCDSData20(ADOQuery1,Order_MX);
finally;
ADOQuery1.EnableControls;
end;
end;
end.