D10SZKaiXiYa/A00通用窗体/U_SalesContract_SXSel.pas
2025-06-27 12:26:50 +08:00

333 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_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,
Vcl.Menus, dxSkinsCore, dxSkinsDefaultPainters, dxScrollbarAnnotations,
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;
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;
TV1Column8: TcxGridDBColumn;
TV1Column9: TcxGridDBColumn;
TV1Column10: TcxGridDBColumn;
TV1Column11: TcxGridDBColumn;
TV1Column12: TcxGridDBColumn;
TV1Column13: TcxGridDBColumn;
TV1Column14: TcxGridDBColumn;
N3: TMenuItem;
TV1Column15: TcxGridDBColumn;
TV1Column16: TcxGridDBColumn;
TV1Column17: TcxGridDBColumn;
TV1Column18: TcxGridDBColumn;
TV1Column19: TcxGridDBColumn;
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);
procedure N3Click(Sender: TObject);
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;
// 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;
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;
procedure TfrmSalesContract_SXSel.N3Click(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
procedure TfrmSalesContract_SXSel.FormShow(Sender: TObject);
begin
inherited;
InitGrid();
ReadCxGrid(Trim(self.Caption) + '1', TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmSalesContract_SXSel.TBCloseClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TfrmSalesContract_SXSel.TBSaveClick(Sender: TObject);
begin
WriteCxGrid(Trim(self.Caption) + '1', TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
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.