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

601 lines
17 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_CICXList;
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, cxPC, cxCheckBox, cxDropDownEdit;
type
TfrmCICXList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
CDS_PRT: TClientDataSet;
ToolButton3: TToolButton;
cxGridPopupMenu2: TcxGridPopupMenu;
Panel1: TPanel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
ComboBox2: TComboBox;
Label3: TLabel;
Label1: TLabel;
ToolButton1: TToolButton;
ToolButton4: TToolButton;
ADOQueryPrint: TADOQuery;
cxSplitter1: TcxSplitter;
cxGridPopupMenu3: TcxGridPopupMenu;
ClientDataSet3: TClientDataSet;
DataSource3: TDataSource;
Panel2: TPanel;
Label4: TLabel;
DataSource2: TDataSource;
ClientDataSet2: TClientDataSet;
cxGridPopupMenu4: TcxGridPopupMenu;
ToolButton2: TToolButton;
Label6: TLabel;
cxGrid3: TcxGrid;
Tv3: TcxGridDBTableView;
cxGridDBColumn15: TcxGridDBColumn;
cxGridDBColumn17: TcxGridDBColumn;
cxGridDBColumn18: TcxGridDBColumn;
cxGridDBColumn19: TcxGridDBColumn;
cxGridDBColumn20: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
Label8: TLabel;
Label5: TLabel;
Label7: TLabel;
CINO: TEdit;
ConNo: TEdit;
CustomerNoName: TEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridDBColumn11: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
VDate: TcxGridDBColumn;
cxGridDBColumn12: TcxGridDBColumn;
cxGridDBColumn13: TcxGridDBColumn;
VYB: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
cxGridDBColumn14: TcxGridDBColumn;
VNote: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
CheckBox1: TCheckBox;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxPageControl1Change(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure WorkerChange(Sender: TObject);
procedure v1Column15CustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean);
procedure v1Column9CustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure CINOKeyPress(Sender: TObject; var Key: Char);
procedure ConNoKeyPress(Sender: TObject; var Key: Char);
procedure Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton2Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
private
FInt,PFInt:Integer;
canshu1,canshu2:string;
FNowDate:TDateTime;
procedure InitGrid();
procedure InitForm();
function DelData():Boolean;
procedure InitGridWsql(fsj:string);
function SaveData():Boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
frmCICXList: TfrmCICXList;
implementation
uses
U_DataLink,U_RTFun,U_FHInPut,U_ModuleNote, U_ZDYHelp,U_CIInPut,
U_SKCRFenPei,U_ConDJFenPei;
{$R *.dfm}
procedure TfrmCICXList.FormDestroy(Sender: TObject);
begin
frmCICXList:=nil;
end;
procedure TfrmCICXList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmCICXList.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('CIList',Tv1,'CI<43><49><EFBFBD><EFBFBD>');
end;
procedure TfrmCICXList.InitGrid();
var
fsj:String;
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select AA.* from (');
sql.Add(' select A.*,ConNO=dbo.F_Get_Order_SubStr(A.CIID,''CIConNO'') ');
sql.Add(',PS=(select Sum(CSPS) from JYOrder_CI_Sub CS where CS.CIID=A.CIID)');
sql.Add(',Qty=(select Sum(CSQty) from JYOrder_CI_Sub CS where CS.CIID=A.CIID)');
sql.Add(',QtyUnit=(select Top 1 CSQtyUnit from JYOrder_CI_Sub CS where CS.CIID=A.CIID)');
SQL.Add(' from JYOrder_CI A');
sql.Add(' ) AA');
sql.Add(' where 1=1 ');
{if Trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add('and (Filler in(select UserName from SY_User where DPID in');
sql.Add(' (select DPID from SY_User where UserName='''+Trim(DName)+'''))');
end;}
if CheckBox1.Checked=True then
begin
fsj:=TA(ComboBox2.Items.Objects[ComboBox2.Items.IndexOf(Trim(ComboBox2.Text))]).S;
sql.Add(' and AA.'+Trim(fsj)+'>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''');
sql.Add(' and AA.'+Trim(fsj)+'<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
end else
begin
sql.Add(' and isnull(YSMoney,0)<>0');
end;
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCICXList.InitForm();
begin
FNowDate:=SGetServerDate(ADOQueryTemp);
EndDate.Date:=FNowDate;
BegDate.Date:=EndDate.Date-7;
ReadCxGrid('CIList',Tv1,'CI<43><49><EFBFBD><EFBFBD>');
//InitGrid();
end;
function TfrmCICXList.DelData():Boolean;
begin
try
Result:=false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete JYOrder_CI where CIId='''+Trim(Order_Main.fieldbyname('CIId').AsString)+'''');
sql.Add('delete JYOrder_CI_Sub where CIId='''+Trim(Order_Main.fieldbyname('CIId').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 TfrmCICXList.TBExportClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
TcxGridToExcel(<>տ<EFBFBD><D5BF><EFBFBD>ѯ',cxGrid1);
end;
procedure TfrmCICXList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCICXList.FormShow(Sender: TObject);
var
i:Integer;
begin
InitForm();
SInitComBoxByTvColumns(ComboBox2,Tv1,999,True,True);
end;
procedure TfrmCICXList.cxPageControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCICXList.ToolButton3Click(Sender: TObject);
begin
try
frmModuleNote:=TfrmModuleNote.Create(Application);
with frmModuleNote do
begin
flag:=<>տ<EFBFBD><D5BF><EFBFBD>ѯ';
if ShowModal=1 then
begin
end;
end;
finally
frmModuleNote.Free;
end;
end;
procedure TfrmCICXList.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
canshu2:=Trim(DParameters2);
end;
procedure TfrmCICXList.InitGridWsql(fsj:string);
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select AA.* from (');
sql.Add(' select A.*,ConNO=dbo.F_Get_Order_SubStr(A.CIID,''CIConNO'') ');
sql.Add(',PS=(select Sum(CSPS) from JYOrder_CI_Sub CS where CS.CIID=A.CIID)');
sql.Add(',Qty=(select Sum(CSQty) from JYOrder_CI_Sub CS where CS.CIID=A.CIID)');
sql.Add(',QtyUnit=(select Top 1 CSQtyUnit from JYOrder_CI_Sub CS where CS.CIID=A.CIID)');
SQL.Add(' from JYOrder_CI A');
// sql.Add(' inner join JYOrderCon_Main C on A.PIMainId=C.MainId');
sql.Add(' ) AA');
sql.Add(' where 1=1 ');
{if Trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add('and (Filler in(select UserName from SY_User where DPID in');
sql.Add(' (select DPID from SY_User where UserName='''+Trim(DName)+'''))');
end; }
sql.Add(fsj);
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
function TfrmCICXList.SaveData():Boolean;
var
maxno,maxSubNo:String;
begin
try
Result:=False;
ADOQueryCmd.Connection.BeginTrans;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if Trim(Order_Main.fieldbyname('MRID').AsString)='' then
begin
if GetLSNo(ADOQueryCmd,maxno,'MR','Module_Prompt_Result',4,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(Order_Main.fieldbyname('MRID').AsString);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from Module_Prompt_Result where MRId='''+Trim(Order_Main.fieldbyname('MRID').AsString)+'''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(Order_Main.fieldbyname('MRID').AsString)='' then
begin
Append;
end
else begin
Edit;
end;
FieldByName('MPId').Value:=Trim(Order_Main.fieldbyname('MPId').AsString);
FieldByName('MRId').Value:=Trim(maxno);
FieldByName('MRStatus').Value:='<27>Ѵ<EFBFBD><D1B4><EFBFBD>';
FieldByName('MRDate').Value:=SGetServerDateTime(ADOQueryTemp);
if Trim(Order_Main.fieldbyname('MRId').AsString)='' then
begin
FieldByName('Filler').Value:=Trim(DName);
end else
begin
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp);
end;
Post;
end;
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
except
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmCICXList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCICXList.WorkerChange(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 TfrmCICXList.v1Column15CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
Id,Id10:Integer;
begin
Id:=TV1.GetColumnByFieldName('YuJinagDate1').Index;//
Id10:=TV1.GetColumnByFieldName('MoneyKC').Index;
if Id<0 then Exit;
//$008000FF <20>Ⱥ<EFBFBD>ɫ <20><>ɫ $000D55FF $00B9EE9F dz<><C7B3>
if AViewInfo.GridRecord.Values[Id10]>0 then
begin
if AViewInfo.GridRecord.Values[Id]-FNowDate<=0 then
begin
ACanvas.Brush.Color:=clYellow;
end else
if AViewInfo.GridRecord.Values[Id]=null then
begin
// ACanvas.Brush.Color:=clWhite;
end;
end else
begin
//ACanvas.Brush.Color:=clWhite;
end;
end;
procedure TfrmCICXList.v1Column9CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
Id,Id10:Integer;
begin
Id:=TV1.GetColumnByFieldName('YuJinagDate2').Index;//
Id10:=TV1.GetColumnByFieldName('MoneyKC').Index;
if Id<0 then Exit;
//$008000FF <20>Ⱥ<EFBFBD>ɫ <20><>ɫ $000D55FF $00B9EE9F dz<><C7B3>
if AViewInfo.GridRecord.Values[Id10]>0 then
begin
if AViewInfo.GridRecord.Values[Id]-FNowDate<=0 then
begin
ACanvas.Brush.Color:=clRed;
end else
if AViewInfo.GridRecord.Values[Id]=null then
begin
//ACanvas.Brush.Color:=clWhite;
end;
end else
begin
//ACanvas.Brush.Color:=clWhite;
end;
end;
procedure TfrmCICXList.ToolButton1Click(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 TfrmCICXList.ToolButton4Click(Sender: TObject);
var
fPrintFile:String;
begin
if Order_Main.IsEmpty then Exit;
if Order_Main.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>ǩ.rmf' ;
Order_Main.DisableControls;
with Order_Main do
begin
First;
while not eof do
begin
if Order_Main.FieldByName('SSel').AsBoolean=True then
begin
{with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from JYOrder_Main_MD where MDID='''+Trim(Order_Main.fieldbyname('MDID').AsString)+'''');
Open;
end;
if ADOQueryTemp.FieldByName('NotPrint').AsBoolean=True then
begin
Order_Main.EnableControls;
Application.MessageBox('<27><><EFBFBD>ܴ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end; }
if FileExists(fPrintFile) then
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('select B.OrderNo,B.MPRTCodeName,B.MPRTMF,B.MPRTKZ,C.PRTHX,C.PRTColorNo,C.PRTColor,GangNo=A.GangNo,A.PS,A.Qty,A.QtyUnit,A.MDID ');
SQL.Add(',B.MPRTCode,B.MPRTGY,C.PRTColorEng,A.SelfGangNo');
sql.Add('from JYOrder_Main_MD A');
sql.Add('inner join JYOrder_Main B on A.OrdMainid=B.Mainid');
sql.Add(' inner join JYOrder_Sub C on A.OrdSubid=C.SubId');
sql.Add(' where A.MDID='''+Trim(Order_Main.fieldbyname('MDID').AsString)+'''');
Open;
end;
RM1.LoadFromFile(fPrintFile);
//RM1.ShowReport;
RM1.PrintReport;
end else
begin
Order_Main.DisableControls;
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>ǩ.rmf'),'<27><>ʾ',0);
Exit;
end;
end;
Next;
end;
end;
Order_Main.EnableControls;
end;
procedure TfrmCICXList.CINOKeyPress(Sender: TObject; var Key: Char);
var
fsj:String;
begin
if Length(Trim(CINO.Text))<3 then Exit;
fsj:=' and AA.CINO like '''+'%'+Trim(CINO.Text)+'%'+'''';
InitGridWsql(fsj);
end;
procedure TfrmCICXList.ConNoKeyPress(Sender: TObject; var Key: Char);
var
fsj:String;
begin
if Length(Trim(ConNo.Text))<3 then Exit;
fsj:=' and AA.ConNo like '''+'%'+Trim(ConNo.Text)+'%'+'''';
InitGridWsql(fsj);
end;
procedure TfrmCICXList.Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select YS.CRTime,YS.BZType,YS.Money,FP.* ');
sql.Add(' from SK_Money_FP FP');
sql.Add(' inner join YF_Money_CR YS on FP.YFID=YS.YFID');
sql.Add(' where FP.WBID='''+Trim(Order_Main.fieldbyname('CIId').AsString)+'''');
sql.Add(' and isnull(FPType,'''')<>''CI<43><49><EFBFBD><EFBFBD>'' ');
Open;
end;
SCreateCDS20(ADOQueryTemp,ClientDataSet2);
SInitCDSData20(ADOQueryTemp,ClientDataSet2);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select YS.PriceUnit,YS.DJMoney,FP.* ');
sql.Add(' from SK_Money_FP FP');
sql.Add(' inner join JYOrderCon_Sub YS on FP.YFID=YS.SubId');
sql.Add(' where FP.WBID='''+Trim(Order_Main.fieldbyname('CIID').AsString)+'''');
sql.Add(' and FPType=''CI<43><49><EFBFBD><EFBFBD>'' ');
Open;
end;
SCreateCDS20(ADOQueryTemp,ClientDataSet3);
SInitCDSData20(ADOQueryTemp,ClientDataSet3);
end;
procedure TfrmCICXList.ToolButton2Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
{if Trim(DName)<>Trim(Order_Main.fieldbyname('Filler').AsString) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>Ϣ!','<27><>ʾ',0);
Exit;
end; }
try
frmCIInPut:=TfrmCIInPut.Create(Application);
with frmCIInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('CIID').AsString);
TBSave.Visible:=False;
ToolBar2.Visible:=False;
if ShowModal=1 then
begin
end;
end;
finally
frmCIInPut.Free;
end;
end;
procedure TfrmCICXList.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
end.