D7wmguihua/坯布码单待检(PBMDDJ.dll)/U_JYDJ.pas
DESKTOP-E401PHE\Administrator b4b5840f18 1
2025-01-18 16:22:10 +08:00

648 lines
16 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_JYDJ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, RM_Common, RM_Class, RM_GridReport,
RM_System, RM_Dataset, ADODB, DBClient, cxGridCustomPopupMenu,
cxGridPopupMenu, ExtCtrls, ComCtrls, ToolWin, cxTextEdit, Buttons,
cxSplitter, cxCheckBox, MovePanel, RM_Preview;
{function CommOpen(fhandle:hwnd;sCommName:PAnsiChar;
IntTime:integer):integer;stdcall;external 'JCYData.DLL';
function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'JCYData.DLL';
function CommOpen(fhandle:hwnd;sCommName:PAnsiChar;
IntTime:integer;IsMessage:integer):integer;stdcall;external 'JCYData.DLL';
function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'JCYData.DLL';}
{function CommOpen(fhandle:hwnd;sCommName:PAnsiChar;
IntTime:integer;IsMessage:integer):integer;stdcall;external 'JZCRS323C.DLL';
function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'JZCRS323C.DLL';
function GetCommData(fhandle:hwnd;var defnum1,defnum2:double;var fisjz:integer):integer;stdcall;external 'JZCRS323C.DLL'; }
type
TfrmJYDJ = class(TForm)
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyle2: TcxStyle;
cxGridPopupMenu1: TcxGridPopupMenu;
DataSource1: TDataSource;
Order_MJ: TClientDataSet;
ADOQueryMain: TADOQuery;
ADOCmd: TADOQuery;
ADOTmp: TADOQuery;
RMDB_Main: TRMDBDataSet;
RM2: TRMGridReport;
cxGrid3: TcxGrid;
Tv3: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
DataSource2: TDataSource;
CDS_MJCD: TClientDataSet;
DataSource3: TDataSource;
CDS_MJID: TClientDataSet;
Timer1: TTimer;
ADOQueryPrint: TADOQuery;
cxStyleRepository2: TcxStyleRepository;
cxStyle3: TcxStyle;
cxStyleRepository3: TcxStyleRepository;
cxStyle4: TcxStyle;
cxStyleRepository4: TcxStyleRepository;
cxStyle5: TcxStyle;
cxStyleRepository5: TcxStyleRepository;
cxStyle6: TcxStyle;
cxGridPopupMenu2: TcxGridPopupMenu;
ADOQueryMainDSC: TADOQuery;
Panel2: TPanel;
Label4: TLabel;
MJMaoZ: TEdit;
Label11: TLabel;
BTPrint: TButton;
Button5: TButton;
v3Column1: TcxGridDBColumn;
MJZS: TEdit;
Panel7: TPanel;
ComboBox1: TComboBox;
v3Column4: TcxGridDBColumn;
Panel1: TPanel;
RMPreview1: TRMPreview;
ADOQueryLabel: TADOQuery;
RMGridReport1: TRMGridReport;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Panel5: TPanel;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
TBClose: TToolButton;
Panel6: TPanel;
Label16: TLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
BTEdit: TButton;
BTAdd: TButton;
OrderNo: TEdit;
Color: TEdit;
HX: TEdit;
GangNo: TEdit;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure MJBanZuClick(Sender: TObject);
procedure MJSJKZClick(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure Tv3CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure FormClick(Sender: TObject);
procedure BTAddClick(Sender: TObject);
procedure BTEditClick(Sender: TObject);
procedure BTPrintClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure BTPrintKeyPress(Sender: TObject; var Key: Char);
procedure MJZSKeyPress(Sender: TObject; var Key: Char);
procedure MJMaoZKeyPress(Sender: TObject; var Key: Char);
procedure TBCloseClick(Sender: TObject);
procedure OrderNoDblClick(Sender: TObject);
procedure ColorDblClick(Sender: TObject);
procedure HXDblClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
{ Private declarations }
FInt,PState,PrintInt,SCInitGrid,FState,FCK:Integer;
FColumn,FFFMJID,LabName:String;
procedure InitCDGridID();
function SaveData():Boolean;
procedure PrtData(FMJID:String);
public
{ Public declarations }
end;
var
frmJYDJ: TfrmJYDJ;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp,U_iniParam,U_OrderInPut, U_LabelList,U_PRTJYDJList;
{$R *.dfm}
procedure TfrmJYDJ.FormDestroy(Sender: TObject);
begin
frmJYDJ:=nil;
end;
procedure TfrmJYDJ.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmJYDJ.InitCDGridID();
begin
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add('select ');
sql.Add(' A.* from DJ_JY A ');
sql.Add(' where isnull(OrderNo,'''')='''+Trim(OrderNo.Text)+'''');
sql.Add(' and isnull(Color,'''')='''+Trim(Self.Color.Text)+'''');
sql.Add(' and isnull(HX,'''')='''+Trim(Self.HX.Text)+'''');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_MJID);
SInitCDSData20(ADOQueryMain,CDS_MJID);
end;
procedure TfrmJYDJ.FormShow(Sender: TObject);
begin
if IsINIFile() then
ReadINIFile()
end;
procedure TfrmJYDJ.MJBanZuClick(Sender: TObject);
begin
FInt:=4;
end;
procedure TfrmJYDJ.MJSJKZClick(Sender: TObject);
begin
FInt:=4;
end;
procedure TfrmJYDJ.Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
FInt:=4;
InitCDGridID();
end;
procedure TfrmJYDJ.Tv3CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
FInt:=4;
PState:=0;
with ADOTmp do
begin
close;
sql.Clear;
sql.Add('select * from DJ_JY where DJID='''+Trim(CDS_MJID.fieldbyname('DJID').AsString)+'''');
Open;
end;
MJZS.Text:=Trim(ADOTmp.fieldbyname('MJZS').AsString);
MJMaoZ.Text:=Trim(ADOTmp.fieldbyname('MJMaoZ').AsString);
Label16.Caption:='';
end;
procedure TfrmJYDJ.FormClick(Sender: TObject);
begin
FInt:=4;
end;
function TfrmJYDJ.SaveData():Boolean;
var
maxno,FMJID,BZID,strsql:String;
FMJLen:Double;
FOrder:Integer;
begin
if PState=1 then
FMJID:=''
else if PState=2 then
FMJID:=Trim(CDS_MJID.fieldbyname('DJID').AsString)
else if PState<1 then Exit;
try
ADOCmd.Connection.BeginTrans;
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from DJ_JY where DJID='''+Trim(FMJID)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(FMJID)='' then
begin
Append;
if GetLSNo(ADOTmp,maxno,'','DJ_JY',4,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><ECB3A3>','<27><>ʾ',0);
exit;
end;
end
else begin
maxno:=Trim(FMJID);
Edit;
end;
FieldByName('DJID').Value:=Trim(maxno);
FieldByName('OrderNo').Value:=Trim(OrderNo.Text);
FieldByName('Color').Value:=Trim(Self.Color.Text);
FieldByName('HX').Value:=Trim(HX.Text);
FieldByName('LBName').Value:=Trim(LabName);
FieldByName('GangNo').Value:=Trim(GangNo.Text);
if Trim(MJZS.Text)<>'' then
begin
FieldByName('MJZS').Value:=StrToFloat(MJZS.Text);
end else
begin
FieldByName('MJZS').Value:=Null;
end;
if Trim(MJMaoZ.Text)<>'' then
begin
FieldByName('MJMaoZ').Value:=StrToFloat(MJMaoZ.Text);
end;
Post;
end;
if PState=1 then
begin
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('UPdate DJ_JY Set MJXH=(select max(MJXH)+1 ');
SQL.Add(' from DJ_JY A ');
sql.Add(' where A.OrderNo=DJ_JY.OrderNo');
sql.Add(' and isnull(A.Color,'''')=isnull(DJ_JY.Color,'''')');
sql.Add(' and isnull(A.HX,'''')=isnull(DJ_JY.HX,'''')');
sql.Add(' )where DJID='''+Trim(maxno)+'''');
ExecSQL;
end;
end;
FMJID:=Trim(maxno);
FFFMJID:=Trim(maxno);
with ADOTmp do
begin
Close;
sql.Clear;
sql.Add('select * from DJ_JY where DJID='''+Trim(maxno)+'''');
Open;
end;
if PState=1 then
begin
with CDS_MJID do
begin
Append;
FieldByName('DJID').Value:=Trim(maxno);
FieldByName('MJXH').Value:=ADOTmp.fieldbyname('MJXH').Value;
FieldByName('MJMaoZ').Value:=ADOTmp.fieldbyname('MJMaoZ').Value;
FieldByName('MJZS').Value:=ADOTmp.fieldbyname('MJZS').Value;
Post;
end;
end else
begin
CDS_MJID.Locate('DJID',maxno,[]);
with CDS_MJID do
begin
Edit;
FieldByName('DJID').Value:=Trim(maxno);
FieldByName('MJXH').Value:=ADOTmp.fieldbyname('MJXH').Value;
FieldByName('MJMaoZ').Value:=ADOTmp.fieldbyname('MJMaoZ').Value;
FieldByName('MJZS').Value:=ADOTmp.fieldbyname('MJZS').Value;
Post;
end;
end;
ADOCmd.Connection.CommitTrans;
Result:=True;
PState:=0;
except
Result:=False;
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmJYDJ.BTAddClick(Sender: TObject);
begin
PState:=1;
InitCDGridID();
Label16.Caption:='<27><><EFBFBD><EFBFBD>';
end;
procedure TfrmJYDJ.BTEditClick(Sender: TObject);
begin
if CDS_MJID.IsEmpty then Exit;
FInt:=1;
PState:=2;
Label16.Caption:='<27>޸<EFBFBD>';
end;
procedure TfrmJYDJ.BTPrintClick(Sender: TObject);
var
fPrintFile:String;
mvalue:Double;
i:Integer;
begin
if FInt=4 then
begin
if CDS_MJID.IsEmpty=False then
begin
Application.MessageBox('<27>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB3A2><EFBFBD>޸ġ<DEB8>','<27><>ʾ',0);
Exit;
end;
end;
if Trim(OrderNo.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if (Trim(Self.Color.Text)='') and (Trim(Self.HX.Text)='') then
begin
Application.MessageBox('<27><>ɫ<EFBFBD><C9AB><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>ͬʱΪ<CAB1><CEAA>!','<27><>ʾ',0);
Exit;
end;
if trim(MJMaoZ.Text)='' then
begin
Application.MessageBox(<>ز<EFBFBD><D8B2>ܶ<EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(MJMaoZ.Text)<>'' then
begin
if TryStrToFloat(MJMaoZ.Text,mvalue)=False then
begin
Application.MessageBox(<>طǷ<D8B7><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
end;
if Trim(MJZS.Text)<>'' then
begin
if TryStrToFloat(MJZS.Text,mvalue)=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
end;
if PState=1 then
begin
if Application.MessageBox('<27>Ƿ<EFBFBD>Ҫ<EFBFBD><D2AA>ӡ<EFBFBD><D3A1><EFBFBD>룿','<27><>ʾ',32+4)<>IDYES then Exit;
end;
if SaveData() then
begin
MJMaoZ.Text:='';
MJZS.Text:='';
end;
for i:=1 to StrToInt(ComboBox1.Text) do
begin
PrtData(FFFMJID);
end;
Label16.Caption:='';
BTAdd.Click;
MJMaoZ.SetFocus;
end;
procedure TfrmJYDJ.PrtData(FMJID:String);
var
fPrintFile:String;
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add('select A.*,ROLLNO=MJXH ,');
sql.Add('Qty=MJMaoZ-isnull(MJZS,0),');
sql.Add('Case when isnull(MJZS,-99)=-99 then Cast('''' as varchar(20)) else ''+''+Cast(MJZS as varchar(20)) end as ZengSong ');
sql.Add(' from DJ_JY A where DJID='''+Trim(FMJID)+'''');
Open;
end;
if Trim(ADOQueryPrint.fieldbyname('LBName').AsString)<>'' then
fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\'+Trim(ADOQueryPrint.fieldbyname('LBName').AsString+'.rmf')
else begin
Application.MessageBox('<27><>ǩδ<C7A9><CEB4><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if FileExists(fPrintFile) then
begin
RM2.LoadFromFile(fPrintFile);
//RM2.ShowReport;
RM2.PrintReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(ADOQueryPrint.fieldbyname('LBName').AsString)),'<27><>ʾ',0);
end;
end;
procedure TfrmJYDJ.ToolButton1Click(Sender: TObject);
begin
MJMaoZ.Text:='';
MJZS.Text:='';
BTAdd.Click;
FInt:=11;
MJMaoZ.SetFocus;
end;
procedure TfrmJYDJ.Button5Click(Sender: TObject);
var
fPrintFile:String;
i:Integer;
begin
{if CDS_MJID.IsEmpty then Exit;
for i:=1 to StrToInt(ComboBox1.Text) do
begin
PrtData(Trim(CDS_MJID.fieldbyname('MJID').AsString));
end;
PState:=1;
MJMaoZ.Text:='';
MJZS.Text:='';
BTAdd.Click;
FInt:=11;
MJMaoZ.SetFocus; }
BTEdit.Click;
end;
procedure TfrmJYDJ.BTPrintKeyPress(Sender: TObject;
var Key: Char);
begin
if Key=#13 then
begin
BTPrint.Click;
end;
end;
procedure TfrmJYDJ.MJZSKeyPress(Sender: TObject;
var Key: Char);
begin
if Key = #13 then
begin
Key:= #0;
BTPrint.SetFocus;
end;
end;
procedure TfrmJYDJ.MJMaoZKeyPress(Sender: TObject;
var Key: Char);
begin
if Key = #13 then
begin
Key:= #0;
MJZS.SetFocus;
end;
end;
procedure TfrmJYDJ.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmJYDJ.OrderNoDblClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='OrderNo';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
fnote:=True;
V1Note.Caption:='<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
OrderNo.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
LabName:=Trim(ClientDataSet1.fieldbyname('Note').AsString);
Self.Color.Text:='';
Self.HX.Text:='';
Self.BTAdd.Click;
end;
end;
finally
frmZDYHelp.Free;
end;
with Self.ADOTmp do
begin
Close;
sql.Clear;
sql.Add('select * from P_Label where labelCaption='''+Trim(LabName)+'.rmf'+'''');
Open;
end;
if ADOTmp.IsEmpty=False then
begin
with RMGridReport1 do
begin
LoadFromBlobField(tblobfield(ADOTmp.fieldbyname('labelFile')));
//Preview :=RMPreview1;
ShowReport ;
end;
end else
begin
with ADOTmp do
begin
Close;
sql.Clear;
sql.Add('select Cast(''0x'' as image) labelFile ');
open;
end;
with RMGridReport1 do
begin
LoadFromBlobField(tblobfield(ADOTmp.fieldbyname('labelFile')));
ShowReport ;
end;
end;
end;
procedure TfrmJYDJ.ColorDblClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='DJColor';
flagname:='<27><>ɫ';
MainType:=Trim(OrderNo.Text);
if ShowModal=1 then
begin
Self.Color.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
Self.BTAdd.Click;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmJYDJ.HXDblClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='DJHX';
flagname:='<27><><EFBFBD><EFBFBD>';
MainType:=Trim(OrderNo.Text);
if ShowModal=1 then
begin
HX.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
Self.BTAdd.Click;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmJYDJ.ToolButton2Click(Sender: TObject);
begin
try
frmLabelList:=TfrmLabelList.Create(Application);
with frmLabelList do
begin
{if Self.JYInt=99 then
begin
frmLabelList.Tadd.Visible:=False;
frmLabelList.Tupd.Visible:=False;
frmLabelList.TOK.Visible:=False;
frmLabelList.Tdel.Visible:=False;
end; }
if ShowModal=1 then
begin
end;
end;
finally
frmLabelList.Free;
end;
end;
procedure TfrmJYDJ.ToolButton3Click(Sender: TObject);
begin
try
frmPRTJYDJList:=TfrmPRTJYDJList.Create(Application);
with frmPRTJYDJList do
begin
if ShowModal=1 then
begin
end;
end;
finally
frmPRTJYDJList.Free;
end;
end;
end.