D7myzhenyong/船样仓库(样品&印花)/U_CYGGkcsumlist.pas
DESKTOP-E401PHE\Administrator 237de1c308 0
2025-08-26 15:25:51 +08:00

542 lines
16 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_CYGGkcsumlist;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
cxGrid, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxCheckBox,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxTextEdit, cxCalendar,
math;
type
TfrmCYGGkcsumlist = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBExport: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1P_CodeName: TcxGridDBColumn;
v1P_SPEC: TcxGridDBColumn;
v1P_MF: TcxGridDBColumn;
v1P_KZ: TcxGridDBColumn;
v1RollNum: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Label2: TLabel;
Label4: TLabel;
P_Code: TEdit;
P_spec: TEdit;
CRType: TComboBox;
Label5: TLabel;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
TOk: TToolButton;
v1Ssel: TcxGridDBColumn;
CheckBox1: TCheckBox;
ckName: TComboBox;
Label6: TLabel;
v1Column1: TcxGridDBColumn;
v1P_Code: TcxGridDBColumn;
P_CodeName: TEdit;
Label7: TLabel;
Label8: TLabel;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
Label9: TLabel;
Edit1: TEdit;
Label10: TLabel;
VCfactoryName: TcxGridDBColumn;
v1defnote5: TcxGridDBColumn;
CheckBox2: TCheckBox;
v1kuwei: TcxGridDBColumn;
ToolButton1: TToolButton;
P_Color: TEdit;
Label11: TLabel;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Label12: TLabel;
FROMOrderno: TEdit;
ToolButton2: TToolButton;
lbl1: TLabel;
kuwei: TEdit;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
CheckBox3: TCheckBox;
Label3: TLabel;
P_HX: TEdit;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Panel6: TPanel;
Label31: TLabel;
LBCPAP: TLabel;
BTLP: TButton;
BTNP: TButton;
TCBNOR: TComboBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure P_CodeChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBPrintClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TOkClick(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure CheckBox2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
procedure ToolButton2Click(Sender: TObject);
procedure v1kuweiPropertiesEditValueChanged(Sender: TObject);
procedure Tv1Column8PropertiesEditValueChanged(Sender: TObject);
procedure BTNPClick(Sender: TObject);
procedure BTLPClick(Sender: TObject);
procedure TCBNORChange(Sender: TObject);
procedure P_CodeKeyPress(Sender: TObject; var Key: Char);
private
procedure InitGrid();
procedure SetComboBox();
{ Private declarations }
public
fType: integer;
fCKName: string;
canshu2: string;
CurrentPage, RecordsNumber: Integer;
{ Public declarations }
end;
var
frmCYGGkcsumlist: TfrmCYGGkcsumlist;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_BpRk;
{$R *.dfm}
procedure TfrmCYGGkcsumlist.SetComboBox();
begin
ckName.Items.Clear;
with adoQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_ZDY where Type=''YPCK'' ');
if trim(fCKName) <> '' then
sql.Add('and zdyName=' + quotedstr(trim(fCKName)));
open;
while not eof do
begin
ckName.Items.Add(trim(fieldbyname('zdyName').AsString));
next;
end;
end;
if ckName.Items.Count > 0 then
ckName.ItemIndex := 0;
CRType.Items.Clear;
CRType.Items.Add('');
with adoQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_ZDY where Type=''YPRKTYPE''');
if trim(fCKName) <> '' then
sql.Add('and note=' + quotedstr(trim(fCKName)));
open;
while not eof do
begin
CRType.Items.Add(trim(fieldbyname('zdyName').AsString));
next;
end;
end;
if CRType.Items.Count > 0 then
CRType.ItemIndex := 0;
with adoqueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from KH_Zdy where Type=''YPKCJYFLAG''');
open;
if not IsEmpty then
Edit1.Text := trim(fieldbyname('zdyName').AsString);
end;
end;
procedure TfrmCYGGkcsumlist.InitGrid();
var
fwhere, Pwhere: string;
begin
Pwhere := SGetFilters(Panel1, 1, 2);
begin
if trim(Pwhere) <> '' then
fwhere := fwhere + ' and ' + trim(Pwhere);
end;
try
with adoqueryTmp do
begin
close;
sql.Clear;
sql.Add('exec P_View_CYGGKc_cs ');
sql.Add('@pageIndex=' + inttostr(CurrentPage));
sql.Add(',@pageSize=' + inttostr(RecordsNumber));
sql.Add(' ,@yjNum=''' + trim(Edit1.text) + ''' ');
if CheckBox1.Checked then
sql.Add(',@iskc=''1'' ')
else
sql.Add(',@iskc=''0'' ');
if CheckBox2.Checked then
sql.Add(',@isyj=''1'' ')
else
sql.Add(',@isyj=''0'' ');
sql.Add(',@criteria= ' + quotedstr(fwhere));
open;
end;
SCreateCDS20(adoqueryTmp, CDS_Main);
SInitCDSData20(adoqueryTmp, CDS_Main);
LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber));
finally
end;
end;
procedure TfrmCYGGkcsumlist.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if fType = 10 then
Action := cahide
else
Action := cafree;
end;
procedure TfrmCYGGkcsumlist.FormDestroy(Sender: TObject);
begin
frmcyggkcsumlist := nil;
end;
procedure TfrmCYGGkcsumlist.P_CodeChange(Sender: TObject);
begin
if ADOQueryTmp.Active = False then
Exit;
SDofilter(ADOQueryTmp, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryTmp, CDS_Main);
SInitCDSData20(ADOQueryTmp, CDS_Main);
end;
procedure TfrmCYGGkcsumlist.FormShow(Sender: TObject);
begin
CurrentPage := 1;
RecordsNumber := 500;
readCxGrid(self.Caption, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>5');
if fType = 10 then
begin
TOk.Visible := true;
v1Ssel.Visible := true;
end;
// if canshu2 = 'ҵ<><D2B5>Ա' then
// begin
// v1factoryName.Visible := false;
// v1factoryName.Hidden := true;
// end
// else
// begin
// v1factoryName.Visible := true;
// v1factoryName.Hidden := false;
// end;
SetComboBox();
end;
procedure TfrmCYGGkcsumlist.FormCreate(Sender: TObject);
begin
BegDate.Date := DServerDate - 7;
EndDate.Date := DServerDate;
cxGrid1.Align := alclient;
end;
procedure TfrmCYGGkcsumlist.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>5');
close;
end;
procedure TfrmCYGGkcsumlist.TBRafreshClick(Sender: TObject);
begin
CurrentPage := 1;
initGrid();
end;
procedure TfrmCYGGkcsumlist.TBPrintClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmCYGGkcsumlist.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmCYGGkcsumlist.TOkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
ModalResult := 1;
end;
procedure TfrmCYGGkcsumlist.CheckBox1Click(Sender: TObject);
begin
if checkbox3.Checked = True then
begin
P_Code.Tag := 1;
end
else
begin
P_Code.Tag := 2;
end;
initgrid();
if ADOQueryTmp.Active = False then
Exit;
SDofilter(ADOQueryTmp, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryTmp, CDS_Main);
SInitCDSData20(ADOQueryTmp, CDS_Main);
// ToolButton2.Click();
end;
procedure TfrmCYGGkcsumlist.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
// if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('kcQty').Index] < strtofloatdef(trim(edit1.Text), 0) then
// ACanvas.Brush.Color := $008080FF;
end;
procedure TfrmCYGGkcsumlist.CheckBox2Click(Sender: TObject);
begin
initgrid();
end;
procedure TfrmCYGGkcsumlist.ToolButton1Click(Sender: TObject);
begin
frmZDYHelp := TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag := 'YPKCJYFLAG';
caption := '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
V1Name.Caption := <><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
showmodal;
free;
end;
with adoqueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from KH_Zdy where Type=''YPKCJYFLAG''');
open;
if not IsEmpty then
Edit1.Text := trim(fieldbyname('zdyName').AsString);
end;
TBRafresh.Click;
end;
procedure TfrmCYGGkcsumlist.FormActivate(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCYGGkcsumlist.Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
var
FValue: string;
FBounds: TRect;
begin
FBounds := AViewInfo.Bounds;
if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then
begin
ACanvas.FillRect(FBounds);
ACanvas.DrawComplexFrame(FBounds, clBtnHighlight, clBtnShadow, [bBottom, bLeft, bRight], 1);
FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index + 1);
InflateRect(FBounds, -1, -1); //Platform specific. May not work on Linux.
ACanvas.Font.Color := clBlack;
ACanvas.Brush.Style := bsClear;
ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop);
ADone := True;
end;
end;
procedure TfrmCYGGkcsumlist.ToolButton2Click(Sender: TObject);
var
STR: string;
begin
if CDS_Main.IsEmpty = true then
begin
Exit;
end;
// if InputQuery('<27>޸Ŀ<DEB8>λ', '<27>޸Ŀ<DEB8>λ<EFBFBD><CEBB>', trim(CDS_Main.fieldbyname('kuwei').asstring)) then
// begin
// with ADOQueryTmp do
// begin
// close;
// sql.Clear;
// sql.Add('update ');
// open;
// end;
// end
// else
// begin
// Exit;
// end;
end;
procedure TfrmCYGGkcsumlist.v1kuweiPropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CYGG_InOut set kuwei=' + quotedstr(Trim(mvalue)));
sql.Add('where isnull(FROMOrderno,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('FROMOrderno').AsString)));
sql.Add('and isnull(frommainid,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('frommainid').AsString)));
sql.Add('and isnull(fromsubid,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('fromsubid').AsString)));
sql.Add('and isnull(ywy,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('ywy').AsString)));
sql.Add('and isnull(Price,0)=' + Trim(CDS_Main.fieldbyname('Price').AsString));
sql.Add('and isnull(factoryname,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('factoryname').AsString)));
sql.Add('and isnull(P_Code,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('P_Code').AsString)));
sql.Add('and isnull(P_codename,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('P_codename').AsString)));
sql.Add('and isnull(P_spec,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('P_spec').AsString)));
sql.Add('and isnull(P_cf,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('P_cf').AsString)));
sql.Add('and isnull(P_Color,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('P_Color').AsString)));
sql.Add('and isnull(P_HX,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('P_HX').AsString)));
sql.Add('and isnull(QtyUnit,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('QtyUnit').AsString)));
sql.Add('and isnull(shazhi,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('shazhi').AsString)));
sql.Add('and isnull(kuwei,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('kuwei').AsString)));
sql.Add('and isnull(P_SKZ,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('P_SKZ').AsString)));
sql.Add('and isnull(YPCFD,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('YPCFD').AsString)));
sql.Add('and isnull(JuanHao,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('JuanHao').AsString)));
sql.Add('and isnull(ISCGPZ,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('ISCGPZ').AsString)));
sql.Add('and isnull(YPType,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('YPType').AsString)));
ExecSQL;
end;
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmCYGGkcsumlist.Tv1Column8PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CYGG_InOut set KCNOTE=' + quotedstr(Trim(mvalue)));
sql.Add('where isnull(FROMOrderno,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('FROMOrderno').AsString)));
sql.Add('and isnull(frommainid,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('frommainid').AsString)));
sql.Add('and isnull(fromsubid,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('fromsubid').AsString)));
sql.Add('and isnull(ywy,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('ywy').AsString)));
sql.Add('and isnull(Price,0)=' + Trim(CDS_Main.fieldbyname('Price').AsString));
sql.Add('and isnull(factoryname,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('factoryname').AsString)));
sql.Add('and isnull(P_Code,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('P_Code').AsString)));
sql.Add('and isnull(P_codename,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('P_codename').AsString)));
sql.Add('and isnull(P_spec,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('P_spec').AsString)));
sql.Add('and isnull(P_cf,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('P_cf').AsString)));
sql.Add('and isnull(P_Color,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('P_Color').AsString)));
sql.Add('and isnull(P_HX,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('P_HX').AsString)));
sql.Add('and isnull(QtyUnit,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('QtyUnit').AsString)));
sql.Add('and isnull(shazhi,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('shazhi').AsString)));
sql.Add('and isnull(kuwei,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('kuwei').AsString)));
sql.Add('and isnull(P_SKZ,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('P_SKZ').AsString)));
sql.Add('and isnull(YPCFD,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('YPCFD').AsString)));
sql.Add('and isnull(JuanHao,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('JuanHao').AsString)));
sql.Add('and isnull(ISCGPZ,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('ISCGPZ').AsString)));
sql.Add('and isnull(YPType,'''')=' + quotedstr(Trim(CDS_Main.fieldbyname('YPType').AsString)));
ExecSQL;
end;
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmCYGGkcsumlist.BTNPClick(Sender: TObject);
begin
if CurrentPage < CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then
CurrentPage := CurrentPage + 1;
InitGrid();
end;
procedure TfrmCYGGkcsumlist.BTLPClick(Sender: TObject);
begin
if CurrentPage > 1 then
CurrentPage := CurrentPage - 1;
InitGrid();
end;
procedure TfrmCYGGkcsumlist.TCBNORChange(Sender: TObject);
begin
RecordsNumber := StrToInt(TCBNOR.Text);
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCYGGkcsumlist.P_CodeKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
end.