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

467 lines
13 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_Bpkcsumlistsel;
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;
type
TfrmBpkcsumlistSEL = 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;
CYID: TEdit;
fromsubid: TEdit;
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 Tv1DblClick(Sender: TObject);
private
procedure InitGrid();
procedure SetComboBox();
{ Private declarations }
public
fType: integer;
fCKName: string;
canshu2: string;
CANSHU8: string;
CANSHU1: string;
{ Public declarations }
end;
var
frmBpkcsumlistSEL: TfrmBpkcsumlistSEL;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_BpRk;
{$R *.dfm}
procedure TfrmBpkcsumlistSEL.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 TfrmBpkcsumlistSEL.InitGrid();
begin
try
with adoqueryTmp do
begin
close;
sql.Clear;
sql.Add('exec P_View_YpKc ');
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'' ');
// ShowMessage(SQL.Text);
open;
end;
SCreateCDS20(adoqueryTmp, CDS_Main);
SInitCDSData20(adoqueryTmp, CDS_Main);
finally
end;
end;
procedure TfrmBpkcsumlistSEL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if fType = 10 then
Action := cahide
else
Action := cafree;
end;
procedure TfrmBpkcsumlistSEL.FormDestroy(Sender: TObject);
begin
frmBpkcsumlistSEL := nil;
end;
procedure TfrmBpkcsumlistSEL.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 TfrmBpkcsumlistSEL.FormShow(Sender: TObject);
begin
readCxGrid(self.Caption, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>ѡ<EFBFBD><D1A1>5');
if fType = 10 then
begin
TOk.Visible := true;
v1Ssel.Visible := true;
end;
if CANSHU1 = '<27><>ѯ' then
begin
Tv1.OptionsData.Editing := False;
ToolButton1.Visible := False;
end
else
begin
Tv1.OptionsData.Editing := True;
ToolButton1.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 TfrmBpkcsumlistSEL.FormCreate(Sender: TObject);
begin
BegDate.Date := DServerDate - 7;
EndDate.Date := DServerDate;
cxGrid1.Align := alclient;
end;
procedure TfrmBpkcsumlistSEL.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>ѡ<EFBFBD><D1A1>5');
close;
end;
procedure TfrmBpkcsumlistSEL.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TfrmBpkcsumlistSEL.TBPrintClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmBpkcsumlistSEL.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmBpkcsumlistSEL.TOkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
ModalResult := 1;
end;
procedure TfrmBpkcsumlistSEL.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 TfrmBpkcsumlistSEL.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 TfrmBpkcsumlistSEL.CheckBox2Click(Sender: TObject);
begin
initgrid();
end;
procedure TfrmBpkcsumlistSEL.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 TfrmBpkcsumlistSEL.FormActivate(Sender: TObject);
begin
InitGrid();
if CANSHU8 = '1' then
begin
SDofilter(ADOQueryTmp, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryTmp, CDS_Main);
SInitCDSData20(ADOQueryTmp, CDS_Main);
end;
end;
procedure TfrmBpkcsumlistSEL.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 TfrmBpkcsumlistSEL.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 TfrmBpkcsumlistSEL.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 YP_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 TfrmBpkcsumlistSEL.Tv1DblClick(Sender: TObject);
begin
if fType <> 10 then
Exit;
if CDS_Main.IsEmpty then
Exit;
ModalResult := 1;
end;
end.