D10SZKaiXiYa/A00通用窗体/U_SalesContract_SXSel.pas

333 lines
11 KiB
ObjectPascal
Raw Normal View History

2025-05-22 15:35:13 +08:00
unit U_SalesContract_SXSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, ToolWin, ComCtrls, U_BaseHelp, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGrid, DBClient, ADODB, ImgList, StdCtrls, ExtCtrls,
cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu,
System.ImageList, U_BaseInput, cxButtonEdit, cxDropDownEdit, cxCheckBox,
2025-06-06 15:41:48 +08:00
Vcl.Menus, dxSkinsCore, dxSkinsDefaultPainters, dxScrollbarAnnotations,
2025-06-27 12:26:50 +08:00
Clipbrd, dxSkinBasic, 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, dxSkinOffice2016Colorful,
dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful,
dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven,
dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver,
dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld,
dxSkinTheBezier, dxSkinValentine, dxSkinVisualStudio2013Blue,
dxSkinVisualStudio2013Dark, dxSkinVisualStudio2013Light, dxSkinVS2010,
dxSkinWhiteprint, dxSkinWXI, dxSkinXmas2008Blue;
2025-05-22 15:35:13 +08:00
type
TfrmSalesContract_SXSel = class(TfrmBaseHelp)
ToolBar1: TToolBar;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
DS_1: TDataSource;
CDS_1: TClientDataSet;
TBSave: TToolButton;
TBClose: TToolButton;
ToolButton1: TToolButton;
ADOConnection1: TADOConnection;
Panel1: TPanel;
Label1: TLabel;
ConNo: TEdit;
GPM_1: TcxGridPopupMenu;
ImageList1: TImageList;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
VC_SCSCode: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1PRTOrderQty: TcxGridDBColumn;
v1OrderUnit: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
TV1Column1: TcxGridDBColumn;
TV1Column2: TcxGridDBColumn;
TV1Column3: TcxGridDBColumn;
TV1Column4: TcxGridDBColumn;
TV1Column5: TcxGridDBColumn;
TV1Column6: TcxGridDBColumn;
ThreeColorBase: TcxStyleRepository;
SHuangSe: TcxStyle;
SkyBlue: TcxStyle;
Default: TcxStyle;
QHuangSe: TcxStyle;
Red: TcxStyle;
FontBlue: TcxStyle;
TextSHuangSe: TcxStyle;
FonePurple: TcxStyle;
FoneClMaroon: TcxStyle;
FoneRed: TcxStyle;
RowColor: TcxStyle;
handBlack: TcxStyle;
cxBlue: TcxStyle;
SHuangSeCu: TcxStyle;
TV1Column7: TcxGridDBColumn;
PM_1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
Label2: TLabel;
C_Name: TEdit;
Label3: TLabel;
BuyName: TEdit;
2025-05-23 16:17:15 +08:00
TV1Column8: TcxGridDBColumn;
TV1Column9: TcxGridDBColumn;
TV1Column10: TcxGridDBColumn;
TV1Column11: TcxGridDBColumn;
TV1Column12: TcxGridDBColumn;
TV1Column13: TcxGridDBColumn;
TV1Column14: TcxGridDBColumn;
2025-06-06 15:41:48 +08:00
N3: TMenuItem;
TV1Column15: TcxGridDBColumn;
TV1Column16: TcxGridDBColumn;
2025-06-27 12:26:50 +08:00
TV1Column17: TcxGridDBColumn;
TV1Column18: TcxGridDBColumn;
TV1Column19: TcxGridDBColumn;
2025-05-22 15:35:13 +08:00
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure TV1DblClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ConNoChange(Sender: TObject);
2025-06-06 15:41:48 +08:00
procedure N3Click(Sender: TObject);
2025-05-22 15:35:13 +08:00
private
procedure InitGrid();
{ Private declarations }
public
FCoType, FAuthority: string;
{ Public declarations }
end;
var
frmSalesContract_SXSel: TfrmSalesContract_SXSel;
implementation
uses
U_DataLink, U_RTFun;
{$R *.dfm}
procedure TfrmSalesContract_SXSel.FormCreate(Sender: TObject);
begin
inherited;
try
with ADOConnection1 do
begin
Connected := false;
ConnectionString := DConString;
Connected := true;
end;
ADOQueryBaseCmd.Connection := ADOConnection1;
ADOQueryBaseTemp.Connection := ADOConnection1;
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
end;
end;
procedure TfrmSalesContract_SXSel.ConNoChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
procedure TfrmSalesContract_SXSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ConNo.SetFocus;
Action := cahide;
end;
procedure TfrmSalesContract_SXSel.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
2025-06-27 12:26:50 +08:00
// sql.Clear;
// SQL.Add('SELECT DISTINCT');
// SQL.Add(' A.ConNo,');
// SQL.Add(' A.BuyConNo,');
// SQL.Add(' A.SellName,');
// SQL.Add(' A.BuyName,');
// SQL.Add(' A.MiddleName,');
// SQL.Add(' B.C_Spec,');
// SQL.Add(' A.DlyDate,');
// SQL.Add(' B.C_Code,');
// SQL.Add(' C.C_Name,');
// SQL.Add(' C.C_EName,');
// SQL.Add(' C.C_Composition,');
// SQL.Add(' C.C_Color,');
// SQL.Add(' C.C_ColorNo,');
// SQL.Add(' C.C_StyleNo,');
// SQL.Add(' C.C_Pattern,');
// SQL.Add(' C.C_Width,');
// SQL.Add(' C.C_GramWeight,');
// SQL.Add(' D.*,');
// SQL.Add(' KCQTy=(select Sum(StkQty) from Bs_Yarn_IO X where X.Y_Code = D.Y_Code),');
// SQL.Add(' SXQty= case when B.ConUnit =''Y'' then round(ConQty*0.9144*D.MeterQty/1000,2)');
// SQL.Add(' else round(ConQty*D.MeterQty/1000,2) end,');
// SQL.Add(' GYS=STUFF((');
// SQL.Add(' SELECT ''/'' + T.FromCoName');
// SQL.Add(' FROM (');
// SQL.Add(' SELECT DISTINCT FromCoName');
// SQL.Add(' FROM Bs_Yarn_IO');
// SQL.Add(' WHERE Y_Code = D.Y_Code AND FromCoName IS NOT NULL AND FromCoName <> ''''');
// SQL.Add(' ) T');
// SQL.Add(' FOR XML PATH('''')');
// SQL.Add(' ), 1, 1, '''')');
// SQL.Add('FROM Bs_Contract_Main A');
// SQL.Add('INNER JOIN Bs_Contract_Sub B ON A.ConMId = B.ConMId');
// SQL.Add('INNER JOIN Bs_Cloth_Info C ON B.C_Code = C.C_Code');
// SQL.Add('INNER JOIN BS_Cloth_Yarn D ON C.BCIID = D.BCIID');
// SQL.Add('WHERE A.Status = ''9'' and D.Y_Code <> ''''');
// Open;
sql.Clear;
SQL.Add('SELECT DISTINCT');
SQL.Add(' A.ConNo,');
SQL.Add(' A.BuyConNo,');
SQL.Add(' A.SellName,');
SQL.Add(' A.BuyName,');
SQL.Add(' A.MiddleName,');
SQL.Add(' B.C_Spec,');
SQL.Add(' A.DlyDate,');
SQL.Add(' B.C_Code,');
SQL.Add(' C.C_Name,');
SQL.Add(' C.C_EName,');
SQL.Add(' C.C_Composition,');
SQL.Add(' C.C_Color,');
SQL.Add(' C.C_ColorNo,');
SQL.Add(' C.C_StyleNo,');
SQL.Add(' C.C_Pattern,');
SQL.Add(' C.C_Width,');
SQL.Add(' C.C_GramWeight,');
SQL.Add(' D.*,');
SQL.Add(' KCQTy = (SELECT SUM(StkQty) FROM Bs_Yarn_IO X WHERE X.Y_Code = D.Y_Code),');
SQL.Add(' SXQty = CASE WHEN B.ConUnit = ''Y'' THEN ROUND(ConQty*0.9144*D.MeterQty/1000,2)');
SQL.Add(' ELSE ROUND(ConQty*D.MeterQty/1000,2) END,');
SQL.Add(' GYS = STUFF((');
SQL.Add(' SELECT ''/'' + T.FromCoName');
SQL.Add(' FROM (');
SQL.Add(' SELECT DISTINCT FromCoName');
SQL.Add(' FROM Bs_Yarn_IO');
SQL.Add(' WHERE Y_Code = D.Y_Code AND FromCoName IS NOT NULL AND FromCoName <> ''''');
SQL.Add(' ) T');
SQL.Add(' FOR XML PATH('''')');
SQL.Add(' ), 1, 1, ''''),');
SQL.Add(' SQQty = (SELECT SUM(Y.Qty) ');
SQL.Add(' FROM Tat_Plan_Main T ');
SQL.Add(' INNER JOIN Tat_Plan_Yarn TP ON T.Mainid = TP.MainId');
SQL.Add(' INNER JOIN Pur_YarnPlan_Main X ON X.OrderNo = T.OrderNo');
SQL.Add(' INNER JOIN Pur_YarnPlan_Sub Y ON X.PurMId = Y.PurMId');
SQL.Add(' WHERE T.OrderNo = A.ConNo AND Y.Y_Code = D.Y_Code),');
SQL.Add(' LQQty = (SELECT SUM(X.Qty) ');
SQL.Add(' FROM Tat_Plan_Main T');
SQL.Add(' INNER JOIN Tat_Plan_Yarn TP ON T.Mainid = TP.MainId');
SQL.Add(' INNER JOIN Bs_Yarn_IO X ON X.ToOrdNo = T.OrderNo AND X.Y_Code = TP.Y_Code');
SQL.Add(' WHERE T.OrderNo = A.ConNo AND X.IOFlag = ''<27><><EFBFBD><EFBFBD>'' AND X.Y_Code = D.Y_Code)');
SQL.Add('FROM Bs_Contract_Main A');
SQL.Add('INNER JOIN Bs_Contract_Sub B ON A.ConMId = B.ConMId');
SQL.Add('INNER JOIN Bs_Cloth_Info C ON B.C_Code = C.C_Code');
SQL.Add('INNER JOIN BS_Cloth_Yarn D ON C.BCIID = D.BCIID');
SQL.Add('WHERE A.Status = ''9'' AND D.Y_Code <> ''''');
Open;
2025-05-22 15:35:13 +08:00
end;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmSalesContract_SXSel.N1Click(Sender: TObject);
begin
SelOKNo(CDS_1, True);
end;
procedure TfrmSalesContract_SXSel.N2Click(Sender: TObject);
begin
SelOKNo(CDS_1, False);
end;
2025-06-06 15:41:48 +08:00
procedure TfrmSalesContract_SXSel.N3Click(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
2025-05-22 15:35:13 +08:00
procedure TfrmSalesContract_SXSel.FormShow(Sender: TObject);
begin
inherited;
InitGrid();
2025-06-06 15:41:48 +08:00
ReadCxGrid(Trim(self.Caption) + '1', TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
2025-05-22 15:35:13 +08:00
end;
procedure TfrmSalesContract_SXSel.TBCloseClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TfrmSalesContract_SXSel.TBSaveClick(Sender: TObject);
begin
2025-06-06 15:41:48 +08:00
WriteCxGrid(Trim(self.Caption) + '1', TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
2025-05-22 15:35:13 +08:00
end;
procedure TfrmSalesContract_SXSel.ToolButton1Click(Sender: TObject);
begin
ConNo.SetFocus;
ModalResult := 1;
end;
procedure TfrmSalesContract_SXSel.TV1DblClick(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmSalesContract_SXSel.FormDestroy(Sender: TObject);
begin
inherited;
frmSalesContract_SXSel := nil;
end;
end.