D7zzXiangHeng/纱线仓库(CYSXCK.dll)/U_ClothSCHZMXListSel.pas
DESKTOP-E401PHE\Administrator 0026e9e246 0
2025-08-08 10:42:50 +08:00

421 lines
12 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_ClothSCHZMXListSel;
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, cxCheckBox, cxPC, cxContainer, cxMaskEdit;
type
TfrmClothSCHZMXListSel = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: 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;
Order_Main: TClientDataSet;
Label10: TLabel;
C_Code: TEdit;
Panel2: TPanel;
cxGrid3: TcxGrid;
TvPBMX: TcxGridDBTableView;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn43: TcxGridDBColumn;
cxGridDBColumn44: TcxGridDBColumn;
cxGridDBColumn45: TcxGridDBColumn;
cxGridDBColumn46: TcxGridDBColumn;
cxGridDBColumn47: TcxGridDBColumn;
cxGridDBColumn51: TcxGridDBColumn;
cxGridLevel5: TcxGridLevel;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1OrderNo: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column21: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
ToolButton1: TToolButton;
CDS_YuanLiao: TClientDataSet;
DataSource2: TDataSource;
CDS_PBMX: TClientDataSet;
DataSourcePBMX: TDataSource;
ADOQuery1: TADOQuery;
vPBMXColumn1: TcxGridDBColumn;
ToolButton2: TToolButton;
vPBMXColumn2: TcxGridDBColumn;
vPBMXColumn3: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
cxGridPopupMenu2: TcxGridPopupMenu;
cxGridPopupMenu3: TcxGridPopupMenu;
vPBMXColumn4: TcxGridDBColumn;
vPBMXColumn5: TcxGridDBColumn;
ScrollBox1: TScrollBox;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
Label11: TLabel;
Label9: TLabel;
Label14: TLabel;
Label15: TLabel;
Label18: TLabel;
Label19: TLabel;
Label21: TLabel;
Label22: TLabel;
Label8: TLabel;
Label12: TLabel;
Label13: TLabel;
Label16: TLabel;
Label17: TLabel;
Label20: TLabel;
Label23: TLabel;
Label24: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label25: TLabel;
Label29: TLabel;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label39: TLabel;
Label35: TLabel;
Label36: TLabel;
Label50: TLabel;
ConNo1: TEdit;
QDTime: TDateTimePicker;
C_CodeName1: TcxButtonEdit;
KZQty: TEdit;
CarType: TcxButtonEdit;
MFQty: TEdit;
CompanyName: TcxButtonEdit;
ZhuanQty: TEdit;
DayQty: TEdit;
DeliveryDate: TDateTimePicker;
C_Color: TEdit;
PiKgQty: TEdit;
PiQty: TEdit;
C_Qty: TEdit;
C_Code1: TEdit;
PiZhong: TEdit;
ZhenCun: TcxButtonEdit;
ZongZhenQty: TEdit;
ChouZhen: TcxButtonEdit;
PiKgQtyFD: TEdit;
C_Spec: TEdit;
GZGSType: TComboBox;
ShaChang: TEdit;
C_Note: TRichEdit;
C_HX: TEdit;
SJCarNO: TEdit;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v2Column3: TcxGridDBColumn;
v2YCLName: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
v2YCLSpec: TcxGridDBColumn;
v2PinPai: TcxGridDBColumn;
v2GYSName: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column11: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
v2Column12: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(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 ToolButton1Click(Sender: TObject);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ToolButton2Click(Sender: TObject);
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean);
private
FInt,PFInt:Integer;
canshu1:string;
procedure InitGrid();
procedure InitForm();
procedure InitRZData();
{ Private declarations }
public
RZConNO:String;
{ Public declarations }
end;
var
frmClothSCHZMXListSel: TfrmClothSCHZMXListSel;
implementation
uses
U_DataLink,U_ClothSCInPut,U_RTFun,U_ZDYHelp;
{$R *.dfm}
procedure TfrmClothSCHZMXListSel.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmClothSCHZMXListSel.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>Selkk',Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>Sel1kk',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>Sel2kk',TvPBMX,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmClothSCHZMXListSel.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select * ');
sql.Add(',Case when isnull((select count(*) from CaiGou_SQ where ConNo=A.ConNo ),0)>0 ');
sql.Add('then Cast(1 as bit) else Cast(0 as bit) end as JHDFlag');
sql.Add('from Cloth_Main A inner join CLoth_Sub B on A.Mainid=B.MainId where '); //A.YLOK=1
sql.Add(' EndFlag=0 ');
if Trim(RZConNO)<>'' then
begin
sql.Add(' and isnull(A.ConNo,'''')='''+Trim(RZConNO)+'''');
end else
begin
sql.Add(' and A.QDTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''');
sql.Add(' and A.QDTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+'''');
end;
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
if Trim(RZConNO)<>'' then
begin
InitRZData();
end;
end;
procedure TfrmClothSCHZMXListSel.InitForm();
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>Selkk',Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>Sel1kk',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>Sel2kk',TvPBMX,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7;
EndDate.DateTime:=SGetServerDate10(ADOQueryTemp);
InitGrid();
if Trim(RZConNO)<>'' then
begin
ToolButton2.Visible:=False;
end;
end;
procedure TfrmClothSCHZMXListSel.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 TfrmClothSCHZMXListSel.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmClothSCHZMXListSel.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 TfrmClothSCHZMXListSel.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmClothSCHZMXListSel.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('select * from Cloth_Main A inner join CLoth_Sub B on A.Mainid=B.MainId');
sql.Add(' where A.ConNo like '''+'%'+Trim(ConNo.Text)+'%'+'''');
sql.Add(' and A.YLOK=1 and EndFlag=0');
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
end;
procedure TfrmClothSCHZMXListSel.FormDestroy(Sender: TObject);
begin
frmClothSCHZMXListSel:=nil;
end;
procedure TfrmClothSCHZMXListSel.ToolButton1Click(Sender: TObject);
begin
try
frmClothSCInPut:=TfrmClothSCInPut.Create(Application);
with frmClothSCInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString);
FSubId:=Trim(Self.Order_Main.fieldbyname('SubId').AsString);
FConNo:=Trim(Self.Order_Main.fieldbyname('ConNo').AsString);
if ShowModal=1 then
begin
end;
end;
finally
frmClothSCInPut.Free;
end;
end;
procedure TfrmClothSCHZMXListSel.Tv1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
InitRZData();
end;
procedure TfrmClothSCHZMXListSel.InitRZData();
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add(' exec Cloth_QryList :MainId,:WSql');
if Order_Main.IsEmpty=False then
begin
ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString);
ADOQuery1.Parameters.ParamByName('WSql').Value:=' ';
end else
begin
ADOQuery1.Parameters.ParamByName('MainId').Value:='';
ADOQuery1.Parameters.ParamByName('WSql').Value:=' and 1<>1 ';
end;
Open;
end;
SCSHData(ADOQuery1,ScrollBox1,0);
SCSHData(ADOQuery1,ScrollBox1,2);
ConNo1.Text:=Trim(ADOQuery1.fieldbyname('ConNo').AsString);
C_CodeName1.Text:=Trim(ADOQuery1.fieldbyname('C_CodeName').AsString);
C_Code1.Text:=Trim(ADOQuery1.fieldbyname('C_Code').AsString);
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select A.* ');
sql.Add(',YLQty=Cast(C_Qty*PBQty*0.01*(1+isnull(ZPSH,0)*0.01) as decimal(18,1))');
sql.Add(',SQQty=(select sum(SQQty) from CaiGou_SQ SQ where SQ.ConNo=C.ConNo and SQ.SPName=A.YCLName ');
sql.Add(' and SQ.Valid=''Y'' and isnull(SQ.ConNo,'''')<>'''')');
sql.Add(',DHQty=(select sum(Qty) from CK_SXPB_CR SQ where SQ.PBNO=C.ConNo and SQ.SPName=A.YCLName ');
sql.Add(' and isnull(SQ.PBNO,'''')<>'''' and ZFFlag=0 and CKName='<><C9B4>'' and CRFlag=''<27><><EFBFBD><EFBFBD>'')');
sql.Add(',CKQty=(select sum(Qty) from CK_SXPB_CR SQ where SQ.PBNO=C.ConNo and SQ.SPName=A.YCLName ');
sql.Add(' and isnull(SQ.PBNO,'''')<>'''' and ZFFlag=0 and CKName='<><C9B4>'' and CRFlag=''<27><><EFBFBD><EFBFBD>'')');
sql.Add(' from Cloth_YCL_PB A ');
sql.Add(' inner join Cloth_Sub B on A.SubId=B.SubId');
sql.Add(' inner join Cloth_Main C on B.MainId=C.MainId');
sql.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
Open;
end;
SCreateCDS20(ADOQuery1,CDS_YuanLiao);
SInitCDSData20(ADOQuery1,CDS_YuanLiao);
end;
procedure TfrmClothSCHZMXListSel.Tv2MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
// with ADOQueryTemp do
// begin
// Close;
// sql.Clear;
// sql.Add('select MX.* ');
// sql.Add(',YLQty10=Cast(C_Qty*A.PBQty*0.01*(1+isnull(ZPSH,0)*0.01)*MX.PBQty*0.01*(1+isnull(WLSH,0)*0.01) as decimal(18,1))');
// sql.Add(' from Cloth_YCL_PB A');
// sql.Add(' inner join Cloth_Sub B on A.SubId=B.SubId');
// sql.Add(' inner join Cloth_YCL_PB_MX MX on A.PBID=MX.PBID');
// SQL.Add(' where MX.PBID='''+Trim(CDS_YuanLiao.fieldbyname('PBID').AsString)+'''');
// Open;
// end;
// SCreateCDS20(ADOQueryTemp,CDS_PBMX);
// SInitCDSData20(ADOQueryTemp,CDS_PBMX);
end;
procedure TfrmClothSCHZMXListSel.ToolButton2Click(Sender: TObject);
begin
if (CDS_YuanLiao.Locate('SSel',True,[])=False) and (CDS_PBMX.Locate('SSel',True,[])=False) then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
ModalResult:=1;
end;
procedure TfrmClothSCHZMXListSel.Tv1CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
IF AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('JHDFlag').Index]=True then
ACanvas.Brush.Color:=clSkyBlue;
end;
end.