D7gmYushang/样品仓库old/U_BpkcMXlist.pas
DESKTOP-E401PHE\Administrator 1d94a89439 0
2025-09-24 13:13:14 +08:00

406 lines
11 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_BpkcMXlist;
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, cxSplitter, cxCalendar;
type
TfrmBpkcMXList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBExport: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Label2: TLabel;
Label3: TLabel;
P_Code: TEdit;
CRType: TComboBox;
Label5: TLabel;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
CheckBox1: TCheckBox;
ckName: TComboBox;
Label6: TLabel;
Label8: TLabel;
P_Color: TEdit;
Label11: TLabel;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
v1INoutNo: TcxGridDBColumn;
v1DefStr6: TcxGridDBColumn;
v1CRTime: TcxGridDBColumn;
v1CRType: TcxGridDBColumn;
cxGridDBColumn1: TcxGridDBColumn;
v1ywy: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
v1CPType: TcxGridDBColumn;
v1P_Color: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
v1Filler: TcxGridDBColumn;
v1FillTime: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
ADOQuery1: TADOQuery;
DataSource2: TDataSource;
CDS_SUB: TClientDataSet;
TV2Column1: TcxGridDBColumn;
TV2Column2: TcxGridDBColumn;
Panel5: TPanel;
Button5: TButton;
Button6: TButton;
Label7: TLabel;
Edit2: TEdit;
ywy1: TLabel;
ywy: TEdit;
TV2Column3: TcxGridDBColumn;
Label4: TLabel;
kuwei: 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 Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure ToolButton2Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure v1P_ColorCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
private
procedure InitGrid();
procedure Initsub();
procedure SetComboBox();
{ Private declarations }
public
fType: integer;
fCKName: string;
canshu2: string;
{ Public declarations }
end;
var
frmBpkcMXList: TfrmBpkcMXList;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_BpRk;
{$R *.dfm}
procedure TfrmBpkcMXList.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;
end;
procedure TfrmBpkcMXList.InitGrid();
begin
Initsub();
end;
procedure TfrmBpkcMXList.Initsub();
begin
try
with ADOQueryTmp do
begin
close;
sql.Clear;
SQL.Add('EXEC P_View_YBMXKC');
// sql.Add('select *,QTY1=(CASE WHEN CRFLAG=''<27><><EFBFBD><EFBFBD>'' then qty else -qty end) from yp_inout where valid=''Y'' ');
// SQL.Add('ORDER BY FROMOrderno,frommainid,fromsubid,factoryname,P_Code,P_spec,P_cf,P_Color,QtyUnit,kuwei,P_SMF,P_Skz,CRTIME DESC');
// ShowMessage(sql.Text);
open;
end;
SCreateCDS20(ADOQueryTmp, CDS_SUB);
SInitCDSData20(ADOQueryTmp, CDS_SUB);
finally
end;
end;
procedure TfrmBpkcMXList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
writeCxGrid(self.Caption, Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
if fType = 10 then
Action := cahide
else
Action := cafree;
end;
procedure TfrmBpkcMXList.FormDestroy(Sender: TObject);
begin
frmBpkcmxlist := nil;
end;
procedure TfrmBpkcMXList.P_CodeChange(Sender: TObject);
begin
if ADOQueryTmp.Active = False then
Exit;
SDofilter(ADOQueryTmp, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryTmp, CDS_SUB);
SInitCDSData20(ADOQueryTmp, CDS_SUB);
end;
procedure TfrmBpkcMXList.FormShow(Sender: TObject);
var
fsj: string;
begin
readCxGrid(self.Caption, Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
// fsj := 'select DISTINCT CRTYPE as name from YP_INOUT where CRFLAG=''<27><><EFBFBD><EFBFBD>'' and valid=''Y'' ';
// SInitComBoxBySql(ADOQueryCmd, RKTYPE, False, fsj);
// 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();
InitGrid();
end;
procedure TfrmBpkcMXList.FormCreate(Sender: TObject);
begin
BegDate.Date := DServerDate - 7;
EndDate.Date := DServerDate;
// cxGrid1.Align := alclient;
end;
procedure TfrmBpkcMXList.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmBpkcMXList.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TfrmBpkcMXList.TBPrintClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid2);
end;
procedure TfrmBpkcMXList.TBExportClick(Sender: TObject);
begin
if CDS_SUB.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid2);
end;
procedure TfrmBpkcMXList.TOkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
ModalResult := 1;
end;
procedure TfrmBpkcMXList.CheckBox1Click(Sender: TObject);
begin
initgrid();
end;
procedure TfrmBpkcMXList.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 := clred;
end;
procedure TfrmBpkcMXList.CheckBox2Click(Sender: TObject);
begin
initgrid();
end;
procedure TfrmBpkcMXList.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;
end;
TBRafresh.Click;
end;
procedure TfrmBpkcMXList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
if CDS_Main.IsEmpty = True then
Exit;
Initsub();
end;
procedure TfrmBpkcMXList.ToolButton2Click(Sender: TObject);
begin
Panel5.Visible := True;
Edit2.Text := Trim(CDS_Main.fieldbyname('kcqty').AsString);
end;
procedure TfrmBpkcMXList.Button5Click(Sender: TObject);
var
MAXNO: string;
begin
try
if GetLSNo(ADOQueryCmd, MAXNO, 'YC', 'YP_InOut', 4, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from YP_INout');
sql.Add('where 1<>1');
open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('Filler').Value := trim(DName);
FieldByName('FillTime').Value := SGetServerDate(ADOQueryTmp);
FieldByName('crTime').Value := SGetServerDate(ADOQueryTmp);
FieldByName('CRNO').Value := trim(MAXNO);
FieldByName('CRID').Value := Trim(MAXNO);
FieldByName('CRQtyFlag').Value := -1;
FieldByName('CRFlag').Value := '<27><><EFBFBD><EFBFBD>';
FieldByName('CRTYPE').Value := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('kuwei').Value := trim(CDS_Main.fieldbyname('kuwei').AsString);
FieldByName('factoryName').Value := trim(CDS_Main.fieldbyname('factoryName').AsString);
FieldByName('P_Code').Value := trim(CDS_Main.fieldbyname('P_Code').AsString);
// FieldByName('YWY').Value := trim(CDS_Main.fieldbyname('YWY').AsString);
FieldByName('P_CodeName').Value := trim(CDS_Main.fieldbyname('P_CodeName').AsString);
FieldByName('P_Color').Value := trim(CDS_Main.fieldbyname('P_Color').AsString);
FieldByName('QtyUnit').Value := trim(CDS_Main.fieldbyname('QtyUnit').AsString);
FieldByName('QTY').Value := CDS_Main.fieldbyname('kcQty').AsFloat - STRTOFLOATDEF(Edit2.Text, 0);
FieldByName('FROMOrderno').Value := trim(CDS_Main.fieldbyname('FROMOrderno').AsString);
FieldByName('frommainid').Value := trim(CDS_Main.fieldbyname('frommainid').AsString);
FieldByName('fromsubid').Value := trim(CDS_Main.fieldbyname('fromsubid').AsString);
FieldByName('P_SMF').Value := trim(CDS_Main.fieldbyname('P_SMF').AsString);
FieldByName('P_SKZ').Value := trim(CDS_Main.fieldbyname('P_SKZ').AsString);
Post;
end;
with CDS_Main do
begin
Edit;
CDS_Main.fieldbyname('kcqty').AsString := edit2.text;
Post;
end;
CDS_Main.EnableControls;
Panel5.Visible := False;
// InitGrid();
except
CDS_Main.EnableControls;
end;
end;
procedure TfrmBpkcMXList.Button6Click(Sender: TObject);
begin
Panel5.Visible := False;
end;
procedure TfrmBpkcMXList.v1P_ColorCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
begin
if (ARow1.Values[v1P_Color.Index] = ARow2.Values[v1P_Color.Index]) and (ARow1.Values[cxGridDBColumn2.Index] = ARow2.Values[cxGridDBColumn2.Index]) then
AAreEqual := True
else
AAreEqual := False;
end;
end.