D7wmhengming/坯布码单待检(PBMDDJ.dll)/U_ContractChkList.pas
DESKTOP-E401PHE\Administrator 8f2f47d8f5 ~
2025-04-16 09:11:01 +08:00

619 lines
18 KiB
ObjectPascal
Raw Permalink 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_ContractChkList;
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;
type
TfrmContractChkList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBDataSet1: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
ToolButton1: TToolButton;
ADOQueryPrint: TADOQuery;
CDS_Print: TClientDataSet;
Panel1: TPanel;
Label1: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
ComboBox1: TComboBox;
cxTabControl1: TcxTabControl;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column4: TcxGridDBColumn;
v1ConNo: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1OrdDate: TcxGridDBColumn;
v1CustomerNoName: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1MPRTCodeName: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1PRTOrderQty: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1PRTPrice: TcxGridDBColumn;
v1PRTColor: TcxGridDBColumn;
v1MPRTCF: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
v1MPRTMF: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Label4: TLabel;
Label6: TLabel;
Label9: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
CustomerNoName: TEdit;
SYRName: TEdit;
ConNo: TEdit;
PRTCode: TEdit;
PRTSpec: TEdit;
PRTCF: TEdit;
CDS_PRT10: TClientDataSet;
RMDBDataSet2: TRMDBDataSet;
ToolButton2: TToolButton;
ToolButton5: TToolButton;
v1Column18: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v1Column21: 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 TBExportClick(Sender: TObject);
procedure TBPrintClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(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 ToolButton1Click(Sender: TObject);
procedure CustomerNoNameChange(Sender: TObject);
procedure ConNoKeyPress(Sender: TObject; var Key: Char);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
private
DQdate:TDateTime;
procedure InitGrid();
procedure InitForm();
function DelData():Boolean;
{ Private declarations }
public
FFInt,FCloth:Integer;
{ Public declarations }
end;
var
frmContractChkList: TfrmContractChkList;
implementation
uses
U_DataLink,U_ConInPut,U_RTFun;
{$R *.dfm}
procedure TfrmContractChkList.FormDestroy(Sender: TObject);
begin
frmContractChkList:=nil;
end;
procedure TfrmContractChkList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmContractChkList.FormCreate(Sender: TObject);
begin
cxgrid1.Align:=alClient;
//BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7;
//EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp);
DQdate:=SGetServerDate(ADOQueryTemp);
end;
procedure TfrmContractChkList.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>б<EFBFBD>ѡ<EFBFBD><D1A1>',Tv1,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmContractChkList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select A.*,B.* ');
sql.Add(' from JYOrderCon_Main A ');
sql.Add(' inner join JYOrderCon_Sub B on A.MainId=B.MainId');
SQL.Add('where A.OrdDate>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+'''');
SQL.Add('and A.OrdDate<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+'''');
{if Trim(DParameters1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add('and A.Filler='''+Trim(DName)+'''');
end; }
if cxTabControl1.TabIndex=0 then
begin
SQL.Add(' and isnull(SChkTime,'''')<>'''' ');
SQL.Add(' and isnull(ChkTime,'''')='''' ');
end else
if cxTabControl1.TabIndex=1 then
begin
SQL.Add(' and isnull(ChkTime,'''')<>'''' and ZuoFeiFlag=0 ');
end else
if cxTabControl1.TabIndex=2 then
begin
SQL.Add(' and isnull(PChker,'''')='''' and ZuoFeiFlag=1 ');
end else
if cxTabControl1.TabIndex=3 then
begin
SQL.Add(' and isnull(PChker,'''')<>'''' ');
end;
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmContractChkList.InitForm();
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>б<EFBFBD>ѡ<EFBFBD><D1A1>',Tv1,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7;
EndDate.DateTime:=SGetServerDate10(ADOQueryTemp);
InitGrid();
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select Top 10* from JYOrderCon_Main Order by FillTime desc');
Open;
end;
ComboBox1.Clear;
with ADOQueryTemp do
begin
First;
while not Eof do
begin
ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('ConNO').AsString));
Next;
end;
end;
end;
procedure TfrmContractChkList.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 TfrmContractChkList.DelData():Boolean;
begin
try
Result:=false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete JYOrderCon_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+'''');
ExecSQL;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from JYOrderCon_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 JYOrderCon_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
ExecSQL;
end;
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 TfrmContractChkList.TBExportClick(Sender: TObject);
begin
//if ADOQueryMain.IsEmpty then Exit;
//SelExportData(Tv1,ADOQueryMain,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD>б<EFBFBD>');
if Order_Main.IsEmpty then Exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ',cxGrid1);
end;
procedure TfrmContractChkList.TBPrintClick(Sender: TObject);
var
fPrintFile:string;
EngMoney:string;
begin
if Order_Main.IsEmpty then Exit;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\Ӣ<>ĺ<EFBFBD>ͬ.rmf' ;
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.*,ConMoney=B.PRTOrderQty*B.PRTPrice+isnull(BaoGangFee,0),BaoGangFee10=isnull(B.BaoGangFee,0) ');
sql.Add(',KHName=(select KHName from ZH_KH_Info KH where KH.KHNameJC=A.CustomerNoName)');
sql.Add(',KHNameEng=(select KHNameEng from ZH_KH_Info KH where KH.KHNameJC=A.CustomerNoName)');
sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId ');
sql.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
Open;
end;
SCreateCDS20(ADOQueryPrint,CDS_Print);
SInitCDSData20(ADOQueryPrint,CDS_Print);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from JYOrderCon_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
Open;
end;
SCreateCDS20(ADOQueryTemp,CDS_PRT10);
SInitCDSData20(ADOQueryTemp,CDS_PRT10);
if FileExists(fPrintFile) then
begin
//RMVariables['enddate']:=enddate.DateTime;
//RMVariables['printtime']:=Now;
//RMVariables['printer']:=Trim(gUserName);
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\Ӣ<>ĺ<EFBFBD>ͬ.rmf'),'<27><>ʾ',0);
end;
end;
procedure TfrmContractChkList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select Top 10* from JYOrderCon_Main Order by FillTime desc ');
Open;
end;
ComboBox1.Clear;
with ADOQueryTemp do
begin
First;
while not Eof do
begin
ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('ConNO').AsString));
Next;
end;
end;
end;
procedure TfrmContractChkList.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmContractChkList.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 TfrmContractChkList.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 TfrmContractChkList.ToolButton1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmConInPut:=TfrmConInPut.Create(Application);
with frmConInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString);
ToolBar2.Visible:=False;
TBSave.Visible:=False;
ScrollBox1.Enabled:=False;
Tv1.OptionsSelection.CellSelect:=False;
if ShowModal=1 then
begin
end;
end;
finally
frmConInPut.Free;
end;
end;
procedure TfrmContractChkList.CustomerNoNameChange(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 TfrmContractChkList.ConNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
if Length(conno.Text)<3 then Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add('select A.*,B.* ');
sql.Add(' from JYOrderCon_Main A ');
sql.Add(' inner join JYOrderCon_Sub B on A.MainId=B.MainId');
SQL.Add('where 1=1');
{if Trim(DParameters1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add('and A.Filler='''+Trim(DName)+'''');
end; }
if cxTabControl1.TabIndex=0 then
begin
SQL.Add(' and isnull(SChkTime,'''')<>'''' ');
SQL.Add(' and isnull(ChkTime,'''')='''' ');
end else
if cxTabControl1.TabIndex=1 then
begin
SQL.Add(' and isnull(ChkTime,'''')<>'''' ');
end else
if cxTabControl1.TabIndex=2 then
begin
SQL.Add(' and isnull(PChker,'''')='''' and ZuoFeiFlag=1 ');
end else
if cxTabControl1.TabIndex=3 then
begin
SQL.Add(' and isnull(PChker,'''')<>'''' ');
end;
sql.Add(' and ConNo like '''+'%'+Trim(ConNo.Text)+'%'+'''');
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
end;
procedure TfrmContractChkList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmContractChkList.ToolButton3Click(Sender: TObject);
var
FFFId:String;
begin
if cxTabControl1.TabIndex<>0 then Exit;
if Order_Main.IsEmpty then Exit;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update JYOrderCon_Main Set Chker='''+Trim(DName)+'''');
SQL.Add(',ChkTime=getdate(),ChkStatus=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>'' ');
sql.Add(' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
ExecSQL;
end;
FFFId:=Trim(Order_Main.fieldbyname('MainId').AsString);
Order_Main.DisableControls;
with Order_Main do
begin
while Locate('MainId',Trim(FFFId),[]) do
begin
Order_Main.Delete;
end;
end;
Order_Main.EnableControls;
end;
procedure TfrmContractChkList.ToolButton4Click(Sender: TObject);
var
FFFId:String;
begin
if cxTabControl1.TabIndex<>1 then Exit;
if Order_Main.IsEmpty then Exit;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update JYOrderCon_Main Set Chker=NUll');
SQL.Add(',ChkTime=NUll,ChkStatus=Null ');
sql.Add(' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
ExecSQL;
end;
FFFId:=Trim(Order_Main.fieldbyname('MainId').AsString);
Order_Main.DisableControls;
with Order_Main do
begin
while Locate('MainId',Trim(FFFId),[]) do
begin
Order_Main.Delete;
end;
end;
Order_Main.EnableControls;
end;
procedure TfrmContractChkList.ToolButton2Click(Sender: TObject);
var
FFFId:String;
begin
if cxTabControl1.TabIndex<>2 then Exit;
if Order_Main.IsEmpty then Exit;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update JYOrderCon_Main Set PChker='''+Trim(DName)+'''');
SQL.Add(',PChkTime=getdate(),PChkStatus=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>'' ');
sql.Add(' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
ExecSQL;
end;
FFFId:=Trim(Order_Main.fieldbyname('MainId').AsString);
Order_Main.DisableControls;
with Order_Main do
begin
while Locate('MainId',Trim(FFFId),[]) do
begin
Order_Main.Delete;
end;
end;
Order_Main.EnableControls;
end;
procedure TfrmContractChkList.ToolButton5Click(Sender: TObject);
var
FFFId:String;
begin
if cxTabControl1.TabIndex<>3 then Exit;
if Order_Main.IsEmpty then Exit;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update JYOrderCon_Main Set PChker=NUll');
SQL.Add(',PChkTime=NUll,PChkStatus=Null ');
sql.Add(' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
ExecSQL;
end;
FFFId:=Trim(Order_Main.fieldbyname('MainId').AsString);
Order_Main.DisableControls;
with Order_Main do
begin
while Locate('MainId',Trim(FFFId),[]) do
begin
Order_Main.Delete;
end;
end;
Order_Main.EnableControls;
end;
end.