D10myYicheng/发货申请(ShipmentRequest.dll)/U_SXKCCK.pas

1249 lines
34 KiB
ObjectPascal
Raw Normal View History

2025-05-27 14:08:09 +08:00
unit U_SXKCCK;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, ADODB, DBClient,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
cxGrid, MovePanel, cxCheckBox, Menus, ComCtrls, BtnEdit, ShellAPI, cxTextEdit,
RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, RM_e_Xls,
cxCalendar, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore,
dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu,U_BaseList;
type
TfrmSXKCCK = class(TFrmBaseList)
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
DS_MainSel: TDataSource;
cxGridPopupMenu4: TcxGridPopupMenu;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
CDS_YanSe: TClientDataSet;
RMXLSExport1: TRMXLSExport;
RMDBMX: TRMDBDataSet;
RM1: TRMGridReport;
DS_YanSe: TDataSource;
Panel1: TPanel;
Panel3: TPanel;
Label5: TLabel;
CKOrdNo: TEdit;
cxGrid5: TcxGrid;
TV5: TcxGridDBTableView;
v1Column12: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
cxGrid5Level1: TcxGridLevel;
Button2: TButton;
Button1: TButton;
Panel2: TPanel;
Button3: TButton;
Button4: TButton;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
cxGridLevel2: TcxGridLevel;
Panel4: TPanel;
V1Column15: TcxGridDBColumn;
V1Column17: TcxGridDBColumn;
V1Column19: TcxGridDBColumn;
V1Column20: TcxGridDBColumn;
V1Column21: TcxGridDBColumn;
V1Column22: TcxGridDBColumn;
V1Column23: TcxGridDBColumn;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
cxGrid3: TcxGrid;
TV3: TcxGridDBTableView;
cxGridDBColumn8: TcxGridDBColumn;
cxGridDBColumn11: TcxGridDBColumn;
cxGridDBColumn12: TcxGridDBColumn;
cxGridDBColumn13: TcxGridDBColumn;
cxGridDBColumn14: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
Panel6: TPanel;
Panel5: TPanel;
Panel7: TPanel;
Button5: TButton;
Panel8: TPanel;
LabHZ: TLabel;
CDS_MainSel: TClientDataSet;
CDS_GangHao: TClientDataSet;
CDS_TuoTuan: TClientDataSet;
DS_GangHao: TDataSource;
DS_TuoTuan: TDataSource;
V1Column10: TcxGridDBColumn;
V2Column2: TcxGridDBColumn;
V3Column1: TcxGridDBColumn;
V3Column2: TcxGridDBColumn;
V2Column4: TcxGridDBColumn;
V2Column7: TcxGridDBColumn;
V1Column11: TcxGridDBColumn;
V2Column8: TcxGridDBColumn;
V3Column3: TcxGridDBColumn;
CDS_YanSeSel: TClientDataSet;
CDS_GangHaoSel: TClientDataSet;
CDS_TuoTuanSel: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
cxGridPopupMenu2: TcxGridPopupMenu;
cxGridPopupMenu3: TcxGridPopupMenu;
cxGrid4: TcxGrid;
Tv7: TcxGridDBTableView;
cv2Column10: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cv2Column4: TcxGridDBColumn;
cv2Column12: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cv2Column6: TcxGridDBColumn;
cxGridDBColumn15: TcxGridDBColumn;
cxGridDBColumn16: TcxGridDBColumn;
cxGridLevel4: TcxGridLevel;
btnCX: TButton;
cxGrid6: TcxGrid;
Tv6: TcxGridDBTableView;
cxGridDBColumn19: TcxGridDBColumn;
v1CustomerNoName: TcxGridDBColumn;
cxGridDBColumn20: TcxGridDBColumn;
v1OrdDate: TcxGridDBColumn;
v1Column26: TcxGridDBColumn;
cxGridDBColumn21: TcxGridDBColumn;
cxGridDBColumn24: TcxGridDBColumn;
cxGridDBColumn25: TcxGridDBColumn;
cxGridDBColumn26: TcxGridDBColumn;
v1Column27: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
DataSource6: TDataSource;
ClientDataSet6: TClientDataSet;
ClientDataSet7: TClientDataSet;
DataSource7: TDataSource;
cxStyleRepository2: TcxStyleRepository;
cxStyle2: TcxStyle;
CRTime: TDateTimePicker;
edtCKCS: TEdit;
Tv7Column1: TcxGridDBColumn;
TV5Column1: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
PopupMenu2: TPopupMenu;
MenuItem1: TMenuItem;
N2: TMenuItem;
pmCDS_YanSe: TPopupMenu;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
pmGangHao: TPopupMenu;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
pmTuoTuan: TPopupMenu;
MenuItem6: TMenuItem;
MenuItem7: TMenuItem;
Tv7Column2: TcxGridDBColumn;
Tv7Column3: TcxGridDBColumn;
TV5Column2: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure btnCXClick(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure V1Column10PropertiesEditValueChanged(Sender: TObject);
procedure V2Column2PropertiesEditValueChanged(Sender: TObject);
procedure V3Column1PropertiesEditValueChanged(Sender: TObject);
procedure v1Column12PropertiesEditValueChanged(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure MenuItem1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure MenuItem4Click(Sender: TObject);
procedure MenuItem5Click(Sender: TObject);
procedure MenuItem2Click(Sender: TObject);
procedure MenuItem3Click(Sender: TObject);
procedure MenuItem6Click(Sender: TObject);
procedure MenuItem7Click(Sender: TObject);
private
{ Private declarations }
fsjYS, fsjGH, fsjTP: string;
XZPS: Integer;
XZMS, XZKg, XZYS: Double;
procedure InitKC();
procedure initMXKC();
procedure initHZData();
procedure initLab();
procedure FHSQ();
public
{ Public declarations }
end;
var
frmSXKCCK: TfrmSXKCCK;
implementation
uses
U_DataLink, U_RTFun, MMSystem, U_FHSQListSel, U_CKProductBCPKCListSel;
{$R *.dfm}
procedure TfrmSXKCCK.InitKC();
var
fwhere, Pwhere: string;
begin
Pwhere := SGetFilters(Panel1, 1, 2);
if trim(Pwhere) <> '' then
fwhere := fwhere + ' where ' + trim(Pwhere);
with ADOQueryTemp do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' Select AA.* ');
sql.Add(' ,B.OrderNo,B.MPRTCode,B.MPRTCodeName,B.MPRTMF,B.MPRTKZ ');
sql.Add(' ,C.PRTColor,C.PRTEColor,C.PRTHX,C.PrtKuanNo,C.PRTColorNo ');
sql.Add(' from(select A.MainId,A.Subid,QtyY=sum(Cast(A.Qty*1.0936 as decimal(18,1))),QtyM=sum(Qty),QtyKg=Sum(KgQty),PS=Count(*) ');
sql.Add(' from CK_BanCP_CR A inner join CK_BanCP_KC D on A.MJID=D.MJID ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and A.CPType=''<27><>Ʒ'' and D.KCValid=''Y'' ');
sql.Add(' and exists(select SubId from FHSQ_Sub X where X.SubId=A.SubId and X.FSId=' + QUOTEDSTR(CKOrdNo.Text) + ') ');
sql.Add(' Group by A.MainId,A.Subid) AA ');
sql.Add(' inner join JYOrder_Main B on AA.MainId=B.MainId ');
sql.Add(' inner join JYOrder_Sub C on AA.SubId=C.SubId ');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_YanSe);
SInitCDSData(ADOQueryTemp, CDS_YanSe);
// SelOKNo(CDS_YanSe, True);
with ADOQueryTemp do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' Select AA.* ');
sql.Add(' ,B.OrderNo,B.MPRTCode,B.MPRTCodeName,B.MPRTMF,B.MPRTKZ ');
sql.Add(' ,C.PRTColor,C.PRTEColor,C.PRTHX,C.PrtKuanNo,C.PRTColorNo ');
sql.Add(' from(select A.MainId,A.Subid,A.APID,A.GangHao,QtyY=sum(Cast(A.Qty*1.0936 as decimal(18,1))),QtyM=sum(Qty),QtyKg=Sum(KgQty),PS=Count(*) ');
sql.Add(' from CK_BanCP_CR A inner join CK_BanCP_KC D on A.MJID=D.MJID ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and A.CPType=''<27><>Ʒ'' and D.KCValid=''Y'' ');
sql.Add(' and exists(select SubId from FHSQ_Sub X where X.SubId=A.SubId and X.FSId=' + QUOTEDSTR(CKOrdNo.Text) + ') ');
sql.Add(' Group by A.MainId,A.Subid,A.APID,A.GangHao) AA ');
sql.Add(' inner join JYOrder_Main B on AA.MainId=B.MainId ');
sql.Add(' inner join JYOrder_Sub C on AA.SubId=C.SubId ');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_GangHao);
SInitCDSData(ADOQueryTemp, CDS_GangHao);
// SelOKNo(CDS_GangHao, True);
with ADOQueryTemp do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' Select AA.* ');
sql.Add(' ,B.OrderNo,B.MPRTCode,B.MPRTCodeName,B.MPRTMF,B.MPRTKZ ');
sql.Add(' from(select A.MainId,A.RKOrdID,A.KuangHao,QtyY=sum(Cast(A.Qty*1.0936 as decimal(18,1))),QtyM=sum(Qty),QtyKg=Sum(KgQty),PS=Count(*) ');
sql.Add(' from CK_BanCP_CR A inner join CK_BanCP_KC D on A.MJID=D.MJID ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and A.CPType=''<27><>Ʒ'' and D.KCValid=''Y'' ');
sql.Add(' and exists(select SubId from FHSQ_Sub X where X.SubId=A.SubId and X.FSId=' + QUOTEDSTR(CKOrdNo.Text) + ') ');
sql.Add(' Group by A.MainId,A.RKOrdID,A.KuangHao) AA ');
sql.Add(' inner join JYOrder_Main B on AA.MainId=B.MainId ');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_TuoTuan);
SInitCDSData(ADOQueryTemp, CDS_TuoTuan);
// SelOKNo(CDS_TuoTuan, True);
with ADOQueryTemp do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.*,QtyY=Cast(A.Qty*1.0936 as decimal(18,1)) ');
sql.Add(' ,B.OrderNo,B.MPRTCode,B.MPRTCodeName,B.MPRTMF,B.MPRTKZ ');
sql.Add(' ,C.PRTColor,C.PRTEColor,C.PRTHX,C.PrtKuanNo ');
sql.Add(' from CK_BanCP_CR A inner join CK_BanCP_KC D on A.MJID=D.MJID ');
sql.Add(' inner join JYOrder_Main B on A.MainId=B.MainId ');
sql.Add(' inner join JYOrder_Sub C on A.SubId=C.SubId ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and A.CPType=''<27><>Ʒ'' and D.KCValid=''Y'' ');
sql.Add(' and exists(select SubId from FHSQ_Sub X where X.SubId=A.SubId and X.FSId=' + QUOTEDSTR(CKOrdNo.Text) + ') ');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_MainSel);
SInitCDSData(ADOQueryTemp, CDS_MainSel);
// SelOKNo(CDS_MainSel, True);
end;
procedure TfrmSXKCCK.initMXKC();
var
fsj: string;
begin
fsj := '';
with CDS_YanSeSel do
begin
First;
while not eof do
begin
if Trim(fsj) = '' then
begin
fsj := fsj + '''' + Trim(fieldbyname('SubId').AsString) + '''';
end
else
fsj := fsj + ',' + '''' + Trim(fieldbyname('SubId').AsString) + '''';
Next;
end;
end;
fsjYS := fsj;
fsj := '';
with CDS_GangHaoSel do
begin
First;
while not eof do
begin
if Trim(fsj) = '' then
begin
fsj := fsj + '''' + Trim(fieldbyname('APId').AsString) + '''';
end
else
fsj := fsj + ',' + '''' + Trim(fieldbyname('APId').AsString) + '''';
Next;
end;
end;
fsjGH := fsj;
fsj := '';
with CDS_TuoTuanSel do
begin
First;
while not eof do
begin
if Trim(fsj) = '' then
begin
fsj := fsj + '''' + Trim(fieldbyname('RKOrdID').AsString) + '''';
end
else
fsj := fsj + ',' + '''' + Trim(fieldbyname('RKOrdID').AsString) + '''';
Next;
end;
end;
fsjTP := fsj;
with ADOQueryTemp do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.*,QtyY=Cast(A.Qty*1.0936 as decimal(18,1)) ');
sql.Add(' ,B.OrderNo,B.MPRTCode,B.MPRTCodeName,B.MPRTMF,B.MPRTKZ ');
sql.Add(' ,C.PRTColor,C.PRTEColor,C.PRTHX,C.PrtKuanNo ');
sql.Add(' from CK_BanCP_CR A inner join CK_BanCP_KC D on A.MJID=D.MJID ');
sql.Add(' inner join JYOrder_Main B on A.MainId=B.MainId ');
sql.Add(' inner join JYOrder_Sub C on b.mainid=c.mainid and A.SubId=C.SubId '); //A.SubId=C.SubId
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and A.CPType=''<27><>Ʒ'' and D.KCValid=''Y'' ');
sql.Add(' and exists(select SubId from FHSQ_Sub X where X.SubId=A.SubId and X.FSId=' + QUOTEDSTR(CKOrdNo.Text) + ') ');
if Trim(fsjYS) <> '' then
begin
sql.Add(' and A.Subid in(' + Trim(fsjYS) + ')');
end;
if Trim(fsjGH) <> '' then
begin
sql.Add(' and A.APid in(' + Trim(fsjGH) + ')');
end;
if Trim(fsjTP) <> '' then
begin
sql.Add(' and A.RKOrdID in(' + Trim(fsjTP) + ')');
end;
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_MainSel);
SInitCDSData(ADOQueryTemp, CDS_MainSel);
SelOKNo(CDS_MainSel, True);
initHZData();
initLab();
end;
procedure TfrmSXKCCK.initHZData();
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select PS=count(*),QtyY=sum(MJYLen),QtyKg=sum(KgQty),QtyM=sum(Qty) ');
sql.Add(' from CK_BanCP_CR A inner join CK_BanCP_KC D on A.MJID=D.MJID ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and A.CPType=''<27><>Ʒ'' and D.KCValid=''Y'' ');
sql.Add(' and exists(select SubId from FHSQ_Sub X where X.SubId=A.SubId and X.FSId=' + QUOTEDSTR(CKOrdNo.Text) + ') ');
if Trim(fsjYS) <> '' then
begin
sql.Add(' and A.Subid in(' + Trim(fsjYS) + ')');
end;
if Trim(fsjGH) <> '' then
begin
sql.Add(' and A.APid in(' + Trim(fsjGH) + ')');
end;
if Trim(fsjTP) <> '' then
begin
sql.Add(' and A.RKOrdID in(' + Trim(fsjTP) + ')');
end;
Open;
end;
if Trim(ADOQueryTemp.fieldbyname('PS').AsString) <> '' then
begin
XZPS := ADOQueryTemp.fieldbyname('PS').Value;
end
else
begin
XZPS := 0;
end;
if Trim(ADOQueryTemp.fieldbyname('QtyM').AsString) <> '' then
begin
XZMS := ADOQueryTemp.fieldbyname('QtyM').Value;
end
else
begin
XZMS := 0;
end;
if Trim(ADOQueryTemp.fieldbyname('QtyKg').AsString) <> '' then
begin
XZKg := ADOQueryTemp.fieldbyname('QtyKg').Value;
end
else
begin
XZKg := 0;
end;
if Trim(ADOQueryTemp.fieldbyname('QtyY').AsString) <> '' then
begin
XZYS := ADOQueryTemp.fieldbyname('QtyY').Value;
end
else
begin
XZYS := 0;
end;
end;
procedure TfrmSXKCCK.initLab();
begin
LabHZ.Caption := 'ѡ<>У<EFBFBD>' + inttostr(XZPS) + 'ƥ,' + ' ' + FloatToStr(XZMS) + '<27><>,' + ' ' + FloatToStr(XZYS) + '<27><>,' + ' ' + FloatToStr(XZKg) + '<27><><EFBFBD><EFBFBD>';
end;
procedure TfrmSXKCCK.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmSXKCCK.FormDestroy(Sender: TObject);
begin
inherited;
frmSXKCCK := nil;
end;
procedure TfrmSXKCCK.FormShow(Sender: TObject);
begin
inherited;
CRTime.DateTime := SGetServerDate(ADOQueryTemp);
ReadCxGrid(<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
ReadCxGrid(<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2', Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
ReadCxGrid(<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3', Tv3, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
ReadCxGrid(<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5', Tv5, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end;
procedure TfrmSXKCCK.Button2Click(Sender: TObject);
begin
Close;
WriteCxGrid(<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
WriteCxGrid(<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2', Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
WriteCxGrid(<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3', Tv3, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
WriteCxGrid(<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5', Tv5, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end;
procedure TfrmSXKCCK.Button1Click(Sender: TObject);
var
MKey: Char;
begin
try
frmFHSQListSel := TfrmFHSQListSel.Create(self);
with frmFHSQListSel do
begin
if ShowModal = 1 then
begin
self.CKOrdNo.Text := Trim(Order_Main.fieldbyname('FSID').AsString);
end;
end;
finally
frmFHSQListSel.Free;
end;
fsjYS := '';
fsjGH := '';
fsjTP := '';
with ADOQueryTemp do
begin
Close;
sql.Clear;
Sql.Add(' select SQCKCS=isnull(MAX(A.SQCKCS),0)+1 from CK_BanCP_CR A');
sql.Add(' where CKOrdNo=''' + Trim(CKOrdNo.Text) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty then
edtCKCS.Text := '1'
else
edtCKCS.Text := ADOQueryTemp.FIELDBYNAME('SQCKCS').AsString;
btnCX.Click;
end;
procedure TfrmSXKCCK.btnCXClick(Sender: TObject);
begin
if Trim(CKOrdNo.Text) = '' then
Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select SubId from FHSQ_Sub where FSId=' + QUOTEDSTR(CKOrdNo.Text));
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_YanSeSel);
// SInitCDSData(ADOQueryTemp, CDS_YanSeSel);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select APId from CK_BanCP_CR A inner join CK_BanCP_KC D on A.MJID=D.MJID ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and A.CPType=''<27><>Ʒ'' and D.KCValid=''Y'' ');
sql.Add(' and exists(select SubId from FHSQ_Sub X where X.SubId=A.SubId and X.FSId=' + QUOTEDSTR(CKOrdNo.Text) + ') ');
sql.Add(' Group by APID ');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_GangHaoSel);
// SInitCDSData(ADOQueryTemp, CDS_GangHaoSel);
with ADOQueryTemp do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.RKOrdID ');
sql.Add(' from CK_BanCP_CR A inner join CK_BanCP_KC D on A.MJID=D.MJID ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and D.KCValid=''Y'' ');
sql.Add(' and exists(select SubId from FHSQ_Sub X where X.SubId=A.SubId and X.FSId=' + QUOTEDSTR(CKOrdNo.Text) + ') ');
sql.Add(' Group by A.RKOrdID ');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_TuoTuanSel);
// SInitCDSData(ADOQueryTemp, CDS_TuoTuanSel);
FHSQ();
InitKC();
initHZData();
initLab();
end;
procedure TfrmSXKCCK.FHSQ();
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
Sql.Add(' select A.*,isnull(status,'<><CEB4><EFBFBD><EFBFBD>'')status2 ');
Sql.Add(' ,HZSCConNo=CAST((select distinct(SCConNo) + '' '' from FHSQ_Sub X where A.FSID=X.FSID for xml path('''') ) AS VARCHAR(100))');
sql.Add(' from FHSQ_Main A');
sql.Add(' where FSID=''' + Trim(CKOrdNo.Text) + ''' and SQType=''<27><><EFBFBD><EFBFBD>'' ');
Open;
end;
SCreateCDS(ADOQueryTemp, ClientDataSet6);
SInitCDSData(ADOQueryTemp, ClientDataSet6);
with ADOQueryTemp do
begin
Close;
sql.Clear;
Sql.Add(' select A.* ');
sql.Add(' from FHSQ_Sub A');
sql.Add(' where FSID=''' + Trim(CKOrdNo.Text) + '''');
Open;
end;
SCreateCDS(ADOQueryTemp, ClientDataSet7);
SInitCDSData(ADOQueryTemp, ClientDataSet7);
end;
procedure TfrmSXKCCK.Button5Click(Sender: TObject);
var
SqlMJID, SqlKHKH: string;
begin
if edtCKCS.Text = '' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
with ClientDataSet7 do
begin
First;
while not Eof do
begin
if Trim(ClientDataSet7.FieldByName('SQKHKuanHao').AsString) <> '' then
begin
if CDS_MainSel.Locate('SSel;SubId;SQKHKuanHao', VarArrayOf([True, Trim(ClientDataSet7.FieldByName('SubId').AsString), null]), []) then
begin
Application.MessageBox('<27><>ָ<EFBFBD><D6B8><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if CDS_MainSel.Locate('SSel;SubId;SQKHKuanHao', VarArrayOf([True, Trim(ClientDataSet7.FieldByName('SubId').AsString), '']), []) then
begin
Application.MessageBox('<27><>ָ<EFBFBD><D6B8><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
end;
Next;
end;
end;
CDS_MainSel.DisableControls;
with CDS_MainSel do
begin
First;
SqlMJID := '';
SqlKHKH := '';
while not Eof do
begin
if CDS_MainSel.FieldByName('SSel').AsBoolean then
begin
if Trim(SqlMJID) = '' then
SqlMJID := QuotedStr(Trim(CDS_MainSel.fieldbyname('MJID').AsString))
else
SqlMJID := SqlMJID + ',' + QuotedStr(Trim(CDS_MainSel.fieldbyname('MJID').AsString));
if Trim(CDS_MainSel.FieldByName('SQKHKuanHao').AsString) <> '' then
begin
SqlKHKH := SqlKHKH + ' UPDATE CK_BanCP_CR SET SQKHKuanHao=' + quotedstr(Trim(CDS_MainSel.FieldByName('SQKHKuanHao').AsString)) + ' where MJID=' + quotedstr(Trim(CDS_MainSel.FieldByName('MJID').AsString)) + ' ';
end;
end;
Next;
end;
SqlMJID := 'MJID IN (' + SqlMJID + ')'
end;
CDS_MainSel.EnableControls;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(SqlKHKH);
sql.Add('UPDATE CK_BanCP_CR Set ');
sql.add(' Filltime= GETDATE(),CRTime=' + Quotedstr(Trim(FormatDateTime('yyyy-MM-dd', CRTime.Date))) + ',CRType='<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
sql.add(',CKOrdNo=' + quotedstr(Trim(CKOrdNo.Text)));
sql.add(',SQCKCS=' + quotedstr(Trim(edtCKCS.Text)));
sql.add(',filler=' + quotedstr(DName));
sql.Add(' where ' + SqlMJID);
sql.Add('and CK_BanCP_CR.CRFlag=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
// ShowMessage(SQL.Text);
ExecSQL;
end;
//<2F><><EFBFBD><EFBFBD>kcvalid״̬
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPDATE CK_BanCP_KC Set ');
sql.add(' KCValid=''N'' ');
sql.Add(' where ' + SqlMJID);
ExecSQL;
end;
//<2F><><EFBFBD>³<EFBFBD><C2B3><EFBFBD><EFBFBD><EFBFBD>״̬
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPDATE WFB_MJJY Set MJStr2=''<27>ѳ<EFBFBD><D1B3><EFBFBD>'' ');
sql.Add(' where ' + SqlMJID);
SQL.Add(' and WFB_MJJY.MJStr2=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('exec P_Do_FHSQ ''' + Trim(CKOrdNo.Text) + '''');
ExecSQL;
end;
FHSQ();
end;
procedure TfrmSXKCCK.V1Column10PropertiesEditValueChanged(Sender: TObject);
var
mvalue: Boolean;
fsj: string;
begin
mvalue := TcxCheckBox(Sender).EditingValue;
with CDS_YanSe do
begin
Edit;
FieldByName('SSel').Value := mvalue;
end;
if mvalue = True then
begin
with CDS_YanSeSel do
begin
Append;
FieldByName('SubId').Value := Trim(CDS_YanSe.fieldbyname('SubId').AsString);
Post;
end;
end
else
begin
CDS_YanSeSel.Locate('SubId', Trim(CDS_YanSe.fieldbyname('SubId').AsString), []);
CDS_YanSeSel.Delete;
end;
fsj := '';
with CDS_YanSeSel do
begin
First;
while not eof do
begin
if Trim(fsj) = '' then
begin
fsj := fsj + '''' + Trim(fieldbyname('SubId').AsString) + '''';
end
else
fsj := fsj + ',' + '''' + Trim(fieldbyname('SubId').AsString) + '''';
Next;
end;
end;
with ADOQueryTemp do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' Select AA.* ');
sql.Add(' ,B.OrderNo,B.MPRTCode,B.MPRTCodeName,B.MPRTMF,B.MPRTKZ ');
sql.Add(' ,C.PRTColor,C.PRTEColor,C.PRTHX,C.PrtKuanNo,C.PRTColorNo ');
sql.Add(' from(select A.MainId,A.Subid,A.GangHao,A.APID,QtyY=sum(Cast(A.Qty*1.0936 as decimal(18,1))),QtyM=sum(Qty),QtyKg=Sum(KgQty),PS=Count(*) ');
sql.Add(' from CK_BanCP_CR A inner join CK_BanCP_KC D on A.MJID=D.MJID ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and D.KCValid=''Y'' and A.CPType=''<27><>Ʒ'' ');
sql.Add(' and exists(select SubId from FHSQ_Sub X where X.SubId=A.SubId and X.FSId=' + QUOTEDSTR(CKOrdNo.Text) + ') ');
if Trim(fsj) <> '' then
begin
sql.Add(' and A.Subid in(' + Trim(fsj) + ')');
end
else
begin
sql.Add(' and 1=2');
end;
sql.Add(' Group by A.MainId,A.Subid,A.GangHao,A.APID) AA ');
sql.Add(' inner join JYOrder_Main B on AA.MainId=B.MainId ');
sql.Add(' inner join JYOrder_Sub C on b.MainId=C.MainId and AA.SubId=C.SubId '); // AA.SubId=C.SubId
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_GangHao);
SInitCDSData(ADOQueryTemp, CDS_GangHao);
// SelOKNo(CDS_GangHao, True);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select APId=Cast(Null as varchar(20))');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_GangHaoSel);
SInitCDSData(ADOQueryTemp, CDS_GangHaoSel);
if CDS_GangHaoSel.IsEmpty = False then
begin
CDS_GangHaoSel.Delete;
end;
CDS_GangHao.DisableControls;
with CDS_GangHao do
begin
First;
while not Eof do
begin
if FieldByName('SSel').AsBoolean = True then
begin
with CDS_GangHaoSel do
begin
Append;
CDS_GangHaoSel.FieldByName('APID').Value := CDS_GangHao.FieldByName('APID').Value;
Post;
end;
end;
Next;
end;
end;
CDS_GangHao.EnableControls;
initMXKC();
end;
procedure TfrmSXKCCK.V2Column2PropertiesEditValueChanged(Sender: TObject);
var
mvalue: Boolean;
begin
mvalue := TcxCheckBox(Sender).EditingValue;
with CDS_GangHao do
begin
Edit;
FieldByName('SSel').Value := mvalue;
end;
if mvalue = True then
begin
with CDS_GangHaoSel do
begin
Append;
FieldByName('APId').Value := Trim(CDS_GangHao.fieldbyname('APId').AsString);
Post;
end;
end
else
begin
CDS_GangHaoSel.Locate('APId', Trim(CDS_GangHao.fieldbyname('APId').AsString), []);
CDS_GangHaoSel.Delete;
end;
initMXKC();
end;
procedure TfrmSXKCCK.V3Column1PropertiesEditValueChanged(Sender: TObject);
var
mvalue: Boolean;
begin
mvalue := TcxCheckBox(Sender).EditingValue;
with CDS_TuoTuan do
begin
Edit;
FieldByName('SSel').Value := mvalue;
end;
if mvalue = True then
begin
with CDS_TuoTuanSel do
begin
Append;
FieldByName('RKOrdID').Value := Trim(CDS_TuoTuan.fieldbyname('RKOrdID').AsString);
Post;
end;
end
else
begin
CDS_TuoTuanSel.Locate('RKOrdID', Trim(CDS_TuoTuan.fieldbyname('RKOrdID').AsString), []);
CDS_TuoTuanSel.Delete;
end;
initMXKC();
end;
procedure TfrmSXKCCK.v1Column12PropertiesEditValueChanged(Sender: TObject);
var
mvalue: Boolean;
begin
mvalue := TcxCheckBox(Sender).EditingValue;
with CDS_MainSel do
begin
Edit;
FieldByName('SSel').Value := mvalue;
Post;
end;
if mvalue = False then
begin
XZPS := XZPS - 1;
XZMS := XZMS - CDS_MainSel.fieldbyname('Qty').Value;
XZYS := XZYS - CDS_MainSel.fieldbyname('MJYLen').Value;
XZKg := XZKg - CDS_MainSel.fieldbyname('KGQty').Value;
end
else
begin
XZPS := XZPS + 1;
XZMS := XZMS + CDS_MainSel.fieldbyname('Qty').Value;
XZYS := XZYS + CDS_MainSel.fieldbyname('MJYLen').Value;
XZKg := XZKg + CDS_MainSel.fieldbyname('KGQty').Value;
end;
initLab();
end;
procedure TfrmSXKCCK.N1Click(Sender: TObject);
var
MSubId, MSQKHKuanHao: string;
begin
MSubId := Trim(ClientDataSet7.FieldByName('SubId').AsString);
MSQKHKuanHao := Trim(ClientDataSet7.FieldByName('SQKHKuanHao').AsString);
CDS_MainSel.DisableControls;
while CDS_MainSel.Locate('SSel;SubId;SQKHKuanHao', VarArrayOf([True, MSubId, null]), []) do
begin
with CDS_MainSel do
begin
Edit;
FieldByName('SQKHKuanHao').Value := MSQKHKuanHao;
post;
end;
end;
CDS_MainSel.EnableControls;
end;
procedure TfrmSXKCCK.MenuItem1Click(Sender: TObject);
begin
SelOKNo(CDS_MainSel, True);
// initLab();
end;
procedure TfrmSXKCCK.N2Click(Sender: TObject);
begin
SelOKNo(CDS_MainSel, false);
XZPS := 0;
XZMS := 0;
XZYS := 0;
XZKg := 0;
initLab();
end;
procedure TfrmSXKCCK.MenuItem4Click(Sender: TObject);
begin
with CDS_GangHao do
begin
CDS_GangHao.DisableControls;
First;
while not Eof do
begin
if not CDS_GangHao.FieldByName('SSel').AsBoolean then
begin
with CDS_GangHao do
begin
Edit;
FieldByName('SSel').Value := True;
Post
end;
with CDS_GangHaoSel do
begin
Append;
FieldByName('APId').Value := Trim(CDS_GangHao.fieldbyname('APId').AsString);
Post;
end;
end;
Next;
end;
CDS_GangHao.EnableControls;
end;
initMXKC();
end;
procedure TfrmSXKCCK.MenuItem5Click(Sender: TObject);
begin
with CDS_GangHao do
begin
CDS_GangHao.DisableControls;
First;
while not Eof do
begin
if CDS_GangHao.FieldByName('SSel').AsBoolean then
begin
with CDS_GangHao do
begin
Edit;
FieldByName('SSel').Value := False;
Post
end;
end;
Next;
end;
CDS_GangHao.EnableControls;
end;
CDS_GangHaoSel.EmptyDataSet;
initMXKC();
end;
procedure TfrmSXKCCK.MenuItem2Click(Sender: TObject);
var
fsj: string;
begin
with CDS_YanSe do
begin
CDS_YanSe.DisableControls;
First;
while not Eof do
begin
if not CDS_YanSe.FieldByName('SSel').AsBoolean then
begin
with CDS_YanSe do
begin
Edit;
FieldByName('SSel').Value := True;
Post
end;
with CDS_YanSeSel do
begin
Append;
FieldByName('SubId').Value := Trim(CDS_YanSe.fieldbyname('SubId').AsString);
Post;
end;
end;
Next;
end;
CDS_YanSe.EnableControls;
end;
fsj := '';
with CDS_YanSeSel do
begin
First;
while not eof do
begin
if Trim(fsj) = '' then
begin
fsj := fsj + '''' + Trim(fieldbyname('SubId').AsString) + '''';
end
else
fsj := fsj + ',' + '''' + Trim(fieldbyname('SubId').AsString) + '''';
Next;
end;
end;
with ADOQueryTemp do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' Select AA.* ');
sql.Add(' ,B.OrderNo,B.MPRTCode,B.MPRTCodeName,B.MPRTMF,B.MPRTKZ ');
sql.Add(' ,C.PRTColor,C.PRTEColor,C.PRTHX,C.PrtKuanNo,C.PRTColorNo ');
sql.Add(' from(select A.MainId,A.Subid,A.GangHao,A.APID,QtyY=sum(Cast(A.Qty*1.0936 as decimal(18,1))),QtyM=sum(Qty),QtyKg=Sum(KgQty),PS=Count(*) ');
sql.Add(' from CK_BanCP_CR A inner join CK_BanCP_KC D on A.MJID=D.MJID ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and D.KCValid=''Y'' and A.CPType=''<27><>Ʒ'' ');
sql.Add(' and exists(select SubId from FHSQ_Sub X where X.SubId=A.SubId and X.FSId=' + QUOTEDSTR(CKOrdNo.Text) + ') ');
if Trim(fsj) <> '' then
begin
sql.Add(' and A.Subid in(' + Trim(fsj) + ')');
end
else
begin
sql.Add(' and 1=2');
end;
sql.Add(' Group by A.MainId,A.Subid,A.GangHao,A.APID) AA ');
sql.Add(' inner join JYOrder_Main B on AA.MainId=B.MainId ');
sql.Add(' inner join JYOrder_Sub C on b.mainid=C.mainid and AA.SubId=C.SubId '); // AA.SubId=C.SubId
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_GangHao);
SInitCDSData(ADOQueryTemp, CDS_GangHao);
// SelOKNo(CDS_GangHao, True);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select APId=Cast(Null as varchar(20))');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_GangHaoSel);
SInitCDSData(ADOQueryTemp, CDS_GangHaoSel);
if CDS_GangHaoSel.IsEmpty = False then
begin
CDS_GangHaoSel.Delete;
end;
CDS_GangHao.DisableControls;
with CDS_GangHao do
begin
First;
while not Eof do
begin
if FieldByName('SSel').AsBoolean = True then
begin
with CDS_GangHaoSel do
begin
Append;
CDS_GangHaoSel.FieldByName('APID').Value := CDS_GangHao.FieldByName('APID').Value;
Post;
end;
end;
Next;
end;
end;
CDS_GangHao.EnableControls;
initMXKC();
end;
procedure TfrmSXKCCK.MenuItem3Click(Sender: TObject);
var
fsj: string;
begin
with CDS_YanSe do
begin
CDS_YanSe.DisableControls;
First;
while not Eof do
begin
if CDS_YanSe.FieldByName('SSel').AsBoolean then
begin
with CDS_YanSe do
begin
Edit;
FieldByName('SSel').Value := False;
Post
end;
end;
Next;
end;
CDS_YanSe.EnableControls;
end;
CDS_YanSeSel.EmptyDataSet;
fsj := '';
with ADOQueryTemp do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' Select AA.* ');
sql.Add(' ,B.OrderNo,B.MPRTCode,B.MPRTCodeName,B.MPRTMF,B.MPRTKZ ');
sql.Add(' ,C.PRTColor,C.PRTEColor,C.PRTHX,C.PrtKuanNo,C.PRTColorNo ');
sql.Add(' from(select A.MainId,A.Subid,A.GangHao,A.APID,QtyY=sum(Cast(A.Qty*1.0936 as decimal(18,1))),QtyM=sum(Qty),QtyKg=Sum(KgQty),PS=Count(*) ');
sql.Add(' from CK_BanCP_CR A inner join CK_BanCP_KC D on A.MJID=D.MJID ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and D.KCValid=''Y'' and A.CPType=''<27><>Ʒ'' ');
sql.Add(' and exists(select SubId from FHSQ_Sub X where X.SubId=A.SubId and X.FSId=' + QUOTEDSTR(CKOrdNo.Text) + ') ');
if Trim(fsj) <> '' then
begin
sql.Add(' and A.Subid in(' + Trim(fsj) + ')');
end
else
begin
sql.Add(' and 1=2');
end;
sql.Add(' Group by A.MainId,A.Subid,A.GangHao,A.APID) AA ');
sql.Add(' inner join JYOrder_Main B on AA.MainId=B.MainId ');
sql.Add(' inner join JYOrder_Sub C on AA.SubId=C.SubId ');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_GangHao);
SInitCDSData(ADOQueryTemp, CDS_GangHao);
// SelOKNo(CDS_GangHao, True);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select APId=Cast(Null as varchar(20))');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_GangHaoSel);
SInitCDSData(ADOQueryTemp, CDS_GangHaoSel);
if CDS_GangHaoSel.IsEmpty = False then
begin
CDS_GangHaoSel.Delete;
end;
CDS_GangHao.DisableControls;
with CDS_GangHao do
begin
First;
while not Eof do
begin
if FieldByName('SSel').AsBoolean = True then
begin
with CDS_GangHaoSel do
begin
Append;
CDS_GangHaoSel.FieldByName('APID').Value := CDS_GangHao.FieldByName('APID').Value;
Post;
end;
end;
Next;
end;
end;
CDS_GangHao.EnableControls;
initMXKC();
end;
procedure TfrmSXKCCK.MenuItem6Click(Sender: TObject);
begin
with CDS_TuoTuan do
begin
CDS_TuoTuan.DisableControls;
First;
while not Eof do
begin
if not CDS_TuoTuan.FieldByName('SSel').AsBoolean then
begin
with CDS_TuoTuan do
begin
Edit;
FieldByName('SSel').Value := True;
Post
end;
with CDS_TuoTuanSel do
begin
Append;
FieldByName('RKOrdID').Value := Trim(CDS_TuoTuan.fieldbyname('RKOrdID').AsString);
Post;
end;
end;
Next;
end;
CDS_TuoTuan.EnableControls;
end;
initMXKC();
end;
procedure TfrmSXKCCK.MenuItem7Click(Sender: TObject);
begin
with CDS_TuoTuan do
begin
CDS_TuoTuan.DisableControls;
First;
while not Eof do
begin
if CDS_TuoTuan.FieldByName('SSel').AsBoolean then
begin
with CDS_TuoTuan do
begin
Edit;
FieldByName('SSel').Value := False;
Post
end;
end;
Next;
end;
CDS_TuoTuan.EnableControls;
end;
CDS_GangHaoSel.EmptyDataSet;
initMXKC();
end;
end.