333 lines
11 KiB
ObjectPascal
333 lines
11 KiB
ObjectPascal
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.
|
||
|