D7wmleixiaofu/贸易管理/U_MJManageNewFDNew.pas

2601 lines
74 KiB
ObjectPascal
Raw Normal View History

2025-04-30 16:04:42 +08:00
unit U_MJManageNewFDNew;
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,
2025-09-24 13:58:45 +08:00
RM_System, RM_Dataset, ADODB, DBClient, cxGridCustomPopupMenu, cxGridPopupMenu,
ExtCtrls, ComCtrls, ToolWin, cxTextEdit, Buttons, cxSplitter, cxCheckBox,
MovePanel, cxContainer, cxImage, cxDBEdit, StrUtils, IdBaseComponent,
IdComponent, IdTCPConnection, IdTCPClient, IdFTP, ShellAPI, 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 16:04:42 +08:00
{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';
function CommOpen1301(fhandle:hwnd;sCommName:PAnsiChar;
IntTime:integer;IsMessage:integer):integer;stdcall;external 'JZCRS323C.DLL';
function CommClose1301(sCommName:PAnsiChar):integer;stdcall;external 'JZCRS323C.DLL';
function GetCommData1301(fhandle:hwnd;var defnum1,defnum2:double;var fisjz:integer):integer;stdcall;external 'JZCRS323C.DLL'; }
2025-09-24 13:58:45 +08:00
type
TZintSymbol = packed record
symbology: Integer;
height: Integer;
whitespace_width: Integer;
border_width: Integer;
output_options: Integer;
fgcolour: array[0..9] of AnsiChar;
bgcolour: array[0..9] of AnsiChar;
outfile: array[0..255] of AnsiChar;
scale: Single;
option_1: Integer;
option_2: Integer;
option_3: Integer;
show_hrt: Integer;
input_mode: Integer;
eci: Integer;
text: array[0..127] of AnsiChar;
rows: Integer;
width: Integer;
primary: array[0..127] of AnsiChar;
encoded_data: array[0..199, 0..142] of AnsiChar;
row_height: array[0..199] of Integer; // Largest symbol is 189 x 189
errtxt: array[0..99] of AnsiChar;
bitmap: PAnsiChar;
bitmap_width: Integer;
bitmap_height: Integer;
bitmap_byte_length: Cardinal;
dot_size: Single;
rendered: Pointer;
debug: Integer;
end;
PZintSymbol = ^TZintSymbol;
const
// Tbarcode 7 codes
BARCODE_QRCODE = 71;
2025-04-30 16:04:42 +08:00
type
TfrmMJManageNewFDNewSF = class(TForm)
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyle2: TcxStyle;
cxGridPopupMenu1: TcxGridPopupMenu;
DataSource1: TDataSource;
Order_MJ: TClientDataSet;
ADOQueryMain: TADOQuery;
ADOCmd: 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;
ScrollBox1: TScrollBox;
SpeedButton13: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton;
SpeedButton17: TSpeedButton;
SpeedButton18: TSpeedButton;
SpeedButton21: TSpeedButton;
SpeedButton22: TSpeedButton;
SpeedButton23: TSpeedButton;
SpeedButton24: TSpeedButton;
SpeedButton25: TSpeedButton;
SpeedButton26: TSpeedButton;
SpeedButton29: TSpeedButton;
SpeedButton30: TSpeedButton;
SpeedButton31: TSpeedButton;
SpeedButton32: TSpeedButton;
SpeedButton33: TSpeedButton;
SpeedButton34: TSpeedButton;
SpeedButton37: TSpeedButton;
SpeedButton38: TSpeedButton;
SpeedButton39: TSpeedButton;
SpeedButton40: TSpeedButton;
SpeedButton41: TSpeedButton;
SpeedButton42: TSpeedButton;
cxStyleRepository2: TcxStyleRepository;
cxStyle3: TcxStyle;
cxStyleRepository3: TcxStyleRepository;
cxStyle4: TcxStyle;
cxStyleRepository4: TcxStyleRepository;
cxStyle5: TcxStyle;
cxStyleRepository5: TcxStyleRepository;
cxStyle6: TcxStyle;
cxGridPopupMenu2: TcxGridPopupMenu;
ADOQueryMainDSC: TADOQuery;
SpeedButton45: TSpeedButton;
SpeedButton46: TSpeedButton;
SpeedButton47: TSpeedButton;
SpeedButton48: TSpeedButton;
SpeedButton50: TSpeedButton;
SpeedButton51: TSpeedButton;
SpeedButton54: TSpeedButton;
SpeedButton55: TSpeedButton;
SpeedButton56: TSpeedButton;
SpeedButton57: TSpeedButton;
SpeedButton58: TSpeedButton;
SpeedButton59: TSpeedButton;
SpeedButton62: TSpeedButton;
SpeedButton63: TSpeedButton;
SpeedButton64: TSpeedButton;
SpeedButton65: TSpeedButton;
SpeedButton66: TSpeedButton;
SpeedButton67: TSpeedButton;
SpeedButton70: TSpeedButton;
SpeedButton71: TSpeedButton;
SpeedButton72: TSpeedButton;
SpeedButton73: TSpeedButton;
SpeedButton74: TSpeedButton;
SpeedButton75: TSpeedButton;
Panel2: TPanel;
Label9: TLabel;
MJFK: TEdit;
Label3: TLabel;
MJLen: TEdit;
Label4: TLabel;
MJMaoZ: TEdit;
Label5: TLabel;
Label6: TLabel;
Label11: TLabel;
BTPrint: TButton;
Button5: TButton;
Edit3: TEdit;
Label10: TLabel;
Edit4: TEdit;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
MJQty1: TEdit;
Label15: TLabel;
Label22: TLabel;
Label23: TLabel;
MJSJKZ: TEdit;
Panel3: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton49: TSpeedButton;
v3Column1: TcxGridDBColumn;
v3Column2: TcxGridDBColumn;
v3Column3: TcxGridDBColumn;
Label27: TLabel;
MJQty2: TEdit;
Label28: TLabel;
Edit5: TEdit;
Label26: TLabel;
Edit6: TEdit;
Label29: TLabel;
MJstr3: TEdit;
Label30: TLabel;
MJQty3: TEdit;
Label31: TLabel;
Label32: TLabel;
MJQty4: TEdit;
Label33: TLabel;
Panel4: TPanel;
MovePanel1: TMovePanel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit1: TEdit;
Button1: TButton;
Button4: TButton;
Edit2: TEdit;
CDQty: TEdit;
RadioGroup1: TRadioGroup;
Button2: TButton;
Panel5: TPanel;
Panel6: TPanel;
Label1: TLabel;
Label2: TLabel;
Label16: TLabel;
Label24: TLabel;
Label25: TLabel;
APID: TEdit;
BTAdd: TButton;
BTEdit: TButton;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
TBCD: TToolButton;
TBClose: TToolButton;
Panel7: TPanel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
tv2CDType: TcxGridDBColumn;
tv2CDWZ: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
Tv2CDQty: TcxGridDBColumn;
Tv2CDReason: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
AOrdDefNote1: TRichEdit;
Label34: TLabel;
ComboBox1: TComboBox;
Edit7: TEdit;
Label35: TLabel;
SpeedButton19: TSpeedButton;
SpeedButton20: TSpeedButton;
SpeedButton27: TSpeedButton;
SpeedButton28: TSpeedButton;
SpeedButton35: TSpeedButton;
SpeedButton36: TSpeedButton;
SpeedButton43: TSpeedButton;
SpeedButton44: TSpeedButton;
SpeedButton52: TSpeedButton;
SpeedButton53: TSpeedButton;
SpeedButton60: TSpeedButton;
SpeedButton61: TSpeedButton;
SpeedButton68: TSpeedButton;
SpeedButton69: TSpeedButton;
SpeedButton76: TSpeedButton;
SpeedButton77: TSpeedButton;
SpeedButton78: TSpeedButton;
SpeedButton79: TSpeedButton;
SpeedButton80: TSpeedButton;
SpeedButton81: TSpeedButton;
SpeedButton82: TSpeedButton;
SpeedButton83: TSpeedButton;
v3Column4: TcxGridDBColumn;
Button6: TButton;
Label36: TLabel;
MJStr4: TEdit;
Label37: TLabel;
v3Column5: TcxGridDBColumn;
Label38: TLabel;
RM3: TRMGridReport;
Label39: TLabel;
Edit8: TEdit;
mjxh: TEdit;
ADOTmp: TADOQuery;
MKXS: TEdit;
Edit10: TEdit;
Label40: TLabel;
Picture4: TcxDBImage;
ADOQueryImage: TADOQuery;
IdFTP1: TIdFTP;
Label41: TLabel;
Edit9: TEdit;
Edit11: TEdit;
cxStyle7: TcxStyle;
ComboBox2: TComboBox;
XSDian: TEdit;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
Kaip1: TEdit;
Kaip2: TEdit;
Kaip3: TEdit;
2025-09-24 13:58:45 +08:00
cxImage1: TcxImage;
2025-04-30 16:04:42 +08:00
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
2025-09-24 13:58:45 +08:00
procedure Tv2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
2025-04-30 16:04:42 +08:00
procedure TBCDClick(Sender: TObject);
procedure FormShow(Sender: TObject);
2025-09-24 13:58:45 +08:00
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
2025-04-30 16:04:42 +08:00
procedure MJMaoZClick(Sender: TObject);
procedure MJLenClick(Sender: TObject);
procedure MJFKClick(Sender: TObject);
procedure MJBanZuClick(Sender: TObject);
procedure MJSJKZClick(Sender: TObject);
2025-09-24 13:58:45 +08:00
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);
2025-04-30 16:04:42 +08:00
procedure FormClick(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure BTAddClick(Sender: TObject);
procedure BTEditClick(Sender: TObject);
procedure BTPrintClick(Sender: TObject);
procedure Tv2CDQtyPropertiesEditValueChanged(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure cxGridDBColumn2PropertiesChange(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure SpeedButton49Click(Sender: TObject);
procedure APIDKeyPress(Sender: TObject; var Key: Char);
procedure Edit1Click(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Edit3Click(Sender: TObject);
procedure Edit4Click(Sender: TObject);
procedure Edit5Click(Sender: TObject);
procedure Edit6Click(Sender: TObject);
procedure MJstr3KeyPress(Sender: TObject; var Key: Char);
procedure Label9Click(Sender: TObject);
procedure MJLenExit(Sender: TObject);
procedure MJQty4Exit(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure MJQty4Change(Sender: TObject);
procedure MJMaoZChange(Sender: TObject);
procedure APIDClick(Sender: TObject);
procedure Edit7Click(Sender: TObject);
procedure MJQty4KeyPress(Sender: TObject; var Key: Char);
procedure MKXSChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure MJQty2Change(Sender: TObject);
procedure Edit8Click(Sender: TObject);
procedure MJLenChange(Sender: TObject);
procedure Picture4DblClick(Sender: TObject);
procedure MJStr4KeyPress(Sender: TObject; var Key: Char);
procedure MJStr4Click(Sender: TObject);
procedure KJZHClick(Sender: TObject);
procedure Edit9Click(Sender: TObject);
procedure Kaip1Click(Sender: TObject);
private
{ Private declarations }
2025-09-24 13:58:45 +08:00
FInt, PState, PrintInt, SCInitGrid, FState, FCK: Integer;
FColumn, FBanZu, FAPID, FMainId, FSubId, FFFMJID: string;
MValue, FCDName: string;
isCommopen, IsJsMessage: boolean;
fxsType: string;
2025-04-30 16:04:42 +08:00
procedure InitJP();
procedure InitCDGrid();
procedure InitCDGridID();
2025-09-24 13:58:45 +08:00
procedure AddCD(Fbtn: TButton);
procedure AddSL(Fbtn: TButton);
function SaveData(): Boolean;
procedure AddSLNew(Fbtn: TSpeedButton);
procedure AddCDNew(Fbtn: TSpeedButton);
2025-04-30 16:04:42 +08:00
procedure SavedataCK();
2025-09-24 13:58:45 +08:00
procedure tsewm6(); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><CEAC>
procedure PrtData(FMJID: string);
procedure OpenCom(DllName: string);
procedure CloseCom(DllName: string);
procedure On1201(var Message: Tmessage); message 1201;
2025-04-30 16:04:42 +08:00
procedure InitImage();
2025-09-24 13:58:45 +08:00
procedure LookImage(FileName: string);
2025-04-30 16:04:42 +08:00
// procedure On1301(Var Message:Tmessage);Message 1301;
public
2025-09-24 13:58:45 +08:00
fmanage: string;
fFlileFlag: string;
FDETM6: string;
2025-04-30 16:04:42 +08:00
{ Public declarations }
end;
2025-09-24 13:58:45 +08:00
const
LibName = 'zint.dll';
//struct zint_symbol *ZBarcode_Create(void);
function ZBarcode_Create(): PZintSymbol; cdecl; external LibName;
//void ZBarcode_Delete(struct zint_symbol *symbol);
procedure ZBarcode_Delete(symbol: PZintSymbol); cdecl; external LibName;
//int ZBarcode_Encode_and_Buffer(struct zint_symbol *symbol, unsigned char *input, int length, int rotate_angle);
function ZBarcode_Encode_and_Buffer(symbol: PZintSymbol; input: PAnsiChar; length, rotate_angle: Integer): Integer; cdecl; external LibName;
// create bitmap <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Bitmap<61>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>zint<6E><74><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>zint.hͷ<68>ļ<EFBFBD><C4BC>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>zint.hͷ<68>ļ<EFBFBD><C4BC>С<EFBFBD>
procedure ZBarcode_To_Bitmap(symbol: PZintSymbol; const ABitmap: TBitmap);
2025-04-30 16:04:42 +08:00
var
frmMJManageNewFDNewSF: TfrmMJManageNewFDNewSF;
2025-09-24 13:58:45 +08:00
newh, newh1: hwnd;
2025-04-30 16:04:42 +08:00
implementation
2025-09-24 13:58:45 +08:00
2025-04-30 16:04:42 +08:00
uses
2025-09-24 13:58:45 +08:00
U_DataLink, U_Fun, U_ZDYHelp, U_iniParam, U_ClothHCList;
2025-04-30 16:04:42 +08:00
{$R *.dfm}
2025-09-24 13:58:45 +08:00
procedure ZBarcode_To_Bitmap(symbol: PZintSymbol; const ABitmap: TBitmap);
var
SrcRGB: PRGBTriple;
Row, RowWidth: Integer;
begin
ABitmap.PixelFormat := pf24bit;
ABitmap.Height := symbol.bitmap_height;
ABitmap.Width := symbol.bitmap_width;
// ABitmap.Height := 80;
// ABitmap.Width := 80;
SrcRGB := Pointer(symbol.bitmap);
RowWidth := symbol.bitmap_width * 3;
for Row := 0 to symbol.bitmap_height - 1 do
begin
CopyMemory(ABitmap.ScanLine[Row], SrcRGB, RowWidth);
Inc(SrcRGB, symbol.bitmap_width);
end;
SetBitmapBits(ABitmap.Handle, symbol.bitmap_width * symbol.bitmap_height * 3, symbol.bitmap);
end;
procedure TfrmMJManageNewFDNewSF.CloseCom(DllName: string);
2025-04-30 16:04:42 +08:00
type
2025-09-24 13:58:45 +08:00
TMyFunc = function(sCommName: PAnsiChar): HWND; stdcall;
2025-04-30 16:04:42 +08:00
var
Tf1: TMyFunc;
Tp1: TFarProc;
2025-09-24 13:58:45 +08:00
Th1: Thandle;
2025-04-30 16:04:42 +08:00
begin
Th1 := LoadLibrary(Pchar(trim(DllName)));
if Th1 > 0 then
begin
try
Tp1 := GetProcAddress(Th1, 'CommClose');
if Tp1 <> nil then
begin
Tf1 := TMyFunc(Tp1);
2025-09-24 13:58:45 +08:00
newh1 := Tf1('Comm1');
2025-04-30 16:04:42 +08:00
end
else
begin
end;
finally
// FreeLibrary(Th1);
end;
end
else
begin
2025-09-24 13:58:45 +08:00
application.MessageBox(Pchar('<27>Ҳ<EFBFBD><D2B2><EFBFBD> ' + trim(DllName) + ' <20>ļ<EFBFBD><C4BC><EFBFBD>'), '<27><>ʾ');
2025-04-30 16:04:42 +08:00
end;
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.OpenCom(DllName: string);
2025-04-30 16:04:42 +08:00
type
2025-09-24 13:58:45 +08:00
TMyFunc = function(fhandle: hwnd; sCommName: PAnsiChar; IntTime: integer; IsMessage: integer): HWND; stdcall;
2025-04-30 16:04:42 +08:00
var
2025-09-24 13:58:45 +08:00
Tf: TMyFunc;
Tp: TFarProc;
Th: Thandle;
2025-04-30 16:04:42 +08:00
begin
// closeCom(FComFile);
Th := LoadLibrary(Pchar(trim(DllName)));
if Th > 0 then
begin
try
Tp := GetProcAddress(Th, 'CommOpen');
if Tp <> nil then
begin
Tf := TMyFunc(Tp);
2025-09-24 13:58:45 +08:00
newh := Tf(self.Handle, 'Comm1', 500, 1);
if newh < 1 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
application.MessageBox(Pchar('<27>򿪴<EFBFBD><F2BFAAB4><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>'), '<27><>ʾ');
2025-04-30 16:04:42 +08:00
end
else
2025-09-24 13:58:45 +08:00
IsCommOpen := true;
2025-04-30 16:04:42 +08:00
end
else
begin
2025-09-24 13:58:45 +08:00
IsCommOpen := false;
2025-04-30 16:04:42 +08:00
end;
finally
// FreeLibrary(Th);
end;
end
else
begin
2025-09-24 13:58:45 +08:00
IsCommOpen := false;
application.MessageBox(Pchar('<27>Ҳ<EFBFBD><D2B2><EFBFBD> ' + trim(DllName) + ' <20>ļ<EFBFBD><C4BC><EFBFBD>'), '<27><>ʾ');
2025-04-30 16:04:42 +08:00
end;
end;
procedure TfrmMJManageNewFDNewSF.FormDestroy(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
frmMJManageNewFDNewSF := nil;
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.On1201(var Message: Tmessage);
2025-04-30 16:04:42 +08:00
var
2025-09-24 13:58:45 +08:00
i1, i2: integer;
unitname: string;
fdata: double;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
i1 := Message.WParam;
i2 := Message.LParam;
2025-04-30 16:04:42 +08:00
// MJMaoZ.Text:=format('%.2f',[i1 /100000]);
2025-09-24 13:58:45 +08:00
if IsJsMessage then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if trim(Edit7.Text) = '<27><>' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
MJMaoZ.Text := format('%.1f', [i1 / 100000]);
2025-04-30 16:04:42 +08:00
// MJLen.Text:= format('%.2f',[i1 /100000]);
// IF i2=0 then Label9.Caption:='M' else Label9.Caption:='Y';
end;
end;
{
//Edit1.Text:= floattostr(i1 *i2 /100000 );
IF IsJsMessage then
MJMaoZ.Text:= floattostr(i1 *i2 /100000 ); }
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.FormClose(Sender: TObject; var Action: TCloseAction);
2025-04-30 16:04:42 +08:00
begin
//DataLink_WFBProducttion.ADOLink.Connected:=False;
2025-09-24 13:58:45 +08:00
if isCommopen then
2025-04-30 16:04:42 +08:00
begin
closeCom(JCYDLL);
end;
2025-09-24 13:58:45 +08:00
Action := caFree;
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
2025-04-30 16:04:42 +08:00
procedure TfrmMJManageNewFDNewSF.InitCDGrid();
begin
with ADOQueryMain do
begin
Close;
SQL.Clear;
2025-09-24 13:58:45 +08:00
if PState = 1 then
2025-04-30 16:04:42 +08:00
sql.Add('select * from WFB_MJJY_CD where MJID='''' ')
else
2025-09-24 13:58:45 +08:00
sql.Add('select * from WFB_MJJY_CD where MJID=''' + Trim(CDS_MJID.fieldbyname('MJID').AsString) + '''');
2025-04-30 16:04:42 +08:00
Open;
end;
2025-09-24 13:58:45 +08:00
SCreateCDS20(ADOQueryMain, CDS_MJCD);
SInitCDSData20(ADOQueryMain, CDS_MJCD);
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
2025-04-30 16:04:42 +08:00
procedure TfrmMJManageNewFDNewSF.InitCDGridID();
begin
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add('select A.*');
2025-09-24 13:58:45 +08:00
sql.Add('from WFB_MJJY A where APID=''' + Trim(FAPID) + '''');
if Trim(SCXFlag) <> '' then
sql.Add(' and JTType=''' + Trim(SCXFlag) + '''');
2025-04-30 16:04:42 +08:00
2025-09-24 13:58:45 +08:00
sql.Add(' and Filler=''' + Trim(DName) + '''');
2025-04-30 16:04:42 +08:00
Open;
end;
2025-09-24 13:58:45 +08:00
SCreateCDS20(ADOQueryMain, CDS_MJID);
SInitCDSData20(ADOQueryMain, CDS_MJID);
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.TBCloseClick(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
maxno: string;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if CDS_MJCD.IsEmpty = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if Trim(CDS_MJCD.FieldByName('MCID').AsString) = '' then
2025-04-30 16:04:42 +08:00
begin
//try
//ADOCmd.Connection.BeginTrans;
{with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('delete from WFB_MJJY_CD_Temp where JTType='''+Trim(SCXFlag)+'''');
Execsql;
end;
with CDS_MJCD do
begin
First;
while not Eof do
begin
if GetLSNo(ADOCmd,maxno,'LS','WFB_MJJY_CD_Temp',2,1)=False then
begin
// ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<>õ<EFBFBD><C3B5><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('select * from WFB_MJJY_CD_Temp where 1<>1');
Open;
end;
with ADOCmd do
begin
Append;
FieldByName('MCID').Value:=Trim(maxno);
SSetSaveDataCDSNew(ADOCmd,Tv2,CDS_MJCD,'WFB_MJJY_CD_Temp',0);
FieldByName('JTType').Value:=Trim(SCXFlag);
Post;
end;
Next;
end;
end; }
2025-09-24 13:58:45 +08:00
close;
2025-04-30 16:04:42 +08:00
//ADOCmd.Connection.CommitTrans;
//ModalResult:=1;
//except
//ADOCmd.Connection.RollbackTrans;
//Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
//end;
2025-09-24 13:58:45 +08:00
end
else
2025-04-30 16:04:42 +08:00
begin
Close;
end;
2025-09-24 13:58:45 +08:00
end
else
2025-04-30 16:04:42 +08:00
begin
Close;
end;
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.Tv2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
2025-04-30 16:04:42 +08:00
var
2025-09-24 13:58:45 +08:00
fsj: string;
2025-04-30 16:04:42 +08:00
begin
//FInt:=0;
//Tv1.DataController.FocusedRecordIndex;
//fsj:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName;
end;
procedure TfrmMJManageNewFDNewSF.TBCDClick(Sender: TObject);
begin
try
2025-09-24 13:58:45 +08:00
frmZDYHelp := TfrmZDYHelp.Create(Application);
2025-04-30 16:04:42 +08:00
with frmZDYHelp do
begin
2025-09-24 13:58:45 +08:00
flag := 'WFBCD';
flagname := '<27>õ<EFBFBD>';
fnote := True;
V1Note.Caption := <><D3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal = 1 then
2025-04-30 16:04:42 +08:00
begin
Self.InitJP();
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmMJManageNewFDNewSF.FormShow(Sender: TObject);
begin
InitJP();
with ADOTmp do
begin
Close;
sql.Clear;
2025-09-24 13:58:45 +08:00
sql.Add('select BanZu from SY_User where UserId=''' + Trim(DCode) + '''');
2025-04-30 16:04:42 +08:00
Open;
2025-09-24 13:58:45 +08:00
FBanZu := Trim(Fieldbyname('BanZu').AsString);
2025-04-30 16:04:42 +08:00
end;
{if Trim(FBanZu)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD><C3B0>飡','<27><>ʾ',0);
Exit;
end; }
APID.SetFocus;
{if CommOpen(frmMJManageNewFDNewSF.Handle,pchar(PortNoStr),500,1)<1 then
begin
FCK:=1;
showmessage('<27><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ʧ<EFBFBD><CAA7>!');
end else
begin
FCk:=9;
end; }
2025-09-24 13:58:45 +08:00
if trim(Edit7.Text) = '<27><>' then
IsJsMessage := true;
2025-04-30 16:04:42 +08:00
2025-09-24 13:58:45 +08:00
if trim(fmanage) <> '<27><>Ȩ<EFBFBD><C8A8>' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if trim(DllName) <> '' then
OpenCom(DllName);
Edit7.Visible := true;
Label35.Visible := true;
2025-04-30 16:04:42 +08:00
end;
end;
2025-09-24 13:58:45 +08:00
2025-04-30 16:04:42 +08:00
procedure TfrmMJManageNewFDNewSF.InitJP();
var
2025-09-24 13:58:45 +08:00
AA: array[0..100] of string;
i, j: Integer;
2025-04-30 16:04:42 +08:00
begin
with ADOTmp do
begin
Close;
sql.Clear;
sql.Add('select ZDYName from KH_Zdy where Type=''WFBCD'' order by ZDYNO ');
Open;
end;
if ADOTmp.IsEmpty then
begin
// Application.MessageBox('û<>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>õ㣡','<27><>ʾ',0);
Exit;
end;
with ADOTmp do
begin
First;
2025-09-24 13:58:45 +08:00
i := 0;
2025-04-30 16:04:42 +08:00
while not Eof do
begin
2025-09-24 13:58:45 +08:00
AA[i] := Trim(fieldbyname('ZDYName').AsString);
i := i + 1;
2025-04-30 16:04:42 +08:00
Next;
end;
end;
2025-09-24 13:58:45 +08:00
i := i - 1;
if i > 69 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
i := 69;
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
for j := 0 to i do
2025-04-30 16:04:42 +08:00
begin
with ScrollBox1 do
begin
2025-09-24 13:58:45 +08:00
TSpeedButton(Controls[j]).Visible := True;
TSpeedButton(Controls[j]).Hint := AA[j];
if Length(AA[j]) > 4 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
TSpeedButton(Controls[j]).Caption := Copy(Trim(AA[j]), 1, 4) + #13 + Copy(Trim(AA[j]), 5, Length(AA[j]) - 4);
end
else
TSpeedButton(Controls[j]).Caption := AA[j];
2025-04-30 16:04:42 +08:00
end;
end;
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.AddCD(Fbtn: TButton);
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if PState < 1 then
Exit;
if Order_MJ.IsEmpty then
Exit;
2025-04-30 16:04:42 +08:00
with CDS_MJCD do
begin
Append;
2025-09-24 13:58:45 +08:00
FieldByName('cdname').Value := Trim(TButton(Fbtn).Caption);
2025-04-30 16:04:42 +08:00
Post;
end;
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.AddCDNew(Fbtn: TSpeedButton);
2025-04-30 16:04:42 +08:00
begin
with CDS_MJCD do
begin
Append;
2025-09-24 13:58:45 +08:00
FieldByName('cdname').Value := Trim(TSpeedButton(Fbtn).Hint);
2025-04-30 16:04:42 +08:00
Post;
end;
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.AddSL(Fbtn: TButton);
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if PState < 1 then
Exit;
if Order_MJ.IsEmpty then
Exit;
2025-04-30 16:04:42 +08:00
//if MJMaoZ.Focused then
2025-09-24 13:58:45 +08:00
if FInt = 4 then
Exit;
if CDS_MJCD.IsEmpty = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FColumn := Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName;
if Trim(FColumn) <> '' then
2025-04-30 16:04:42 +08:00
begin
with CDS_MJCD do
begin
Edit;
2025-09-24 13:58:45 +08:00
FieldByName(FColumn).Value := Trim(FieldByName(FColumn).AsString) + Trim(TButton(Fbtn).Caption);
if Trim(fieldbyname('CDQtyS').AsString) <> '' then
Fieldbyname('CDQty').Value := Trim(fieldbyname('CDQtyS').AsString);
2025-04-30 16:04:42 +08:00
Post;
end;
end;
end;
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.AddSLNew(Fbtn: TSpeedButton);
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if PState < 1 then
Exit;
if Trim(FAPID) = '' then
Exit;
2025-04-30 16:04:42 +08:00
//if MJMaoZ.Focused then
2025-09-24 13:58:45 +08:00
if FInt = 4 then
Exit;
if FInt = 11 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TSpeedButton(Fbtn).Tag = 9 then
Exit;
Edit1.Text := Trim(Edit1.Text) + Trim(TSpeedButton(Fbtn).Caption);
2025-04-30 16:04:42 +08:00
Edit1.SelectAll;
2025-09-24 13:58:45 +08:00
end
else if FInt = 12 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TSpeedButton(Fbtn).Tag = 9 then
Exit;
Edit2.Text := Trim(Edit2.Text) + Trim(TSpeedButton(Fbtn).Caption);
2025-04-30 16:04:42 +08:00
Edit2.SelectAll;
2025-09-24 13:58:45 +08:00
end; { else
2025-04-30 16:04:42 +08:00
if CDS_MJCD.IsEmpty=False then
begin
FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName;
if Trim(FColumn)<>'' then
begin
with CDS_MJCD do
begin
Edit;
FieldByName(FColumn).Value:=Trim(FieldByName(FColumn).AsString)+Trim(TButton(Fbtn).Caption);
if Trim(fieldbyname('CDQtyS').AsString)<>'' then
Fieldbyname('CDQty').Value:=Trim(fieldbyname('CDQtyS').AsString);
Post;
end;
end;
end; }
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
2025-04-30 16:04:42 +08:00
begin
//if Tv2.OptionsSelection.CellSelect=True then
2025-09-24 13:58:45 +08:00
if CDS_MJCD.IsEmpty then
Exit;
2025-04-30 16:04:42 +08:00
2025-09-24 13:58:45 +08:00
if Trim(CDS_MJCD.fieldbyname('MCID').AsString) = '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
2025-04-30 16:04:42 +08:00
CDS_MJCD.Delete;
end;
end;
procedure TfrmMJManageNewFDNewSF.MJMaoZClick(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
FInt := 1;
FColumn := '';
panel3.Visible := True;
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.MJLenClick(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
FInt := 2;
FColumn := '';
panel3.Visible := True;
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.MJFKClick(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
FInt := 3;
FColumn := '';
panel3.Visible := True;
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.MJBanZuClick(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
FInt := 4;
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.MJSJKZClick(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
FInt := 4;
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FInt := 4;
2025-04-30 16:04:42 +08:00
InitCDGridID();
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.Tv3CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if CDS_MJCD.IsEmpty = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if Trim(CDS_MJCD.fieldbyname('MJID').AsString) = '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
2025-09-24 13:58:45 +08:00
FInt := 4;
2025-04-30 16:04:42 +08:00
// PState:=0;
2025-09-24 13:58:45 +08:00
PState := 2;
2025-04-30 16:04:42 +08:00
InitCDGrid();
with ADOTmp do
begin
close;
sql.Clear;
2025-09-24 13:58:45 +08:00
sql.Add('select * from WFB_MJJY where MJID=''' + Trim(CDS_MJID.fieldbyname('MJID').AsString) + '''');
2025-04-30 16:04:42 +08:00
Open;
end;
2025-09-24 13:58:45 +08:00
MJFK.Text := Trim(ADOTmp.fieldbyname('MJFK').AsString);
MJSJKZ.Text := Trim(ADOTmp.fieldbyname('MJSJKZ').AsString);
MJstr4.Text := Trim(ADOTmp.fieldbyname('MJstr4').AsString);
MJXH.Text := Trim(ADOTmp.fieldbyname('MJXH').AsString);
MJQty1.Text := Trim(ADOTmp.fieldbyname('MJQty1').AsString);
MJQty2.Text := Trim(ADOTmp.fieldbyname('MJQty2').AsString);
MJMaoZ.Text := Trim(ADOTmp.fieldbyname('MJMaoZ').AsString);
Label15.Caption := Trim(CDS_MJID.fieldbyname('MJID').AsString);
MJLen.Text := Trim(ADOTmp.fieldbyname('MJLen').AsString);
if Trim(ADOTmp.fieldbyname('MJType').AsString) = '<27><>Ʒ' then
begin
Edit3.Text := '<27><>';
Edit4.Text := '';
Edit5.Text := '';
end
else if Trim(ADOTmp.fieldbyname('MJType').AsString) = '<27><>Ʒ' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit4.Text := '<27><>';
Edit3.Text := '';
Edit5.Text := '';
end
else if Trim(ADOTmp.fieldbyname('MJType').AsString) = '<27><><EFBFBD><EFBFBD>' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit4.Text := '';
Edit3.Text := '';
Edit5.Text := '<27><>';
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
Label16.Caption := '';
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.FormClick(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
FInt := 4;
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.Button12Click(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
fsj: string;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if PState < 1 then
Exit;
if Trim(FAPID) = '' then
Exit;
if FInt = 4 then
Exit;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FColumn := Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName;
if Trim(FColumn) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if Trim(CDS_MJCD.FieldByName(FColumn).AsString) <> '' then
2025-04-30 16:04:42 +08:00
begin
with CDS_MJCD do
begin
Edit;
2025-09-24 13:58:45 +08:00
if Length(CDS_MJCD.FieldByName(FColumn).AsString) = 1 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FieldByName(FColumn).Value := null;
FieldByName('CDQty').Value := 0;
2025-04-30 16:04:42 +08:00
end
else
begin
2025-09-24 13:58:45 +08:00
FieldByName(FColumn).Value := Copy(Trim(FieldByName(FColumn).AsString), 1, Length(Trim(FieldByName(FColumn).AsString)) - 1);
FieldByName('CDQty').Value := FieldByName(FColumn).Value;
2025-04-30 16:04:42 +08:00
end;
Post;
end;
end;
end;
end;
end;
2025-09-24 13:58:45 +08:00
function TfrmMJManageNewFDNewSF.SaveData(): Boolean;
2025-04-30 16:04:42 +08:00
var
2025-09-24 13:58:45 +08:00
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('MJID').AsString)
else if PState < 1 then
Exit;
2025-04-30 16:04:42 +08:00
try
ADOCmd.Connection.BeginTrans;
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
with ADOCmd do
begin
Close;
sql.Clear;
2025-09-24 13:58:45 +08:00
SQL.Add('select * from WFB_MJJY where MJId=''' + Trim(FMJID) + '''');
2025-04-30 16:04:42 +08:00
Open;
end;
with ADOCmd do
begin
2025-09-24 13:58:45 +08:00
if Trim(FMJID) = '' then
2025-04-30 16:04:42 +08:00
begin
Append;
2025-09-24 13:58:45 +08:00
if GetLSNo(ADOTmp, maxno, Trim(SCXFlag), 'WFB_MJJY', 4, 1) = False then
2025-04-30 16:04:42 +08:00
begin
ADOCmd.Connection.RollbackTrans;
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
exit;
end;
end
else
begin
2025-09-24 13:58:45 +08:00
maxno := Trim(FMJID);
2025-04-30 16:04:42 +08:00
Edit;
end;
2025-09-24 13:58:45 +08:00
FieldByName('MainId').value := Trim(FMainId);
FieldByName('SubId').value := Trim(FSubId);
FieldByName('APId').value := Trim(FAPID);
FieldByName('MJID').Value := Trim(maxno);
FieldByName('MJStr2').Value := <><CEB4><EFBFBD><EFBFBD>';
FieldByName('MJBanZu').Value := Trim(FBanZu);
FieldByName('MJstr3').Value := Trim(MJstr3.Text);
FieldByName('MJstr4').Value := Trim(MJstr4.Text);
FieldByName('mjxh').Value := strtointdef(trim(mjxh.Text), 0);
2025-04-30 16:04:42 +08:00
FieldByName('Kaip1').Value := StrToFloatdef(trim(Kaip1.Text), 0);
FieldByName('Kaip2').Value := StrToFloatdef(trim(Kaip2.Text), 0);
FieldByName('Kaip3').Value := StrToFloatdef(trim(Kaip3.Text), 0);
2025-09-24 13:58:45 +08:00
FieldByName('MJTypeOther').Value := Trim(Label9.Caption);
FieldByName('MJStr1').Value := Trim(Label13.Caption);
FieldByName('MJLen').Value := StrToFloatdef(trim(MJLen.Text), 0);
FieldByName('MJQty1').Value := StrToFloatdef(trim(MJQty1.Text), 0);
FieldByName('MJQty2').Value := StrToFloatdef(trim(MJQty2.Text), 0);
FieldByName('MJQty3').Value := StrToFloatdef(trim(MJQty3.Text), 0);
FieldByName('MJQty4').Value := StrToFloatdef(trim(MJQty4.Text), 0);
FieldByName('MKXS').Value := StrToFloatdef(trim(MKXS.Text), 0);
FieldByName('MJFK').Value := StrToFloatdef(trim(MJFK.Text), 0);
FieldByName('MJSJKZ').Value := StrToFloatdef(trim(MJSJKZ.Text), 0);
FieldByName('MJMaoZ').Value := StrToFloatdef(trim(MJMaoZ.Text), 0);
FieldByName('baoNO').Value := Trim(Edit11.Text);
FieldByName('baoID').Value := '';
if Trim(Edit3.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FieldByName('MJType').Value := '<27><>Ʒ';
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
if Trim(Edit4.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FieldByName('MJType').Value := '<27><>Ʒ';
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
if Trim(Edit5.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FieldByName('MJType').Value := '<27><>ƴ';
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
FieldByName('MJStr1').Value := Trim(Label13.Caption);
if Trim(FMJID) = '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FieldByName('Filler').Value := Trim(DName);
end
else
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDateTime(ADOTmp);
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
if Trim(SCXFlag) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FieldByName('JTType').Value := Trim(SCXFlag);
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
FieldByName('MJTypeOther').Value := Trim(Label9.Caption);
2025-04-30 16:04:42 +08:00
Post;
end;
2025-09-24 13:58:45 +08:00
if PState = 1 then
2025-04-30 16:04:42 +08:00
begin
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('update WFB_MJJY SET mjxh=1+isnull((select cast (max(mjxh) as int) from WFB_MJJY X where X.APID=WFB_MJJY.APID and X.MJID<>WFB_MJJY.MJID),(select cast (max(mjxh) as int) from WFB_MJJY X where X.APID=WFB_MJJY.APID))');
2025-09-24 13:58:45 +08:00
sql.Add(' where MJID=''' + Trim(maxno) + '''');
2025-04-30 16:04:42 +08:00
execsql;
end;
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('select MJXH from WFB_MJJY');
2025-09-24 13:58:45 +08:00
sql.Add('where MJID=''' + Trim(maxno) + '''');
2025-04-30 16:04:42 +08:00
open;
2025-09-24 13:58:45 +08:00
if not IsEmpty then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
MJXH.Text := fieldbyname('mjxh').AsString;
2025-04-30 16:04:42 +08:00
end;
end;
end;
2025-09-24 13:58:45 +08:00
FMJID := Trim(maxno);
FFFMJID := Trim(maxno);
2025-04-30 16:04:42 +08:00
///<2F><><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>
with CDS_MJCD do
begin
First;
while not Eof do
begin
2025-09-24 13:58:45 +08:00
if Trim(CDS_MJCD.fieldbyname('MCID').AsString) = '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if GetLSNo(ADOTmp, maxno, 'MC', 'WFB_MJJY_CD', 5, 1) = False then
2025-04-30 16:04:42 +08:00
begin
ADOCmd.Connection.RollbackTrans;
2025-09-24 13:58:45 +08:00
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
2025-09-24 13:58:45 +08:00
end
else
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
maxno := Trim(CDS_MJCD.fieldbyname('MCID').AsString);
2025-04-30 16:04:42 +08:00
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from WFB_MJJY_CD ');
2025-09-24 13:58:45 +08:00
sql.Add(' where MCID=''' + Trim(maxno) + '''');
2025-04-30 16:04:42 +08:00
Open;
end;
with ADOCmd do
begin
2025-09-24 13:58:45 +08:00
if Trim(CDS_MJCD.fieldbyname('MCID').AsString) = '' then
2025-04-30 16:04:42 +08:00
Append
else
Edit;
2025-09-24 13:58:45 +08:00
FieldByName('MJId').Value := Trim(FMJID);
FieldByName('MCID').Value := Trim(maxno);
SSetSaveDataCDSNew(ADOCmd, Tv2, CDS_MJCD, 'WFB_MJJY_CD', 0);
FieldByName('KouFenType').Value := CDS_MJCD.fieldbyname('KouFenType').Value;
2025-04-30 16:04:42 +08:00
Post;
end;
CDS_MJCD.Edit;
2025-09-24 13:58:45 +08:00
CDS_MJCD.FieldByName('MCID').Value := Trim(maxno);
2025-04-30 16:04:42 +08:00
Next;
end;
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
with ADOCmd do
begin
Close;
sql.Clear;
2025-09-24 13:58:45 +08:00
sql.Add('UPDATE WFB_MJJY SET DETM=dbo.F_Get_MJJY_DETM(MJID),DETM2=dbo.F_Get_MJJY_DETM2(MJID),DETM3=dbo.F_Get_MJJY_DETM3(MJID),DETM5=dbo.F_Get_MJJY_DETM5(MJID)');
sql.Add(',DETM6=dbo.F_Get_MJJY_DETM6(MJID),DETM7=dbo.F_Get_MJJY_DETM7(MJID) WHERE MJID=''' + Trim(FMJID) + ''' ');
sql.Add('exec P_Do_JYCRK @MJID=''' + trim(FMJID) + '''');
2025-04-30 16:04:42 +08:00
execsql;
end;
ADOCmd.Connection.CommitTrans;
2025-09-24 13:58:45 +08:00
Result := True;
PState := 0;
2025-04-30 16:04:42 +08:00
except
2025-09-24 13:58:45 +08:00
Result := False;
2025-04-30 16:04:42 +08:00
ADOCmd.Connection.RollbackTrans;
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
end;
end;
procedure TfrmMJManageNewFDNewSF.BTAddClick(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
if Trim(Label24.Caption) = '' then
Exit;
PState := 1;
2025-04-30 16:04:42 +08:00
InitCDGridID();
InitCDGrid();
2025-09-24 13:58:45 +08:00
Label16.Caption := '<27><><EFBFBD><EFBFBD>';
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.BTEditClick(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
if CDS_MJID.IsEmpty then
Exit;
PState := 2;
Label16.Caption := '<27>޸<EFBFBD>';
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.BTPrintClick(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
fPrintFile: string;
mvalue: Double;
i, ZS: Integer;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if Trim(FAPID) = '' then
Exit;
2025-04-30 16:04:42 +08:00
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add('select B.LBName,B.NLBName ');
sql.Add('from CK_SXPB_CR A');
SQL.Add('inner join JYOrder_Main B on A.OrdMainIDCK=B.MainId');
2025-09-24 13:58:45 +08:00
SQL.Add(' where A.SPId=''' + Trim(FAPID) + '''');
2025-04-30 16:04:42 +08:00
Open;
2025-09-24 13:58:45 +08:00
if not IsEmpty then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if Trim(ADOQueryPrint.fieldbyname('LBName').AsString) = '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
application.MessageBox(<><C3BB><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
2025-04-30 16:04:42 +08:00
exit;
end;
end;
end;
2025-09-24 13:58:45 +08:00
if FInt = 4 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if CDS_MJID.IsEmpty = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB3A2><EFBFBD>ش<EFBFBD><D8B4><EFBFBD>', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
2025-09-24 13:58:45 +08:00
if trim(Label9.Caption) = '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD>ȵ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
2025-09-24 13:58:45 +08:00
if Trim(MJFK.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToFloat(MJFK.Text, mvalue) = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
2025-09-24 13:58:45 +08:00
if Trim(MJMaoZ.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToFloat(MJMaoZ.Text, mvalue) = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
2025-09-24 13:58:45 +08:00
if strtofloatdef(trim(MJMaoZ.Text), 0) > 80 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>80!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
2025-09-24 13:58:45 +08:00
if (strtofloatdef(trim(MJMaoZ.Text), 0) > 0) and (strtofloatdef(trim(MJMaoZ.Text), 0) < 1) then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>С<EFBFBD><D0A1>1!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
2025-09-24 13:58:45 +08:00
if Trim(MJSJKZ.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToFloat(MJSJKZ.Text, mvalue) = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
2025-09-24 13:58:45 +08:00
if Trim(MJQty2.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToFloat(MJQty2.Text, mvalue) = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
2025-09-24 13:58:45 +08:00
if Trim(Edit11.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToInt(Edit11.Text, ZS) = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
2025-09-24 13:58:45 +08:00
if strtofloatdef(trim(MJQty4.Text), 0) < 0.00 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>0<EFBFBD><30>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
2025-04-30 16:04:42 +08:00
exit;
end;
2025-09-24 13:58:45 +08:00
if strtofloatdef(trim(MJLen.Text), 0) < 0.00 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
application.MessageBox('<27><><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD>С<EFBFBD><D0A1>0<EFBFBD><30>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
2025-04-30 16:04:42 +08:00
exit;
end;
2025-09-24 13:58:45 +08:00
if Trim(MJLen.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if strtofloatdef(trim(MJLen.Text), 0) > 300 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD>,<2C><><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>300!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
2025-09-24 13:58:45 +08:00
if (strtofloatdef(trim(MJLen.Text), 0) > 0) and (strtofloatdef(trim(MJLen.Text), 0) < 15) then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD>,<2C><><EFBFBD><EFBFBD>С<EFBFBD><D0A1>15!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
2025-09-24 13:58:45 +08:00
if (strtofloatdef(trim(MJLen.Text), 0) = 0) and (strtofloatdef(trim(MJQty4.Text), 0) = 0) then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>Ϊ0!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
2025-09-24 13:58:45 +08:00
if strtointdef(trim(Edit10.Text), 0) > 20 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>20<32><30>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
2025-09-24 13:58:45 +08:00
for i := 1 to strtointdef(Edit10.Text, 1) do
2025-04-30 16:04:42 +08:00
begin
if SaveData() then
begin
2025-09-24 13:58:45 +08:00
if Trim(Edit6.Text) = '<27><>' then
2025-04-30 16:04:42 +08:00
begin
PrtData(FFFMJID);
end;
BTAdd.Click;
2025-09-24 13:58:45 +08:00
if Edit9.Text <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit11.Text := FloatToStr(strtofloat(Edit11.Text) + 1);
2025-04-30 16:04:42 +08:00
end;
end
else
2025-09-24 13:58:45 +08:00
exit;
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
MJLen.Text := '';
MJMaoZ.Text := '';
MJQty1.Text := '';
MJQty2.Text := '';
Label15.Caption := '';
MJQty4.Text := '';
Edit3.Text := '<27><>';
Edit4.Text := '';
Edit5.Text := '';
2025-04-30 16:04:42 +08:00
kaip1.Text := '';
kaip2.Text := '';
kaip3.Text := '';
2025-09-24 13:58:45 +08:00
Edit10.text := '1';
Label16.Caption := '';
2025-04-30 16:04:42 +08:00
BTAdd.Click;
MJLen.SetFocus;
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.PrtData(FMJID: string);
2025-04-30 16:04:42 +08:00
var
2025-09-24 13:58:45 +08:00
fPrintFile: string;
Txt, fImagePath, fImagePath1, fImagePath2, fImagePath3, fImagePath5, fImagePath6, Txt7, fImagePath7: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
2025-04-30 16:04:42 +08:00
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add('select QtyUnit=A.MJTypeOther,B.orderNo,B.conNo,GangNo=D.RCgangNO,PRTColorEng=E.Note,B.LBName,B.NLBName ');
sql.Add(',khConNo=(select top 1 khConNo from JYOrderCon_Main X where X.ConNO=B.conNO) ');
sql.Add(',MPRTCodeNameEng=ISNULL((select Top 1 F.note from KH_Zdy F where F.zdyname=B.MPRTCodeName and F.Type=''PRTCodeName''),B.MPRTCodeName)');
2025-09-24 13:58:45 +08:00
sql.Add(',B.MPRTCF,B.MPRTMF,B.MPRTKZ,C.SOrddefstr4,B.MPRTCodeName,B.MPRTCode,B.MPRTSpec,B.MPRTKuanNO,C.*,A.* ');
2025-04-30 16:04:42 +08:00
sql.Add(',Case when A.MJSJKZ*A.MJFK<>0 then Cast(A.MJQty4*1000/A.MJSJKZ/(A.MJFK/100) as int) else 0 end as MQty');
sql.Add(',MBQty=(select Sum(E.MJLen) from WFB_MJJY E where E.Subid=A.Subid and E.BaoNo=A.BaoNo)');
sql.Add(',MBJZQty=(select Sum(E.MJQty4) from WFB_MJJY E where E.Subid=A.Subid and E.BaoNo=A.BaoNo)');
sql.Add(',MBMZQty=(select Sum(E.MJMaoZ) from WFB_MJJY E where E.Subid=A.Subid and E.BaoNo=A.BaoNo)');
sql.Add(',MBPS=(select Count(E.MJID) from WFB_MJJY E where E.Subid=A.Subid and E.BaoNo=A.BaoNo)');
sql.Add(',MBGangNo=dbo.F_Get_Order_SubStr(A.MJID,''MBGangNo'')');
2025-09-24 13:58:45 +08:00
sql.Add(' from WFB_MJJY A');
2025-04-30 16:04:42 +08:00
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(' left join KH_Zdy E on C.PRTColor=E.ZdyName and E.Type=''OrdColor'' ');
sql.Add(' inner join CK_SXPB_CR D on D.SPId=A.APId ');
2025-09-24 13:58:45 +08:00
SQL.Add(' where A.MJID=''' + Trim(FMJID) + '''');
2025-04-30 16:04:42 +08:00
Open;
end;
try
2025-09-24 13:58:45 +08:00
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(ADOQueryPrint.fieldbyname('MJID').AsString);
fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath) then
DeleteFile(fImagePath);
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
2025-04-30 16:04:42 +08:00
except
2025-09-24 13:58:45 +08:00
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
2025-04-30 16:04:42 +08:00
end;
try
2025-09-24 13:58:45 +08:00
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(ADOQueryPrint.fieldbyname('DETM').AsString);
fImagePath1 := ExtractFilePath(Application.ExeName) + 'image\temp1.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath1) then
DeleteFile(fImagePath1);
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath1), 3);
2025-04-30 16:04:42 +08:00
except
2025-09-24 13:58:45 +08:00
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
2025-04-30 16:04:42 +08:00
end;
try
2025-09-24 13:58:45 +08:00
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(ADOQueryPrint.fieldbyname('DETM2').AsString);
fImagePath2 := ExtractFilePath(Application.ExeName) + 'image\temp2.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath2) then
DeleteFile(fImagePath2);
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath2), 3);
2025-04-30 16:04:42 +08:00
except
2025-09-24 13:58:45 +08:00
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
2025-04-30 16:04:42 +08:00
end;
try
2025-09-24 13:58:45 +08:00
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(ADOQueryPrint.fieldbyname('DETM3').AsString);
fImagePath3 := ExtractFilePath(Application.ExeName) + 'image\temp3.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath3) then
DeleteFile(fImagePath3);
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath3), 3);
2025-04-30 16:04:42 +08:00
except
2025-09-24 13:58:45 +08:00
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(ADOQueryPrint.fieldbyname('DETM5').AsString);
fImagePath5 := ExtractFilePath(Application.ExeName) + 'image\temp5.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath5) then
DeleteFile(fImagePath5);
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath5), 3);
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt7 := Trim(ADOQueryPrint.fieldbyname('DETM7').AsString);
fImagePath7 := ExtractFilePath(Application.ExeName) + 'image\temp7.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath7) then
DeleteFile(fImagePath7);
Makebar(pchar(Txt7), Length(Txt7), 3, 3, 0, PChar(fImagePath7), 3);
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
try
fImagePath6 := ExtractFilePath(Application.ExeName) + 'image\temp6.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath6) then
DeleteFile(fImagePath6);
// FDETM6 := Trim(ADOQueryPrint.fieldbyname('PRTHX').AsString) + '-' + RightStr(('10000' + trim(ADOQueryPrint.fieldbyName('MJXH').AsString)), 4) + '-' + Trim(ADOQueryPrint.fieldbyname('SOrddefstr2').AsString);
FDETM6 := Trim(ADOQueryPrint.fieldbyname('DETM6').AsString);
tsewm6();
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
if Trim(ADOQueryPrint.fieldbyname('LBName').AsString) <> '' then
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('LBName').AsString) + '.rmf'
2025-04-30 16:04:42 +08:00
else
2025-09-24 13:58:45 +08:00
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ͨ<><CDA8>Ӣ<EFBFBD>ı<EFBFBD>ǩ.rmf';
2025-04-30 16:04:42 +08:00
if FileExists(fPrintFile) then
begin
2025-09-24 13:58:45 +08:00
RMVariables['QRBARCODE'] := fImagePath;
RMVariables['QRBARCODE1'] := fImagePath1;
RMVariables['QRBARCODE2'] := fImagePath2;
RMVariables['QRBARCODE3'] := fImagePath3;
RMVariables['QRBARCODE5'] := fImagePath5;
RMVariables['QRBARCODE6'] := fImagePath6;
RMVariables['QRBARCODE7'] := fImagePath7;
2025-04-30 16:04:42 +08:00
RM2.LoadFromFile(fPrintFile);
2025-09-24 13:58:45 +08:00
Rm2.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1);
2025-04-30 16:04:42 +08:00
// RM2.ShowReport;
RM2.PrintReport;
end
else
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('LBName').AsString)), '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
if edit9.Text <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if Trim(ADOQueryPrint.fieldbyname('NLBName').AsString) <> '' then
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('NLBName').AsString) + '.rmf'
2025-04-30 16:04:42 +08:00
else
2025-09-24 13:58:45 +08:00
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ͨ<><CDA8>Ӣ<EFBFBD>ı<EFBFBD>ǩ.rmf';
2025-04-30 16:04:42 +08:00
if FileExists(fPrintFile) then
begin
2025-09-24 13:58:45 +08:00
RMVariables['QRBARCODE'] := fImagePath;
2025-04-30 16:04:42 +08:00
RM2.LoadFromFile(fPrintFile);
2025-09-24 13:58:45 +08:00
Rm2.DefaultCopies := strtointdef(trim(ComboBox2.Text), 1);
2025-04-30 16:04:42 +08:00
// RM2.ShowReport;
RM2.PrintReport;
end
else
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('NLBName').AsString)), '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
end;
end;
end;
2025-09-24 13:58:45 +08:00
2025-04-30 16:04:42 +08:00
procedure TfrmMJManageNewFDNewSF.SavedataCK();
var
2025-09-24 13:58:45 +08:00
CRID: Integer;
MaxCkNo, MaxCkSubNo: string;
2025-04-30 16:04:42 +08:00
begin
//if Trim(Cds_Main.fieldbyname('SubType').AsString)='<27><><EFBFBD><EFBFBD>' then
//////////////////////////////////////////////////////////////<2F><><EFBFBD><EFBFBD><E6B5BD><EFBFBD><EFBFBD>Ʒ<EFBFBD>ֿ<EFBFBD>////////////////////////////////////////////////
2025-09-24 13:58:45 +08:00
with ADOCmd do
begin
Close;
sql.Clear;
SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1');
sql.Add('select * from CK_BanCP_CRID');
Open;
end;
CRID := ADOCmd.fieldbyname('CRID').Value;
if GetLSNo(ADOCmd, MaxCkNo, 'JR', 'CK_BanCP_CR', 4, 1) = False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>Ʒ<EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('select * from CK_BanCP_CR where 1<>1');
Open;
end;
with ADOCmd do
begin
Append;
FieldByName('MainId').Value := Trim(FMainId);
FieldByName('SubId').Value := Trim(FSubId);
FieldByName('APID').Value := Trim(FAPID);
FieldByName('MJID').Value := Trim(CDS_MJID.fieldbyname('MJId').AsString);
FieldByName('BCID').Value := Trim(MaxCkNo);
FieldByName('CRTime').Value := SGetServerDateTime(ADOTmp);
FieldByName('CRFlag').Value := '<27><><EFBFBD><EFBFBD>';
FieldByName('CRType').Value := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
//FieldByName('JTType').Value:=Trim(XJFlag);
FieldByName('CRID').Value := CRID;
if Trim(MJMaoZ.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FieldByName('KGQty').Value := StrToFloat(MJMaoZ.Text);
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
if Trim(MJLen.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FieldByName('Qty').Value := StrToFloat(MJLen.Text);
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
FieldByName('QtyUnit').Value := Trim(Label9.Caption);
FieldByName('Filler').Value := Trim(DName);
FieldByName('FillTime').Value := SGetServerDateTime(ADOTmp);
if Trim(Edit3.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FieldByName('CPType').Value := '<27><>Ʒ';
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
if Trim(Edit4.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FieldByName('CPType').Value := '<27><>Ʒ';
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
Post;
end;
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('select * from CK_BanCP_KC where 1<>1');
Open;
end;
with ADOCmd do
begin
Append;
FieldByName('CRID').Value := CRID;
FieldByName('BCID').Value := Trim(MaxCkNo);
FieldByName('MJID').Value := Trim(CDS_MJID.fieldbyname('MJID').AsString);
if Trim(MJMaoZ.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FieldByName('KCKGQty').Value := StrToFloat(MJMaoZ.Text);
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
if Trim(MJLen.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FieldByName('KCQty').Value := StrToFloat(MJLen.Text);
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
FieldByName('KCQtyUnit').Value := Trim(Label9.Caption);
Post;
end;
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.Tv2CDQtyPropertiesEditValueChanged(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
mvalue: string;
2025-04-30 16:04:42 +08:00
begin
try
2025-09-24 13:58:45 +08:00
mvalue := TcxTextEdit(Sender).EditingText;
if Trim(mvalue) <> '' then
2025-04-30 16:04:42 +08:00
begin
CDS_MJCD.Edit;
2025-09-24 13:58:45 +08:00
CDS_MJCD.FieldByName('CDQty').Value := mvalue;
2025-04-30 16:04:42 +08:00
CDS_MJCD.Post;
2025-09-24 13:58:45 +08:00
end
else
2025-04-30 16:04:42 +08:00
begin
CDS_MJCD.Edit;
2025-09-24 13:58:45 +08:00
CDS_MJCD.FieldByName('CDQty').Value := 0;
2025-04-30 16:04:42 +08:00
CDS_MJCD.Post;
end;
CDS_MJCD.Edit;
2025-09-24 13:58:45 +08:00
CDS_MJCD.FieldByName('CDQtyS').Value := mvalue;
2025-04-30 16:04:42 +08:00
except
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>֣<EFBFBD>', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
end;
end;
procedure TfrmMJManageNewFDNewSF.SpeedButton1Click(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
fsj: string;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
fsj := Trim(TSpeedButton(Sender).Hint);
if Trim(fsj) = '' then
Exit;
fsj := Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text);
TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text := fsj + Trim(TSpeedButton(Sender).Caption);
2025-04-30 16:04:42 +08:00
TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll;
end;
procedure TfrmMJManageNewFDNewSF.SpeedButton12Click(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
fsj: string;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
fsj := Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text);
if Trim(fsj) = '' then
Exit;
TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text := Copy(fsj, 1, Length(fsj) - 1);
2025-04-30 16:04:42 +08:00
TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll;
end;
procedure TfrmMJManageNewFDNewSF.SpeedButton13Click(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
i: Integer;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if Trim(Label24.Caption) = '' then
Exit;
if Label24.Visible = False then
Exit;
if Trim(CDS_MJCD.fieldbyname('MJID').AsString) <> '' then
2025-04-30 16:04:42 +08:00
begin
BTAdd.Click;
end;
2025-09-24 13:58:45 +08:00
if Trim(Label15.Caption) <> '' then
2025-04-30 16:04:42 +08:00
begin
//MJFK.Text:='';
//MJSJKZ.Text:='';
2025-09-24 13:58:45 +08:00
MJLen.Text := '';
MJMaoZ.Text := '';
MJQty1.Text := '';
2025-04-30 16:04:42 +08:00
//MJSJKZ.Text:='';
2025-09-24 13:58:45 +08:00
Label15.Caption := '';
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
if Trim(FAPID) = '' then
Exit;
FCDName := Trim(TSpeedButton(Sender).Hint);
MovePanel1.Visible := True;
Label21.Caption := Trim(FCDName);
FInt := 11;
2025-04-30 16:04:42 +08:00
Edit1.SetFocus;
//CDQty.SetFocus;
2025-09-24 13:58:45 +08:00
Panel3.Visible := True;
PState := 1;
2025-04-30 16:04:42 +08:00
with Panel3 do
begin
2025-09-24 13:58:45 +08:00
for i := 0 to ControlCount - 1 do
2025-04-30 16:04:42 +08:00
begin
if Controls[i] is TSpeedButton then
begin
2025-09-24 13:58:45 +08:00
TSpeedButton(Controls[i]).Hint := Trim(Edit1.Name);
2025-04-30 16:04:42 +08:00
end;
end;
end;
end;
procedure TfrmMJManageNewFDNewSF.cxGridDBColumn2PropertiesChange(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
fsj: string;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
fsj := Trim(Order_MJ.fieldbyname('SubId').AsString);
2025-04-30 16:04:42 +08:00
Order_MJ.DisableControls;
with Order_MJ do
begin
First;
while not Eof do
begin
2025-09-24 13:58:45 +08:00
if Trim(Order_MJ.fieldbyname('SubId').AsString) <> fsj then
2025-04-30 16:04:42 +08:00
begin
Edit;
2025-09-24 13:58:45 +08:00
FieldByName('SSel').Value := False;
2025-04-30 16:04:42 +08:00
end;
Next;
end;
end;
Order_MJ.EnableControls;
2025-09-24 13:58:45 +08:00
Order_MJ.Locate('SubId', fsj, []);
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.Button1Click(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
mvalue: Double;
2025-04-30 16:04:42 +08:00
begin
{ if Trim(Edit1.Text)='' then
begin
Application.MessageBox(<>ò<EFBFBD><C3B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
exit;
end; }
2025-09-24 13:58:45 +08:00
if Trim(Edit1.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if Trim(Edit2.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if StrToFloat(Edit2.Text) < StrToFloat(Edit1.Text) then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27>õ<EFBFBD>λ<EFBFBD><CEBB>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
end;
2025-09-24 13:58:45 +08:00
if CDQty.Text <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToFloat(CDQty.Text, mvalue) = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
with CDS_MJCD do
begin
Append;
2025-09-24 13:58:45 +08:00
FieldByName('cdname').Value := Trim(FCDName);
FieldByName('CDbeg').Value := Trim(Edit1.Text);
FieldByName('CDEnd').Value := Trim(Edit2.Text);
FieldByName('KouFenQty').Value := 0;
if RadioGroup1.ItemIndex > -1 then
FieldByName('KouFenType').Value := RadioGroup1.Items.Strings[RadioGroup1.ItemIndex];
if RadioGroup1.ItemIndex > -1 then
begin
if RadioGroup1.ItemIndex < 3 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
FieldByName('KouFenQty').Value := RadioGroup1.ItemIndex + 1;
2025-04-30 16:04:42 +08:00
end
else
begin
2025-09-24 13:58:45 +08:00
FieldByName('KouFenQty').Value := 4;
2025-04-30 16:04:42 +08:00
end;
end;
2025-09-24 13:58:45 +08:00
if Trim(FCDName) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
FieldByName('KouFenQty').Value := 0;
FieldByName('CDQty').Value := StrToFloatdef(trim(CDQty.Text), 0);
2025-04-30 16:04:42 +08:00
{if Trim(Edit2.Text)<>'' then
begin
FieldByName('CDQty').Value:=StrToFloat(Edit2.Text)-StrToFloat(Edit1.Text);
end else
begin
FieldByName('CDQty').Value:=0;
end; }
Post;
end;
2025-09-24 13:58:45 +08:00
Edit1.Text := '';
Edit2.Text := '';
CDQty.Text := '';
MovePanel1.Visible := False;
Panel3.Visible := False;
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.Button4Click(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
Edit1.Text := '';
Edit2.Text := '';
CDQty.Text := '';
MovePanel1.Visible := False;
Panel3.Visible := False;
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.ToolButton1Click(Sender: TObject);
begin
//InitGrid();
InitJP();
end;
procedure TfrmMJManageNewFDNewSF.Button5Click(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
fPrintFile: string;
i: Integer;
mvalue: Double;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if CDS_MJID.IsEmpty then
Exit;
if trim(Label9.Caption) = '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD>ȵ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
{ IF strtofloatdef(trim(MJLen.Text),0)=0 then
begin
// Application.MessageBox('<27><><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end; }
{ if Trim(MJMaoZ.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end; }
{ if TryStrToFloat(MJLen.Text,mvalue)=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end; }
{if Trim(MJQty1.Text)='' then
begin
Application.MessageBox(<><EFBFBD><EBB2BB>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end; }
2025-09-24 13:58:45 +08:00
if Trim(MJQty1.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToFloat(MJQty1.Text, mvalue) = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox(<><D4AD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
2025-09-24 13:58:45 +08:00
if Trim(MJFK.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToFloat(MJFK.Text, mvalue) = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
2025-09-24 13:58:45 +08:00
if Trim(MJMaoZ.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToFloat(MJMaoZ.Text, mvalue) = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
2025-09-24 13:58:45 +08:00
if Trim(MJSJKZ.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToFloat(MJSJKZ.Text, mvalue) = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
2025-09-24 13:58:45 +08:00
if Trim(MJQty2.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToFloat(MJQty2.Text, mvalue) = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
end;
2025-09-24 13:58:45 +08:00
if strtofloatdef(trim(MJQty4.Text), 0) < 0.00 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>0<EFBFBD><30>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
2025-04-30 16:04:42 +08:00
exit;
end;
2025-09-24 13:58:45 +08:00
if strtofloatdef(trim(MJLen.Text), 0) < 0.00 then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
application.MessageBox('<27><><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD>С<EFBFBD><D0A1>0<EFBFBD><30>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
2025-04-30 16:04:42 +08:00
exit;
end;
2025-09-24 13:58:45 +08:00
2025-04-30 16:04:42 +08:00
if SaveData() then
begin
2025-09-24 13:58:45 +08:00
MJLen.Text := '';
MJMaoZ.Text := '';
MJQty1.Text := '';
MJQty2.Text := '';
Label15.Caption := '';
MJQty4.Text := '';
Edit3.Text := '<27><>';
Edit4.Text := '';
Edit5.Text := '';
FInt := 0;
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
if Trim(Edit6.Text) = '<27><>' then
2025-04-30 16:04:42 +08:00
begin
PrtData(FFFMJID);
end;
2025-09-24 13:58:45 +08:00
Label16.Caption := '';
2025-04-30 16:04:42 +08:00
BTAdd.Click;
2025-09-24 13:58:45 +08:00
Edit8.Text := '';
Button5.Visible := false;
2025-04-30 16:04:42 +08:00
MJLen.SetFocus;
end;
procedure TfrmMJManageNewFDNewSF.SpeedButton49Click(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
Panel3.Visible := False;
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.APIDKeyPress(Sender: TObject; var Key: Char);
begin
2025-09-24 13:58:45 +08:00
if Key = #13 then
begin
fxsType := '';
2025-04-30 16:04:42 +08:00
with ADOTmp do
begin
Close;
sql.Clear;
sql.Add('select B.xs,A.*,B.MPRTBZNote,isnull(B.XSDian,0) XSDian,B.MPRTYaoFeng,B.MPRTTangJin,B.MPRTJiBenNote,B.MPRTTeBieNote,B.xsType,B.MPRTKaiJian ');
sql.Add(',B.MPRTMF,B.MPRTKZ,B.OrdDefNote2,B.OrdDefNote3,B.MPRTSCTeBieNote,B.MPRTTeBieNote,B.OrderNo,');
SQL.Add('OrderNoM=(select OrderNo from JYOrder_Main X where X.Mainid=A.OrdMainIDCK),');
SQL.Add('PRTColor=(select PRTColor from JYOrder_Sub X where X.Subid=A.OrdsubIDCK), ');
SQL.Add('OrderUnit=(select OrderUnit from JYOrder_Sub X where X.Subid=A.OrdsubIDCK), ');
sql.Add('PiZhong=(select PiZhong from JYOrder_Main X where X.Mainid=A.OrdMainIDCK),');
sql.Add('maxRoll=1+isnull((select cast (max(mjxh) as int) from WFB_MJJY X where X.APID=A.SPID),A.QSJHNo)');
sql.Add(' from CK_SXPB_CR A');
SQL.Add(' inner join JYOrder_Main B on A.OrdMainIDCK=B.MainId');
2025-09-24 13:58:45 +08:00
sql.Add(' where SPID=''' + Trim(APID.Text) + '''');
2025-04-30 16:04:42 +08:00
Open;
end;
2025-09-24 13:58:45 +08:00
if ADOTmp.IsEmpty = False then
begin
Label24.Visible := True;
Label24.Caption := Trim(ADOTmp.fieldbyname('OrderNoM').AsString);
Label25.Visible := True;
Label25.Caption := Trim(ADOTmp.fieldbyname('PRTColor').AsString);
FAPID := Trim(APID.Text);
FMainId := Trim(ADOTmp.fieldbyname('OrdMainIDCK').AsString);
FSubId := Trim(ADOTmp.fieldbyname('OrdsubIDCK').AsString);
MJXH.Text := Trim(ADOTmp.fieldbyname('maxRoll').AsString);
MKXS.Text := Trim(ADOTmp.fieldbyname('Xs').AsString);
XSDian.Text := IntToStr(ADOTmp.fieldbyname('XSDian').AsInteger);
MJstr4.Text := Trim(ADOTmp.fieldbyname('gangNo').AsString);
fxsType := Trim(ADOTmp.fieldbyname('xsType').AsString);
AOrdDefNote1.Text := '<27><><EFBFBD><EFBFBD>:' + Trim(ADOTmp.fieldbyname('MPRTYaoFeng').AsString) + #13 + '<27>̽<EFBFBD>:' + Trim(ADOTmp.fieldbyname('OrdDefNote2').AsString) + #13 + '<27><><EFBFBD><EFBFBD>:' + Trim(ADOTmp.fieldbyname('OrdDefNote3').AsString) + #13 + '<27>ŷ<EFBFBD>:' + Trim(ADOTmp.fieldbyname('MPRTMF').AsString) + #13 + '<27><><EFBFBD><EFBFBD>:' + Trim(ADOTmp.fieldbyname('MPRTKZ').AsString) + #13 + '<27><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>:' + Trim(ADOTmp.fieldbyname('MPRTSCTeBieNote').AsString) + #13 + '<27>ر<EFBFBD><D8B1><EFBFBD>ʾ:' + Trim(ADOTmp.fieldbyname('MPRTTeBieNote').AsString);
MJQty3.Text := Trim(ADOTmp.fieldbyname('PiZhong').AsString);
if Trim(ADOTmp.fieldbyname('OrderUnit').AsString) = 'YDS' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Label9.Caption := 'Y';
Label19.Caption := Label9.Caption;
Label20.Caption := Label9.Caption;
Label7.Caption := Label9.Caption;
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
if Trim(ADOTmp.fieldbyname('QtyUnit').AsString) <> '' then
2025-04-30 16:04:42 +08:00
begin
//Label9.Caption:=Trim(ADOTmp.fieldbyname('QtyUnit').AsString);
//Label19.Caption:=Label9.Caption;
//Label20.Caption:=Label9.Caption;
//Label7.Caption:=Label9.Caption;
end;
2025-09-24 13:58:45 +08:00
end
else
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Label2.Visible := False;
Label2.Caption := '';
APID.Text := '';
FAPID := '';
FMainId := '';
FSubId := '';
AOrdDefNote1.Text := '';
2025-04-30 16:04:42 +08:00
Exit;
end;
2025-09-24 13:58:45 +08:00
APID.Text := '';
2025-04-30 16:04:42 +08:00
BTAdd.Click;
MJLen.SetFocus;
InitImage();
end;
end;
procedure TfrmMJManageNewFDNewSF.Edit1Click(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
i: Integer;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Panel3.Visible := True;
2025-04-30 16:04:42 +08:00
with Panel3 do
begin
2025-09-24 13:58:45 +08:00
for i := 0 to ControlCount - 1 do
2025-04-30 16:04:42 +08:00
begin
if Controls[i] is TSpeedButton then
begin
2025-09-24 13:58:45 +08:00
TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name);
2025-04-30 16:04:42 +08:00
end;
end;
end;
end;
procedure TfrmMJManageNewFDNewSF.Edit2Change(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
mvalue: Double;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if Trim(Edit1.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToFloat(Edit1.Text, mvalue) = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
2025-09-24 13:58:45 +08:00
end
else
2025-04-30 16:04:42 +08:00
begin
Exit;
end;
2025-09-24 13:58:45 +08:00
if Trim(Edit2.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToFloat(Edit2.Text, mvalue) = False then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:04:42 +08:00
Exit;
end;
2025-09-24 13:58:45 +08:00
end
else
2025-04-30 16:04:42 +08:00
begin
Exit;
end;
2025-09-24 13:58:45 +08:00
CDQty.Text := FloatToStr(StrToFloat(Edit2.Text) - StrToFloat(Edit1.Text));
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.Edit3Click(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
if Trim(Edit3.Text) = '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit3.Text := '<27><>';
Edit4.Text := '';
Edit5.Text := '';
end
else
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit3.Text := '';
Edit4.Text := '<27><>';
Edit5.Text := '';
2025-04-30 16:04:42 +08:00
end;
end;
procedure TfrmMJManageNewFDNewSF.Edit4Click(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
if Trim(Edit4.Text) = '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit4.Text := '<27><>';
Edit3.Text := '';
Edit5.Text := '';
end
else
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit4.Text := '';
Edit3.Text := '<27><>';
Edit5.Text := '';
2025-04-30 16:04:42 +08:00
end;
end;
procedure TfrmMJManageNewFDNewSF.Edit5Click(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
if Trim(Edit5.Text) = '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit5.Text := '<27><>';
Edit3.Text := '';
Edit4.Text := '';
end
else
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit5.Text := '';
Edit3.Text := '<27><>';
Edit4.Text := '';
2025-04-30 16:04:42 +08:00
end;
end;
procedure TfrmMJManageNewFDNewSF.Edit6Click(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
if Trim(Edit6.Text) = '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit6.Text := '<27><>';
end
else
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit6.Text := '';
2025-04-30 16:04:42 +08:00
end;
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.MJstr3KeyPress(Sender: TObject; var Key: Char);
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if Key = #13 then
begin
Key := #0;
SelectNext(ActiveControl as TWinControl, True, True);
end;
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.Label9Click(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
if trim(Label9.Caption) = 'M' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Label9.Caption := 'Y';
Label19.Caption := 'Y';
Label20.Caption := 'Y';
Label7.Caption := 'Y';
2025-04-30 16:04:42 +08:00
end
else
begin
2025-09-24 13:58:45 +08:00
Label9.Caption := 'M';
Label19.Caption := 'M';
Label20.Caption := 'M';
Label7.Caption := 'M';
2025-04-30 16:04:42 +08:00
end;
end;
procedure TfrmMJManageNewFDNewSF.MJLenExit(Sender: TObject);
begin
//MJQty3.OnExit(self);
end;
procedure TfrmMJManageNewFDNewSF.MJQty4Exit(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
if (trim(MJMaoZ.Text) = '') and (trim(MJQty4.Text) = '') then
exit;
if (trim(MJMaoZ.Text) = '') and (trim(MJQty3.Text) = '') then
exit;
if (trim(MJQty4.Text) = '') and (trim(MJQty3.Text) = '') then
exit;
2025-04-30 16:04:42 +08:00
2025-09-24 13:58:45 +08:00
if (trim(MJQty3.Text) = '') then
exit;
2025-04-30 16:04:42 +08:00
2025-09-24 13:58:45 +08:00
if (trim(MJQty4.Text) <> '') then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
MJMaoZ.Text := floattostr(strtofloatdef(trim(MJQty3.Text), 0) + strtofloatdef(trim(MJQty4.Text), 0));
2025-04-30 16:04:42 +08:00
exit;
end;
end;
procedure TfrmMJManageNewFDNewSF.Button2Click(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
RadioGroup1.ItemIndex := -1;
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.MJQty4Change(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
FReal: Double;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if Trim(MJQty4.Text) = '' then
2025-04-30 16:04:42 +08:00
begin
// MJLen.Text:='';
2025-09-24 13:58:45 +08:00
MJMaoZ.Text := '';
2025-04-30 16:04:42 +08:00
Exit;
end;
2025-09-24 13:58:45 +08:00
if TryStrToFloat(MJQty4.Text, FReal) = False then
Exit;
if Trim(MJQty3.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToFloat(MJQty3.Text, FReal) = True then
MJMaoZ.Text := FloatToStr(StrToFloat(MJQty4.Text) + StrToFloat(MJQty3.Text));
end
else
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
MJMaoZ.Text := MJQty4.Text;
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
if trim(fxsType) = '<27><><EFBFBD>ػ<EFBFBD><D8BB><EFBFBD><E3B3A4>' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if XSDian.Text = '0' then
MJLen.Text := format('%.0f', [StrToFloatdef(trim(MJQty4.Text), 0) * StrToFloatdef(trim(MKXS.Text), 0)]);
if XSDian.Text = '1' then
MJLen.Text := format('%.1f', [StrToFloatdef(trim(MJQty4.Text), 0) * StrToFloatdef(trim(MKXS.Text), 0)]);
if XSDian.Text = '2' then
MJLen.Text := format('%.2f', [StrToFloatdef(trim(MJQty4.Text), 0) * StrToFloatdef(trim(MKXS.Text), 0)]);
2025-04-30 16:04:42 +08:00
end;
end;
procedure TfrmMJManageNewFDNewSF.MJMaoZChange(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
FReal: Double;
2025-04-30 16:04:42 +08:00
begin
// if StrToFloat(MJSJKZ.Text)*StrToFloat(MJFK.Text)=0 then Exit;
2025-09-24 13:58:45 +08:00
if Trim(MJMaoZ.Text) = '' then
2025-04-30 16:04:42 +08:00
begin
//MJLen.Text:='';
2025-09-24 13:58:45 +08:00
MJQty4.Text := '';
2025-04-30 16:04:42 +08:00
Exit;
end;
2025-09-24 13:58:45 +08:00
if TryStrToFloat(MJMaoZ.Text, FReal) = False then
Exit;
if Trim(MJQty3.Text) <> '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if TryStrToFloat(MJQty3.Text, FReal) = False then
Exit;
MJQty4.Text := FloatToStr(StrToFloat(MJMaoZ.Text) - StrToFloat(MJQty3.Text));
end
else
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
MJQty4.Text := MJMaoZ.Text;
2025-04-30 16:04:42 +08:00
end;
end;
procedure TfrmMJManageNewFDNewSF.APIDClick(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
i: Integer;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Panel3.Visible := True;
2025-04-30 16:04:42 +08:00
with Panel3 do
begin
2025-09-24 13:58:45 +08:00
for i := 0 to ControlCount - 1 do
2025-04-30 16:04:42 +08:00
begin
if Controls[i] is TSpeedButton then
begin
2025-09-24 13:58:45 +08:00
TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name);
2025-04-30 16:04:42 +08:00
end;
end;
end;
end;
procedure TfrmMJManageNewFDNewSF.Edit7Click(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
if Trim(Edit7.Text) = '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit7.Text := '<27><>';
if not IsCommOpen then
OpenCom(JCYDLL);
IsJsMessage := true;
2025-04-30 16:04:42 +08:00
end
else
begin
2025-09-24 13:58:45 +08:00
Edit7.Text := '';
IsJsMessage := true;
2025-04-30 16:04:42 +08:00
end;
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.MJQty4KeyPress(Sender: TObject; var Key: Char);
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if Key = #13 then
2025-04-30 16:04:42 +08:00
begin
BTPrint.Click;
end;
end;
procedure TfrmMJManageNewFDNewSF.MKXSChange(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
MJQty4.Text := format('%.1f', [StrToFloatdef(trim(MJLen.Text), 0) * StrToFloatdef(trim(MKXS.Text), 0)]);
MJMaoZ.Text := FloatToStr(StrToFloat(MJQty4.Text) + StrToFloat(MJQty3.Text));
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.FormCreate(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
IsCommopen := false;
IsJsMessage := false;
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.MJQty2Change(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
FReal: double;
2025-04-30 16:04:42 +08:00
begin
{ IF trim(MKXS.Text)<>'' then
begin
if TryStrToFloat(MKXS.Text,FReal)=true then
begin
// MJLen.Text:=format('%.1f',[StrToFloatdef(trim(MJQty4.Text),0)* StrToFloatdef(trim(MKXS.Text),0)]);
MJLen.Text:=format('%.0f',[StrToFloatdef(trim(MJLen.Text),0)- StrToFloatdef(trim(MJQty2.Text),0)]);
end;
end
else
begin
if Trim(MJSJKZ.Text)='' then Exit;
if TryStrToFloat(MJSJKZ.Text,FReal)=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if Trim(MJFK.Text)='' then Exit;
if TryStrToFloat(MJFK.Text,FReal)=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if StrToFloat(MJSJKZ.Text)*StrToFloat(MJFK.Text)=0 then Exit;
if Trim(Label9.Caption)='M' then
begin
//MJLen.Text:=FloatToStr(StrToFloat(MJQty4.Text)*1000*100/StrToFloat(MJSJKZ.Text)/StrToFloat(MJFK.Text));
MJLen.Text:=format('%.1f',[StrToFloat(MJQty4.Text)*1000*100/StrToFloat(MJSJKZ.Text)/StrToFloat(MJFK.Text)]);
MJLen.Text:=format('%.1f',[StrToFloatdef(trim(MJLen.Text),0)- StrToFloatdef(trim(MJQty2.Text),0)]);
end else
begin
MJLen.Text:=format('%.1f',[StrToFloat(MJQty4.Text)*1000*100/StrToFloat(MJSJKZ.Text)/StrToFloat(MJFK.Text)*1.0936]);
MJLen.Text:=format('%.1f',[StrToFloatdef(trim(MJLen.Text),0)- StrToFloatdef(trim(MJQty2.Text),0)]);
//MJLen.Text:=FloatToStr(StrToFloat(MJQty4.Text)*1000*100/StrToFloat(MJSJKZ.Text)/StrToFloat(MJFK.Text)*1.0936);
// MJLen.Text:=floatToStr(Round(StrToFloat(MJQty4.Text)*1000*100/StrToFloat(MJSJKZ.Text)/StrToFloat(MJFK.Text)*1.0936));
end;
end; }
end;
procedure TfrmMJManageNewFDNewSF.Edit8Click(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
if Trim(Edit8.Text) = '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit8.Text := '<27><>';
Button5.Visible := true;
2025-04-30 16:04:42 +08:00
end
else
begin
2025-09-24 13:58:45 +08:00
Edit8.Text := '';
Button5.Visible := false;
2025-04-30 16:04:42 +08:00
end;
end;
procedure TfrmMJManageNewFDNewSF.MJLenChange(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
if trim(fxsType) = '<27><><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><E3BEBB>' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
MJQty4.Text := format('%.1f', [StrToFloatdef(trim(MJLen.Text), 0) * StrToFloatdef(trim(MKXS.Text), 0)]);
MJMaoZ.Text := FloatToStr(StrToFloatdef(trim(MJQty4.Text), 0) + StrToFloatdef(trim(MJQty3.Text), 0));
2025-04-30 16:04:42 +08:00
end;
end;
procedure TfrmMJManageNewFDNewSF.InitImage();
begin
with ADOQueryImage do
begin
2025-09-24 13:58:45 +08:00
2025-04-30 16:04:42 +08:00
close;
sql.Clear;
sql.Add('select * from TP_File A');
2025-09-24 13:58:45 +08:00
sql.Add('where WBID=' + quotedstr(ADOTmp.fieldbyname('OrderNo').AsString));
2025-04-30 16:04:42 +08:00
open;
end;
end;
procedure TfrmMJManageNewFDNewSF.Picture4DblClick(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
if TcxDBImage(Sender).Picture.Height = 0 then
exit;
2025-04-30 16:04:42 +08:00
LookImage(ADOQueryImage.fieldbyname(TcxDBImage(Sender).Hint).asstring);
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.LookImage(FileName: string);
2025-04-30 16:04:42 +08:00
var
2025-09-24 13:58:45 +08:00
sFieldName: string;
2025-04-30 16:04:42 +08:00
// ff: TADOBlobStream;
// FJStream : TMemoryStream;
begin
2025-09-24 13:58:45 +08:00
sFieldName := leftbstr(ExtractFilePath(Application.ExeName), 1) + ':\ͼƬ<CDBC>鿴';
2025-04-30 16:04:42 +08:00
if not DirectoryExists(pchar(sFieldName)) then
2025-09-24 13:58:45 +08:00
CreateDirectory(pchar(sFieldName), nil);
2025-04-30 16:04:42 +08:00
2025-09-24 13:58:45 +08:00
sFieldName := sFieldName + '\' + trim(FileName);
2025-04-30 16:04:42 +08:00
try
2025-09-24 13:58:45 +08:00
IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI', 'SERVER', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ', '127.0.0.1');
2025-04-30 16:04:42 +08:00
IdFTP1.Username := 'three';
2025-09-24 13:58:45 +08:00
IdFTP1.Password := '641010';
2025-04-30 16:04:42 +08:00
IdFTP1.Connect();
except
;
end;
if IdFTP1.Connected then
begin
// Panel2.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>Ե<EFBFBD>...';
// Panel2.Visible:=true;
// application.ProcessMessages;
try
2025-09-24 13:58:45 +08:00
IdFTP1.Get(fFlileFlag + '\' + Trim(FileName), sFieldName, true, false);
2025-04-30 16:04:42 +08:00
except
// Panel2.Visible:=false;
Application.MessageBox('<27>ͻ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
end
else
begin
// Panel2.Visible:=false;
Application.MessageBox('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
// Panel2.Visible:=false;
2025-09-24 13:58:45 +08:00
if IdFTP1.Connected then
IdFTP1.Quit;
ShellExecute(Handle, 'open', PChar(sFieldName), '', '', SW_SHOWNORMAL);
2025-04-30 16:04:42 +08:00
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.MJStr4KeyPress(Sender: TObject; var Key: Char);
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
if Key = #13 then
begin
Key := #0;
SelectNext(ActiveControl as TWinControl, True, True);
end;
2025-04-30 16:04:42 +08:00
end;
procedure TfrmMJManageNewFDNewSF.MJStr4Click(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
i: Integer;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Panel3.Visible := True;
2025-04-30 16:04:42 +08:00
with Panel3 do
begin
2025-09-24 13:58:45 +08:00
for i := 0 to ControlCount - 1 do
2025-04-30 16:04:42 +08:00
begin
if Controls[i] is TSpeedButton then
begin
2025-09-24 13:58:45 +08:00
TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name);
2025-04-30 16:04:42 +08:00
end;
end;
end;
end;
procedure TfrmMJManageNewFDNewSF.KJZHClick(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
i: Integer;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Panel3.Visible := True;
2025-04-30 16:04:42 +08:00
with Panel3 do
begin
2025-09-24 13:58:45 +08:00
for i := 0 to ControlCount - 1 do
2025-04-30 16:04:42 +08:00
begin
if Controls[i] is TSpeedButton then
begin
2025-09-24 13:58:45 +08:00
TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name);
2025-04-30 16:04:42 +08:00
end;
end;
end;
end;
procedure TfrmMJManageNewFDNewSF.Edit9Click(Sender: TObject);
begin
2025-09-24 13:58:45 +08:00
if Trim(Edit9.Text) = '' then
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit9.Text := '<27><>';
end
else
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Edit9.Text := '';
2025-04-30 16:04:42 +08:00
end;
end;
procedure TfrmMJManageNewFDNewSF.Kaip1Click(Sender: TObject);
var
2025-09-24 13:58:45 +08:00
i: Integer;
2025-04-30 16:04:42 +08:00
begin
2025-09-24 13:58:45 +08:00
Panel3.Visible := True;
2025-04-30 16:04:42 +08:00
with Panel3 do
begin
2025-09-24 13:58:45 +08:00
for i := 0 to ControlCount - 1 do
2025-04-30 16:04:42 +08:00
begin
if Controls[i] is TSpeedButton then
begin
2025-09-24 13:58:45 +08:00
TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name);
2025-04-30 16:04:42 +08:00
end;
end;
end;
end;
2025-09-24 13:58:45 +08:00
procedure TfrmMJManageNewFDNewSF.tsewm6();
var
lvData: UTF8String; // ʹ<><CAB9>UTF8<46><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
lvBitMap: TBitmap;
lvSymbol: PZintSymbol;
lvErrorNumber: Integer;
lvErrorText: string;
bitmap: TBitmap;
begin
lvSymbol := ZBarcode_Create();
if lvSymbol = nil then
Exit;
lvBitMap := TBitmap.Create;
try //'010872020901234590RS9999-100R1011234567893112005160'
lvData := UTF8String(FDETM6);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪQRCODE
lvSymbol.symbology := BARCODE_QRCODE;
// lvSymbol.option_2 := 1;
//Data Matrix <20><>ISO 16022<32><32>(and HIBC)
// <20><><EFBFBD><EFBFBD>
lvErrorNumber := ZBarcode_Encode_and_Buffer(lvSymbol, PAnsiChar(lvData), Length(lvData), 0);
// <20><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
if lvErrorNumber = 0 then
begin
// <20><><EFBFBD><EFBFBD>Bitmapͼ<70><CDBC>
ZBarcode_To_Bitmap(lvSymbol, lvBitMap);
// <20><>ʾ<EFBFBD><CABE>Image<67><65>
cxImage1.Picture.Bitmap.Width := 80;
cxImage1.Picture.Bitmap.Height := 80;
cxImage1.Picture.Bitmap.Canvas.Brush.Color := clWhite;
cxImage1.Picture.Bitmap.Canvas.FillRect(Rect(0, 0, cxImage1.Width, cxImage1.Height));
cxImage1.Picture.Bitmap.Canvas.StretchDraw(Rect(10, 10, cxImage1.Width - 10, cxImage1.Height - 10), lvBitMap);
end
else
begin
cxImage1.Picture.Bitmap.Width := cxImage1.Width;
cxImage1.Picture.Bitmap.Height := cxImage1.Height;
cxImage1.Picture.Bitmap.Canvas.Brush.Color := clWhite;
cxImage1.Picture.Bitmap.Canvas.FillRect(Rect(0, 0, cxImage1.Width, cxImage1.Height));
lvErrorText := string(AnsiString(lvSymbol.errtxt));
ShowMessage('<27><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' + lvErrorText);
end;
finally
lvBitMap.Free;
lvBitMap := nil;
ZBarcode_Delete(lvSymbol);
end;
bitmap := TBitmap.Create;
try
bitmap.Assign(cxImage1.Picture.Bitmap);
bitmap.SaveToFile(ExtractFilePath(Application.ExeName) + 'image\temp6.bmp');
finally
bitmap.Free;
end;
end;
2025-04-30 16:04:42 +08:00
end.
2025-09-24 13:58:45 +08:00