D7DJkairan/打卷检验管理/U_CKProductBCPInList.pas

830 lines
25 KiB
ObjectPascal
Raw Normal View History

2025-04-30 19:46:29 +08:00
unit U_CKProductBCPInList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
2025-07-19 13:52:55 +08:00
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
RM_System, RM_GridReport, Menus, 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;
2025-04-30 19:46:29 +08:00
type
TfrmCKProductBCPInList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
Label3: TLabel;
Label4: TLabel;
PRTCodeName: TEdit;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main: TClientDataSet;
Label5: TLabel;
orderNo: TEdit;
Label6: TLabel;
MJID: TEdit;
Label8: TLabel;
PRTKZ: TEdit;
Label9: TLabel;
PRTMF: TEdit;
Label7: TLabel;
CPType: TComboBox;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column1: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Label10: TLabel;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
TBRKCX: TToolButton;
v1Column4: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
v1Column11: TcxGridDBColumn;
PRTColor: TComboBox;
v1Column12: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
ComboBox1: TComboBox;
BaoNo: TEdit;
v1BAOid: TcxGridDBColumn;
Panel4: TPanel;
Label11: TLabel;
Panel10: TPanel;
Image2: TImage;
RichEdit1: TRichEdit;
v1Column10: TcxGridDBColumn;
Label12: TLabel;
PRTHX: TEdit;
Label13: TLabel;
SOrddefstr1: TEdit;
Label14: TLabel;
ADOQueryPrint: TADOQuery;
RKOrdID: TEdit;
Label15: TLabel;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
MJstr4: TEdit;
Label16: TLabel;
CheckBox1: TCheckBox;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
ToolButton1: TToolButton;
2025-07-19 13:52:55 +08:00
Panel7: TPanel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label29: TLabel;
Label30: TLabel;
Panel8: TPanel;
Image3: TImage;
Button9: TButton;
Edit1: TEdit;
Edit2: TEdit;
N3: TMenuItem;
2025-04-30 19:46:29 +08:00
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure PRTCodeNameChange(Sender: TObject);
procedure TBPrintClick(Sender: TObject);
procedure orderNoChange(Sender: TObject);
procedure orderNoKeyPress(Sender: TObject; var Key: Char);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBRKCXClick(Sender: TObject);
2025-07-19 13:52:55 +08:00
procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
2025-04-30 19:46:29 +08:00
procedure PRTColorChange(Sender: TObject);
procedure BaoNoChange(Sender: TObject);
procedure Image2Click(Sender: TObject);
2025-07-19 13:52:55 +08:00
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
2025-04-30 19:46:29 +08:00
procedure CheckBox1Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
2025-07-19 13:52:55 +08:00
procedure N3Click(Sender: TObject);
procedure Image3Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
2025-04-30 19:46:29 +08:00
private
2025-07-19 13:52:55 +08:00
FLeft, FTop: Integer;
FID: string;
2025-04-30 19:46:29 +08:00
procedure InitGrid();
2025-07-19 13:52:55 +08:00
procedure JSbaoNum();
2025-04-30 19:46:29 +08:00
{ Private declarations }
public
2025-07-19 13:52:55 +08:00
{ Public declarations }
2025-04-30 19:46:29 +08:00
end;
2025-07-19 13:52:55 +08:00
var
2025-04-30 19:46:29 +08:00
frmCKProductBCPInList: TfrmCKProductBCPInList;
implementation
2025-07-19 13:52:55 +08:00
2025-04-30 19:46:29 +08:00
uses
2025-07-19 13:52:55 +08:00
U_DataLink, U_Fun;
2025-04-30 19:46:29 +08:00
{$R *.dfm}
2025-07-19 13:52:55 +08:00
procedure TfrmCKProductBCPInList.JSbaoNum();
2025-04-30 19:46:29 +08:00
var
2025-07-19 13:52:55 +08:00
i: integer;
baoID: string;
strlist: Tstringlist;
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
i := 0;
baoID := '';
if CDS_Main.IsEmpty then
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
Label12.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0';
2025-04-30 19:46:29 +08:00
exit;
end;
2025-07-19 13:52:55 +08:00
strlist := Tstringlist.Create;
2025-04-30 19:46:29 +08:00
try
with CDS_Main do
begin
DisableControls;
first;
while not eof do
begin
2025-07-19 13:52:55 +08:00
if (trim(fieldbyname('BaoNO').AsString) <> '') then
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
if strlist.IndexOf(trim(fieldbyname('subID').AsString) + trim(fieldbyname('BaoNO').AsString)) < 0 then
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
strlist.Add(trim(fieldbyname('subID').AsString) + trim(fieldbyname('BaoNO').AsString));
2025-04-30 19:46:29 +08:00
end;
end;
{ IF (trim(fieldbyname('BaoID').AsString)<>trim(baoID)) and (trim(fieldbyname('BaoID').AsString)<>'') then
begin
i:=i+1;
baoID:=trim(fieldbyname('BaoID').AsString);
end; }
Next;
end;
EnableControls;
end;
2025-07-19 13:52:55 +08:00
Label12.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' + inttostr(strlist.Count);
2025-04-30 19:46:29 +08:00
finally
strlist.Free;
end;
end;
procedure TfrmCKProductBCPInList.FormDestroy(Sender: TObject);
begin
2025-07-19 13:52:55 +08:00
frmCKProductBCPInList := nil;
2025-04-30 19:46:29 +08:00
end;
2025-07-19 13:52:55 +08:00
procedure TfrmCKProductBCPInList.FormClose(Sender: TObject; var Action: TCloseAction);
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
Action := caFree;
2025-04-30 19:46:29 +08:00
end;
procedure TfrmCKProductBCPInList.FormCreate(Sender: TObject);
begin
2025-07-19 13:52:55 +08:00
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
2025-04-30 19:46:29 +08:00
end;
procedure TfrmCKProductBCPInList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
2025-07-19 13:52:55 +08:00
Filtered := False;
2025-04-30 19:46:29 +08:00
Close;
sql.Clear;
SQL.Add('select A.*,B.OrderNo,C.PRTCodeName,C.PRTSpec,C.PRTColor,C.SOrddefstr1,C.PRTMF,C.PRTKZ,D.MJXH,C.PRTHX,D.MJQty3,D.MJQty4 ');
sql.Add(',isnull(customerNoName,B.OrderNo) KHName');
sql.Add(',PONO=(select Top 1 KHConNo from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)');
sql.Add(',MPRTECodeName=(select Top 1 MPRTCodeName from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)');
sql.Add(',cast(D.mjstr4 as varchar(20)) as mjstr4,D.Mjstr5');
sql.add('from CK_BanCP_CR A ');
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(' inner join WFB_MJJY D on A.MJId=D.MJId');
2025-07-19 13:52:55 +08:00
sql.add('where A.CRTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + '''');
sql.Add(' and A.CRTime<''' + Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)) + '''');
2025-04-30 19:46:29 +08:00
SQL.Add(' and A.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
Open;
end;
2025-07-19 13:52:55 +08:00
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
2025-04-30 19:46:29 +08:00
finally
ADOQueryMain.EnableControls;
end;
2025-07-19 13:52:55 +08:00
TBFind.Click;
2025-04-30 19:46:29 +08:00
end;
procedure TfrmCKProductBCPInList.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
InitGrid();
end;
procedure TfrmCKProductBCPInList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
2025-07-19 13:52:55 +08:00
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
2025-04-30 19:46:29 +08:00
end;
end;
procedure TfrmCKProductBCPInList.TBCloseClick(Sender: TObject);
begin
2025-07-19 13:52:55 +08:00
WriteCxGrid('<27><><EFBFBD><EFBFBD>Ʒ<EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD>', Tv1, '<27><><EFBFBD><EFBFBD>Ʒ<EFBFBD>ֿ<EFBFBD>');
2025-04-30 19:46:29 +08:00
Close;
end;
procedure TfrmCKProductBCPInList.FormShow(Sender: TObject);
begin
2025-07-19 13:52:55 +08:00
ReadCxGrid('<27><><EFBFBD><EFBFBD>Ʒ<EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD>', Tv1, '<27><><EFBFBD><EFBFBD>Ʒ<EFBFBD>ֿ<EFBFBD>');
if Trim(DParameters2) = '<27><><EFBFBD><EFBFBD>' then
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
v1Column4.Visible := True;
TBRKCX.Visible := True;
2025-04-30 19:46:29 +08:00
2025-07-19 13:52:55 +08:00
end
else
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
v1Column4.Visible := False;
TBRKCX.Visible := False;
2025-04-30 19:46:29 +08:00
end;
InitGrid();
end;
procedure TfrmCKProductBCPInList.TBExportClick(Sender: TObject);
begin
2025-07-19 13:52:55 +08:00
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
2025-04-30 19:46:29 +08:00
end;
procedure TfrmCKProductBCPInList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
2025-07-19 13:52:55 +08:00
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
2025-04-30 19:46:29 +08:00
end;
2025-07-19 13:52:55 +08:00
JSbaoNum();
2025-04-30 19:46:29 +08:00
end;
procedure TfrmCKProductBCPInList.PRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductBCPInList.TBPrintClick(Sender: TObject);
var
2025-07-19 13:52:55 +08:00
fPrintFile, fPrintFile10, FMainID: string;
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
if CDS_Main.IsEmpty then
Exit;
if trim(ComboBox1.Text) = '' then
exit;
if CDS_Main.Locate('SSel', True, []) = False then
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
2025-04-30 19:46:29 +08:00
Exit;
end;
2025-07-19 13:52:55 +08:00
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + trim(ComboBox1.Text) + '.rmf';
2025-04-30 19:46:29 +08:00
with ADOQueryCmd do
begin
Close;
sql.Clear;
2025-07-19 13:52:55 +08:00
sql.Add('delete TBSubID where DName=''' + Trim(DCode) + '''');
2025-04-30 19:46:29 +08:00
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('SELECT * FROM TBSubID where 1=2 ');
open;
end;
2025-07-19 13:52:55 +08:00
FMainID := '';
2025-04-30 19:46:29 +08:00
CDS_Main.DisableControls;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
2025-07-19 13:52:55 +08:00
First;
while not Eof do
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
if Fieldbyname('Ssel').AsBoolean then
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
if FMainID = '' then
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
FMainID := Trim(CDS_Main.fieldbyname('mainID').AsString);
end
else
begin
if Trim(CDS_Main.fieldbyname('mainID').AsString) <> FMainID then
begin
application.MessageBox('ѡ<><D1A1><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>ͬһ<CDAC><D2BB>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
ADOQueryCmd.Connection.RollbackTrans;
EnableControls;
exit;
end;
2025-04-30 19:46:29 +08:00
end;
ADOQueryCmd.append;
2025-07-19 13:52:55 +08:00
ADOQueryCmd.fieldbyname('SubId').Value := Trim(CDS_Main.fieldbyname('MJID').AsString);
ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode);
2025-04-30 19:46:29 +08:00
ADOQueryCmd.post;
2025-07-19 13:52:55 +08:00
end;
Next;
2025-04-30 19:46:29 +08:00
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
CDS_Main.EnableControls;
2025-07-19 13:52:55 +08:00
if (trim(ComboBox1.Text) = '<27><><EFBFBD><EFBFBD><EFBFBD>뵥') or (trim(ComboBox1.Text) = '<27><><EFBFBD><EFBFBD><EFBFBD>뵥-<2D><><EFBFBD><EFBFBD>') then
2025-04-30 19:46:29 +08:00
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKMD ');
2025-07-19 13:52:55 +08:00
sql.add('@mainID=' + quotedstr(Trim('')));
sql.add(',@DName=' + quotedstr(Trim(DCode)));
2025-04-30 19:46:29 +08:00
// sql.add(',@flag=''0'' ');
// sql.add(',@CNum=''10'' ');
Open;
end;
2025-07-19 13:52:55 +08:00
SCreateCDS20(ADOQueryTemp, CDS_HZ);
SInitCDSData20(ADOQueryTemp, CDS_HZ);
2025-04-30 19:46:29 +08:00
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Do_PrintMd_HZ ');
2025-07-19 13:52:55 +08:00
sql.add('@mainID=' + quotedstr(Trim('')));
sql.add(',@DName=' + quotedstr(Trim(DCode)));
2025-04-30 19:46:29 +08:00
sql.add(',@flag=''2'' ');
Open;
end;
2025-07-19 13:52:55 +08:00
SCreateCDS20(ADOQueryTemp, CDS_PRT);
SInitCDSData20(ADOQueryTemp, CDS_PRT);
2025-04-30 19:46:29 +08:00
end;
2025-07-19 13:52:55 +08:00
if trim(ComboBox1.Text) = '<27><><EFBFBD><EFBFBD><EFBFBD>뵥-QLO' then
2025-04-30 19:46:29 +08:00
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add(' SELECT A.mainID,A.subID,A.MJStr4,A.MJLen,A.MJTypeOther,A.baoID,A.baoNo,A.MJQty2,A.MJQty3,A.MJQty4,A.MJMaoZ,A.MJXH,A.MJID, ');
sql.add('B.SOrddefstr1,B.PRTCodeName,B.prtSpec,B.PRTColor,B.SOrddefstr4,B.PRTHX,B.Sorddefstr6,B.PRTKuanNO, ');
sql.add('C.Filler as zl,C.OrdPerson1,C.OrderNo,');
sql.add('CRTime=(select MAX(CRTime) from CK_BanCP_CR X where X.MJID=A.MJID),');
sql.add('CKOrdNo=(select MAX(CKOrdNo) from CK_BanCP_CR X where X.MJID=A.MJID ) ');
// sql.add(',a=count(distinct A.MJStr4)');
sql.add('FROM WFB_MJJY A');
sql.add('inner join JYOrder_Sub B on B.MainId=A.MainId and B.SubId=A.subID ');
sql.add('inner join JYOrder_Main C on C.MainId=A.MainId ');
2025-07-19 13:52:55 +08:00
sql.add('WHERE EXISTS(select SubId from TBSubID X where X.SubId=A.MJID and X.DName=''' + DCode + ''') ');
2025-04-30 19:46:29 +08:00
sql.add('ORDER BY A.MainID,A.subID,A.MJStr4,A.MJXH ');
// showmessage(sql.Text);
Open;
end;
2025-07-19 13:52:55 +08:00
SCreateCDS20(ADOQueryTemp, CDS_HZ);
SInitCDSData20(ADOQueryTemp, CDS_HZ);
2025-04-30 19:46:29 +08:00
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Do_PrintMd_HZ ');
2025-07-19 13:52:55 +08:00
sql.add('@mainID=' + quotedstr(Trim('')));
sql.add(',@DName=' + quotedstr(Trim(DCode)));
2025-04-30 19:46:29 +08:00
sql.add(',@flag=''2'' ');
Open;
end;
2025-07-19 13:52:55 +08:00
SCreateCDS20(ADOQueryTemp, CDS_PRT);
SInitCDSData20(ADOQueryTemp, CDS_PRT);
2025-04-30 19:46:29 +08:00
end;
2025-07-19 13:52:55 +08:00
if (trim(ComboBox1.Text) = '<27><>ɫ<EFBFBD><C9AB>װ') or (trim(ComboBox1.Text) = '<27><>ɫ<EFBFBD><C9AB>װ-<2D><><EFBFBD><EFBFBD>') or (trim(ComboBox1.Text) = '<27><>װ') then
2025-04-30 19:46:29 +08:00
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Do_PrintMd20 ');
2025-07-19 13:52:55 +08:00
sql.add('@mainID=' + quotedstr(Trim('')));
sql.add(',@DName=' + quotedstr(Trim(DCode)));
2025-04-30 19:46:29 +08:00
sql.add(',@flag=''0'' ');
sql.add(',@CNum=''10'' ');
Open;
end;
2025-07-19 13:52:55 +08:00
SCreateCDS20(ADOQueryTemp, CDS_HZ);
SInitCDSData20(ADOQueryTemp, CDS_HZ);
2025-04-30 19:46:29 +08:00
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Do_PrintMd_HZ ');
2025-07-19 13:52:55 +08:00
sql.add('@mainID=' + quotedstr(Trim('')));
sql.add(',@DName=' + quotedstr(Trim(DCode)));
2025-04-30 19:46:29 +08:00
sql.add(',@flag=''0'' ');
Open;
end;
2025-07-19 13:52:55 +08:00
SCreateCDS20(ADOQueryTemp, CDS_PRT);
SInitCDSData20(ADOQueryTemp, CDS_PRT);
2025-04-30 19:46:29 +08:00
end;
// IF (trim(ComboBox1.Text)='<27><>װ') then
// begin
// with ADOQueryTemp do
// begin
// Close;
// sql.Clear;
// sql.add('select A.OrderNo,B.* from WFB_MJJY B left join JYOrder_Main A on A.MainId=B.MainId ');
// sql.add('where A.OrderNo ='+Trim(CDS_Main.fieldbyname('orderNo').AsString));
// sql.add('order by b.MJXH');
// Open;
// end;
// SCreateCDS20(ADOQueryTemp,CDS_HZ);
// SInitCDSData20(ADOQueryTemp,CDS_HZ);
//
// with ADOQueryTemp do
// begin
// Close;
// sql.Clear;
// sql.add('exec P_Do_PrintMd_HZ ');
// sql.add('@mainID='+quotedstr(Trim('')));
// sql.add(',@DName='+quotedstr(Trim(DCode)));
// sql.add(',@flag=''0'' ');
// Open;
// end;
// SCreateCDS20(ADOQueryTemp,CDS_PRT);
// SInitCDSData20(ADOQueryTemp,CDS_PRT);
// end;
2025-07-19 13:52:55 +08:00
if trim(ComboBox1.Text) = '<27><>ɫ<EFBFBD><C9AB>װ-10ɫ' then
2025-04-30 19:46:29 +08:00
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Do_PrintMd30 ');
2025-07-19 13:52:55 +08:00
sql.add('@mainID=' + quotedstr(Trim('')));
sql.add(',@DName=' + quotedstr(Trim(DCode)));
2025-04-30 19:46:29 +08:00
sql.add(',@flag=''0'' ');
sql.add(',@CNum=''10'' ');
Open;
end;
2025-07-19 13:52:55 +08:00
SCreateCDS20(ADOQueryTemp, CDS_HZ);
SInitCDSData20(ADOQueryTemp, CDS_HZ);
2025-04-30 19:46:29 +08:00
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Do_PrintMd_HZ ');
2025-07-19 13:52:55 +08:00
sql.add('@mainID=' + quotedstr(Trim('')));
sql.add(',@DName=' + quotedstr(Trim(DCode)));
2025-04-30 19:46:29 +08:00
sql.add(',@flag=''1'' ');
Open;
end;
2025-07-19 13:52:55 +08:00
SCreateCDS20(ADOQueryTemp, CDS_PRT);
SInitCDSData20(ADOQueryTemp, CDS_PRT);
2025-04-30 19:46:29 +08:00
end;
2025-07-19 13:52:55 +08:00
if trim(ComboBox1.Text) = '<27><>ɫ<EFBFBD><C9AB>װ-<2D><><EFBFBD><EFBFBD>' then
2025-04-30 19:46:29 +08:00
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Do_PrintMd30 ');
2025-07-19 13:52:55 +08:00
sql.add('@mainID=' + quotedstr(Trim('')));
sql.add(',@DName=' + quotedstr(Trim(DCode)));
2025-04-30 19:46:29 +08:00
sql.add(',@flag=''0'' ');
sql.add(',@CNum=''10'' ');
Open;
end;
2025-07-19 13:52:55 +08:00
SCreateCDS20(ADOQueryTemp, CDS_HZ);
SInitCDSData20(ADOQueryTemp, CDS_HZ);
2025-04-30 19:46:29 +08:00
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Do_PrintMd_HZ ');
2025-07-19 13:52:55 +08:00
sql.add('@mainID=' + quotedstr(Trim('')));
sql.add(',@DName=' + quotedstr(Trim(DCode)));
2025-04-30 19:46:29 +08:00
sql.add(',@flag=''1'' ');
Open;
end;
2025-07-19 13:52:55 +08:00
SCreateCDS20(ADOQueryTemp, CDS_PRT);
SInitCDSData20(ADOQueryTemp, CDS_PRT);
2025-04-30 19:46:29 +08:00
end;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
2025-07-19 13:52:55 +08:00
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
2025-04-30 19:46:29 +08:00
end;
end;
procedure TfrmCKProductBCPInList.orderNoChange(Sender: TObject);
begin
TBFind.Click;
end;
2025-07-19 13:52:55 +08:00
procedure TfrmCKProductBCPInList.orderNoKeyPress(Sender: TObject; var Key: Char);
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
if Key = #13 then
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
if Length(Trim(orderNo.Text)) < 4 then
Exit;
2025-04-30 19:46:29 +08:00
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
2025-07-19 13:52:55 +08:00
Filtered := False;
2025-04-30 19:46:29 +08:00
Close;
sql.Clear;
SQL.Add('select A.*,B.OrderNo,C.PRTCodeName,C.PRTSpec,C.PRTColor,C.SOrddefstr1,C.PRTMF,C.PRTKZ,D.MJXH,C.PRTHX,D.MJQty3,D.MJQty4');
sql.Add(',isnull(customerNoName,B.OrderNo) KHName');
sql.Add(',PONO=(select Top 1 KHConNo from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)');
sql.Add(',MPRTECodeName=(select Top 1 MPRTCodeName from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)');
sql.Add(',D.mjstr4,D.MJstr5');
sql.add('from CK_BanCP_CR A ');
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(' inner join WFB_MJJY D on A.MJId=D.MJId');
sql.add('where B.OrderNo like :OrderNo');
SQL.Add(' and CRType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
2025-07-19 13:52:55 +08:00
Parameters.ParamByName('orderNo').Value := '%' + Trim(orderNo.Text) + '%';
2025-04-30 19:46:29 +08:00
Open;
//ShowMessage(SQL.Text);
end;
2025-07-19 13:52:55 +08:00
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
if CDS_Main.IsEmpty = False then
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
InitOrderColor(Trim(CDS_Main.fieldbyname('MainId').AsString), PRTColor, ADOQueryTemp);
2025-04-30 19:46:29 +08:00
//InitBCGangNo(Trim(CDS_Main.fieldbyname('SubId').AsString),AOrdDefStr1,ADOQueryTemp);
end;
finally
ADOQueryMain.EnableControls;
end;
2025-07-19 13:52:55 +08:00
JSbaoNum();
2025-04-30 19:46:29 +08:00
end;
end;
procedure TfrmCKProductBCPInList.N1Click(Sender: TObject);
begin
2025-07-19 13:52:55 +08:00
SelOKNo(CDS_Main, True);
2025-04-30 19:46:29 +08:00
end;
procedure TfrmCKProductBCPInList.N2Click(Sender: TObject);
begin
2025-07-19 13:52:55 +08:00
SelOKNo(CDS_Main, False);
2025-04-30 19:46:29 +08:00
end;
procedure TfrmCKProductBCPInList.TBRKCXClick(Sender: TObject);
begin
2025-07-19 13:52:55 +08:00
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 19:46:29 +08:00
Exit;
end;
2025-07-19 13:52:55 +08:00
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
2025-04-30 19:46:29 +08:00
BegDate.SetFocus;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
2025-07-19 13:52:55 +08:00
while Locate('SSel', True, []) do
2025-04-30 19:46:29 +08:00
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
2025-07-19 13:52:55 +08:00
sql.Add('select * from CK_BanCP_CR where CRID=' + Trim(CDS_Main.fieldbyname('CRID').AsString));
2025-04-30 19:46:29 +08:00
Open;
end;
2025-07-19 13:52:55 +08:00
if ADOQueryTemp.RecordCount > 1 then
2025-04-30 19:46:29 +08:00
begin
ADOQueryCmd.Connection.RollbackTrans;
2025-07-19 13:52:55 +08:00
Application.MessageBox('<27>ѳ<EFBFBD><D1B3><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 19:46:29 +08:00
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
2025-07-19 13:52:55 +08:00
sql.Add('delete CK_BanCP_CR where BCID=''' + Trim(CDS_Main.fieldbyname('BCID').AsString) + '''');
sql.Add('delete CK_BanCP_KC where CRID=' + Trim(CDS_Main.fieldbyname('CRID').AsString));
sql.Add('Update WFB_MJJY Set MJStr2='<><CEB4><EFBFBD><EFBFBD>'' where MJID=''' + Trim(CDS_Main.fieldbyname('MJID').AsString) + '''');
2025-04-30 19:46:29 +08:00
ExecSQL;
end;
CDS_Main.Delete;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
2025-07-19 13:52:55 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
2025-04-30 19:46:29 +08:00
end;
end;
2025-07-19 13:52:55 +08:00
procedure TfrmCKProductBCPInList.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
if CDS_Main.IsEmpty = False then
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
InitOrderColor(Trim(CDS_Main.fieldbyname('MainId').AsString), PRTColor, ADOQueryTemp);
2025-04-30 19:46:29 +08:00
// InitBCGangNo(Trim(CDS_Main.fieldbyname('SubId').AsString),AOrdDefStr1,ADOQueryTemp);
end;
end;
procedure TfrmCKProductBCPInList.PRTColorChange(Sender: TObject);
begin
TBFind.Click;
2025-07-19 13:52:55 +08:00
if CDS_Main.IsEmpty = False then
2025-04-30 19:46:29 +08:00
begin
//InitOrderColor(Trim(CDS_Main.fieldbyname('MainId').AsString),PRTColor,ADOQueryTemp);
//InitBCGangNo(Trim(CDS_Main.fieldbyname('SubId').AsString),AOrdDefStr1,ADOQueryTemp);
end;
end;
procedure TfrmCKProductBCPInList.BaoNoChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductBCPInList.Image2Click(Sender: TObject);
begin
2025-07-19 13:52:55 +08:00
Panel4.Visible := False;
2025-04-30 19:46:29 +08:00
end;
2025-07-19 13:52:55 +08:00
procedure TfrmCKProductBCPInList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
Panel4.Left := FLeft;
Panel4.Top := FTop + 110;
Panel4.Visible := True;
2025-04-30 19:46:29 +08:00
Panel4.Refresh;
2025-07-19 13:52:55 +08:00
Panel10.Caption := Trim(TV1.Controller.FocusedColumn.Caption);
RichEdit1.Text := CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString;
2025-04-30 19:46:29 +08:00
end;
2025-07-19 13:52:55 +08:00
procedure TfrmCKProductBCPInList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
2025-04-30 19:46:29 +08:00
begin
2025-07-19 13:52:55 +08:00
FLeft := X;
FTop := Y;
2025-04-30 19:46:29 +08:00
end;
procedure TfrmCKProductBCPInList.CheckBox1Click(Sender: TObject);
begin
2025-07-19 13:52:55 +08:00
SelOKNo(CDS_Main, CheckBox1.Checked);
2025-04-30 19:46:29 +08:00
end;
procedure TfrmCKProductBCPInList.ToolButton1Click(Sender: TObject);
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
2025-07-19 13:52:55 +08:00
Filtered := False;
2025-04-30 19:46:29 +08:00
Close;
sql.Clear;
SQL.Add('select A.*,B.OrderNo,C.PRTCodeName,C.PRTSpec,C.PRTColor,C.SOrddefstr1,C.PRTMF,C.PRTKZ,D.MJXH,C.PRTHX,D.MJQty3,D.MJQty4');
sql.Add(',isnull(customerNoName,B.OrderNo) KHName');
sql.Add(',PONO=(select Top 1 KHConNo from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)');
sql.Add(',MPRTECodeName=(select Top 1 MPRTCodeName from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)');
sql.Add(',D.mjstr4,D.Mjstr5');
sql.add('from CK_BanCP_CR A ');
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(' inner join WFB_MJJY D on A.MJId=D.MJId');
Sql.add('inner join CK_BanCP_KC E on A.BCID=E.BCID');
2025-07-19 13:52:55 +08:00
sql.add('where A.CRTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + '''');
sql.Add(' and A.CRTime<''' + Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)) + '''');
2025-04-30 19:46:29 +08:00
SQL.Add(' and A.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
SQL.Add('and (E.KCQty>0 or E.KCKGQty>0) ');
Open;
end;
2025-07-19 13:52:55 +08:00
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
2025-04-30 19:46:29 +08:00
finally
ADOQueryMain.EnableControls;
end;
2025-07-19 13:52:55 +08:00
TBFind.Click;
end;
procedure TfrmCKProductBCPInList.N3Click(Sender: TObject);
begin
panel7.Visible := true;
Label27.Caption := trim(CDS_Main.Fieldbyname('prtcolor').AsString);
Label30.Caption := trim(CDS_Main.Fieldbyname('orderno').AsString);
FID := trim(CDS_Main.Fieldbyname('MJID').AsString);
end;
procedure TfrmCKProductBCPInList.Image3Click(Sender: TObject);
begin
panel7.Visible := False;
end;
procedure TfrmCKProductBCPInList.Button9Click(Sender: TObject);
begin
Tv1.DataController.Filter.AutoDataSetFilter := True;
with CDS_Main do
begin
DisableControls;
First;
while not Eof do
begin
if fieldbyname('orderno').Asstring = Label30.Caption then
begin
if (fieldbyname('mjxh').asfloat >= strtofloat(edit1.Text)) and (fieldbyname('mjxh').asfloat <= strtofloat(edit2.Text)) then
begin
Edit;
FieldByName('Ssel').Value := True;
Post;
end;
end;
next;
end;
EnableControls;
end;
panel7.Visible := false;
Label30.Caption := '';
Label27.Caption := '';
edit1.Text := '';
edit2.text := '';
// InitSum();
2025-04-30 19:46:29 +08:00
end;
end.
2025-07-19 13:52:55 +08:00