D7myGuhang/染整计划(DyeingFinishingPlan.dll)/U_MarkingInspection.pas

1807 lines
48 KiB
ObjectPascal
Raw Normal View History

2025-08-13 10:59:27 +08:00
unit U_MarkingInspection;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, RM_Common, RM_Class, RM_GridReport,
RM_System, RM_Dataset, ADODB, DBClient, cxGridCustomPopupMenu, cxGridPopupMenu,
ExtCtrls, ComCtrls, ToolWin, cxTextEdit, Buttons, cxSplitter, cxCheckBox,
MovePanel, 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;
type
TfrmMarkingInspection = 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;
SpeedButton22: TSpeedButton;
SpeedButton23: TSpeedButton;
SpeedButton24: TSpeedButton;
SpeedButton25: TSpeedButton;
SpeedButton26: TSpeedButton;
SpeedButton31: TSpeedButton;
SpeedButton32: TSpeedButton;
SpeedButton33: TSpeedButton;
SpeedButton34: TSpeedButton;
SpeedButton37: TSpeedButton;
SpeedButton40: TSpeedButton;
SpeedButton41: TSpeedButton;
SpeedButton42: TSpeedButton;
cxGridPopupMenu2: TcxGridPopupMenu;
ADOQueryMainDSC: TADOQuery;
SpeedButton45: TSpeedButton;
SpeedButton46: TSpeedButton;
SpeedButton50: TSpeedButton;
SpeedButton51: TSpeedButton;
SpeedButton54: TSpeedButton;
SpeedButton55: TSpeedButton;
SpeedButton56: TSpeedButton;
SpeedButton59: TSpeedButton;
SpeedButton62: TSpeedButton;
SpeedButton63: TSpeedButton;
SpeedButton64: TSpeedButton;
SpeedButton65: TSpeedButton;
SpeedButton70: TSpeedButton;
SpeedButton71: TSpeedButton;
SpeedButton72: TSpeedButton;
SpeedButton73: TSpeedButton;
SpeedButton74: TSpeedButton;
Panel2: TPanel;
Label9: TLabel;
MJLen: TEdit;
Label4: TLabel;
MJMaoZ: TEdit;
Label5: TLabel;
Label11: TLabel;
BTPrint: TButton;
Button5: TButton;
Edit3: TEdit;
Label10: TLabel;
Edit4: TEdit;
Label12: TLabel;
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;
Label26: TLabel;
Edit6: TEdit;
Label30: TLabel;
MJQty3: TEdit;
Label31: TLabel;
Label32: TLabel;
MJQty4: TEdit;
Label33: TLabel;
MovePanel1: TMovePanel;
Label17: TLabel;
Label18: TLabel;
Label20: TLabel;
Label21: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit1: TEdit;
Button1: TButton;
Button4: TButton;
Edit2: TEdit;
CDQty: TEdit;
RadioGroup1: TRadioGroup;
Button2: TButton;
Panel7: TPanel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
tv2CDType: TcxGridDBColumn;
tv2CDWZ: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
Tv2CDQty: TcxGridDBColumn;
Tv2CDReason: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Panel8: TPanel;
AOrdDefNote1: TRichEdit;
Label34: TLabel;
ComboBox1: TComboBox;
SpeedButton20: TSpeedButton;
SpeedButton27: TSpeedButton;
SpeedButton28: TSpeedButton;
SpeedButton35: TSpeedButton;
SpeedButton36: TSpeedButton;
SpeedButton52: TSpeedButton;
SpeedButton53: TSpeedButton;
SpeedButton60: TSpeedButton;
SpeedButton61: TSpeedButton;
SpeedButton68: TSpeedButton;
SpeedButton77: TSpeedButton;
SpeedButton78: TSpeedButton;
SpeedButton79: TSpeedButton;
SpeedButton80: TSpeedButton;
SpeedButton81: TSpeedButton;
v3Column4: TcxGridDBColumn;
Label36: TLabel;
MJStr4: TEdit;
Label37: TLabel;
v3Column5: TcxGridDBColumn;
Label38: TLabel;
RM3: TRMGridReport;
mjxh: TEdit;
MKXS: TEdit;
Panel5: TPanel;
Panel6: TPanel;
Label1: TLabel;
Label35: TLabel;
Label39: TLabel;
APID: TEdit;
Edit7: TEdit;
Edit8: TEdit;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
TBCD: TToolButton;
TBClose: TToolButton;
lblMPRTCodeName: TLabel;
ToolButton3: TToolButton;
lblcolor: TLabel;
Label13: TLabel;
v3Column6: TcxGridDBColumn;
edtYJ: TEdit;
Label2: TLabel;
v2Column4: TcxGridDBColumn;
ADOTmp: TADOQuery;
Label3: TLabel;
Label6: TLabel;
MJFMLen: TEdit;
Button3: TButton;
Tv3Column1: TcxGridDBColumn;
lblOrderNo: TLabel;
Label14: TLabel;
Label15: TLabel;
KONGJIA: TEdit;
Label16: TLabel;
Label19: TLabel;
MSFW: TEdit;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBCDClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure BTPrintClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure cxGridDBColumn2PropertiesChange(Sender: TObject);
procedure Button1Click(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 Edit6Click(Sender: TObject);
procedure MJstr3KeyPress(Sender: TObject; var Key: Char);
procedure Label9Click(Sender: TObject);
procedure MJQty4Exit(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure MJMaoZChange(Sender: TObject);
procedure APIDClick(Sender: TObject);
procedure Edit7Click(Sender: TObject);
procedure MJQty4KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure Edit8Click(Sender: TObject);
procedure MJLenChange(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure Tv3CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure Button4Click(Sender: TObject);
procedure edtYJClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure MJMaoZKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
FColumn, FAPID, FMainId, FSubId, FFFMJID, FOperationStatus, FYXJL, FJHGZ, fcolor: string;
FJLDW: string;
FKongJiaQty: Double;
FCDName: string;
isCommopen, IsJsMessage: boolean;
fxsType, fRollType: string;
procedure InitJP(); //ˢ<>´õ<C2B4>ѡ<EFBFBD><D1A1>
procedure InitCDGrid(); //ˢ<>´õ<C2B4><C3B5><EFBFBD>Ϣ
procedure InitCDGridID(); //ˢ<>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>Ϣ
function CheckData(CKType: string): Boolean; //У<><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
function SaveData(): Boolean; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
procedure InitLCK(); //ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD>
procedure InitDDB(); //ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
procedure ClearGlobal(); //<2F><><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>ID
procedure PrintCKMDG(MRKOrdID: string); //<2F><>ӡ<EFBFBD><D3A1><EFBFBD>
procedure PrtData(FMJID: string); //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>ǩ
procedure QuantityConversion(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
procedure OpenCom(DllName: string);
procedure CloseCom(DllName: string);
procedure On1201(var Message: Tmessage); message 1201;
procedure On1301(var Message: Tmessage); message 1301;
public
fmanage: string;
{ Public declarations }
end;
var
frmMarkingInspection: TfrmMarkingInspection;
newh, newh1: hwnd;
implementation
uses
U_DataLink, U_Fun, U_rtFun, U_ZDYHelp, U_iniParam, U_ProductOrderListSel,
U_DJBCKOutListSEL;
{$R *.dfm}
procedure TfrmMarkingInspection.QuantityConversion();
var
MLen, MNWet, MGWet, MPWet, MCC, FYJZQty: Double;
begin
MLen := StrToFloatdef(trim(MJLen.Text), 0);
MNWet := StrToFloatdef(trim(MJQty4.Text), 0);
MPWet := StrToFloatdef(trim(MJQty3.Text), 0);
MGWet := StrToFloatdef(trim(MJMaoZ.Text), 0);
MCC := StrToFloatdef(trim(MKXS.Text), 0);
//<2F><><EFBFBD><EFBFBD> <20><> <20><>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>
if TV2.DataController.Summary.FooterSummaryValues[2] <> NULL then
begin
FYJZQty := StrToFloatdef(TV2.DataController.Summary.FooterSummaryValues[2], 0);
end
else
begin
FYJZQty := 0;
end;
if MCC > 0 then
begin
// MGWet := StrToFloat(format('%.1f', [(MLen - FYJZQty) * MCC]));
MNWet := MGWet - MPWet;
MJMaoZ.Text := FloatToStr(MGWet);
MJQty4.Text := FloatToStr(MNWet);
MLen := ROUNDFLOAT((MNWet * MCC), 1);
mjlen.text := FloatToStr(MLen);
end;
MNWet := MGWet - MPWet;
MJQty4.Text := FloatToStr(MNWet);
end;
function TfrmMarkingInspection.CheckData(CKType: string): Boolean;
var
mvalue: Double;
begin
try
if Trim(FAPID) = '' then
raise Exception.Create('<27><>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><CCBF><EFBFBD>');
if Trim(CKType) = '<27>ύ' then
begin
if trim(Label9.Caption) = '' then
raise Exception.Create('<27><><EFBFBD>ȵ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!');
if Trim(MJMaoZ.Text) <> '' then
begin
if TryStrToFloat(MJMaoZ.Text, mvalue) = False then
raise Exception.Create('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!');
if strtofloatdef(trim(MJMaoZ.Text), 0) > 80 then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>80!');
end;
if strtofloatdef(trim(MJQty4.Text), 0) < 0.00 then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>0!');
if strtofloatdef(trim(MJLen.Text), 0) < 0.00 then
raise Exception.Create('<27><><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD>С<EFBFBD><D0A1>0!');
// if TRIM(FJLDW) = '<27><><EFBFBD><EFBFBD>' then
// begin
// if strtofloatdef(trim(MJLen.Text), 0) < 10.00 then
// raise Exception.Create('<27><><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD>С<EFBFBD><D0A1>10!');
// end;
// if TRIM(FJLDW) = '<27><><EFBFBD><EFBFBD>' then
// begin
// if strtofloatdef(trim(MJQty4.Text), 0) = 0.00 then
// raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0!');
// end;
// if TRIM(FJLDW) = '<27><><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>' then
// begin
// if strtofloatdef(trim(MJLen.Text), 0) < 10.00 then
// raise Exception.Create('<27><><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD>С<EFBFBD><D0A1>10!');
//
// if strtofloatdef(trim(MJQty4.Text), 0) = 0.00 then
// raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0!');
// end;
if Trim(MJLen.Text) <> '' then
begin
if strtofloatdef(trim(MJLen.Text), 0) > 400 then
raise Exception.Create('<27><><EFBFBD>Ȳ<EFBFBD><C8B2>ܴ<EFBFBD><DCB4><EFBFBD>400!');
end;
if (strtofloatdef(trim(MJLen.Text), 0) = 0) and (strtofloatdef(trim(MJQty4.Text), 0) = 0) then
raise Exception.Create('<27><><EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>Ϊ0!!');
end;
Result := True;
except
Result := false;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmMarkingInspection.ClearGlobal();
begin
FAPID := '';
FKongJiaQty := 0;
FJHGZ := '';
FMainId := '';
FSubId := '';
FFFMJID := '';
lblOrderNo.Caption := '<27>زֵ<D8B2><D6B5><EFBFBD>';
lblMPRTCodeName.Caption := 'Ʒ<><C6B7>';
lblcolor.Caption := '<27><>ɫ';
MJXH.Text := '';
MJstr4.Text := '';
MKXS.Text := '';
AOrdDefNote1.Text := '';
MJQty3.Text := '';
MJQty4.Text := '';
Label13.Caption := <><CAB5>ƽ<EFBFBD><C6BD>ϵ<EFBFBD><CFB5>:';
end;
procedure TfrmMarkingInspection.PrintCKMDG(MRKOrdID: string);
var
fPrintFile: string;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add(' exec P_Print_RKMDGangNo ');
SQL.Add(' @RKOrdID=''' + Trim(MRKOrdID) + '''');
Open;
end;
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(ADOQueryPrint.fieldbyname('RKOrdID').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);
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
ExportFtErpFile('<27><EFBFBD><E9B2BC><EFBFBD>ֿ<EFBFBD><D6BF>뵥.rmf', ADOTmp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><EFBFBD><E9B2BC><EFBFBD>ֿ<EFBFBD><D6BF>뵥.rmf';
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE'] := fImagePath;
RM2.LoadFromFile(fPrintFile);
Rm2.DefaultCopies := 1;
RM2.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
Exit;
end;
end;
procedure TfrmMarkingInspection.InitDDB();
begin
with ADOTmp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_BanCP_CR where MJID=''' + Trim(APID.Text) + ''' and CRFlag=''<27><><EFBFBD><EFBFBD>''');
Open;
end;
if ADOTmp.IsEmpty = False then
begin
APID.Text := '';
Application.MessageBox('<27>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with ADOTmp do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.*,C.*,D.MJID,D.MJXH,D.MKXS,D.MJMaoZ,D.MJQty3,D. MJQty4,D.MJLen ');
sql.Add('from CK_SXPB_CR A');
sql.Add('inner join JYOrder_Main B on A.ORDMainIdCK=B.MainId');
sql.Add('inner join JYOrder_Sub C on A.ORDSubIdCK=C.SubId');
sql.Add('inner join WFB_MJJY D on D.APID=A.SPID');
sql.Add('where MJType=''<27><><EFBFBD><EFBFBD>'' and MJID=''' + Trim(APID.Text) + '''');
Open;
end;
if ADOTmp.IsEmpty then
begin
ClearGlobal();
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD>״̬<D7B4>޷<EFBFBD><DEB7><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>飡', '<27><>ʾ', 0);
end
else
begin
FAPID := Trim(ADOTmp.fieldbyname('SPID').AsString);
FMainId := Trim(ADOTmp.fieldbyname('ORDMainIdRK').AsString);
FSubId := Trim(ADOTmp.fieldbyname('ORDSubIdRK').AsString);
FFFMJID := Trim(ADOTmp.fieldbyname('MJID').AsString);
lblOrderNo.Caption := Trim(ADOTmp.fieldbyname('spid').AsString);
lblMPRTCodeName.Caption := Trim(ADOTmp.fieldbyname('MPRTCodeName').AsString);
lblcolor.Caption := trim(ADOTmp.fieldbyname('PRTColor').AsString);
MJXH.Text := Trim(ADOTmp.fieldbyname('MJXH').AsString);
MJstr4.Text := Trim(ADOTmp.fieldbyname('rcgangNo').AsString);
MKXS.Text := Trim(ADOTmp.fieldbyname('Xs').AsString);
AOrdDefNote1.Text := '<27><>װҪ<D7B0><D2AA>:' + Trim(ADOTmp.fieldbyname('MPRTBZNote').AsString) + #13 + '<27>ŷ<EFBFBD>:' + Trim(ADOTmp.fieldbyname('MPRTMF').AsString) + #13 + '<27><><EFBFBD><EFBFBD>:' + Trim(ADOTmp.fieldbyname('MPRTKZ').AsString) + #13 + '<27>ر<EFBFBD><D8B1><EFBFBD>ʾ:' + Trim(ADOTmp.fieldbyname('Note').AsString);
// MJQty3.Text := Trim(ADOTmp.fieldbyname('PiZhong').AsString);
MKXS.Text := Trim(ADOTmp.fieldbyname('MKXS').AsString);
MJMaoZ.Text := Trim(ADOTmp.fieldbyname('MJMaoZ').AsString);
MJQty3.Text := Trim(ADOTmp.fieldbyname('MJQty3').AsString);
MJQty4.Text := Trim(ADOTmp.fieldbyname('MJQty4').AsString);
MJLen.Text := Trim(ADOTmp.fieldbyname('MJLen').AsString);
if Trim(ADOTmp.fieldbyname('OrderUnit').AsString) <> '' then
begin
Label20.Caption := Label9.Caption;
Label7.Caption := Label9.Caption;
end;
end;
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD>ţ<EFBFBD>' + trim(APID.Text))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
InitCDGridID();
InitCDGrid();
APID.Text := '';
end;
procedure TfrmMarkingInspection.InitLCK();
begin
with ADOTmp do
begin
Close;
sql.Clear;
sql.Add('select A.* ');
sql.Add(',maxRoll=1+isnull((select cast (max(mjxh) as int) from WFB_MJJY X where X.APID=A.SPID and X.MJType =''<27><>Ʒ'' ),0)');
sql.Add('from CK_SXPB_CR A');
sql.Add('where SPID=''' + Trim(APID.Text) + '''');
sql.Add('and ckname=''<27><><EFBFBD>첼''');
// ShowMessage(SQL.Text);
Open;
end;
if ADOTmp.IsEmpty = False then
begin
FAPID := Trim(APID.Text);
lblOrderNo.Caption := Trim(APID.Text);
mjstr4.Text := Trim(ADOTmp.fieldbyname('gangno').AsString);
// FCOLOR := trim(ADOTmp.fieldbyname('PRTColor').AsString);
// FKongJiaQty := ADOTmp.fieldbyname('KongJiaQty').AsFloat;
// if ADOTmp.fieldbyname('lbname').AsString = '' then
// begin
// Application.MessageBox('<27>ö<EFBFBD><C3B6><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ñ<EFBFBD>ǩ,<2C><><EFBFBD><EFBFBD>ϵҵ<CFB5><D2B5>Ա<EFBFBD><D4B1>', '<27><>ʾ', 0);
// exit;
// end;
// if FJHGZ = '<27>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>' then
// begin
mjxh.ReadOnly := False;
// end
// else
// begin
// mjxh.ReadOnly := True;
// end;
MJXH.Text := Trim(ADOTmp.fieldbyname('maxRoll').AsString);
lblMPRTCodeName.Caption := 'Ʒ<><C6B7><EFBFBD><EFBFBD>' + Trim(ADOTmp.fieldbyname('spname').AsString);
// Label15.Caption := '<27><><EFBFBD>ţ<EFBFBD>' + Trim(ADOTmp.fieldbyname('kuanno').AsString);
// Label16.Caption := '<27>ͻ<EFBFBD>PO#<23><>' + Trim(ADOTmp.fieldbyname('KHPO').AsString);
// MKXS.Text := Trim(ADOTmp.fieldbyname('MKXS').AsString);
// AOrdDefNote1.Text := '<27><>װҪ<D7B0><D2AA>:' + Trim(ADOTmp.fieldbyname('MPRTBZNote').AsString) + #13 + '<27>ŷ<EFBFBD>:' + Trim(ADOTmp.fieldbyname('MPRTMF').AsString) + #13 + '<27><><EFBFBD><EFBFBD>:' + Trim(ADOTmp.fieldbyname('MPRTKZ').AsString) + #13 + '<27>ر<EFBFBD><D8B1><EFBFBD>ʾ:' + Trim(ADOTmp.fieldbyname('Note').AsString);
// AOrdDefNote1.Text := #13 + AOrdDefNote1.Text + '<27><><EFBFBD>ţ<EFBFBD>' + Trim(ADOTmp.fieldbyname('kuanno').AsString);
// MJQty3.Text := Trim(ADOTmp.fieldbyname('PiZhong').AsString);
lblcolor.Caption := '<27><>ɫ<EFBFBD><C9AB>' + trim(ADOTmp.fieldbyname('spColor').AsString);
if Trim(ADOTmp.fieldbyname('qtyunit').AsString) <> '' then
begin
Label20.Caption := Label9.Caption;
Label7.Caption := Label9.Caption;
end;
if FYXJL = '<27><><EFBFBD><EFBFBD>' then
begin
MJLen.SetFocus;
Edit1Click(MJLen);
end
else
begin
MJMaoZ.SetFocus;
Edit1Click(MJMaoZ);
end;
end
else
begin
ClearGlobal();
end;
if Trim(lblOrderNo.Caption) = '' then
Exit;
InitCDGridID();
InitCDGrid();
APID.Text := '';
end;
procedure TfrmMarkingInspection.CloseCom(DllName: string);
type
TMyFunc = function(sCommName: PAnsiChar): HWND; stdcall;
var
Tf1: TMyFunc;
Tp1: TFarProc;
Th1: Thandle;
begin
Th1 := LoadLibrary(Pchar(trim(DllName)));
if Th1 > 0 then
begin
try
Tp1 := GetProcAddress(Th1, 'CommClose');
if Tp1 <> nil then
begin
Tf1 := TMyFunc(Tp1);
newh1 := Tf1('Comm1');
end
else
begin
end;
finally
// FreeLibrary(Th1);
end;
end
else
begin
application.MessageBox(Pchar('<27>Ҳ<EFBFBD><D2B2><EFBFBD> ' + trim(DllName) + ' <20>ļ<EFBFBD><C4BC><EFBFBD>'), '<27><>ʾ');
end;
end;
procedure TfrmMarkingInspection.OpenCom(DllName: string);
type
TMyFunc = function(fhandle: hwnd; sCommName: PAnsiChar; IntTime: integer; IsMessage: integer): HWND; stdcall;
var
Tf: TMyFunc;
Tp: TFarProc;
Th: Thandle;
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);
newh := Tf(self.Handle, 'Comm1', 500, 1);
if newh < 1 then
begin
application.MessageBox(Pchar('<27>򿪴<EFBFBD><F2BFAAB4><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>'), '<27><>ʾ');
end
else
IsCommOpen := true;
end
else
begin
IsCommOpen := false;
end;
finally
// FreeLibrary(Th);
end;
end
else
begin
IsCommOpen := false;
application.MessageBox(Pchar('<27>Ҳ<EFBFBD><D2B2><EFBFBD> ' + trim(DllName) + ' <20>ļ<EFBFBD><C4BC><EFBFBD>'), '<27><>ʾ');
end;
end;
procedure TfrmMarkingInspection.FormDestroy(Sender: TObject);
begin
frmMarkingInspection := nil;
end;
procedure TfrmMarkingInspection.On1301(var Message: Tmessage);
var
i1, i2: integer;
unitname: string;
fdata: double;
begin
i1 := Message.WParam;
i2 := Message.LParam;
if IsJsMessage then
begin
if (trim(Edit7.Text) = '<27><>') then
begin
MJLen.Text := format('%.1f', [i1 / 100000]);
if i2 = 0 then
Label9.Caption := 'M'
else
Label9.Caption := 'Y';
edit1.Text := format('%.1f', [i1 / 100000]);
end;
end;
end;
procedure TfrmMarkingInspection.On1201(var Message: Tmessage);
var
i1, i2: integer;
unitname: string;
fdata: double;
begin
i1 := Message.WParam;
i2 := Message.LParam;
if IsJsMessage then
begin
if trim(Edit7.Text) = '<27><>' then
begin
MJMaoZ.Text := format('%.1f', [i1 / 100000]);
end;
end;
end;
procedure TfrmMarkingInspection.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//DataLink_WFBProducttion.ADOLink.Connected:=False;
if isCommopen then
begin
closeCom(DZCDYDllName);
closeCom(MBDYDllName);
end;
Action := caFree;
end;
procedure TfrmMarkingInspection.InitCDGrid();
begin
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add('select * from WFB_MJJY_CD where MJID=' + quotedstr(Trim(FFFMJID)));
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_MJCD);
SInitCDSData20(ADOQueryMain, CDS_MJCD);
end;
procedure TfrmMarkingInspection.InitCDGridID();
var
MMJQty4, MMJLen: double;
begin
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add('select A.*');
sql.Add(',JXXS=(case when MJQty4>0 then round(MJLen/MJQty4,2) else 0 end)');
;
sql.Add('from WFB_MJJY A where APID=''' + Trim(FAPID) + '''');
if Trim(SCXFlag) <> '' then
sql.Add(' and JTType=''' + Trim(SCXFlag) + '''');
sql.Add(' and Filler=''' + Trim(DName) + '''');
sql.Add(' and MJstr2 ='<><CEB4><EFBFBD><EFBFBD>'' ');
// showmessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_MJID);
SInitCDSData20(ADOQueryMain, CDS_MJID);
if TV3.DataController.Summary.FooterSummaryValues[1] <> NULL then
MMJLen := TV3.DataController.Summary.FooterSummaryValues[1]
else
MMJLen := 0;
if TV3.DataController.Summary.FooterSummaryValues[3] <> NULL then
MMJQty4 := TV3.DataController.Summary.FooterSummaryValues[3]
else
MMJQty4 := 0;
if MMJQty4 > 0 then
Label13.Caption := <><CAB5>ƽ<EFBFBD><C6BD>ϵ<EFBFBD><CFB5>:' + floattostr(RoundFloat(MMJLen / MMJQty4, 2))
else
Label13.Caption := <><CAB5>ƽ<EFBFBD><C6BD>ϵ<EFBFBD><CFB5>:';
end;
procedure TfrmMarkingInspection.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmMarkingInspection.TBCDClick(Sender: TObject);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'WFBCD';
flagname := '<27>õ<EFBFBD>';
fnote := True;
V1Note.Caption := <><D3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
Self.InitJP();
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmMarkingInspection.FormShow(Sender: TObject);
begin
InitJP();
InitCDGrid();
if trim(Edit7.Text) = '<27><>' then
IsJsMessage := true;
if IsINIFile() then
ReadINIFile()
else
WriteINIFile;
if trim(fmanage) <> '<27><>Ȩ<EFBFBD><C8A8>' then
begin
if trim(DZCDYDllName) <> '' then
OpenCom(DZCDYDllName);
if trim(MBDYDllName) <> '' then
OpenCom(MBDYDllName);
Edit7.Visible := true;
Label35.Visible := true;
end;
end;
procedure TfrmMarkingInspection.InitJP();
var
AA: array[0..100] of string;
i, j: Integer;
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;
i := 0;
while not Eof do
begin
AA[i] := Trim(fieldbyname('ZDYName').AsString);
i := i + 1;
Next;
end;
end;
i := i - 1;
if i > 69 then
begin
i := 69;
end;
for j := 0 to i do
begin
with ScrollBox1 do
begin
TSpeedButton(Controls[j]).Visible := True;
TSpeedButton(Controls[j]).Hint := AA[j];
if Length(AA[j]) > 4 then
begin
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];
end;
end;
end;
procedure TfrmMarkingInspection.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
if CDS_MJCD.IsEmpty then
Exit;
if Trim(CDS_MJCD.fieldbyname('MCID').AsString) = '' then
begin
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
CDS_MJCD.Delete;
end;
end;
function TfrmMarkingInspection.SaveData(): Boolean;
var
maxno, FMJID, BZID, strsql: string;
FMJLen, FYJZQty: Double;
begin
if FOperationStatus = '<27><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD>' then
begin
FMJID := FFFMJID;
end
else
begin
FMJID := '';
end;
try
ADOCmd.Connection.BeginTrans;
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from WFB_MJJY where MJId=''' + Trim(FMJID) + '''');
Open;
end;
with ADOCmd do
begin
if Trim(FMJID) = '' then
begin
Append;
if GetLSNo(ADOTmp, maxno, Trim(SCXFlag), 'WFB_MJJY', 4, 1) = False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
exit;
end;
end
else
begin
maxno := Trim(FMJID);
Edit;
end;
FieldByName('APId').value := Trim(FAPID);
FieldByName('MJID').Value := Trim(maxno);
FieldByName('MJStr2').Value := <><CEB4><EFBFBD><EFBFBD>';
FieldByName('MJstr4').Value := Trim(MJstr4.Text); //<2F><><EFBFBD><EFBFBD><EFBFBD>׺<EFBFBD>
FieldByName('mjxh').Value := strtointdef(trim(mjxh.Text), 0);
FieldByName('MJTypeOther').Value := Trim(Label9.Caption);
//<2F><><EFBFBD><EFBFBD> <20><> <20><>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>
if TV2.DataController.Summary.FooterSummaryValues[2] <> NULL then
begin
FYJZQty := StrToFloatdef(TV2.DataController.Summary.FooterSummaryValues[2], 0);
end
else
begin
FYJZQty := 0;
end;
//<2F><><EFBFBD><EFBFBD>
FieldByName('msfw').Value := msfw.Text;
// if msfw.Text <> '' then
// begin
// FieldByName('msfw').Value := msfw.Text;
// end
// else
// begin
// FieldByName('msfw').Value := MJLen.Text;
// end;
FieldByName('MJLen').Value := StrToFloatdef(trim(MJLen.Text), 0) - FYJZQty - StrToFloatDef(MJFMLen.Text, 0) + StrToFloatdef(trim(MKXS.Text), 0) * FKongJiaQty;
FieldByName('KONGJIA').Value := StrToFloatdef(trim(kongjia.Text), 0);
//Ƥ<><C6A4>
FieldByName('MJQty3').Value := StrToFloatdef(trim(MJQty3.Text), 0);
//ë<><C3AB>
FieldByName('MJMaoZ').Value := StrToFloatDEF(KONGJIA.Text, 0) + StrToFloatdef(trim(MJMaoZ.Text), 0);
//<2F><><EFBFBD><EFBFBD>
FieldByName('MJQty4').Value := StrToFloatDEF(KONGJIA.Text, 0) + StrToFloatdef(trim(MJMaoZ.Text), 0) - StrToFloatdef(trim(MJQty3.Text), 0);
//ϵ<><CFB5>
FieldByName('MKXS').Value := StrToFloatdef(trim(MKXS.Text), 0);
if Trim(Edit3.Text) <> '' then
begin
FieldByName('MJType').Value := '<27><>Ʒ';
end;
if Trim(Edit4.Text) <> '' then
begin
FieldByName('MJType').Value := '<27><>Ʒ';
end;
if Trim(FMJID) = '' then
begin
FieldByName('Filler').Value := Trim(DName);
end
else
begin
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDateTime(ADOTmp);
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>
if Trim(SCXFlag) <> '' then
begin
FieldByName('JTType').Value := Trim(SCXFlag);
end;
FieldByName('MJTypeOther').Value := Trim(Label9.Caption);
Post;
end;
if FJHGZ = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
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 isnull(X.MJstr4,'''')=isnull(WFB_MJJY.Mjstr4,'''') and X.APID=WFB_MJJY.APID and X.MJID<>WFB_MJJY.MJID and X.MJType =''<27><>Ʒ''),0)');
sql.Add('where MJID=''' + Trim(maxno) + '''');
execsql;
end;
end
else if FJHGZ = '<27><><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>' then
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.subID=WFB_MJJY.subID and X.MJID<>WFB_MJJY.MJID and X.MJType =''<27><>Ʒ''),0)');
sql.Add('where MJID=''' + Trim(maxno) + '''');
execsql;
end;
end
else if FJHGZ = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
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.mainid=WFB_MJJY.mainid and X.MJID<>WFB_MJJY.MJID and X.MJType =''<27><>Ʒ''),0)');
sql.Add('where MJID=''' + Trim(maxno) + '''');
execsql;
end;
end;
//<2F><><EFBFBD><EFBFBD>Ʒ<EFBFBD>ľ<EFBFBD><C4BE>Ÿ<EFBFBD>Ϊ0
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('update WFB_MJJY SET mjxh=0 ');
sql.Add('where MJType =''<27><>Ʒ'' and MJID=''' + Trim(maxno) + '''');
execsql;
end;
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>޸Ľ<DEB8><C4BD><EFBFBD>
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('select MJXH from WFB_MJJY');
sql.Add('where MJID=''' + Trim(maxno) + '''');
open;
if not IsEmpty then
begin
MJXH.Text := fieldbyname('mjxh').AsString;
end;
end;
FMJID := Trim(maxno);
FFFMJID := Trim(maxno);
///<2F><><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>
with CDS_MJCD do
begin
First;
while not Eof do
begin
if Trim(CDS_MJCD.fieldbyname('MCID').AsString) = '' then
begin
if GetLSNo(ADOTmp, maxno, 'MC', 'WFB_MJJY_CD', 5, 1) = False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
end
else
begin
maxno := Trim(CDS_MJCD.fieldbyname('MCID').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from WFB_MJJY_CD ');
sql.Add(' where MCID=''' + Trim(maxno) + '''');
Open;
end;
with ADOCmd do
begin
if Trim(CDS_MJCD.fieldbyname('MCID').AsString) = '' then
Append
else
Edit;
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;
Post;
end;
CDS_MJCD.Edit;
CDS_MJCD.FieldByName('MCID').Value := Trim(maxno);
Next;
end;
end;
with ADOCmd do
begin
close;
sql.Clear;
sql.Add('update WFB_MJJY SET CDList= dbo.F_Get_Order_SubStr(MJID,''MJCDHZSL'')');
sql.Add('where MJID=''' + Trim(FMJID) + ''' ');
execsql;
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2BCB0><EFBFBD><EFBFBD>
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('exec P_Do_JYCRK @MJID=''' + trim(FMJID) + '''');
execsql;
end;
ADOCmd.Connection.CommitTrans;
Result := True;
except
Result := False;
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
end;
end;
procedure TfrmMarkingInspection.BTPrintClick(Sender: TObject);
var
fPrintFile: string;
mvalue: Double;
i: Integer;
begin
APID.SetFocus;
if CheckData('<27>ύ') = False then
exit;
with ADOTmp do
begin
Close;
sql.Clear;
SQL.Add('select GS=count(*),piqty,apid from WFB_MJJY A INNER JOIN CK_SXPB_CR B ON A.APID=B.SPID where APID=' + quotedstr(Trim(FAPID)));
SQL.Add('group by piqty,apid');
sql.Add('having count(*)>=piqty');
Open;
end;
if ADOTmp.IsEmpty = False then
begin
Application.MessageBox(<><C6A5><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD>ޣ<EFBFBD><DEA3><EFBFBD>ֹ¼<D6B9>룡', '<27><>ʾ', 0);
Exit;
end;
if FJHGZ = '<27>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>' then
begin
with ADOTmp do
begin
Close;
sql.Clear;
SQL.Add('select * from WFB_MJJY where APID=' + quotedstr(Trim(FAPID)));
SQL.Add(' and mjxh=' + Trim(mjxh.Text));
Open;
end;
if not ADOTmp.IsEmpty then
begin
if Application.MessageBox('<27><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4>ڣ<EFBFBD><DAA3>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棿', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
end;
end;
if SaveData() then
begin
MJFMLen.Text := '';
MJMaoZ.Text := '';
MJQty4.Text := '';
Edit3.Text := '<27><>';
Edit4.Text := '';
MJXH.Text := inttostr(strTointdef(trim(MJXH.Text), 0) + 1);
if Trim(Edit6.Text) = '<27><>' then
begin
PrtData(FFFMJID);
end;
end;
FOperationStatus := '';
FFFMJID := '';
InitCDGridID();
InitCDGrid();
if FYXJL = '<27><><EFBFBD><EFBFBD>' then
begin
MJLen.SetFocus;
Edit1Click(MJLen);
end
else
begin
MJMaoZ.SetFocus;
Edit1Click(MJMaoZ);
end;
end;
procedure TfrmMarkingInspection.PrtData(FMJID: string);
var
fPrintFile: string;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add(' EXEC P_Print_JYLab ');
SQL.Add(' @MJID=''' + Trim(FMJID) + '''');
Open;
end;
if ADOQueryPrint.IsEmpty then
begin
application.MessageBox('<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><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('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);
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('LBName').AsString), ADOTmp);
if Trim(ADOQueryPrint.fieldbyname('LBName').AsString) <> '' then
begin
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('LBName').AsString);
end
else
begin
ExportFtErpFile(<>ñ<EFBFBD>ǩ.rmf', ADOTmp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ͨ<>ñ<EFBFBD>ǩ.rmf';
end;
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE'] := fImagePath;
RM2.LoadFromFile(fPrintFile);
Rm2.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1);
RM2.PrintReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmMarkingInspection.SpeedButton1Click(Sender: TObject);
var
fsj: string;
begin
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);
TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll;
end;
procedure TfrmMarkingInspection.SpeedButton12Click(Sender: TObject);
var
fsj: string;
begin
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);
TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll;
end;
procedure TfrmMarkingInspection.SpeedButton13Click(Sender: TObject);
var
i: Integer;
begin
if CheckData('<27>õ<EFBFBD>') = False then
exit;
FCDName := Trim(TSpeedButton(Sender).Hint);
MovePanel1.Visible := True;
Label21.Caption := Trim(FCDName);
//<2F><>ʾ<EFBFBD><CABE><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>
Edit1.SetFocus;
Panel3.Visible := True;
with Panel3 do
begin
for i := 0 to ControlCount - 1 do
begin
if Controls[i] is TSpeedButton then
begin
TSpeedButton(Controls[i]).Hint := Trim(Edit1.Name);
end;
end;
end;
end;
procedure TfrmMarkingInspection.cxGridDBColumn2PropertiesChange(Sender: TObject);
var
fsj: string;
begin
fsj := Trim(Order_MJ.fieldbyname('SubId').AsString);
Order_MJ.DisableControls;
with Order_MJ do
begin
First;
while not Eof do
begin
if Trim(Order_MJ.fieldbyname('SubId').AsString) <> fsj then
begin
Edit;
FieldByName('SSel').Value := False;
end;
Next;
end;
end;
Order_MJ.EnableControls;
Order_MJ.Locate('SubId', fsj, []);
end;
procedure TfrmMarkingInspection.Button1Click(Sender: TObject);
var
mvalue: Double;
begin
{ if Trim(Edit1.Text)='' then
begin
Application.MessageBox(<>ò<EFBFBD><C3B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
exit;
end; }
if Trim(Edit1.Text) <> '' then
begin
if Trim(Edit2.Text) <> '' then
begin
if StrToFloat(Edit2.Text) < StrToFloat(Edit1.Text) then
begin
Application.MessageBox('<27>õ<EFBFBD>λ<EFBFBD><CEBB>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
end;
end;
if CDQty.Text <> '' then
begin
if TryStrToFloat(CDQty.Text, mvalue) = False then
begin
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
end;
with CDS_MJCD do
begin
Append;
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
begin
FieldByName('KouFenQty').Value := RadioGroup1.ItemIndex + 1;
end
else
begin
FieldByName('KouFenQty').Value := 4;
end;
end;
if Trim(FCDName) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
FieldByName('KouFenQty').Value := 0;
FieldByName('CDQty').Value := StrToFloatdef(trim(CDQty.Text), 0);
if Trim(edtYJ.Text) <> '' then
begin
FieldByName('YJQty').Value := StrToFloatdef(trim(CDQty.Text), 0);
end
else
begin
FieldByName('YJQty').Value := 0;
end;
Post;
end;
Edit1.Text := '';
Edit2.Text := '';
CDQty.Text := '';
MovePanel1.Visible := False;
Panel3.Visible := False;
end;
procedure TfrmMarkingInspection.ToolButton1Click(Sender: TObject);
begin
InitJP();
end;
procedure TfrmMarkingInspection.Button5Click(Sender: TObject);
var
fPrintFile: string;
i: Integer;
mvalue: Double;
begin
if CDS_MJID.IsEmpty then
Exit;
PrtData(CDS_MJID.fieldbyname('MJID').AsString);
end;
procedure TfrmMarkingInspection.SpeedButton49Click(Sender: TObject);
begin
Panel3.Visible := False;
end;
procedure TfrmMarkingInspection.APIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
ClearGlobal();
FOperationStatus := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
InitLCK();
APID.Text := '';
FJHGZ := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
end;
end;
procedure TfrmMarkingInspection.Edit1Click(Sender: TObject);
var
i: Integer;
begin
Panel3.Visible := True;
with Panel3 do
begin
for i := 0 to ControlCount - 1 do
begin
if Controls[i] is TSpeedButton then
begin
TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name);
end;
end;
end;
end;
procedure TfrmMarkingInspection.Edit2Change(Sender: TObject);
var
mvalue: Double;
begin
if Trim(Edit1.Text) <> '' then
begin
if TryStrToFloat(Edit1.Text, mvalue) = False then
begin
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
end
else
begin
Exit;
end;
if Trim(Edit2.Text) <> '' then
begin
if TryStrToFloat(Edit2.Text, mvalue) = False then
begin
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
end
else
begin
Exit;
end;
CDQty.Text := FloatToStr(StrToFloat(Edit2.Text) - StrToFloat(Edit1.Text));
end;
procedure TfrmMarkingInspection.Edit3Click(Sender: TObject);
begin
if Trim(Edit3.Text) = '' then
begin
Edit3.Text := '<27><>';
Edit4.Text := '';
end
else
begin
Edit3.Text := '';
Edit4.Text := '<27><>';
end;
end;
procedure TfrmMarkingInspection.Edit4Click(Sender: TObject);
begin
if Trim(Edit4.Text) = '' then
begin
Edit4.Text := '<27><>';
Edit3.Text := '';
end
else
begin
Edit4.Text := '';
Edit3.Text := '<27><>';
end;
end;
procedure TfrmMarkingInspection.Edit6Click(Sender: TObject);
begin
if Trim(Edit6.Text) = '' then
begin
Edit6.Text := '<27><>';
end
else
begin
Edit6.Text := '';
end;
end;
procedure TfrmMarkingInspection.MJstr3KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Key := #0;
SelectNext(ActiveControl as TWinControl, True, True);
end;
end;
procedure TfrmMarkingInspection.Label9Click(Sender: TObject);
begin
// if trim(Label9.Caption) = 'M' then
// begin
// Label9.Caption := 'Y';
// Label19.Caption := 'Y';
// Label20.Caption := 'Y';
// Label7.Caption := 'Y';
// end
// else
// begin
// Label9.Caption := 'M';
// Label19.Caption := 'M';
// Label20.Caption := 'M';
// Label7.Caption := 'M';
// end;
end;
procedure TfrmMarkingInspection.MJQty4Exit(Sender: TObject);
begin
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;
if (trim(MJQty3.Text) = '') then
exit;
if (trim(MJQty4.Text) <> '') then
begin
MJMaoZ.Text := floattostr(strtofloatdef(trim(MJQty3.Text), 0) + strtofloatdef(trim(MJQty4.Text), 0));
exit;
end;
end;
procedure TfrmMarkingInspection.Button2Click(Sender: TObject);
begin
RadioGroup1.ItemIndex := -1;
end;
procedure TfrmMarkingInspection.MJMaoZChange(Sender: TObject);
begin
QuantityConversion();
end;
procedure TfrmMarkingInspection.APIDClick(Sender: TObject);
var
i: Integer;
begin
Panel3.Visible := True;
with Panel3 do
begin
for i := 0 to ControlCount - 1 do
begin
if Controls[i] is TSpeedButton then
begin
TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name);
end;
end;
end;
end;
procedure TfrmMarkingInspection.Edit7Click(Sender: TObject);
begin
if Trim(Edit7.Text) = '' then
begin
Edit7.Text := '<27><>';
end
else
begin
Edit7.Text := '';
end;
end;
procedure TfrmMarkingInspection.MJQty4KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
BTPrint.Click;
end;
end;
procedure TfrmMarkingInspection.FormCreate(Sender: TObject);
begin
IsCommopen := false;
IsJsMessage := false;
end;
procedure TfrmMarkingInspection.Edit8Click(Sender: TObject);
begin
if Trim(Edit8.Text) = '' then
begin
Edit8.Text := '<27><>';
Button5.Visible := true;
end
else
begin
Edit8.Text := '';
Button5.Visible := false;
end;
end;
procedure TfrmMarkingInspection.MJLenChange(Sender: TObject);
begin
QuantityConversion();
end;
procedure TfrmMarkingInspection.ToolButton3Click(Sender: TObject);
var
SRKOrdID, strsql: string;
begin
ToolButton3.Enabled := false;
if Trim(MJStr4.Text) = '' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׺ţ<D7BA>', '<27><>ʾ', 0);
Exit;
end;
if Trim(FAPID) = '' then
begin
Application.MessageBox('<27><>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><CCBF><EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
if Trim(FMainId) = '' then
begin
Application.MessageBox('<27><>ѡ<EFBFBD><D1A1>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
if Trim(FSubId) = '' then
begin
Application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
begin
ToolButton3.Enabled := true;
Exit;
end;
if GetLSNo(ADOTmp, SRKOrdID, 'RK', 'CK_BanCP_CR', 4, 1) = False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
exit;
end;
try
ADOCmd.Connection.BeginTrans;
with Self.ADOCmd do
begin
Close;
sql.Clear;
sql.Add('UPDATE CK_BanCP_CR Set ');
sql.add('RKOrdID=' + quotedstr(trim(SRKOrdID)));
sql.Add(' where CK_BanCP_CR.APID=' + quotedstr(trim(FAPID)));
sql.Add(' and CK_BanCP_CR.MainId=' + quotedstr(trim(FMainId)));
sql.Add(' and CK_BanCP_CR.SubId=' + quotedstr(trim(FSubId)));
sql.Add(' and CK_BanCP_CR.ganghao=' + quotedstr(trim(MJStr4.Text)));
sql.Add(' and CK_BanCP_CR.CRFlag=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.Add('UPDATE CK_BanCP_CR Set ');
sql.add(' CRTime=getdate(),CRType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(' where CK_BanCP_CR.APID=' + quotedstr(trim(FAPID)));
sql.Add(' and CK_BanCP_CR.MainId=' + quotedstr(trim(FMainId)));
sql.Add(' and CK_BanCP_CR.SubId=' + quotedstr(trim(FSubId)));
sql.Add(' and CK_BanCP_CR.ganghao=' + quotedstr(trim(MJStr4.Text)));
sql.Add(' and CK_BanCP_CR.CRFlag=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.Add('UPDATE WFB_MJJY Set ');
sql.add('RKOrdID=' + quotedstr(trim(SRKOrdID)) + ' ,MJStr2=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.Add(' where WFB_MJJY.APID=' + quotedstr(trim(FAPID)));
sql.Add(' and WFB_MJJY.MainId=' + quotedstr(trim(FMainId)));
sql.Add(' and WFB_MJJY.SubId=' + quotedstr(trim(FSubId)));
sql.Add(' and WFB_MJJY.MJStr4=' + quotedstr(trim(MJStr4.Text)));
SQL.Add('and WFB_MJJY.MJStr2='<><CEB4><EFBFBD><EFBFBD>'' ');
ExecSQL;
end;
ADOCmd.Connection.CommitTrans;
PrintCKMDG(Trim(SRKOrdID));
except
ADOCmd.Connection.RollbackTrans;
ToolButton3.Enabled := true;
application.MessageBox('<27><><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
ToolButton3.Enabled := true;
end;
procedure TfrmMarkingInspection.Tv3CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
FMJLen, FMJMaoZ: Double;
begin
// FMJLen := AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('MJLen').Index];
// FMJMaoZ := AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('MJMaoZ').Index];
// if (FMJLen < 10) or (FMJLen > 200) then
// begin
// ACanvas.Brush.Color := $B5E4FF;
// end;
// if (FMJMaoZ < 5) or (FMJMaoZ > 40) then
// begin
// ACanvas.Brush.Color := $B5E4FF;
// end
end;
procedure TfrmMarkingInspection.Button4Click(Sender: TObject);
begin
MovePanel1.Visible := false;
end;
procedure TfrmMarkingInspection.edtYJClick(Sender: TObject);
begin
if Trim(TEdit(Sender).Text) = '' then
begin
TEdit(Sender).Text := '<27><>';
end
else
begin
TEdit(Sender).Text := '';
end;
end;
procedure TfrmMarkingInspection.Button3Click(Sender: TObject);
begin
try
frmDJBCKOutListSEL := tfrmDJBCKOutListSEL.Create(Application);
with frmDJBCKOutListSEL do
begin
if ShowModal = 1 then
begin
APID.Text := CDS_Main.fieldbyname('SPID').AsString;
ClearGlobal();
FOperationStatus := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
InitLCK();
APID.Text := '';
end;
end;
finally
frmDJBCKOutListSEL.Free;
end;
end;
procedure TfrmMarkingInspection.MJMaoZKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
BTPrint.Click();
MJMaoZ.SetFocus();
end;
end;
end.