D7myChengxie/布匹仓库2/U_CPKcList.pas
DESKTOP-E401PHE\Administrator e4d35a6883 1234
2025-08-25 10:39:41 +08:00

325 lines
9.2 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_CPKcList;
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,
RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, MMSystem, Menus,
BtnEdit, Clipbrd, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore,
dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee,
dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle,
dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans,
dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky,
dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin,
dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus,
dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008,
dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine,
dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter,
cxNavigator;
type
TfrmCPKcList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1P_CodeName: TcxGridDBColumn;
v1P_SPEC: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1CRType: TcxGridDBColumn;
v1CRTime: TcxGridDBColumn;
Label3: TLabel;
P_CodeName: TEdit;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
TOk: TToolButton;
v1Ssel: TcxGridDBColumn;
v1MJID: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
Label7: TLabel;
P_Color: TEdit;
Label8: TLabel;
Label9: TLabel;
kuwei: TEdit;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
orderNo: TEdit;
Label10: TLabel;
ADOQueryPrint: TADOQuery;
RMDB_Main: TRMDBDataSet;
RM1: TRMGridReport;
v1Column8: TcxGridDBColumn;
ADOQueryMain: TADOQuery;
Label13: TLabel;
v1Column9: TcxGridDBColumn;
P_Code: TEdit;
Label18: TLabel;
v1Column16: TcxGridDBColumn;
Label31: TLabel;
FactoryName: TEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
ToolButton2: TToolButton;
v1Column2: TcxGridDBColumn;
Panel2: TPanel;
Label1: TLabel;
Button1: TButton;
edtKuWei: TBtnEditA;
ToolButton1: TToolButton;
v1Column7: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
ToolButton3: TToolButton;
v1Column11: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
tt: TcxGridDBColumn;
N3: TMenuItem;
lbl1: TLabel;
ganghao: TEdit;
lbl2: TLabel;
INoutNo: TEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure P_CodeNameChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TOkClick(Sender: TObject);
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure edtKuWeiBtnClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N3Click(Sender: TObject);
private
procedure InitGrid();
procedure SetStatus();
{ Private declarations }
public
fType: integer;
fCKName: string;
{ Public declarations }
end;
var
frmCPKcList: TfrmCPKcList;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_MLRk;
{$R *.dfm}
procedure TfrmCPKcList.SetStatus();
begin
if fType = 10 then
begin
TOk.Visible := true;
v1Ssel.Visible := true;
ToolButton1.Visible := True;
end;
end;
procedure TfrmCPKcList.InitGrid();
begin
CDS_Main.DisableControls;
try
with adoqueryMain do
begin
close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' ,PrtKuanNO=(select PrtKuanNO from JYOrder_Sub X where X.SubId=A.SubId) ');
// sql.Add(' , pp=(select MIN(CRQtyFlag) from CK_ML_cr B where B.MJID=A.MJID AND B.CKName=''<27><>Ʒ'' and B.Valid=''Y'')');
sql.Add(',tt=(case when (select MIN(CRQtyFlag) from CK_ML_cr B where B.MJID=A.MJID AND B.CKName=''<27><>Ʒ'' and B.Valid=''Y'')=''-1'' and qty>0 then 1 else 0 end )');
SQL.Add(' from CK_ML_KC A ');
sql.Add(' where A.Qty<>0 and CKName=''<27><>Ʒ'' ');
sql.ADD(' and exists(select * from CK_ML_CR X where X.Valid=''Y'' and X.MJID=A.MJID )');
sql.Add(' order by A.CRTime desc,A.CRNO desc');
open;
end;
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
finally
end;
CDS_Main.EnableControls;
end;
procedure TfrmCPKcList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
writeCxGrid(self.Caption + tv1.Name, Tv1, '<27><><EFBFBD>ϲֿ<CFB2>');
if fType = 10 then
Action := cahide
else
Action := cafree;
end;
procedure TfrmCPKcList.FormDestroy(Sender: TObject);
begin
frmCPKcList := nil;
end;
procedure TfrmCPKcList.P_CodeNameChange(Sender: TObject);
begin
if adoqueryMain.Active = False then
Exit;
SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
end;
procedure TfrmCPKcList.FormShow(Sender: TObject);
begin
readCxGrid(self.Caption + tv1.Name, Tv1, '<27><><EFBFBD>ϲֿ<CFB2>');
SetStatus();
InitGrid();
end;
procedure TfrmCPKcList.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmCPKcList.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TfrmCPKcList.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmCPKcList.TOkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
ModalResult := 1;
end;
procedure TfrmCPKcList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('ISRCCK').index] = <><C8BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
// ACanvas.Brush.Color := $B9DAFF;
ACanvas.Brush.Color := $00FFFF;
// if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('IsXGKC').index] = '<27><>' then
// ACanvas.Brush.Color := $F0CAA6;
if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('tt').index] = '1' then
ACanvas.Brush.Color := $F0CAA6;
end;
procedure TfrmCPKcList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, true);
end;
procedure TfrmCPKcList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, false);
end;
procedure TfrmCPKcList.edtKuWeiBtnClick(Sender: TObject);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'kuwei';
flagname := '<27><>λ';
if ShowModal = 1 then
begin
edtKuWei.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCPKcList.ToolButton2Click(Sender: TObject);
begin
if adoqueryMain.Active = False then
Exit;
SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
end;
procedure TfrmCPKcList.ToolButton1Click(Sender: TObject);
begin
if Panel2.Visible = False then
Panel2.Visible := True
else
Panel2.Visible := False;
end;
procedure TfrmCPKcList.Button1Click(Sender: TObject);
begin
if trim(edtKuWei.Text) = '' then
exit;
try
ADOQueryCmd.Connection.BeginTrans;
while CDS_Main.Locate('SSel', true, []) do
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update CK_ML_KC set kuwei=' + quotedstr(trim(edtKuWei.Text)));
sql.Add(' where mjid=' + quotedstr(trim(CDS_Main.FieldByName('mjid').AsString)));
execsql;
end;
with CDS_Main do
begin
Edit;
FieldByName('SSel').Value := false;
FieldByName('KuWei').Value := trim(edtKuWei.Text);
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end
end;
procedure TfrmCPKcList.N3Click(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
end.