D7gmYongjin/染整计划(DyeingFinishingPlan.dll)/U_ContractListSel.pas
DESKTOP-E401PHE\Administrator 8452f471f5 新建3-04
2026-03-04 09:51:44 +08:00

386 lines
13 KiB
ObjectPascal
Raw Blame History

unit U_ContractListSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System,
RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxPC, cxButtonEdit,
cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxBarBuiltInMenu, 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;
type
TfrmContractListSel = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBDataSet1: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
ADOQueryPrint: TADOQuery;
Panel1: TPanel;
Label1: TLabel;
Label4: TLabel;
Label5: TLabel;
Label9: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
BuyName: TEdit;
Salesman: TEdit;
OrderNO: TEdit;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
v1OrderUnit: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Label2: TLabel;
V2Column1: TcxGridDBColumn;
V2Column4: TcxGridDBColumn;
V2Column2: TcxGridDBColumn;
V2Column5: TcxGridDBColumn;
N1: TMenuItem;
V1Column1: TcxGridDBColumn;
ToolButton2: TToolButton;
cxTabControl1: TcxTabControl;
V1Column2: TcxGridDBColumn;
V1Column3: TcxGridDBColumn;
V1Column4: TcxGridDBColumn;
V1Column8: TcxGridDBColumn;
CheckBox1: TCheckBox;
Label3: TLabel;
MPRTCodeName: TEdit;
TV1Column1: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBTPClick(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure N1Click(Sender: TObject);
procedure BuyNameChange(Sender: TObject);
procedure OrderNOKeyPress(Sender: TObject; var Key: Char);
procedure cxTabControl1Change(Sender: TObject);
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure N2Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
private
DQdate: TDateTime;
fuserName: string;
procedure InitGrid();
procedure InitForm();
{ Private declarations }
public
FFInt, FCloth: Integer;
canshu1, FConNo, FGSTT: string;
{ Public declarations }
end;
var
frmContractListSel: TfrmContractListSel;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmContractListSel.FormDestroy(Sender: TObject);
begin
frmContractListSel := nil;
end;
procedure TfrmContractListSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmContractListSel.FormCreate(Sender: TObject);
begin
cxgrid1.Align := alClient;
DQdate := SGetServerDate(ADOQueryTemp);
canshu1 := trim(DParameters1);
end;
procedure TfrmContractListSel.TBCloseClick(Sender: TObject);
begin
Close;
writeCxGrid(self.Caption + tv1.Name, Tv1, '<27><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>');
end;
procedure TfrmContractListSel.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add('select PM.OrderNo,PM.MPRTCodeName,PM.Filler,PM.FillTime,PM.OrderDetail ');
sql.Add(',CP.SPCode,CP.SPXS');
sql.Add(',A.MainId,A.Salesman,A.BuyName,A.BuyNo,A.SellName,A.GDY,A.lidan,A.SCMSpec,A.SCMMF,A.SCMKZ');
sql.Add(',B.SubId,B.SCSColor,B.SCSEColor,B.SCSHX,B.SCSpiQty,B.SCSQty,B.SCSUnit,B.XHNO');
sql.Add(' from PBOrder_Main PM ');
sql.Add(' left join CP_Info CP on PM.MPRTCodeName=CP.SPName and CP.ISQY=1 ' );
sql.Add(' left join SalesContract_Main A on PM.OrderNo=A.ConNo');
sql.Add(' left join SalesContract_Sub B on A.MainId=B.MainId ');
SQL.Add('where PM.FillTime>=''' + FormatDateTime('yyyy-MM-dd', BegDate.DateTime) + '''');
SQL.Add(' and PM.FillTime<''' + FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1) + '''');
SQL.Add(' and isnull(PM.Valid,'''')=''Y'' ');
if trim(FConNo) <> '' then
SQL.Add(' and PM.OrderNo=' + quotedstr(trim(FConNo)));
case cxTabControl1.TabIndex of
0:
begin
SQL.Add('AND NOT EXISTS ( select Y.MainId from JYOrder_Sub Y ');
SQL.Add('where Y.ConSubId= B.SubId ) ');
end;
1:
begin
SQL.Add('AND EXISTS ( select Y.MainId from JYOrder_Sub Y ');
SQL.Add('where Y.ConSubId= B.SubId ) ');
end;
end;
if CheckBox1.Checked then
begin
sql.Add(' and PM.Filler=''' + Trim(DName) + '''');
end;
sql.Add(' order by PM.OrderNo');
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmContractListSel.InitForm();
begin
//readCxGrid(self.Caption + tv1.Name, Tv1, '<27><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>');
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 90;
InitGrid();
end;
procedure TfrmContractListSel.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmContractListSel.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmContractListSel.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmContractListSel.TBTPClick(Sender: TObject);
var
FQty, FQty1, FMxQty, FPQty, FMxQtyS, FPQtyS: string;
begin
end;
procedure TfrmContractListSel.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmContractListSel.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmContractListSel.Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
var
id, id10: Integer;
begin
{try
if Tv1.GroupedItemCount=0 then
begin
Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount;
Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount;
if Trim(VarToStr(ARecord.Values[id]))='' then Exit;
if Id<0 then Exit;
if ARecord.Values[id10]='<27><><EFBFBD><EFBFBD>' then exit;
if (ARecord.Values[id]-DQdate)>=4 then Exit;
if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then
AStyle:=DataLink_.QHuangSe
else
if ARecord.Values[id]-DQdate<0 then
begin
AStyle:=DataLink_OrderManage.FenHongS;
end;
end else
begin
end;
except
end; }
end;
procedure TfrmContractListSel.v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
{ Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount;
Id10:=TV1.GetColumnByFieldName('SubStatus').Index;
if Id<0 then Exit;
if AViewInfo.GridRecord.Values[Id10]='<27><><EFBFBD><EFBFBD>' then Exit;
if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit;
if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then
ACanvas.Brush.Color:=clYellow
else
if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then
begin
ACanvas.Brush.Color:=clRed;
end;
begin
ACanvas.Brush.Color:=clRed;
end else
if AViewInfo.GridRecord.Values[Id]='Purple' then
begin
ACanvas.Brush.Color:=clPurple;
end else
if AViewInfo.GridRecord.Values[Id]='Olive' then
begin
ACanvas.Brush.Color:=clOlive;
end else
if AViewInfo.GridRecord.Values[Id]='Teal' then
begin
ACanvas.Brush.Color:=clTeal;
end else
if AViewInfo.GridRecord.Values[Id]='Background' then
begin
ACanvas.Brush.Color:=clBackground;
end; }
end;
procedure TfrmContractListSel.N1Click(Sender: TObject);
begin
SelOKNo(Order_Main, false);
end;
procedure TfrmContractListSel.BuyNameChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmContractListSel.OrderNOKeyPress(Sender: TObject; var Key: Char);
begin
{if Key = #13 then
begin
if Length(Tedit(Sender).Text) < 1 then
Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('select A.*,A.ConNo ConNoM ');
SQL.Add(',PRTOrderQty=(select Sum(PRTOrderQty) from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',ConMoney=(select Sum(PRTOrderQty*PRTPrice) from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',OrderUnit=(select top 1 OrderUnit from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',PriceUnit=(select top 1 PriceUnit from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',PRTPrice=(select top 1 PRTPrice from JYOrderCon_Sub B where B.MainId=A.MainId)');
sql.Add(',ISSC=cast((case when isnull((select count(WBID) from TP_File X where X.WBID=A.maiNID and X.TFType=''<27><>ͬ''),0)>0 then 1 else 0 end) as bit)');
sql.Add(' from JYOrderCon_Main A ');
SQL.Add('where OrdDate>=''' + '1899-01-01' + '''');
SQL.Add('and OrdDate<''' + '2050-01-01' + '''');
sql.Add(' and MPRTType=''<27><><EFBFBD><EFBFBD>'' ');
if Trim(DParameters1) <> '<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add('and A.Filler=''' + Trim(DName) + '''');
end;
// sql.Add(' and ConNo like '''+'%'+Trim(ConNoM.Text)+'%'+'''');
sql.Add(' and ' + Tedit(Sender).Name + ' like ' + quotedstr(trim('%' + trim(Tedit(Sender).Text) + '%')));
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end; }
end;
procedure TfrmContractListSel.cxTabControl1Change(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmContractListSel.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('status').Index] = '2' then
ACanvas.Brush.Color := clLime;
end;
procedure TfrmContractListSel.N2Click(Sender: TObject);
begin
SelOKNo(Order_Main, true);
end;
procedure TfrmContractListSel.ToolButton2Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
ModalResult := 1;
end;
end.