D7zzXiangHeng/进度统计查询(Statistics.dll)/U_ClothCLList.pas
DESKTOP-E401PHE\Administrator 0026e9e246 0
2025-08-08 10:42:50 +08:00

481 lines
15 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_ClothCLList;
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, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class,
RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, 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
TfrmClothCLList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Label1: TLabel;
Label2: TLabel;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Label3: TLabel;
ConNo: TEdit;
Label5: TLabel;
C_CodeName: TEdit;
TBExport: TToolButton;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMXLSExport1: TRMXLSExport;
CDS_PRT: TClientDataSet;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1OrderNo: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1PRTOrderQty: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1Column6: TcxGridDBColumn;
RMDBPRT: TRMDBDataSet;
RMDBPZ: TRMDBDataSet;
CDS_PZ: TClientDataSet;
CDS_SJ: TClientDataSet;
RMDBSJ: TRMDBDataSet;
v1Column21: TcxGridDBColumn;
RMDBDataSet1: TRMDBDataSet;
ClientDataSet1: TClientDataSet;
CDS_WJG: TClientDataSet;
RMDBWJG: TRMDBDataSet;
Label6: TLabel;
BatchNoHZ: TEdit;
v1Column31: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyleRepository2: TcxStyleRepository;
cxStyle2: TcxStyle;
cxStyle3: TcxStyle;
cxStyleRepository3: TcxStyleRepository;
cxStyle4: TcxStyle;
KHName: TEdit;
Label4: TLabel;
v1Column12: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
DDZT: TComboBox;
Label7: TLabel;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
ToolButton1: TToolButton;
Tv1Column3: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure conPress(Sender: TObject; var Key: Char);
procedure FormDestroy(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure RTAPJTInfoKeyPress(Sender: TObject; var Key: Char);
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure DDZTChange(Sender: TObject);
procedure v1Column1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure Tv1Column1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure v1Column9CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure ToolButton1Click(Sender: TObject);
private
FInt, PFInt: Integer;
procedure InitGrid();
procedure InitForm();
function DelData(): Boolean;
procedure InitButton();
{ Private declarations }
public
canshu1, FCheJian: string;
{ Public declarations }
end;
var
frmClothCLList: TfrmClothCLList;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_ClothCLCXList;
//U_ClothSCInPutSC ,U_ClothSCInPut ,U_SCPerson
{$R *.dfm}
procedure TfrmClothCLList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmClothCLList.InitButton();
begin
end;
procedure TfrmClothCLList.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><><EFBFBD><EFBFBD>ͳ<EFBFBD>Ʋ<EFBFBD>ѯ', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmClothCLList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' exec P_View_DDJD1 ''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + '''');
sql.Add(' ,''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)) + '''');
// sql.Add(',''' + trim(RTAPJTInfo.text) + '''');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmClothCLList.InitForm();
begin
InitButton();
ReadCxGrid('<27><><EFBFBD><EFBFBD>ͳ<EFBFBD>Ʋ<EFBFBD>ѯ', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 7;
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
InitGrid();
end;
procedure TfrmClothCLList.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;
function TfrmClothCLList.DelData(): Boolean;
begin
try
Result := false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Cloth_Sub where SubId=''' + Trim(Order_Main.fieldbyname('SubId').AsString) + '''');
ExecSQL;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Cloth_Sub where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Cloth_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
ExecSQL;
end;
end;
if Trim(Order_Main.fieldbyname('SubId').AsString) = '' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Cloth_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
ExecSQL;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Cloth_PaiZhen where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Cloth_YCL_PB where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
ADOQueryCmd.Connection.RollbackTrans;
Result := False;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
end;
end;
procedure TfrmClothCLList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', cxGrid1);
end;
procedure TfrmClothCLList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmClothCLList.ConNoChange(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 TfrmClothCLList.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmClothCLList.conPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
if Length(Trim(ConNo.Text)) < 4 then
Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
//sql.Add('exec Cloth_QryList :MainId,:WSql');
// Parameters.ParamByName('WSql').Value:=' and OM.conNo like '''+'%'+Trim(ConNoM.Text)+'%'+''''
// +' and ConType=''<27><><EFBFBD><EFBFBD>'' ';
sql.Add('select * from Cloth_Main A inner join CLoth_Sub B on A.Mainid=B.MainId');
sql.Add(' where A.ConNo like ''' + '%' + Trim(ConNo.Text) + '%' + '''');
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
end;
procedure TfrmClothCLList.FormDestroy(Sender: TObject);
begin
frmClothCLList := nil;
end;
procedure TfrmClothCLList.Tv1DblClick(Sender: TObject);
begin
try
frmClothCLCXList := TfrmClothCLCXList.Create(Application);
with frmClothCLCXList do
begin
FMainID := self.Order_Main.fieldbyname('MainID').asstring;
if ShowModal = 1 then
begin
end;
end;
finally
frmClothCLCXList.Free;
end;
end;
procedure TfrmClothCLList.RTAPJTInfoKeyPress(Sender: TObject; var Key: Char);
begin
InitGrid();
end;
procedure TfrmClothCLList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
F1, F2, f3: Double;
begin
// F1 := StrToFloatDef((AViewInfo.GridRecord.Values[v1Column1.Index]), 0); //<2F><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>
// F2 := StrToFloatDef((AViewInfo.GridRecord.Values[v1Column6.Index]), 0); //<2F><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>
// f3 := StrToFloatDef((AViewInfo.GridRecord.Values[v1Column3.Index]), 0); //<2F><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>
// if F1 >= F2 * 0.8 then
// begin
// ACanvas.Brush.Color := clRed;
// end;
// if f3 >= F2 * 0.8 then
// begin
// ACanvas.Brush.Color := clYellow;
// end;
// if AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('DDZT').Index] = null then
// Exit;
//
// FDDZT := AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('DDZT').Index];
//
// if FDDZT = '<27>ѿ<EFBFBD>ʼ' then
// ACanvas.Font.Color := $FF0000;
// if FDDZT = '<27>ѽ<EFBFBD><D1BD><EFBFBD>' then
// ACanvas.Font.Color := $0000FF;
end;
procedure TfrmClothCLList.DDZTChange(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 TfrmClothCLList.v1Column1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
F1, F2, f3: Double;
begin
F1 := StrToFloatDef((AViewInfo.GridRecord.Values[v1Column1.Index]), 0); //<2F><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>
F2 := StrToFloatDef((AViewInfo.GridRecord.Values[v1Column6.Index]), 0); //<2F><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>
f3 := StrToFloatDef((AViewInfo.GridRecord.Values[v1Column3.Index]), 0); //<2F><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>
if F1 >= F2 * 0.8 then
begin
ACanvas.Brush.Color := clRed;
end;
// if f3 >= F2 * 0.8 then
// begin
// ACanvas.Brush.Color := clYellow;
// end;
// if AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('DDZT').Index] = null then
// Exit;
// if AViewInfo.GridRecord.Values[id] = True then
// begin
// ACanvas.Brush.Color := clRed;
// end;
end;
procedure TfrmClothCLList.Tv1Column1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
F1, F2, f3: Double;
begin
F1 := StrToFloatDef((AViewInfo.GridRecord.Values[v1Column1.Index]), 0); //<2F><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>
F2 := StrToFloatDef((AViewInfo.GridRecord.Values[v1Column6.Index]), 0); //<2F><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>
f3 := StrToFloatDef((AViewInfo.GridRecord.Values[v1Column3.Index]), 0); //<2F><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>
if F1 >= F2 * 0.8 then
begin
ACanvas.Brush.Color := clRed;
end;
end;
procedure TfrmClothCLList.v1Column9CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
F1, F2, f3: Double;
begin
F1 := StrToFloatDef((AViewInfo.GridRecord.Values[v1Column1.Index]), 0); //<2F><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>
F2 := StrToFloatDef((AViewInfo.GridRecord.Values[v1Column6.Index]), 0); //<2F><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>
f3 := StrToFloatDef((AViewInfo.GridRecord.Values[v1Column3.Index]), 0); //<2F><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>
if f3 >= F2 * 0.8 then
begin
ACanvas.Brush.Color := clYellow;
end;
end;
procedure TfrmClothCLList.ToolButton1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
Order_Main.DisableControls;
with Order_Main do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate Cloth_Main Set Endtime=getdate(),EndPerson=''' + Trim(DName) + ''',EndFlag=1');
sql.Add(' where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
sql.Add('UPdate Cloth_JiTai SET StopFlag=1,DOTime=getdate(),DOPerson=''' + Trim(DName) + '''');
sql.Add(',TYTime=getdate(),TYPerson=''' + Trim(DName) + '''');
sql.Add(' where MainId=' + quotedstr(trim(Order_Main.fieldbyname('MainId').AsString)));
sql.Add(' and StopFlag=0');
ExecSQL;
end;
// UpdateJTInfo(Trim(Order_Main.fieldbyname('MainId').AsString));
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update Cloth_Sub Set RTAPJTQty=(select Count(*) from Cloth_JiTai A where A.MainId=Cloth_Sub.MainId )');
sql.Add(',RTAPJTInfo=dbo.F_Get_Order_SubStr_PB(Cloth_Sub.MainId,''RTAPJTInfo'')');
sql.Add(',RTQYJTQty=(select Count(*) from Cloth_JiTai A where A.MainId=Cloth_Sub.MainId and StopFlag=0 )');
sql.Add(',RTQYJTInfo=dbo.F_Get_Order_SubStr_PB(Cloth_Sub.MainId,''RTQYJTInfo'')');
sql.Add(',RTTYJTQty=(select Count(*) from Cloth_JiTai A where A.MainId=Cloth_Sub.MainId and StopFlag=1 )');
sql.Add(',RTTYJTInfo=dbo.F_Get_Order_SubStr_PB(Cloth_Sub.MainId,''RTTYJTInfo'')');
sql.Add(' where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
//Parameters.ParamByName('MainId').Value:=Trim(RTMainId);
ExecSQL;
end;
end;
Order_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
initgrid();
except
Order_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
end.