unit U_MJManageNewFDNew; interface uses Windows, Messages, SysUtils, Variants, math, 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, ShellAPI, 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, FTComboBox, BtnEdit; type TfrmMJManageNewFDNewSF = class(TForm) cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxStyle2: TcxStyle; cxGridPopupMenu1: TcxGridPopupMenu; DataSource1: TDataSource; Order_MJ: TClientDataSet; ADOQueryMain: TADOQuery; ADOCmd: TADOQuery; ADOTmp: TADOQuery; RMDB_Main: TRMDBDataSet; RM2: TRMGridReport; cxGrid3: TcxGrid; Tv3: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; DataSource2: TDataSource; CDS_MJCD: TClientDataSet; DataSource3: TDataSource; CDS_MJID: TClientDataSet; Timer1: TTimer; ADOQueryPrint: TADOQuery; ScrollBox1: TScrollBox; SpeedButton13: TSpeedButton; SpeedButton14: TSpeedButton; SpeedButton15: TSpeedButton; SpeedButton16: TSpeedButton; SpeedButton17: TSpeedButton; SpeedButton18: TSpeedButton; SpeedButton22: TSpeedButton; SpeedButton23: TSpeedButton; SpeedButton24: TSpeedButton; SpeedButton25: TSpeedButton; SpeedButton26: TSpeedButton; SpeedButton29: TSpeedButton; SpeedButton31: TSpeedButton; SpeedButton32: TSpeedButton; SpeedButton33: TSpeedButton; SpeedButton34: TSpeedButton; SpeedButton37: TSpeedButton; SpeedButton38: 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; SpeedButton50: TSpeedButton; SpeedButton51: TSpeedButton; SpeedButton54: TSpeedButton; SpeedButton55: TSpeedButton; SpeedButton56: TSpeedButton; SpeedButton57: TSpeedButton; SpeedButton59: TSpeedButton; SpeedButton62: TSpeedButton; SpeedButton63: TSpeedButton; SpeedButton64: TSpeedButton; SpeedButton65: TSpeedButton; SpeedButton66: 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; 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; Label26: TLabel; Edit6: TEdit; Label29: TLabel; MJstr3: TEdit; Label30: TLabel; MJQty3: TEdit; Label31: TLabel; Label32: TLabel; MJQty4: TEdit; Label33: TLabel; 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; 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; SpeedButton43: TSpeedButton; SpeedButton52: TSpeedButton; SpeedButton53: TSpeedButton; SpeedButton60: TSpeedButton; SpeedButton61: TSpeedButton; SpeedButton68: TSpeedButton; SpeedButton69: TSpeedButton; SpeedButton77: TSpeedButton; SpeedButton78: TSpeedButton; SpeedButton79: TSpeedButton; SpeedButton80: TSpeedButton; SpeedButton81: TSpeedButton; SpeedButton82: TSpeedButton; v3Column4: TcxGridDBColumn; Label36: TLabel; MJStr4: TEdit; Label37: TLabel; MJXH: TEdit; v3Column5: TcxGridDBColumn; kmxs: TEdit; Label39: TLabel; MJstr5: TEdit; Label40: TLabel; Label41: TLabel; Edit8: TEdit; Label42: TLabel; v2Column4: TcxGridDBColumn; baoNo: TEdit; Label45: TLabel; BaoID: TEdit; Button7: TButton; v3Column6: TcxGridDBColumn; ToolBar1: TToolBar; Panel9: TPanel; Label49: TLabel; Label50: TLabel; MaxRollNo: TEdit; MinRollNo: TEdit; TBCD: TToolButton; ToolButton3: TToolButton; ToolButton2: TToolButton; ToolButton4: TToolButton; TBClose: TToolButton; Label1: TLabel; APID: TEdit; Button6: TButton; Panel6: TPanel; Label2: TLabel; Label16: TLabel; Label24: TLabel; Label25: TLabel; Label35: TLabel; Label38: TLabel; Label44: TLabel; Label46: TLabel; Label47: TLabel; Label48: TLabel; Label51: TLabel; Label52: TLabel; BTAdd: TButton; BTEdit: TButton; Button3: TButton; Edit7: TEdit; Edit9: TEdit; Edit10: TEdit; Edit11: TEdit; Edit12: TEdit; ComboBox2: TComboBox; Label28: TLabel; Button5: TButton; ADOQueryPrint1: TADOQuery; RMDB_Main1: TRMDBDataSet; RM3: TRMGridReport; Edit5: TEdit; Label43: TLabel; Label53: TLabel; Label55: TLabel; Label57: TLabel; Label58: TLabel; Label59: TLabel; Label60: TLabel; KH: TBtnEditA; PM: TBtnEditA; YS: TBtnEditA; HX: TBtnEditA; SH: TBtnEditA; SLbName: TFTComboBox; Button9: TButton; Button10: TButton; Button11: TButton; Button121: TButton; Button13: TButton; Label61: TLabel; Edit13: TEdit; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure MJMaoZClick(Sender: TObject); procedure MJLenClick(Sender: TObject); procedure MJFKClick(Sender: TObject); procedure MJBanZuClick(Sender: TObject); procedure MJSJKZClick(Sender: TObject); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); 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 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 Button2Click(Sender: TObject); procedure MJQty4Change(Sender: TObject); procedure MJMaoZChange(Sender: TObject); procedure APIDClick(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Edit7Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure MJQty4KeyPress(Sender: TObject; var Key: Char); procedure MJXHClick(Sender: TObject); procedure MJLenChange(Sender: TObject); procedure MJQty3Change(Sender: TObject); procedure MJQty2Change(Sender: TObject); procedure MJQty4KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure MJStr4Exit(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure Edit9Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Edit10Click(Sender: TObject); procedure Edit11Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure MaxRollNoKeyPress(Sender: TObject; var Key: Char); procedure Edit12Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure TBCDClick(Sender: TObject); procedure Edit5Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure Button10Click(Sender: TObject); procedure Button13Click(Sender: TObject); procedure Button11Click(Sender: TObject); procedure Button121Click(Sender: TObject); procedure Edit13Click(Sender: TObject); private { Private declarations } FInt, PState, PrintInt, SCInitGrid, FState, FCK: Integer; FColumn, FBanZu, FAPID, FMainId, FSubId, FFFMJID: string; FJZ, FJC, FDC: Double; fRollType, fRollType1, fbaotype, fbaosx: string; isCommopen, IsJsMessage: boolean; MValue, FCDName, MggCDFalg: string; fxsws, fxsws1: string; procedure InitJP(); procedure InitCDGrid(); procedure InitCDGridID(); procedure AddCD(Fbtn: TButton); procedure AddSL(Fbtn: TButton); function SaveData(): Boolean; procedure BtnStatus(BSInt: Boolean); procedure AddSLNew(Fbtn: TSpeedButton); procedure AddCDNew(Fbtn: TSpeedButton); procedure SavedataCK(); procedure PrtData(FMJID: string); procedure PrtBaoData(FBaoid: string); procedure OpenCom(DllName: string); procedure CloseCom(DllName: string); procedure On1201(var Message: Tmessage); message 1201; procedure On1301(var Message: Tmessage); message 1301; function JsXj(str1: string): string; public fmanage: string; { Public declarations } end; var frmMJManageNewFDNewSF: TfrmMJManageNewFDNewSF; newh, newh1: hwnd; implementation uses U_DataLink, U_Fun, U_ZDYHelp, U_iniParam, U_ClothHCList, MMSystem, U_SysLogOrder, U_SCPersonColor; {$R *.dfm} procedure TfrmMJManageNewFDNewSF.PrtBaoData(FBaoid: string); var fPrintFile: string; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; i: Integer; begin if CDS_MJID.IsEmpty then exit; CDS_MJID.First; with ADOQueryPrint do begin Close; SQL.Clear; sql.Add('select A.Baoid,A.BaoNo,A.MJTypeOther as QtyUnit,D.OrderNo,D.conNo,D.customerNoName,D.MprtCodeName,D.Mprtspec,D.OrdPerson1,D.MPRTKuanNO,D.LBName,D.NLBName,C.BlBName,'); sql.Add('PRTCodeName=DBO.F_Get_Order_SubStr(BaoID,''BNCodeName''),'); sql.Add('PRTColor=DBO.F_Get_Order_SubStr(BaoID,''BNColor''),SOrddefstr1=DBO.F_Get_Order_SubStr(BaoID,''BNSOrddefstr1''),'); sql.Add('SOrddefstr4=DBO.F_Get_Order_SubStr(BaoID,''BNSOrddefstr4''),PRtHX=DBO.F_Get_Order_SubStr(BaoID,''BNPRtHX''), '); sql.Add('Mjstr4=DBO.F_Get_Order_SubStr(BaoID,''BNGangNo''), '); sql.Add('MJXH=DBO.F_Get_Order_SubStr(BaoID,''BNMJXH''), '); sql.Add('BNMJLENLIST=DBO.F_Get_Order_SubStr(BaoID,''BNMJLENLIST''), '); sql.Add('PRTkuanNo=DBO.F_Get_Order_SubStr(BaoID,''BNPrtkuanno''),'); sql.Add('khConNo=(select top 1 khConNo from JYOrderCon_Main X where X.ConNO=D.conNO), '); sql.Add('MprtCodeNameEng=(select top 1 Note from KH_Zdy X where X.zdyName=D.MprtCodeName), '); SQL.ADD('count(A.MJID) as JSl,sum(A.MJMaoZ) MJMAOZ,sum(MJQty3) as MJQty3,sum(MJQty4) as MJQty4,SUM(A.MJLen)as MJLen'); sql.Add('from WFB_MJJY A'); sql.Add('inner join JYOrder_Sub C on C.SubID=A.SubID'); sql.Add('inner join JYOrder_Main D on D.MainID=A.MainID'); SQL.Add('where A.BaoID=''' + Trim(FBaoid) + ''''); SQL.ADD('group by A.Baoid,A.BaoNo,A.MJTypeOther,D.OrderNo,D.conNo,D.customerNoName,D.MprtCodeName,D.Mprtspec,D.OrdPerson1,D.MPRTKuanNO,D.LBName,D.NLBName,C.BlBName'); Open; end; if ADOQueryPrint.RecordCount > 1 then begin Application.MessageBox('Packaging error,Please repackage!', 'prompt', 0); Exit; end; if ADOQueryPrint.RecordCount < 1 then begin Application.MessageBox('This packet number has not been saved,Please save the data,Print the barcode again!', 'prompt', 0); Exit; end; try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); Txt := trim(FBaoid); 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('Barcode generation failed!', 'Message', MB_ICONERROR); exit; end; if Trim(ADOQueryPrint.fieldbyname('NLBName').AsString) <> '' then begin ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('NLBName').AsString), ADOCmd); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('NLBName').AsString) end else begin ExportFtErpFile('包标签.rmf', ADOCmd); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\包标签.rmf'; end; if not FileExists(fPrintFile) then begin Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); Exit; end; if FileExists(fPrintFile) then begin RMVariables['QRBARCODE'] := fImagePath; RM2.LoadFromFile(fPrintFile); RM2.DefaultCopies := 1; //RM2.ShowReport; RM2.printReport; end; end; procedure TfrmMJManageNewFDNewSF.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) = '√') then begin MJLen.Text := format('%.' + trim(fxsws) + 'f', [i1 / 100000]); if i2 = 0 then Label9.Caption := 'M' else Label9.Caption := 'Y'; edit1.Text := format('%.' + trim(fxsws) + 'f', [i1 / 100000]); end; end; end; procedure TfrmMJManageNewFDNewSF.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(Edit9.Text) = '√' then begin MJMaoZ.Text := format('%.' + trim(fxsws1) + 'f', [i1 / 100000]); end; end; end; procedure TfrmMJManageNewFDNewSF.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('找不到 ' + trim(DllName) + ' 文件!'), '提示'); end; end; procedure TfrmMJManageNewFDNewSF.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('Failed to open serial port!'), 'prompt'); end else IsCommOpen := true; end else begin IsCommOpen := false; end; finally // FreeLibrary(Th); end; end else begin IsCommOpen := false; application.MessageBox(Pchar('找不到 ' + trim(DllName) + ' 文件!'), '提示'); end; end; function TfrmMJManageNewFDNewSF.JsXj(str1: string): string; begin end; procedure TfrmMJManageNewFDNewSF.FormDestroy(Sender: TObject); begin frmMJManageNewFDNewSF := nil; end; procedure TfrmMJManageNewFDNewSF.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; if isCommopen then begin if trim(DllName) <> '' then closeCom(DllName); if trim(JCYDLL) <> '' then closeCom(JCYDLL); end; end; procedure TfrmMJManageNewFDNewSF.InitCDGrid(); begin with ADOQueryMain do begin Close; SQL.Clear; if PState = 1 then sql.Add('select * from WFB_MJJY_CD where MJID='''' ') else sql.Add('select * from WFB_MJJY_CD where MJID=''' + Trim(CDS_MJID.fieldbyname('MJID').AsString) + ''''); Open; end; SCreateCDS20(ADOQueryMain, CDS_MJCD); SInitCDSData20(ADOQueryMain, CDS_MJCD); end; procedure TfrmMJManageNewFDNewSF.InitCDGridID(); begin with ADOQueryMain do begin Close; SQL.Clear; sql.Add('select '); //sql.Add('Case when isnull(MJType,'''')=''次品'' then ''B''+RTrim(Cast(MJXH as varchar(20))) else Cast(MJXH as varchar(20)) end as MJXH ,'); sql.Add(' A.* from WFB_MJJY A where APID=''' + Trim(FAPID) + ''''); if Trim(SCXFlag) <> '' then sql.Add(' and JTType=''' + Trim(SCXFlag) + ''''); sql.Add('and mjstr2=''未入库'' '); sql.Add(' order by FillTime desc'); Open; end; SCreateCDS20(ADOQueryMain, CDS_MJID); SInitCDSData20(ADOQueryMain, CDS_MJID); end; procedure TfrmMJManageNewFDNewSF.TBCloseClick(Sender: TObject); begin close; end; procedure TfrmMJManageNewFDNewSF.FormShow(Sender: TObject); begin InitJP(); with ADOTmp do begin Close; sql.Clear; sql.Add('select BanZu from SY_User where UserId=''' + Trim(DCode) + ''''); Open; FBanZu := Trim(Fieldbyname('BanZu').AsString); end; if trim(Edit7.Text) = '√' then IsJsMessage := true; if trim(fmanage) <> '高权限' then begin if trim(DllName) <> '' then OpenCom(DllName); if trim(JCYDLL) <> '' then OpenCom(JCYDLL); Edit7.Visible := true; Label35.Visible := true; Edit9.Visible := true; Label44.Visible := true; end; end; procedure TfrmMJManageNewFDNewSF.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 '); // showmessage(sql.text); Open; end; if ADOTmp.IsEmpty then begin Application.MessageBox('No definite point is defined!', 'prompt', 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 > 59 then begin i := 59; 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 TfrmMJManageNewFDNewSF.AddCD(Fbtn: TButton); begin if PState < 1 then Exit; if Order_MJ.IsEmpty then Exit; with CDS_MJCD do begin Append; FieldByName('cdname').Value := Trim(TButton(Fbtn).Caption); Post; end; end; procedure TfrmMJManageNewFDNewSF.AddCDNew(Fbtn: TSpeedButton); begin with CDS_MJCD do begin Append; FieldByName('cdname').Value := Trim(TSpeedButton(Fbtn).Hint); Post; end; end; procedure TfrmMJManageNewFDNewSF.AddSL(Fbtn: TButton); begin if PState < 1 then Exit; if Order_MJ.IsEmpty then Exit; //if MJMaoZ.Focused then if FInt = 4 then Exit; 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; procedure TfrmMJManageNewFDNewSF.AddSLNew(Fbtn: TSpeedButton); begin if PState < 1 then Exit; if Trim(FAPID) = '' then Exit; if FInt = 4 then Exit; if FInt = 11 then begin if TSpeedButton(Fbtn).Tag = 9 then Exit; Edit1.Text := Trim(Edit1.Text) + Trim(TSpeedButton(Fbtn).Caption); Edit1.SelectAll; end else if FInt = 12 then begin if TSpeedButton(Fbtn).Tag = 9 then Exit; Edit2.Text := Trim(Edit2.Text) + Trim(TSpeedButton(Fbtn).Caption); Edit2.SelectAll; end; end; procedure TfrmMJManageNewFDNewSF.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('Are you sure you want to delete the data?', 'prompt', 32 + 4) <> IDYES then Exit; CDS_MJCD.Delete; end; end; procedure TfrmMJManageNewFDNewSF.MJMaoZClick(Sender: TObject); begin FInt := 1; FColumn := ''; panel3.Visible := True; end; procedure TfrmMJManageNewFDNewSF.MJLenClick(Sender: TObject); begin FInt := 2; FColumn := ''; panel3.Visible := True; end; procedure TfrmMJManageNewFDNewSF.MJFKClick(Sender: TObject); begin FInt := 3; FColumn := ''; panel3.Visible := True; end; procedure TfrmMJManageNewFDNewSF.MJBanZuClick(Sender: TObject); begin FInt := 4; end; procedure TfrmMJManageNewFDNewSF.MJSJKZClick(Sender: TObject); begin FInt := 4; end; procedure TfrmMJManageNewFDNewSF.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin //DataLink_WFBProducttion.ADOLink.Connected:=False; FInt := 4; // if PState=1 then Exit; InitCDGridID(); //InitCDGrid(); {with ADOTmp do begin close; sql.Clear; sql.Add('select * from WFB_MJJY where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); Open; end; if ADOTmp.IsEmpty then begin MJMaoZ.Text:=''; MJLen.Text:=''; MJFK.Text:=''; MJSJKZ.Text:=''; end else SSetWinData(ADOTmp,Panel5); } end; procedure TfrmMJManageNewFDNewSF.FormClick(Sender: TObject); begin FInt := 4; end; procedure TfrmMJManageNewFDNewSF.Button12Click(Sender: TObject); var fsj: string; begin if PState < 1 then Exit; if Trim(FAPID) = '' then Exit; if FInt = 4 then Exit; begin FColumn := Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; if Trim(FColumn) <> '' then begin if Trim(CDS_MJCD.FieldByName(FColumn).AsString) <> '' then begin with CDS_MJCD do begin Edit; if Length(CDS_MJCD.FieldByName(FColumn).AsString) = 1 then begin FieldByName(FColumn).Value := null; FieldByName('CDQty').Value := 0; end else begin FieldByName(FColumn).Value := Copy(Trim(FieldByName(FColumn).AsString), 1, Length(Trim(FieldByName(FColumn).AsString)) - 1); FieldByName('CDQty').Value := FieldByName(FColumn).Value; end; Post; end; end; end; end; end; function TfrmMJManageNewFDNewSF.SaveData(): Boolean; var maxno, FMJID, BZID, strsql, CFMJXH, GMJXH, GMJLen, GMJMaoZ, GMJQty4, Gmjstr4: string; FMJLen: Double; FOrder: Integer; begin result := false; if PState = 1 then FMJID := '' else if PState = 2 then FMJID := Trim(CDS_MJID.fieldbyname('MJID').AsString) else if PState < 1 then Exit; if PState = 1 then begin if ComboBox2.ItemIndex = 0 then begin if fRollType = 'Build-to-order' then begin with ADOCmd do begin Close; sql.Clear; sql.Add('select maxRoll=1+isnull(cast(max(mjxh) as int),0) '); sql.Add('from WFB_MJJY X where X.mainID=''' + trim(fmainId) + ''' '); Open; MJXH.Text := Trim(fieldbyname('maxRoll').AsString); end; end else if fRollType = 'Generated by cylinder number' then begin with ADOCmd do begin Close; sql.Clear; sql.Add('select maxRoll=1+isnull(cast(max(mjxh) as int),0) '); sql.Add('from WFB_MJJY X where X.subID=''' + trim(FSubId) + ''' '); sql.add('and X.MJStr4=' + quotedstr(trim(MJstr4.text))); Open; MJXH.Text := Trim(fieldbyname('maxRoll').AsString); end; end else if fRollType = 'Ruleless generation' then begin end else begin with ADOCmd do begin Close; sql.Clear; sql.Add('select maxRoll=1+isnull(cast(max(mjxh) as int),0) '); sql.Add('from WFB_MJJY X where X.subID=''' + trim(FSubId) + ''' '); Open; MJXH.Text := Trim(fieldbyname('maxRoll').AsString); end; end; end; end; if minRollNo.Text <> '' then begin if StrToIntDef(minRollNo.Text, 0) > StrToIntDef(MJXH.Text, 0) then begin Application.MessageBox('Less than the minimum volume number,Cannot be saved!', 'prompt', 0); exit; end; end; if MaxRollNo.Text <> '' then begin if StrToIntDef(MaxRollNo.Text, 0) < StrToIntDef(MJXH.Text, 0) then begin Application.MessageBox('The maximum volume number has been exceeded,Cannot be saved!', 'prompt', 0); exit; end; end; try ADOCmd.Connection.BeginTrans; if PState = 2 then begin GMJXH := Trim(CDS_MJID.fieldbyname('MJXH').AsString); GMJLen := Trim(CDS_MJID.fieldbyname('MJLen').AsString); GMJMaoZ := Trim(CDS_MJID.fieldbyname('MJMaoZ').AsString); GMJQty4 := Trim(CDS_MJID.fieldbyname('MJQty4').AsString); Gmjstr4 := Trim(CDS_MJID.fieldbyname('mjstr4').AsString); GMJXH := 'Roll No:' + GMJXH + ',Lot NO:' + Gmjstr4 + ',Length:' + GMJLen + ',' + 'G.W:' + GMJMaoZ + ',N.W:' + GMJQty4; with ADOCmd do begin Close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,Mainid) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('Modify the data'))); sql.Add(',' + quotedstr(trim('Before modification→Barcode:' + trim(FMJID) + ', ' + trim(Label25.Caption) + ', ' + trim(Label38.Caption) + ', ' + trim(Label25.Caption) + ', ' + trim(GMJXH)))); sql.Add(',' + quotedstr(trim('succeed'))); sql.Add(',' + quotedstr(trim(FMainId))); sql.Add(')'); execsql; end; end; ///保存主表 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('generate Serial number abnormal!', 'prompt', 0); exit; end; end else begin maxno := Trim(FMJID); Edit; end; FieldByName('MainId').value := Trim(FMainId); FieldByName('SubId').value := Trim(FSubId); FieldByName('APId').value := Trim(FAPId); FieldByName('MJID').Value := Trim(maxno); FieldByName('MJStr2').Value := '未入库'; FieldByName('MJBanZu').Value := Trim(FBanZu); FieldByName('MJstr3').Value := Trim(MJstr3.Text); FieldByName('MJstr4').Value := Trim(MJstr4.Text); FieldByName('MJstr5').Value := Trim(MJstr5.Text); FieldByName('mjxh').Value := Trim(mjxh.Text); // FieldByName('BaoNO').Value := Trim(BaoNO.Text); FieldByName('MJTypeOther').Value := Trim(Label9.Caption); FieldByName('MJStr1').Value := Trim(Label13.Caption); FieldByName('PM').Value := Trim(PM.Text); FieldByName('KH').Value := Trim(KH.Text); FieldByName('YS').Value := Trim(YS.Text); FieldByName('HX').Value := Trim(HX.Text); FieldByName('SH').Value := Trim(SH.Text); if Edit12.Text <> '' then begin FieldByName('DingMaFlag').Value := '定长'; end; if Edit10.Text <> '' then begin FieldByName('DaoXuFlag').Value := '卷号倒序'; end; FieldByName('QuhaoFlag').Value := Trim(ComboBox2.Text); if (FDC <> 0) and (Edit12.text <> '') then begin FieldByName('MJLen').Value := FDC; end else begin FieldByName('MJLen').Value := StrToFloatdef(trim(MJLen.Text), 0) - StrToFloatdef(trim(MJQty2.Text), 0) + fjc; end; 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) + fjZ; if Trim(MJFK.Text) <> '' then begin FieldByName('MJFK').Value := MJFK.Text; end; if Trim(MJMaoZ.Text) <> '' then begin FieldByName('MJMaoZ').Value := StrToFloat(MJMaoZ.Text) + fjz; end; if Trim(MJSJKZ.Text) <> '' then begin FieldByName('MJSJKZ').Value := MJSJKZ.Text; end; FieldByName('MJType').Value := ''; if Trim(Edit3.Text) <> '' then begin FieldByName('MJType').Value := '正品'; end; if Trim(Edit4.Text) <> '' then begin FieldByName('MJType').Value := '次品'; end; FieldByName('MJStr1').Value := Trim(Label13.Caption); if Trim(FMJID) = '' then begin FieldByName('Filler').Value := Trim(DName); end else begin FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOTmp); end; if Trim(SCXFlag) <> '' then begin FieldByName('JTType').Value := Trim(SCXFlag); end; FieldByName('MJTypeOther').Value := Trim(Label9.Caption); if trim(fbaotype) = 'Manual packaging' then begin FieldByName('baoNO').Value := Trim(baono.text); FieldByName('baoID').Value := Trim(baoID.Text); end; Post; end; if PState = 1 then begin if ComboBox2.ItemIndex = 0 then begin if fRollType = 'Build-to-order' 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),0)'); sql.Add('where MJID=''' + Trim(maxno) + ''''); execsql; end; end else if fRollType = 'Generated by cylinder number' 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 '); sql.Add(' where X.subID=WFB_MJJY.subID and isnull(X.mjstr4,'''')=isnull(WFB_MJJY.mjstr4,'''') and X.MJID<>WFB_MJJY.MJID),0)'); sql.Add('where MJID=''' + Trim(maxno) + ''''); execsql; end; end else if fRollType = 'Ruleless generation' then begin end else 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),0)'); sql.Add('where MJID=''' + Trim(maxno) + ''''); execsql; end; end; end; end else if PState = 2 then begin with ADOCmd do begin Close; sql.Clear; sql.Add('select * from WFB_MJJY where MJID=''' + Trim(maxno) + ''''); Open; end; GMJXH := Trim(ADOCmd.fieldbyname('MJXH').AsString); GMJLen := Trim(ADOCmd.fieldbyname('MJLen').AsString); GMJMaoZ := Trim(ADOCmd.fieldbyname('MJMaoZ').AsString); GMJQty4 := Trim(ADOCmd.fieldbyname('MJQty4').AsString); Gmjstr4 := Trim(ADOCmd.fieldbyname('mjstr4').AsString); GMJXH := 'Roll No:' + GMJXH + ',Lot NO:' + Gmjstr4 + ',Length:' + GMJLen + ',' + 'G.W:' + GMJMaoZ + ',N.W:' + GMJQty4; with ADOCmd do begin Close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,Mainid) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('Modify the data'))); sql.Add(',' + quotedstr(trim('After modification→Barcode:' + trim(maxno) + ', ' + trim(Label24.Caption) + ', ' + trim(Label38.Caption) + ', ' + trim(Label25.Caption) + ', ' + trim(GMJXH)))); sql.Add(',' + quotedstr(trim('succeed'))); sql.Add(',' + quotedstr(trim(FMainId))); sql.Add(')'); execsql; end; end; ////////////判断跳号和卷号重复 if fRollType = '按订单生成' then begin //////////////////跳号判断 with ADOCmd do begin Close; SQL.Clear; sql.Add('select Top 1 MJXH,MJID from WFB_MJJY A where A.mainID=''' + Trim(FMainId) + ''' order by MJXH Desc'); Open; end; GMJXH := Trim(ADOCmd.fieldbyname('MJXH').AsString); GMJLen := Trim(ADOCmd.fieldbyname('MJID').AsString); GMJMaoZ := IntToStr(StrToInt(GMJXH) - 1); if Trim(GMJXH) <> '1' then begin with ADOCmd do begin Close; SQL.Clear; sql.Add('select MJID from WFB_MJJY X where X.mainID=''' + Trim(FMainId) + ''''); SQL.Add(' and MJXH=' + GMJXH + '-1'); Open; end; if ComboBox2.ItemIndex = 0 then begin if ADOCmd.IsEmpty then begin Result := False; ADOCmd.Connection.RollbackTrans; PlaySound('wav\发现跳号.wav', 0, SND_FILENAME or SND_ASYNC); Application.MessageBox('Jump number found,Please resubmit!', 'prompt', 0); Exit; end; end else if ComboBox2.ItemIndex = 1 then begin if ADOCmd.IsEmpty then begin PlaySound('wav\发现跳号.wav', 0, SND_FILENAME or SND_ASYNC); if Application.MessageBox('Jump number found,Whether you want to continue!', 'prompt', 32 + 4) <> IDYes then begin Result := False; ADOCmd.Connection.RollbackTrans; Exit; end; with ADOCmd do begin Close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,Mainid) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('Jump number found'))); sql.Add(',' + quotedstr(trim('Barcode:' + trim(GMJLen) + ', ' + 'Roll No:' + Trim(GMJXH) + ', ' + trim(Label24.Caption) + ', ' + trim(Label38.Caption) + ', ' + trim(Label25.Caption) + ',Jump number:' + Trim(GMJMaoZ)))); sql.Add(',' + quotedstr(trim('succeed'))); sql.Add(',' + quotedstr(trim(FMainId))); sql.Add(')'); execsql; end; end; end; end; //////////////////跳号判断 //////////////////卷号重复判断 with ADOCmd do begin Close; sql.Clear; sql.Add('select Mainid,MJXH from WFB_MJJY X where X.mainID=''' + Trim(FMainId) + ''''); sql.Add(' Group by Mainid,MJXH having count(*)>1'); Open; end; if ADOCmd.IsEmpty = False then begin CFMJXH := Trim(ADOCmd.fieldbyname('MJXH').AsString); Result := False; ADOCmd.Connection.RollbackTrans; PlaySound('wav\卷号重复.wav', 0, SND_FILENAME or SND_ASYNC); Application.MessageBox(Pchar('Roll No: ' + Trim(CFMJXH) + ' repeat,Please process the data!'), 'prompt', 0); Exit; end; //////////////////卷号重复判断 end else if fRollType = '按缸号生成' then begin //////////////////跳号判断 with ADOCmd do begin Close; SQL.Clear; sql.Add('select Top 1 MJXH,MJID from WFB_MJJY A '); sql.Add(' where A.mainID=''' + Trim(FMainId) + ''' and isnull(A.MJStr4,'''')=''' + Trim(MJStr4.Text) + ''''); sql.Add(' order by MJXH Desc'); Open; end; GMJXH := Trim(ADOCmd.fieldbyname('MJXH').AsString); GMJLen := Trim(ADOCmd.fieldbyname('MJID').AsString); GMJMaoZ := IntToStr(StrToInt(GMJXH) - 1); if Trim(GMJXH) <> '1' then begin with ADOCmd do begin Close; SQL.Clear; sql.Add('select MJID from WFB_MJJY X where X.mainID=''' + Trim(FMainId) + ''' and isnull(X.MJStr4,'''')=''' + Trim(MJStr4.Text) + ''''); SQL.Add(' and MJXH=' + GMJXH + '-1'); Open; end; if ComboBox2.ItemIndex = 0 then begin if ADOCmd.IsEmpty then begin Result := False; ADOCmd.Connection.RollbackTrans; PlaySound('wav\发现跳号.wav', 0, SND_FILENAME or SND_ASYNC); Application.MessageBox('Jump number found,Please resubmit!', 'prompt', 0); Exit; end; end else if ComboBox2.ItemIndex = 1 then begin if ADOCmd.IsEmpty then begin PlaySound('wav\发现跳号.wav', 0, SND_FILENAME or SND_ASYNC); if Application.MessageBox('Jump number found,Whether you want to continue!', 'prompt', 32 + 4) <> IDYes then begin Result := False; ADOCmd.Connection.RollbackTrans; Exit; end; with ADOCmd do begin Close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,Mainid) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('Jump number found'))); sql.Add(',' + quotedstr(trim('Barcode:' + trim(GMJLen) + ', ' + 'Roll No:' + Trim(GMJXH) + ', ' + trim(Label24.Caption) + ', ' + trim(Label38.Caption) + ', ' + trim(Label25.Caption) + ',Jump number:' + Trim(GMJMaoZ)))); sql.Add(',' + quotedstr(trim('succeed'))); sql.Add(',' + quotedstr(trim(FMainId))); sql.Add(')'); execsql; end; end; end; end; //////////////////跳号判断 //////////////////卷号重复判断 with ADOCmd do begin Close; sql.Clear; sql.Add('select subid,MJStr4,MJXH from WFB_MJJY X where X.mainID=''' + Trim(FMainId) + ''' and isnull(X.MJStr4,'''')=''' + Trim(MJStr4.Text) + ''''); sql.Add(' Group by subid,MJStr4,MJXH having count(*)>1'); Open; end; if ADOCmd.IsEmpty = False then begin CFMJXH := Trim(ADOCmd.fieldbyname('MJXH').AsString); Result := False; ADOCmd.Connection.RollbackTrans; PlaySound('wav\卷号重复.wav', 0, SND_FILENAME or SND_ASYNC); Application.MessageBox(Pchar('Roll No: ' + Trim(CFMJXH) + ' repeat,Please process the data!'), 'prompt', 0); Exit; end; //////////////////卷号重复判断 end else if fRollType = '无规则生成' then begin end else begin //////////////////跳号判断 with ADOCmd do begin Close; SQL.Clear; sql.Add('select Top 1 MJXH,MJID from WFB_MJJY A where A.Subid=''' + Trim(FSubid) + ''' order by MJXH Desc'); Open; end; GMJXH := Trim(ADOCmd.fieldbyname('MJXH').AsString); GMJLen := Trim(ADOCmd.fieldbyname('MJID').AsString); GMJMaoZ := IntToStr(StrToInt(GMJXH) - 1); if Trim(GMJXH) <> '1' then begin with ADOCmd do begin Close; SQL.Clear; sql.Add('select MJID from WFB_MJJY X where X.Subid=''' + Trim(FSubid) + ''''); SQL.Add(' and MJXH=' + GMJXH + '-1'); Open; end; if ComboBox2.ItemIndex = 0 then begin if ADOCmd.IsEmpty then begin Result := False; ADOCmd.Connection.RollbackTrans; PlaySound('wav\发现跳号.wav', 0, SND_FILENAME or SND_ASYNC); Application.MessageBox('Jump number found,Please resubmit!', 'prompt', 0); Exit; end; end else if ComboBox2.ItemIndex = 1 then begin if ADOCmd.IsEmpty then begin PlaySound('wav\发现跳号.wav', 0, SND_FILENAME or SND_ASYNC); if Application.MessageBox('Jump number found,Whether you want to continue!', 'prompt', 32 + 4) <> IDYes then begin Result := False; ADOCmd.Connection.RollbackTrans; Exit; end; with ADOCmd do begin Close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,Mainid) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('Jump number found'))); sql.Add(',' + quotedstr(trim('Barcode:' + trim(GMJLen) + ', ' + 'Roll No:' + Trim(GMJXH) + ', ' + trim(Label24.Caption) + ', ' + trim(Label38.Caption) + ', ' + trim(Label25.Caption) + ',Jump number:' + Trim(GMJMaoZ)))); sql.Add(',' + quotedstr(trim('succeed'))); sql.Add(',' + quotedstr(trim(FMainId))); sql.Add(')'); execsql; end; end; end; end; //////////////////跳号判断 //////////////////卷号重复判断 with ADOCmd do begin Close; sql.Clear; sql.Add('select SubID,MJXH from WFB_MJJY X where X.SubID=''' + Trim(FSubID) + ''''); sql.Add(' Group by SubID,MJXH having count(*)>1'); Open; end; if ADOCmd.IsEmpty = False then begin CFMJXH := Trim(ADOCmd.fieldbyname('MJXH').AsString); Result := False; ADOCmd.Connection.RollbackTrans; PlaySound('wav\卷号重复.wav', 0, SND_FILENAME or SND_ASYNC); Application.MessageBox(Pchar('Roll No: ' + Trim(CFMJXH) + ' repeat,Please process the data!'), 'prompt', 0); Exit; end; //////////////////卷号重复判断 end; ////////////判断跳号和卷号重复 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); ///保存母卷疵点表 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('The fetch serial number failed!', 'prompt', 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 CDS_MJID do begin Append; FieldByName('MJID').Value := Trim(FMJID); Post; 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; if (fbaotype = 'Manual packaging') or (fbaotype = '') or (PState = 2) then begin end else begin with ADOCmd do begin Close; sql.Clear; sql.Add('exec P_Update_Bao ''' + trim(FMJID) + ''' '); if fbaotype = 'Single roll, single pack' then begin sql.Add(',1 '); end else if fbaotype = 'Multi-roll monochrome' then begin sql.Add(',2 '); end else if fbaotype = 'Multi-roll color mixing' then begin sql.Add(',3 '); end; execsql; end; end; ADOCmd.Connection.CommitTrans; Result := True; except Result := False; ADOCmd.Connection.RollbackTrans; Application.MessageBox('Save failed!', '提示', 0); end; end; procedure TfrmMJManageNewFDNewSF.BTAddClick(Sender: TObject); begin if Trim(Label24.Caption) = '' then Exit; PState := 1; InitCDGridID(); InitCDGrid(); BtnStatus(True); Label16.Caption := '新增'; end; procedure TfrmMJManageNewFDNewSF.BTEditClick(Sender: TObject); begin if CDS_MJID.IsEmpty then Exit; PState := 2; Label16.Caption := '修改'; end; procedure TfrmMJManageNewFDNewSF.BTPrintClick(Sender: TObject); var fPrintFile: string; mvalue: Double; mvalue1: integer; i: Integer; begin if (strtofloatdef(trim(MJLen.Text), 0) = 0) and (strtofloatdef(trim(mjqty4.Text), 0) = 0) then begin application.MessageBox('Length or weight cannot be zero!', 'Prompt information', 0); exit; end; if Trim(FAPID) = '' then Exit; if trim(MJXH.text) = '' then begin application.MessageBox('The volume number cannot be empty', 'prompt'); exit; end; if trim(MJXH.text) = '0' then begin application.MessageBox('The volume number cannot be 0', 'prompt'); exit; end; if trim(Label9.Caption) = '' then begin Application.MessageBox('The length unit cannot be empty!', 'prompt', 0); Exit; end; if Trim(MJQty1.Text) <> '' then begin if TryStrToFloat(MJQty1.Text, mvalue) = False then begin Application.MessageBox('The source code was entered incorrectly!', 'prompt', 0); Exit; end; end; if Trim(MJMaoZ.Text) <> '' then begin if TryStrToFloat(MJMaoZ.Text, mvalue) = False then begin Application.MessageBox('Weight entry error!', 'prompt', 0); Exit; end; end; if Trim(MJQty2.Text) <> '' then begin if TryStrToFloat(MJQty2.Text, mvalue) = False then begin Application.MessageBox('赠送米数录入错误!', 'prompt', 0); Exit; end; end; if Trim(Edit6.Text) <> '' then begin with ADOTmp do begin Close; sql.Clear; sql.Add('select * from JYorder_Sub where Subid=''' + Trim(FSubId) + ''' and isnull(Slbname,'''')<>'''' '); Open; end; if ADOTmp.IsEmpty then begin PlaySound('wav\没有设置标签.wav', 0, SND_FILENAME or SND_ASYNC); Application.MessageBox('No labels are set', 'prompt', 0); Exit; end else begin fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOTmp.fieldbyname('Slbname').AsString); if FileExists(fPrintFile) then begin end else begin PlaySound('wav\标签没有找到.wav', 0, SND_FILENAME or SND_ASYNC); Application.MessageBox('Label not found,Try signing in again,It is possible that the tag is not uploaded', 'prompt', 0); Exit; end; end; end; BTPrint.Enabled := False; Timer1.Enabled := True; if SaveData() then begin MJMaoZ.Text := ''; MJQty1.Text := ''; MJQty2.Text := ''; Label15.Caption := ''; MJQty4.Text := ''; if edit10.Text = '√' then begin MJXH.Text := inttostr(strTointdef(trim(MJXH.Text), 0) - 1); end else begin MJXH.Text := inttostr(strTointdef(trim(MJXH.Text), 0) + 1); end; if PState = 1 then begin PlaySound('wav\正确.wav', 0, SND_FILENAME or SND_ASYNC); end else if PState = 2 then begin PlaySound('wav\修改成功.wav', 0, SND_FILENAME or SND_ASYNC); end; if PState = 2 then begin apid.Text := FAPID; Button3.Click; end; end else exit; if Trim(Edit6.Text) = '√' then begin PrtData(FFFMJID); end; if Trim(Edit6.Text) = '√' then begin if (fbaotype = 'Manual packaging') or (fbaotype = '') then begin end else begin with ADOCmd do begin Close; sql.Clear; sql.Add('exec P_View_Baoid ''' + trim(FFFMJID) + ''' '); sql.Add(',''' + trim(FMainId) + ''' ,''' + trim(FSubId) + ''' '); if fbaotype = 'Single roll, single pack' then begin sql.Add(' ,1 '); end; if fbaotype = 'Multi-roll monochrome' then begin sql.Add(' ,2 '); end; if fbaotype = 'Multi-roll color mixing' then begin sql.Add(' ,3 '); end; Open; end; if trim(ADOCmd.FieldByName('baoid').AsString) <> '' then begin PrtBaoData(ADOCmd.fieldbyname('baoid').AsString); end; end; end; Label16.Caption := ''; BTAdd.Click; MJLen.SetFocus; // MJQty4.OnClick(MJQty4); MJLen.OnClick(Mjlen); end; procedure TfrmMJManageNewFDNewSF.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('select A.MJID,A.mjstr3,QtyUnit=A.MJTypeOther,B.orderNo,B.customerNoName,B.LBName '); sql.Add(',EngColor=(select max(Note) from KH_Zdy X where X.ZDYName=C.PRTColor and X.Type=''OrdColor'' ) '); sql.Add(',B.MPRTCF,C.*,A.* '); sql.Add(' from WFB_MJJY A'); sql.Add(' inner join JYOrder_Main B On A.Mainid=B.Mainid'); sql.Add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); SQL.Add(' where A.MJID=''' + Trim(FMJID) + ''''); Open; // ShowMessage(SQL.Text); end; with ADOQueryPrint1 do begin Close; SQL.Clear; sql.Add('exec P_Print_RollLabel'); sql.Add('@MJID=''' + Trim(FMJID) + ''' '); Open; end; try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); Txt := Trim(ADOQueryPrint1.fieldbyname('卷条码').AsString); 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('Barcode generation failed!', 'Prompt information', MB_ICONERROR); CDS_MJID.EnableControls; exit; end; if Trim(ADOQueryPrint.fieldbyname('Slbname').AsString) <> '' then begin fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('Slbname').AsString); ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('Slbname').AsString), ADOCmd); end else begin fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\通用标签.rmf'; ExportFtErpFile('通用标签.rmf', ADOCmd); end; if Trim(ADOQueryPrint1.fieldbyname('Slbname').AsString) <> '' then begin fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint1.fieldbyname('Slbname').AsString); ExportFtErpFile(Trim(ADOQueryPrint1.fieldbyname('Slbname').AsString), ADOCmd); end else begin fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\通用标签.rmf'; ExportFtErpFile('通用标签.rmf', ADOCmd); end; // if FileExists(fPrintFile) then // begin // RMVariables['QRBARCODE'] := fImagePath; // RM2.LoadFromFile(fPrintFile); // // RM2.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1); // RM2.ShowReport; // Sleep(1000); //// RM2.PrintReport; // if MggCDFalg = '99' then // begin // with ADOCmd do // begin // Close; // sql.Clear; // sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,MainId) values( '); // sql.Add(' ' + quotedstr(trim(DName))); // sql.Add(',getdate() '); // sql.Add(',' + quotedstr(trim(self.Caption))); // sql.Add(',' + quotedstr(trim('检验重打'))); // sql.Add(',' + quotedstr(trim('卷条码:' + trim(CDS_MJID.FieldByName('MJID').AsString) + ',' + trim(Label24.Caption) + ',' + trim(Label38.Caption) + ',' + trim(Label25.Caption) + ',缸号:' + trim(CDS_MJID.FieldByName('mjstr4').AsString) + ',卷号:' + trim(CDS_MJID.FieldByName('MJXH').AsString) + ',张数:' + trim(ComboBox1.Text)))); // sql.Add(',' + quotedstr(trim('成功'))); // sql.Add(',' + quotedstr(trim(FMainId))); // sql.Add(')'); // execsql; // end; // PlaySound('wav\重打成功.wav', 0, SND_FILENAME or SND_ASYNC); // end; // MggCDFalg := ''; // end // else // begin // MggCDFalg := ''; // PlaySound('wav\标签没有找到.wav', 0, SND_FILENAME or SND_ASYNC); // Application.MessageBox('标签没有找到,请尝试重新登录,有可能标签没有上传', '提示', 0); // end; if FileExists(fPrintFile) then begin RMVariables['QRBARCODE'] := fImagePath; if Edit5.Text <> '' then begin RM3.LoadFromFile(fPrintFile); RM3.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1); // RM3.ShowReport; Sleep(1000); RM3.PrintReport; end else begin RM2.LoadFromFile(fPrintFile); RM2.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1); // RM2.ShowReport; Sleep(1000); RM2.PrintReport; end; if MggCDFalg = '99' then begin with ADOCmd do begin Close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,MainId) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('Verify reprinting'))); sql.Add(',' + quotedstr(trim('Barcode:' + trim(CDS_MJID.FieldByName('MJID').AsString) + ',' + trim(Label24.Caption) + ',' + trim(Label38.Caption) + ',' + trim(Label25.Caption) + ', Lot NO:' + trim(CDS_MJID.FieldByName('mjstr4').AsString) + ',Roll No:' + trim(CDS_MJID.FieldByName('MJXH').AsString) + ',Number of sheets:' + trim(ComboBox1.Text)))); sql.Add(',' + quotedstr(trim('succeed'))); sql.Add(',' + quotedstr(trim(FMainId))); sql.Add(')'); execsql; end; PlaySound('wav\重打成功.wav', 0, SND_FILENAME or SND_ASYNC); end; MggCDFalg := ''; end else begin MggCDFalg := ''; PlaySound('wav\标签没有找到.wav', 0, SND_FILENAME or SND_ASYNC); Application.MessageBox('Label not found,Try signing in again,It is possible that the tag is not uploaded', 'prompt', 0); end; end; procedure TfrmMJManageNewFDNewSF.SavedataCK(); var CRID: Integer; MaxCkNo, MaxCkSubNo: string; begin //if Trim(Cds_Main.fieldbyname('SubType').AsString)='大卷' then //////////////////////////////////////////////////////////////保存到半成品仓库//////////////////////////////////////////////// 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('Failed to take the maximum number of the semi-finished product warehouse!', 'prompt', 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 := '入库'; FieldByName('CRType').Value := '检验入库'; //FieldByName('JTType').Value:=Trim(XJFlag); FieldByName('CRID').Value := CRID; if Trim(MJMaoZ.Text) <> '' then begin FieldByName('KGQty').Value := StrToFloat(MJMaoZ.Text); end; if Trim(MJLen.Text) <> '' then begin FieldByName('Qty').Value := StrToFloat(MJLen.Text); end; FieldByName('QtyUnit').Value := Trim(Label9.Caption); FieldByName('Filler').Value := Trim(DName); FieldByName('FillTime').Value := SGetServerDateTime(ADOTmp); if Trim(Edit3.Text) <> '' then begin FieldByName('CPType').Value := '正品'; end; if Trim(Edit4.Text) <> '' then begin FieldByName('CPType').Value := '次品'; end; 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 begin FieldByName('KCKGQty').Value := StrToFloat(MJMaoZ.Text); end; if Trim(MJLen.Text) <> '' then begin FieldByName('KCQty').Value := StrToFloat(MJLen.Text); end; FieldByName('KCQtyUnit').Value := Trim(Label9.Caption); Post; end; end; procedure TfrmMJManageNewFDNewSF.BtnStatus(BSInt: Boolean); begin // Tv2.OptionsSelection.CellSelect:=BSInt; end; procedure TfrmMJManageNewFDNewSF.Tv2CDQtyPropertiesEditValueChanged(Sender: TObject); var mvalue: string; begin try mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) <> '' then begin CDS_MJCD.Edit; CDS_MJCD.FieldByName('CDQty').Value := mvalue; CDS_MJCD.Post; end else begin CDS_MJCD.Edit; CDS_MJCD.FieldByName('CDQty').Value := 0; CDS_MJCD.Post; end; CDS_MJCD.Edit; CDS_MJCD.FieldByName('CDQtyS').Value := mvalue; except Application.MessageBox('Illegal numbers!', 'prompt', 0); end; end; procedure TfrmMJManageNewFDNewSF.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 TfrmMJManageNewFDNewSF.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 TfrmMJManageNewFDNewSF.SpeedButton13Click(Sender: TObject); var i: Integer; begin if Trim(Label24.Caption) = '' then Exit; if Label24.Visible = False then Exit; {with ADOTmp do begin Close; sql.Clear; sql.Add('select * from Order_JYResult where APID='''+Trim(FAPID)+''''); Open; end; if ADOTmp.IsEmpty then begin Application.MessageBox('门幅克重未录入,不能检验!','提示',0); Exit; end; } if Trim(CDS_MJCD.fieldbyname('MJID').AsString) <> '' then begin if Trim(Label24.Caption) = '' then Exit; InitCDGridID(); InitCDGrid(); BtnStatus(True); // BTAdd.Click; end; // if Trim(Label15.Caption) <> '' then // begin // //MJFK.Text:=''; // //MJSJKZ.Text:=''; // MJLen.Text := ''; // MJMaoZ.Text := ''; // MJQty1.Text := ''; // //MJSJKZ.Text:=''; // Label15.Caption := ''; // // end; if Trim(FAPID) = '' then Exit; FCDName := Trim(TSpeedButton(Sender).Hint); MovePanel1.Visible := True; Label21.Caption := Trim(FCDName); FInt := 11; Edit1.SetFocus; //CDQty.SetFocus; Panel3.Visible := True; // PState := 1; 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 TfrmMJManageNewFDNewSF.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 TfrmMJManageNewFDNewSF.Button1Click(Sender: TObject); var mvalue: Double; begin { if Trim(Edit1.Text)='' then begin Application.MessageBox('位置不能为空!','提示',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('疵点位置录入错误!', 'prompt', 0); Exit; end; end; end; if CDQty.Text <> '' then begin if TryStrToFloat(CDQty.Text, mvalue) = False then begin Application.MessageBox('Illegal numbers!', 'prompt', 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 := RadioGroup1.ItemIndex + 1; FieldByName('JBQty').Value := strtofloatdef(trim(Edit8.Text), 0); if Trim(CDQty.Text) <> '' then begin FieldByName('CDQty').Value := StrToFloat(CDQty.Text); end else begin FieldByName('CDQty').Value := 0; end; Post; end; Edit1.Text := ''; Edit2.Text := ''; CDQty.Text := ''; Edit8.Text := ''; MovePanel1.Visible := False; Panel3.Visible := False; end; procedure TfrmMJManageNewFDNewSF.Button4Click(Sender: TObject); begin Edit1.Text := ''; Edit2.Text := ''; CDQty.Text := ''; MovePanel1.Visible := False; Panel3.Visible := False; end; procedure TfrmMJManageNewFDNewSF.SpeedButton49Click(Sender: TObject); begin Panel3.Visible := False; end; procedure TfrmMJManageNewFDNewSF.APIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin Button3.Click; end; end; procedure TfrmMJManageNewFDNewSF.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 TfrmMJManageNewFDNewSF.Edit2Change(Sender: TObject); var mvalue: Double; begin if Trim(Edit1.Text) <> '' then begin if TryStrToFloat(Edit1.Text, mvalue) = False then begin Application.MessageBox('Illegal numbers!', 'prompt', 0); Exit; end; end else begin Exit; end; if Trim(Edit2.Text) <> '' then begin if TryStrToFloat(Edit2.Text, mvalue) = False then begin Application.MessageBox('Illegal numbers!', 'prompt', 0); Exit; end; end else begin Exit; end; CDQty.Text := FloatToStr(StrToFloat(Edit2.Text) - StrToFloat(Edit1.Text)); end; procedure TfrmMJManageNewFDNewSF.Edit3Click(Sender: TObject); begin if Trim(Edit3.Text) = '' then begin Edit3.Text := '√'; Edit4.Text := ''; end else begin Edit3.Text := ''; end; end; procedure TfrmMJManageNewFDNewSF.Edit4Click(Sender: TObject); begin if Trim(Edit4.Text) = '' then begin Edit4.Text := '√'; Edit3.Text := ''; end else begin Edit4.Text := ''; end; end; procedure TfrmMJManageNewFDNewSF.Edit6Click(Sender: TObject); begin if Trim(Edit6.Text) = '' then begin Edit6.Text := '√'; end else begin Edit6.Text := ''; end; end; procedure TfrmMJManageNewFDNewSF.MJstr3KeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin BTPrint.Click; end; end; procedure TfrmMJManageNewFDNewSF.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 TfrmMJManageNewFDNewSF.Button2Click(Sender: TObject); begin RadioGroup1.ItemIndex := -1; end; procedure TfrmMJManageNewFDNewSF.MJQty4Change(Sender: TObject); var FReal: Double; begin if Trim(MJQty4.Text) = '' then begin MJMaoZ.Text := ''; Exit; end; if TryStrToFloat(MJQty4.Text, FReal) = False then Exit; if Edit11.Text = '' then begin if (strtofloatdef(trim(kmxs.Text), 0) <> 0) and (strtofloatdef(trim(mjQty4.Text), 0) <> 0) then begin MJLen.Text := format('%.' + trim(fxsws) + 'f', [(strtofloatdef(trim(mjQty4.Text), 0) + fjZ) * strtofloatdef(trim(kmxs.Text), 0)]) end; end; end; procedure TfrmMJManageNewFDNewSF.MJMaoZChange(Sender: TObject); var FReal, jz: Double; begin if Trim(MJMaoZ.Text) = '' then begin MJQty4.Text := ''; Exit; end; if TryStrToFloat(MJMaoZ.Text, FReal) = False then Exit; if Trim(MJQty3.Text) <> '' then begin if TryStrToFloat(MJQty3.Text, FReal) = False then Exit; jz := StrToFloat(MJMaoZ.Text) - StrToFloat(MJQty3.Text); MJQty4.Text := format('%.' + trim(fxsws1) + 'f', [jz]); end else begin MJQty4.Text := MJMaoZ.Text; end; if Edit11.Text <> '' then begin if (strtofloatdef(trim(kmxs.Text), 0) <> 0) and (strtofloatdef(trim(MJMaoZ.Text), 0) <> 0) then begin MJLen.Text := format('%.' + trim(fxsws) + 'f', [(strtofloatdef(trim(MJMaoZ.Text), 0) + fjZ) * strtofloatdef(trim(kmxs.Text), 0)]) end; end; end; procedure TfrmMJManageNewFDNewSF.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 TfrmMJManageNewFDNewSF.Button3Click(Sender: TObject); var FBaoID: string; begin fRollType := ''; with ADOTmp do begin Close; sql.Clear; sql.Add('select B.*,B.OrderNo OrderNoM,C.*, '); sql.Add('maxMJxh=isnull((select max(mjxh) from WFB_MJJY X where X.SubID=C.subID),0),'); sql.Add('minMJxh=isnull((select min(mjxh) from WFB_MJJY X where X.SubID=C.subID),1),'); // sql.Add('maxBaoNO=1+isnull((select max(cast(baoNO as int)) from WFB_MJJY X where X.subID=C.subID ),0)'); sql.Add('maxBaoNO=case when B.baosx='' By Color'' then 1+isnull((select max(cast(baoNO as int)) from WFB_MJJY X where X.mainID=C.mainID and X.subid=C.subID ),0)'); sql.Add(' else 1+isnull((select max(cast(baoNO as int)) from WFB_MJJY X where X.mainID=C.mainID ),0) end '); sql.Add('from JYOrder_Sub C'); SQL.Add('inner join JYOrder_Main B on B.MainId=C.MainId '); sql.Add('where C.SubID=''' + Trim(APID.Text) + ''''); Open; end; if ADOTmp.IsEmpty = False then begin if edit10.Text = '√' then begin fRollType := 'Ruleless generation'; fRollType1 := trim(ADOTmp.fieldbyname('Orddefstr15').AsString); end else begin fRollType := trim(ADOTmp.fieldbyname('Orddefstr15').AsString); end; Label24.Visible := True; Label24.Caption := 'Order NO.:' + Trim(ADOTmp.fieldbyname('OrderNoM').AsString); Label38.Visible := True; Label38.Caption := 'Chinese description:' + Trim(ADOTmp.fieldbyname('PRTCodeName').AsString); Label25.Visible := True; Label25.Caption := 'Color NO.:' + Trim(ADOTmp.fieldbyname('SOrddefstr1').AsString); Label47.Visible := true; Label47.Caption := 'Color:' + Trim(ADOTmp.fieldbyname('PRTcolor').AsString); if Trim(ADOTmp.fieldbyname('PRTHX').AsString) <> '' then begin Label2.Visible := true; Label2.Caption := 'Design NO.:' + Trim(ADOTmp.fieldbyname('PRTHX').AsString); end; PM.Text := Trim(ADOTmp.fieldbyname('PRTCodeName').AsString); KH.Text := Trim(ADOTmp.fieldbyname('CustomerNoName').AsString); YS.Text := Trim(ADOTmp.fieldbyname('PRTColor').AsString); HX.Text := Trim(ADOTmp.fieldbyname('PRTHX').AsString); SH.Text := Trim(ADOTmp.fieldbyname('SOrddefstr1').AsString); FAPID := Trim(ADOTmp.fieldbyname('SubId').AsString); FMainId := Trim(ADOTmp.fieldbyname('MainId').AsString); FSubId := Trim(ADOTmp.fieldbyname('SubId').AsString); FJZ := ADOTmp.fieldbyname('jiazhong').AsFloat; FJC := ADOTmp.fieldbyname('jiachang').AsFloat; FDC := StrToFloatDef(ADOTmp.fieldbyname('DC').asstring, 0); fbaotype := Trim(ADOTmp.fieldbyname('baotype').AsString); fbaosx := Trim(ADOTmp.fieldbyname('baosx').AsString); if FDC <> 0 then begin Edit12.Visible := True; Label51.Visible := True; Edit12.Text := '√'; end else begin Edit12.Visible := False; Label51.Visible := False; Edit12.Text := ''; end; AOrdDefNote1.Text := 'Packaging requirements:' + #13 + Trim(ADOTmp.fieldbyname('MPRTBZNote').AsString) + #13 + 'Quality requirements:' + #13 + Trim(ADOTmp.fieldbyname('MPRTSCTeBieNote').AsString); MJQty3.Text := Trim(ADOTmp.fieldbyname('SPiZhong').AsString); kmxs.Text := Trim(ADOTmp.fieldbyname('kmxs').AsString); MJFK.Text := Trim(ADOTmp.fieldbyname('PRTMF').AsString); MJSJKZ.Text := Trim(ADOTmp.fieldbyname('PRTKZ').AsString); if edit10.Text = '' then begin MJXH.Text := inttostr(ADOTmp.fieldbyname('maxMJxh').AsInteger + 1); end else begin MJXH.Text := inttostr(ADOTmp.fieldbyname('minMJxh').AsInteger - 1); end; fxsws := Trim(ADOTmp.fieldbyname('xsws').AsString); fxsws1 := Trim(ADOTmp.fieldbyname('xsws1').AsString); baoNO.Text := Trim(ADOTmp.fieldbyname('maxBaoNO').AsString); if GetLSNo(ADOCmd, FBaoID, 'BI', 'WFB_MJJY', 3, 1) = False then begin Application.MessageBox('Failed to fetch the maximum number of the barcode!', 'prompt', 0); Exit; end; baoid.Text := FBaoID; Edit3.Text := '√'; Edit4.Text := ''; MJStr4.Text := ''; end else begin Application.MessageBox('Barcode error!', 'prompt', 0); Label2.Visible := False; Label2.Caption := ''; APID.Text := ''; FAPID := ''; FMainId := ''; FSubId := ''; AOrdDefNote1.Text := ''; MJStr4.Text := ''; fRollType := ''; Exit; end; APID.Text := ''; BTAdd.Click; end; procedure TfrmMJManageNewFDNewSF.Edit7Click(Sender: TObject); begin if Trim(Edit7.Text) = '' then begin Edit7.Text := '√'; if not IsCommOpen then OpenCom(JCYDLL); IsJsMessage := true; end else begin Edit7.Text := ''; IsJsMessage := true; end; end; procedure TfrmMJManageNewFDNewSF.Button6Click(Sender: TObject); begin frmClothHCList := TfrmClothHCList.create(self); with frmClothHCList do begin fType := '10'; if showmodal = 1 then begin APID.Text := trim(Order_Main.fieldbyname('Subid').asstring); Button3.Click; end; free; end; end; procedure TfrmMJManageNewFDNewSF.MJQty4KeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin BTPrint.Click; end; end; procedure TfrmMJManageNewFDNewSF.MJXHClick(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 TfrmMJManageNewFDNewSF.MJLenChange(Sender: TObject); begin // MJLen.Text:=JsXj(MJLen.Text); end; procedure TfrmMJManageNewFDNewSF.MJQty3Change(Sender: TObject); begin // MJQty3.Text:=JsXj(MJQty3.Text); end; procedure TfrmMJManageNewFDNewSF.MJQty2Change(Sender: TObject); begin // MJQty2.Text:=JsXj(MJQty2.Text); end; procedure TfrmMJManageNewFDNewSF.MJQty4KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin Tedit(Sender).SelStart := length(Tedit(Sender).Text); end; procedure TfrmMJManageNewFDNewSF.MJStr4Exit(Sender: TObject); begin if Pstate = 1 then begin if fRollType = 'Build-to-order' then begin with ADOCmd do begin Close; sql.Clear; sql.Add('select maxRoll=1+isnull(cast(max(mjxh) as int),0) '); sql.Add('from WFB_MJJY X where X.mainID=''' + trim(fMainID) + ''' '); // sql.add('and X.MJStr4='+quotedstr(trim(MJstr4.text))); Open; MJXH.Text := Trim(fieldbyname('maxRoll').AsString); end; end else if fRollType = 'Generated by cylinder number' then begin with ADOCmd do begin Close; sql.Clear; sql.Add('select maxRoll=1+isnull(cast(max(mjxh) as int),0) '); sql.Add('from WFB_MJJY X where X.subID=''' + trim(FSubId) + ''' '); sql.add('and X.MJStr4=' + quotedstr(trim(MJstr4.text))); Open; MJXH.Text := Trim(fieldbyname('maxRoll').AsString); end; end else if fRollType = 'Ruleless generation' then begin if edit10.Text = '√' then begin if fRollType1 = 'Build-to-order' then begin with ADOCmd do begin Close; sql.Clear; sql.Add('select maxRoll=isnull(cast(min(mjxh) as int),1)-1 '); sql.Add('from WFB_MJJY X where X.mainID=''' + trim(fMainID) + ''' '); Open; MJXH.Text := Trim(fieldbyname('maxRoll').AsString); end; end else if fRollType1 = 'Ruleless generation' then begin with ADOCmd do begin Close; sql.Clear; sql.Add('select maxRoll=isnull(cast(min(mjxh) as int),1)-1 '); sql.Add('from WFB_MJJY X where X.mainID=''' + trim(fMainID) + ''' '); Open; MJXH.Text := Trim(fieldbyname('maxRoll').AsString); end; end else if fRollType1 = 'Generated by cylinder number' then begin with ADOCmd do begin Close; sql.Clear; sql.Add('select maxRoll=isnull(cast(min(mjxh) as int),1)-1 '); sql.Add('from WFB_MJJY X where X.subID=''' + trim(FSubId) + ''' '); sql.add('and X.MJStr4=' + quotedstr(trim(MJstr4.text))); Open; MJXH.Text := Trim(fieldbyname('maxRoll').AsString); end; end else if fRollType1 = 'Generate by color' then begin with ADOCmd do begin Close; sql.Clear; sql.Add('select maxRoll=isnull(cast(min(mjxh) as int),1)-1 '); sql.Add('from WFB_MJJY X where X.subID=''' + trim(FSubId) + ''' '); Open; MJXH.Text := Trim(fieldbyname('maxRoll').AsString); end; end; end; end else begin with ADOCmd do begin Close; sql.Clear; sql.Add('select maxRoll=1+isnull(cast(max(mjxh) as int),0) '); sql.Add('from WFB_MJJY X where X.subID=''' + trim(FSubId) + ''' '); Open; MJXH.Text := Trim(fieldbyname('maxRoll').AsString); end; end; end; end; procedure TfrmMJManageNewFDNewSF.ToolButton2Click(Sender: TObject); begin if CDS_MJID.IsEmpty then exit; if CDS_MJCD.IsEmpty = False then begin if Trim(CDS_MJCD.fieldbyname('MJID').AsString) = '' then begin Application.MessageBox('Data is not saved,Data cannot be browsed!', 'prompt', 0); Exit; end; end; FInt := 4; PState := 0; InitCDGrid(); with ADOTmp do begin close; sql.Clear; sql.Add('select * from WFB_MJJY where MJID=''' + Trim(CDS_MJID.fieldbyname('MJID').AsString) + ''''); Open; end; MJFK.Text := Trim(ADOTmp.fieldbyname('MJFK').AsString); MJSJKZ.Text := Trim(ADOTmp.fieldbyname('MJSJKZ').AsString); MJQty1.Text := Trim(ADOTmp.fieldbyname('MJQty1').AsString); MJQty2.Text := Trim(ADOTmp.fieldbyname('MJQty2').AsString); MJQty3.Text := Trim(ADOTmp.fieldbyname('MJQty3').AsString); MJQty4.Text := Trim(ADOTmp.fieldbyname('MJQty4').AsString); MJMaoZ.Text := Trim(ADOTmp.fieldbyname('MJMaoZ').AsString); Label15.Caption := Trim(CDS_MJID.fieldbyname('MJID').AsString); MJLen.Text := Trim(ADOTmp.fieldbyname('MJLen').AsString); MJstr4.Text := Trim(ADOTmp.fieldbyname('MJstr4').AsString); MJXH.Text := Trim(ADOTmp.fieldbyname('MJXH').AsString); if Trim(ADOTmp.fieldbyname('MJType').AsString) = '正品' then begin Edit3.Text := '√'; Edit4.Text := ''; end else if Trim(ADOTmp.fieldbyname('MJType').AsString) = '次品' then begin Edit4.Text := '√'; Edit3.Text := ''; end; BtnStatus(False); Label16.Caption := ''; PState := 2; end; procedure TfrmMJManageNewFDNewSF.Edit9Click(Sender: TObject); begin if Trim(Edit9.Text) = '' then begin Edit9.Text := '√'; end else begin Edit9.Text := ''; end; end; procedure TfrmMJManageNewFDNewSF.ToolButton3Click(Sender: TObject); begin if CDS_MJID.IsEmpty then exit; if Application.MessageBox('Are you sure you want to delete data?', 'prompt', 32 + 4) <> IDYES then Exit; with ADOCmd do begin Close; sql.Clear; sql.add('insert into WFB_MJJY_Del select * from WFB_MJJY where mjid=''' + trim(CDS_MJID.FieldByName('MJID').AsString) + ''' '); sql.Add('update WFB_MJJY_Del Set DelTime=Getdate(),Deler=''' + Trim(DName) + ''' where mjid=''' + trim(CDS_MJID.FieldByName('MJID').AsString) + ''' '); sql.Add('delete WFB_MJJY where MJID=''' + trim(CDS_MJID.fieldbyName('MJID').AsString) + ''' '); sql.Add('delete WFB_MJJY_CD where MJID=''' + trim(CDS_MJID.fieldbyName('MJID').AsString) + ''' '); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,Mainid) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('Verify deletion'))); sql.Add(',' + quotedstr(trim('Barcode:' + trim(CDS_MJID.FieldByName('MJID').AsString) + ' Order NO:' + trim(fsubID) + ' Lot NO:' + trim(CDS_MJID.FieldByName('MJstr4').AsString) + 'Roll No:' + trim(CDS_MJID.FieldByName('MJXH').AsString) + 'Length:' + trim(CDS_MJID.FieldByName('MJLen').AsString) + 'N.W:' + trim(CDS_MJID.FieldByName('MJQty4').AsString)))); sql.Add(',' + quotedstr(trim('succeed'))); sql.Add(',' + quotedstr(trim(FMainId))); sql.Add(')'); execsql; end; InitCDGridID(); PlaySound('wav\删除成功.wav', 0, SND_FILENAME or SND_ASYNC); end; procedure TfrmMJManageNewFDNewSF.Button7Click(Sender: TObject); var fPrintFile: string; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; FBaoID: string; i: Integer; begin if CDS_MJID.IsEmpty then exit; CDS_MJID.First; with ADOQueryPrint do begin Close; SQL.Clear; sql.Add('select A.Baoid,A.BaoNo,A.MJTypeOther as QtyUnit,D.OrderNo,D.conNo,D.customerNoName,D.MprtCodeName,D.Mprtspec,D.OrdPerson1,D.MPRTKuanNO,D.LBName,D.NLBName,'); sql.Add('PRTColor=DBO.F_Get_Order_SubStr(BaoID,''BNColor''),SOrddefstr1=DBO.F_Get_Order_SubStr(BaoID,''BNSOrddefstr1''),'); sql.Add('SOrddefstr4=DBO.F_Get_Order_SubStr(BaoID,''BNSOrddefstr4''),PRtHX=DBO.F_Get_Order_SubStr(BaoID,''BNPRtHX''), '); sql.Add('Mjstr4=DBO.F_Get_Order_SubStr(BaoID,''BNGangNo''), '); sql.Add('MJXH=DBO.F_Get_Order_SubStr(BaoID,''BNMJXH''), '); sql.Add('BNMJLENLIST=DBO.F_Get_Order_SubStr(BaoID,''BNMJLENLIST''), '); sql.Add('PRTkuanNo=DBO.F_Get_Order_SubStr(BaoID,''BNPrtkuanno''),'); sql.Add('khConNo=(select top 1 khConNo from JYOrderCon_Main X where X.ConNO=D.conNO), '); sql.Add('MprtCodeNameEng=(select top 1 Note from KH_Zdy X where X.zdyName=D.MprtCodeName), '); SQL.ADD('count(A.MJID) as JSl,sum(A.MJMaoZ) MJMAOZ,sum(MJQty3) as MJQty3,sum(MJQty4) as MJQty4,SUM(A.MJLen)as MJLen'); sql.Add('from WFB_MJJY A'); sql.Add('inner join JYOrder_Sub C on C.SubID=A.SubID'); sql.Add('inner join JYOrder_Main D on D.MainID=A.MainID'); SQL.Add('where A.BaoID=''' + Trim(CDS_MJID.fieldbyname('baoID').AsString) + ''''); SQL.ADD('group by A.Baoid,A.BaoNo,A.MJTypeOther,D.OrderNo,D.conNo,D.customerNoName,D.MprtCodeName,D.Mprtspec,D.OrdPerson1,D.MPRTKuanNO,D.LBName,D.NLBName'); Open; end; if ADOQueryPrint.RecordCount > 1 then begin Application.MessageBox('Packaging error,Please repackage!', 'prompt', 0); Exit; end; if ADOQueryPrint.RecordCount < 1 then begin Application.MessageBox('This packet number has not been saved,Please save the data,Print the barcode again!', 'prompt', 0); Exit; end; try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); Txt := trim(BaoID.Text); 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('Barcode generation failed!', 'Prompt information', MB_ICONERROR); exit; end; with ADOTmp do begin close; sql.Clear; sql.Add('select max(cast(baoNO as int)) as maxbaoNO from WFB_MJJY '); sql.Add('where mainID=' + quotedstr(trim(fmainID))); sql.Add('and subID=' + quotedstr(trim(fsubID))); open; end; baoNo.Text := inttostr(ADOTmp.fieldbyname('maxbaoNO').AsInteger + 1); if GetLSNo(ADOTmp, FBaoID, 'BI', 'WFB_MJJY', 3, 1) = False then begin Application.MessageBox('Failed to fetch the maximum number of the barcode!', 'Prompt information', 0); Exit; end; BaoID.Text := trim(FBaoID); if Trim(ADOQueryPrint.fieldbyname('NLBName').AsString) <> '' then begin ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('NLbName').AsString), ADOCmd); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('NLbName').AsString) end else begin ExportFtErpFile('包标签.rmf', ADOCmd); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\包标签.rmf'; end; if not FileExists(fPrintFile) then begin Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); Exit; end; if FileExists(fPrintFile) then begin RMVariables['QRBARCODE'] := fImagePath; RM2.LoadFromFile(fPrintFile); RM2.DefaultCopies := 1; //RM2.ShowReport; RM2.printReport; end; end; procedure TfrmMJManageNewFDNewSF.Edit10Click(Sender: TObject); begin if Trim(Edit10.Text) = '' then begin Edit10.Text := '√'; frolltype1 := frolltype; frolltype := 'Ruleless generation'; end else begin Edit10.Text := ''; frolltype := frolltype1; frolltype1 := ''; end; end; procedure TfrmMJManageNewFDNewSF.Edit11Click(Sender: TObject); begin if Trim(Edit11.Text) = '' then begin Edit11.Text := '√'; end else begin Edit11.Text := ''; end; end; procedure TfrmMJManageNewFDNewSF.ToolButton4Click(Sender: TObject); begin frmSysLogOrder := TfrmSysLogOrder.create(self); with frmSysLogOrder do begin fModel := self.caption; frmSysLogOrder.FMainId := Trim(Self.FMainId); showmodal; free; end; end; procedure TfrmMJManageNewFDNewSF.MaxRollNoKeyPress(Sender: TObject; var Key: Char); begin if not (Key in ['0'..'9']) then Key := #0; end; procedure TfrmMJManageNewFDNewSF.Edit12Click(Sender: TObject); begin if Trim(Edit12.Text) = '' then begin Edit12.Text := '√'; end else begin Edit12.Text := ''; end; end; procedure TfrmMJManageNewFDNewSF.Timer1Timer(Sender: TObject); begin btprint.Enabled := True; Timer1.Enabled := False; end; procedure TfrmMJManageNewFDNewSF.TBCDClick(Sender: TObject); var fPrintFile: string; i: Integer; begin if CDS_MJID.IsEmpty then Exit; MggCDFalg := '99'; PrtData(Trim(CDS_MJID.fieldbyname('MJID').AsString)); Label16.Caption := ''; BTAdd.Click; MJLen.SetFocus; MJQty4.OnClick(MJQty4); end; procedure TfrmMJManageNewFDNewSF.Edit5Click(Sender: TObject); begin if Trim(Edit5.Text) = '' then begin Edit5.Text := '√'; end else begin Edit5.Text := ''; end; end; procedure TfrmMJManageNewFDNewSF.Button9Click(Sender: TObject); begin try frmSCPersonColor := TfrmSCPersonColor.Create(self); with frmSCPersonColor do begin FTYPE := 'KH'; if ShowModal = 1 then begin KH.Text := FName; end; end; finally frmSCPersonColor.close; end; end; procedure TfrmMJManageNewFDNewSF.Button10Click(Sender: TObject); begin try frmSCPersonColor := TfrmSCPersonColor.Create(self); with frmSCPersonColor do begin FTYPE := 'PM'; if ShowModal = 1 then begin PM.Text := FName; end; end; finally frmSCPersonColor.close; end; end; procedure TfrmMJManageNewFDNewSF.Button13Click(Sender: TObject); begin try frmSCPersonColor := TfrmSCPersonColor.Create(self); with frmSCPersonColor do begin FTYPE := 'HX'; if ShowModal = 1 then begin HX.Text := FName; end; end; finally frmSCPersonColor.close; end; end; procedure TfrmMJManageNewFDNewSF.Button11Click(Sender: TObject); begin try frmSCPersonColor := TfrmSCPersonColor.Create(self); with frmSCPersonColor do begin FTYPE := 'YS'; if ShowModal = 1 then begin YS.Text := FName; end; end; finally frmSCPersonColor.close; end; end; procedure TfrmMJManageNewFDNewSF.Button121Click(Sender: TObject); begin try frmSCPersonColor := TfrmSCPersonColor.Create(self); with frmSCPersonColor do begin FTYPE := 'SH'; if ShowModal = 1 then begin SH.Text := FName; end; end; finally frmSCPersonColor.close; end; end; procedure TfrmMJManageNewFDNewSF.Edit13Click(Sender: TObject); begin if Trim(Edit13.Text) = '' then begin Edit13.Text := '√'; APID.Text := 'JS2305190001'; with ADOQueryPrint do begin Close; sql.Clear; sql.Add('Update JYOrder_Sub Set SLBName=''' + Trim(SLBName.Text) + ''' + ''.rmf'' '); sql.Add(' where Subid=''' + APID.Text + ''''); ExecSQL; end; Button3.Click; end else begin Edit13.Text := ''; end; end; end.