D7gmYongjin/染整计划(DyeingFinishingPlan.dll)/U_SMHXList.pas

350 lines
9.9 KiB
ObjectPascal
Raw Permalink Normal View History

2026-03-04 09:51:44 +08:00
unit U_SMHXList;
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;
type
TfrmSMHXList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ToolButton1: TToolButton;
cxTabControl1: TcxTabControl;
cxGridPopupMenu1: TcxGridPopupMenu;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column2: TcxGridDBColumn;
v1Column24: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Panel1: TPanel;
Label3: TLabel;
Label2: TLabel;
Label5: TLabel;
Label10: TLabel;
Label15: TLabel;
Label22: TLabel;
Label1: TLabel;
Label6: TLabel;
Label7: TLabel;
MPRTCodeName: TEdit;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
orderNo: TEdit;
CkOrdNo: TEdit;
conNo: TEdit;
begtime: TDateTimePicker;
endTime: TDateTimePicker;
KHName: TEdit;
Edit1: TEdit;
ywy: TEdit;
v1Column11: TcxGridDBColumn;
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 TBFindClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure SPIDKeyPress(Sender: TObject; var Key: Char);
procedure SPSpecChange(Sender: TObject);
procedure FactoryNameChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure ToolButton1Click(Sender: TObject);
procedure CkOrdNoChange(Sender: TObject);
private
canshu1, canshu2: string;
procedure InitGrid();
function YFData(): Boolean;
{ Private declarations }
public
FCKName: string;
{ Public declarations }
end;
var
frmSMHXList: TfrmSMHXList;
implementation
uses
U_DataLink, U_Fun;
{$R *.dfm}
function TfrmSMHXList.YFData(): Boolean;
var
Maxno: string;
begin
Result := False;
if GetLSNo(ADOQueryCmd, Maxno, 'DC', 'CK_SXPB_CR', 3, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where 1=2');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('SPID').Value := Trim(Maxno);
FieldByName('HXCKOrdNo').Value := Trim(CDS_Main.fieldbyname('CKOrdNo').AsString);
FieldByName('CKName').Value := '<27><><EFBFBD>첼';
FieldByName('CRType').Value := <><C9A8><EFBFBD><EFBFBD><EFBFBD>޳<EFBFBD><DEB3><EFBFBD>';
FieldByName('CRTime').Value := CDS_Main.fieldbyname('CKDate').Value;
FieldByName('ToFactoryName').Value := Trim(CDS_Main.fieldbyname('KHNmae').AsString);
FieldByName('conNo').Value := Trim(CDS_Main.fieldbyname('conNo').AsString);
FieldByName('OrderNo').Value := Trim(CDS_Main.fieldbyname('OrderNo').AsString);
FieldByName('ORDMainIdRK').Value := Trim(CDS_Main.fieldbyname('MainId').AsString);
FieldByName('SPCode').Value := Trim(CDS_Main.fieldbyname('MPRTCode').AsString);
FieldByName('SPMF').Value := Trim(CDS_Main.fieldbyname('MPRTMF').AsString);
FieldByName('SPName').Value := Trim(CDS_Main.fieldbyname('MPRTCodeName').AsString);
FieldByName('SPKZ').Value := Trim(CDS_Main.fieldbyname('MPRTKZ').AsString);
FieldByName('CRFlag').Value := '<27><><EFBFBD><EFBFBD>';
FieldByName('CRQtyFlag').Value := -1;
FieldByName('PiQty').Value := CDS_Main.fieldbyname('ps').Value;
if CDS_Main.fieldbyname('Qty').ASFLOAT > 0 then
begin
FieldByName('Qty').Value := CDS_Main.fieldbyname('Qty').Value;
FieldByName('QtyUnit').Value := 'M';
end;
if CDS_Main.fieldbyname('NETKGQty').ASFLOAT > 0 then
begin
FieldByName('Qty').Value := CDS_Main.fieldbyname('NETKGQty').Value;
FieldByName('QtyUnit').Value := 'Kg';
end;
FieldByName('Filler').Value := Trim(DName);
Post;
end;
Result := True;
end;
procedure TfrmSMHXList.FormDestroy(Sender: TObject);
begin
frmSMHXList := nil;
end;
procedure TfrmSMHXList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caHide;
end;
procedure TfrmSMHXList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime;
canshu1 := Trim(DParameters1);
canshu2 := Trim(DParameters2);
end;
procedure TfrmSMHXList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select AA.* ');
sql.Add(' ,B.orderNo,B.MPRTCode,B.MPRTCodeName,B.MPRTMF,B.MPRTKZ,B.conNo,B.KHconNo,B.lidan,B.ywy ');
sql.Add(' from ( ');
sql.Add(' select count(A.MJID) PS,SUM(A.NETKGQty) NETKGQty,SUM(A.KGQty) KGQty, SUM(A.Qty) Qty,A.CKOrdNo,A.MainId,A.QtyUnit ');
sql.Add(' ,D.KHNmae,D.CKDate,D.CKType');
sql.Add(' from CK_BanCP_CR A ');
sql.Add(' inner join CK_BanCP_CKList D on A.CKOrdNo=D.CKOrdNo ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and D.CKType=''<27><><EFBFBD>޳<EFBFBD><DEB3><EFBFBD>'' ');
sql.Add(' and D.CKDate>=' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)));
sql.Add(' and D.CKDate<' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)));
sql.Add(' GROUP BY A.CKOrdNo,A.MainId,A.QtyUnit ,D.KHNmae,D.CKDate,D.CKType ) AA ');
sql.Add(' inner join JYOrder_Main B on AA.MainId=B.MainId ');
Open;
if cxTabControl1.TabIndex = 0 then
SQL.Add(' and not exists(select SPID from CK_SXPB_CR X where X.HXCKOrdNo=AA.CKOrdNo ) ')
else
SQL.Add(' and exists(select SPID from CK_SXPB_CR X where X.HXCKOrdNo=AA.CKOrdNo )');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmSMHXList.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
InitGrid();
end;
procedure TfrmSMHXList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmSMHXList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption, Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmSMHXList.FormShow(Sender: TObject);
begin
ReadCxGrid(self.Caption, Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
{ if Trim(canshu2)='<27>鿴' then
begin
TBAdd.Visible:=False;
TBDel.Visible:=False;
TBEdit.Visible:=False;
end else
begin
TBAdd.Visible:=True;
TBDel.Visible:=True;
TBEdit.Visible:=True;
end;}
//InitGrid();
end;
procedure TfrmSMHXList.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 TfrmSMHXList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmSMHXList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmSMHXList.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_SXPB_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 TfrmSMHXList.SPSpecChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmSMHXList.FactoryNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmSMHXList.cxTabControl1Change(Sender: TObject);
begin
INITGrid();
end;
procedure TfrmSMHXList.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button = mbright then
end;
procedure TfrmSMHXList.ToolButton1Click(Sender: TObject);
begin
if cxTabControl1.TabIndex <> 0 then
Exit;
while CDS_Main.Locate('SSel', True, []) do
begin
if YFData() = false then
begin
Exit;
end;
CDS_Main.Delete;
end;
end;
procedure TfrmSMHXList.CkOrdNoChange(Sender: TObject);
begin
TBFind.Click;
end;
end.