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

612 lines
17 KiB
ObjectPascal
Raw Permalink 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_CX;
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, Buttons;
type
TfrmQCRKList_CX = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: 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;
v1PS: TcxGridDBColumn;
Label34: TLabel;
v1MYCode: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
MYCode: TEdit;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
ToolButton4: TToolButton;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport2: TRMXLSExport;
CDS_PRT: TClientDataSet;
v1KgQty: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
Label2: TLabel;
MYName: TEdit;
v1Qty: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
Label1: TLabel;
KuWei: TEdit;
Label5: TLabel;
MXGYLXName: TEdit;
labMYType: TLabel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
CheckBox1: TCheckBox;
Label3: TLabel;
MYColorNo: TEdit;
ToolButton1: TToolButton;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
Order_MX: TClientDataSet;
DataSource2: TDataSource;
ADOQuery1: TADOQuery;
v1MYColor: TcxGridDBColumn;
v1MYColorNo: TcxGridDBColumn;
Label4: TLabel;
MYColor: TEdit;
cxStyleRepository2: TcxStyleRepository;
cxStyle2: TcxStyle;
cxStyle3: TcxStyle;
cxKgQty1: TcxGridDBColumn;
cxQty1: TcxGridDBColumn;
V2Filler: TcxGridDBColumn;
Label6: TLabel;
Filler: TEdit;
cxSplitter1: TcxSplitter;
cxMXGYLXName: TcxGridDBColumn;
cxKuWei: TcxGridDBColumn;
cxMPS: TcxGridDBColumn;
N3: TMenuItem;
V2filltime: TcxGridDBColumn;
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 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 MXGYLXNameChange(Sender: TObject);
procedure N3Click(Sender: TObject);
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_CX: TfrmQCRKList_CX;
implementation
uses
U_DataLink,U_RTFun, U_QCRKInPut,U_ZDYHelp,U_LLRKInPut_SD,U_QCRKInPut_SD,U_QCRKInPut_CPNo;
{$R *.dfm}
procedure TfrmQCRKList_CX.FormDestroy(Sender: TObject);
begin
frmQCRKList_CX:=nil;
end;
procedure TfrmQCRKList_CX.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmQCRKList_CX.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
end;
procedure TfrmQCRKList_CX.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>RS211111',Tv1,<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid('<27>ڳ<EFBFBD><DAB3><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>RS21111121',Tv2,<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmQCRKList_CX.InitGrid();
begin
try
self.ADOQueryMain.DisableControls;
with self.ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select convert(varchar(10),A.CRTime,120) CRTime,A.MYCode,A.MYName,A.MYColor,A.MYColorNo,Sum(A.GangQty) GangQty ');
sql.Add(',Sum(MXKCPiQty) PS,Sum(MXKCKgQty) KgQty,Sum(MXKCQty) Qty');
sql.Add(' from CK_MYSC_CR A ');
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><DAB3><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.Add('group by convert(varchar(10),A.CRTime,120),A.MYCode,A.MYName,A.MYColor,A.MYColorNo');
//ShowMessage(sql.Text);
Open;
end;
SCreateCDS20(self.ADOQueryMain,self.Order_Main);
SInitCDSData20(self.ADOQueryMain,self.Order_Main);
TBFind.Click;
finally
self.ADOQueryMain.EnableControls;
end;
end;
procedure TfrmQCRKList_CX.InitForm();
begin
//BegDate.Date:=SGetServerDateMBeg(ADOQueryTemp);
//EndDate.Date:=SGetServerDate(ADOQueryTemp);
ReadCxGrid('<27>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>RS211111',Tv1,<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid('<27>ڳ<EFBFBD><DAB3><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>RS21111121',Tv2,<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
InitGrid();
end;
procedure TfrmQCRKList_CX.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_CX.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 RKNO='''+Trim(Order_Main.fieldbyname('RKNO').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_CX.DelData():Boolean;
begin
try
Result:=false;
ADOQueryCmd.Connection.BeginTrans;
Order_MX.DisableControls;
with Order_MX 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 RKNo='''+Trim(Order_MX.fieldbyname('RKNo').AsString)+''' ');
sql.Add(' and isnull(CRType,'''')=''<27>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.Add(' UPdate CK_MYSC_CR_Log Set DelTime=getdate(),DelerCode='''+Trim(DCode)+''',Deler='''+Trim(DName)+'''');
sql.Add(' where RKNo='''+Trim(Order_MX.fieldbyname('RKNo').AsString)+'''');
sql.Add(' Delete CK_MYSC_CR where RKNo='''+Trim(Order_MX.fieldbyname('RKNo').AsString)+'''');
sql.Add(' and isnull(CRType,'''')=''<27>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>'' ');
ExecSQL;
end;
Order_MX.Delete;
end;
Order_MX.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_CX.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel(Self.Caption,cxGrid1);
end;
procedure TfrmQCRKList_CX.TBRafreshClick(Sender: TObject);
begin
self.InitGrid();
end;
procedure TfrmQCRKList_CX.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmQCRKList_CX.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmQCRKList_CX.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmQCRKList_CX.ToolButton1Click(Sender: TObject);
begin
if Order_MX.IsEmpty then Exit;
if Order_MX.FieldByName('YICeng').AsString='' then
begin
try
frmQCRKInPut:=TfrmQCRKInPut.Create(Application);
with frmQCRKInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_MX.fieldbyname('RKNO').AsString);
TBSave.Visible:=False;
FRead:='';
BtnDel.Visible:=False;
cxGroupBox1.Visible:=False;
if self.cxKgQty1.Visible=True then
begin
UnitKG.Text:='<27><>';
end
else
begin
UnitKG.Text:='';
end;
if cxQty1.Visible=True then
begin
UnitM.Text:='<27><>';
end
else
begin
UnitM.Text:='';
end;
if ShowModal=1 then
begin
InitGrid();
end;
end;
finally
frmQCRKInPut.Free;
end;
end
else
begin
try
frmQCRKInPut_CPNo:=TfrmQCRKInPut_CPNo.Create(Application);
with frmQCRKInPut_CPNo do
begin
PState:=1;
FMainId:=Trim(Self.Order_MX.fieldbyname('RKNO').AsString);
TBSave.Visible:=False;
FRead:='';
BtnDel.Visible:=False;
cxGroupBox1.Visible:=False;
if self.cxKgQty1.Visible=True then
begin
UnitKG.Text:='<27><>';
end
else
begin
UnitKG.Text:='';
end;
if cxQty1.Visible=True then
begin
UnitM.Text:='<27><>';
end
else
begin
UnitM.Text:='';
end;
if ShowModal=1 then
begin
InitGrid();
end;
end;
finally
frmQCRKInPut_CPNo.Free;
end;
end;
end;
procedure TfrmQCRKList_CX.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_CX.N2Click(Sender: TObject);
begin
if Order_MX.IsEmpty then Exit;
if Order_MX.FieldByName('PS').AsFloat<>0 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
end;
end;
procedure TfrmQCRKList_CX.N1Click(Sender: TObject);
begin
if Order_MX.IsEmpty then Exit;
if Order_MX.FieldByName('YICeng').AsString='' then
begin
if Pos('W',Order_Main.FieldByName('MYCode').AsString)=1 then
begin
try
frmQCRKInPut_SD:=TfrmQCRKInPut_SD.Create(Application);
with frmQCRKInPut_SD do
begin
PState:=1;
FMainId:=Trim(Self.Order_MX.fieldbyname('RKNo').AsString);
cxGroupBox1.Visible:=false;
TBSave.Caption:='<27>޸ı<DEB8><C4B1><EFBFBD>';
Panel6.PopupMenu:=nil;
//Button3.Visible:=false;
if ShowModal=1 then
begin
InitGrid();
end;
end;
finally
frmQCRKInPut_SD.Free;
end;
end
else
begin
try
frmQCRKInPut:=TfrmQCRKInPut.Create(Application);
with frmQCRKInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_MX.fieldbyname('RKNo').AsString);
cxGroupBox1.Visible:=false;
TBSave.Caption:='<27>޸ı<DEB8><C4B1><EFBFBD>';
//Button3.Visible:=false;
if ShowModal=1 then
begin
InitGrid();
end;
end;
finally
frmQCRKInPut.Free;
end;
end;
end
else
begin
try
frmQCRKInPut_CPNo:=TfrmQCRKInPut_CPNo.Create(Application);
with frmQCRKInPut_CPNo do
begin
PState:=1;
FMainId:=Trim(Self.Order_MX.fieldbyname('RKNo').AsString);
cxGroupBox1.Visible:=false;
TBSave.Caption:='<27>޸ı<DEB8><C4B1><EFBFBD>';
Panel6.PopupMenu:=nil;
//Button3.Visible:=false;
if ShowModal=1 then
begin
InitGrid();
end;
end;
finally
frmQCRKInPut_CPNo.Free;
end;
end;
end;
procedure TfrmQCRKList_CX.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmQCRKList_CX.ZJStatusChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmQCRKList_CX.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_CX.TBEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmQCRKInPut:=TfrmQCRKInPut.Create(Application);
with frmQCRKInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('RKNO').AsString);
if ShowModal=1 then
begin
InitGrid();
end;
end;
finally
frmQCRKInPut.Free;
end;
end;
procedure TfrmQCRKList_CX.TV2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
ToolButton1.Click;
end;
procedure TfrmQCRKList_CX.MXGYLXNameChange(Sender: TObject);
begin
if ADOQuery1.Active=False then Exit;
SDofilter(ADOQuery1,SGetFilters(Panel1,3,4));
SCreateCDS20(ADOQuery1,Order_MX);
SInitCDSData20(ADOQuery1,Order_MX);
end;
procedure TfrmQCRKList_CX.N3Click(Sender: TObject);
begin
if Order_MX.IsEmpty then Exit;
try
frmQCRKInPut:=TfrmQCRKInPut.Create(Application);
with frmQCRKInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_MX.fieldbyname('RKNo').AsString);
//Button3.Visible:=false;
if ShowModal=1 then
begin
InitGrid();
end;
end;
finally
frmQCRKInPut.Free;
end;
end;
procedure TfrmQCRKList_CX.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 B.MXGYLXName,A.Filler,A.Filltime,A.RKNo,Count(distinct B.RCGangNo) GangQty,Count(B.JH) PS');
sql.Add(',Sum(B.KgQty) MXKGQty,Sum(B.MQty) MXMQty,B.KuWei,B.MXNote,YICeng,ERCeng,SanCeng,SICeng,WUCeng,LIUCeng');
sql.Add(' from CK_MYSC_CR A ');
sql.Add(' inner join CK_MYSC_CR_MX B on B.MYId=A.MYId');
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 isnull(A.MYColor,'''')='''+trim(Order_Main.fieldbyname('MYColor').AsString)+'''');
SQL.Add(' and isnull(A.MYColorNo,'''')='''+trim(Order_Main.fieldbyname('MYColorNo').AsString)+'''');
if Order_Main.IsEmpty=false then
sql.Add(' and convert(varchar(10),A.CRTime,120)='''+trim(FormatDateTime('yyyy-MM-dd',Order_Main.fieldbyname('CRTime').AsDateTime))+'''');
sql.Add(' and isnull(CRType,'''')=''<27>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>'' ');
SQL.Add(' group by B.MXGYLXName,A.Filler,A.Filltime,A.RKNo,B.KuWei,B.MXNote,YICeng,ERCeng,SanCeng,SICeng,WUCeng,LIUCeng');
//showmessage(sql.text);
Open;
end;
SCreateCDS20(ADOQuery1,Order_MX);
SInitCDSData20(ADOQuery1,Order_MX);
if Order_Main.fieldbyname('KgQty').AsFloat=0 then
begin
cxKgQty1.Visible:=false;
end
else
begin
cxKgQty1.Visible:=true;
end;
if Order_Main.fieldbyname('Qty').AsFloat=0 then
begin
cxQty1.Visible:=false;
end
else
begin
cxQty1.Visible:=true;
end;
finally;
ADOQuery1.EnableControls;
end;
end;
end.