unit U_OrderInPut; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils, cxCurrencyEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxDropDownEdit, RM_Common, RM_Preview, RM_System, RM_Class, RM_GridReport, cxPC, Menus, cxLookAndFeels, cxLookAndFeelPainters, dxBarBuiltInMenu, cxNavigator, cxCheckBox, dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter, 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, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue; type TfrmOrderInPut = class(TForm) ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; ScrollBox1: TScrollBox; Label1: TLabel; OrderNo: TEdit; ADOTemp: TADOQuery; ADOCmd: TADOQuery; Label10: TLabel; ConNo: TEdit; Label3: TLabel; Label14: TLabel; Label12: TLabel; Label13: TLabel; OrdDate: TDateTimePicker; CustomerNoName: TBtnEditC; Label2: TLabel; Label6: TLabel; Label19: TLabel; Label25: TLabel; DLYDate: TDateTimePicker; MPRTBZNote: TMemo; Note: TMemo; Label23: TLabel; MPRTMF: TEdit; MPRTSpec: TEdit; MPRTKZ: TEdit; ADOQueryLabel: TADOQuery; RMGridReport1: TRMGridReport; Label8: TLabel; YWY: TBtnEditC; Label11: TLabel; orderType: TComboBox; PRTColor: TEdit; MPRTCodeName: TBtnEditC; Label5: TLabel; PRTPs: TEdit; Label9: TLabel; PRTOrderQty: TEdit; Label15: TLabel; OrderUnit: TEdit; Label16: TLabel; PopupMenu1: TPopupMenu; N2: TMenuItem; N1: TMenuItem; CDS_PBCK: TClientDataSet; DS_PBKC: TDataSource; ADO_PBCK: TADOQuery; CDS_Glide: TClientDataSet; DS_Glide: TDataSource; Label7: TLabel; PBSPEC: TEdit; Label18: TLabel; PRTPiZhong: TEdit; ToolButton5: TToolButton; Label20: TLabel; KHConNo: TEdit; Label21: TLabel; cxPageControl1: TcxPageControl; cxTabSheet3: TcxTabSheet; ToolBar3: TToolBar; ToolButton1: TToolButton; ToolButton6: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; TV2Column1: TcxGridDBColumn; TV2Column2: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; cxTabSheet4: TcxTabSheet; gongyi: TcxButtonEdit; Label24: TLabel; PBName: TEdit; Label27: TLabel; BQKH: TEdit; cxTabSheet1: TcxTabSheet; Panel2: TPanel; Label39: TLabel; Label40: TLabel; CRTime: TDateTimePicker; Button1: TButton; Button2: TButton; carnum: TcxCurrencyEdit; Button3: TButton; cxGrid3: TcxGrid; TV3: TcxGridDBTableView; V1Column7: TcxGridDBColumn; V1Column1: TcxGridDBColumn; V1Column10: TcxGridDBColumn; V1Column5: TcxGridDBColumn; VC_KKMF: TcxGridDBColumn; VC_KKKZ: TcxGridDBColumn; V1Column2: TcxGridDBColumn; V1Column4: TcxGridDBColumn; TV1Column1: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; CDS_Car: TClientDataSet; DS_Car: TDataSource; Panel1: TPanel; ToolBar2: TToolBar; ToolButton7: TToolButton; ToolButton8: TToolButton; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; V3Column1: TcxGridDBColumn; V3Column2: TcxGridDBColumn; TV1Column2: TcxGridDBColumn; V3Column3: TcxGridDBColumn; V3Column4: TcxGridDBColumn; V3Column5: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; Panel3: TPanel; ToolBar4: TToolBar; ToolButton9: TToolButton; ToolButton10: TToolButton; CDS_DB: TClientDataSet; DS_DB: TDataSource; ADOQuery1: TADOQuery; Label43: TLabel; Label44: TLabel; YXMF: TEdit; YXKZ: TEdit; Label45: TLabel; MNAME: TcxButtonEdit; fmhd: TEdit; Label46: TLabel; Label47: TLabel; MFUKUAN: TEdit; TV1Column4: TcxGridDBColumn; Label48: TLabel; TV1Column5: TcxGridDBColumn; TV1Column6: TcxGridDBColumn; TV1Column7: TcxGridDBColumn; TV1Column8: TcxGridDBColumn; cxGrid4: TcxGrid; TV4: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridDBColumn10: TcxGridDBColumn; cxGridDBColumn11: TcxGridDBColumn; cxGridDBColumn12: TcxGridDBColumn; cxGridLevel3: TcxGridLevel; TV3Column1: TcxGridDBColumn; TV4Column1: TcxGridDBColumn; TV4Column2: TcxGridDBColumn; zhaiyao: TcxButtonEdit; cxTabSheet2: TcxTabSheet; Panel4: TPanel; ToolBar5: TToolBar; ToolButton11: TToolButton; ToolButton12: TToolButton; cxGrid5: TcxGrid; TV5: TcxGridDBTableView; cxGridDBColumn13: TcxGridDBColumn; cxGridDBColumn16: TcxGridDBColumn; cxGridDBColumn17: TcxGridDBColumn; cxGridDBColumn22: TcxGridDBColumn; cxGridDBColumn23: TcxGridDBColumn; cxGridLevel4: TcxGridLevel; TV5Column1: TcxGridDBColumn; CDS_M: TClientDataSet; DS_M: TDataSource; Label49: TLabel; PRTHX: TEdit; Label50: TLabel; Label51: TLabel; labname1: TEdit; labname2: TEdit; Label52: TLabel; SCCARNO: TcxButtonEdit; TV4Column3: TcxGridDBColumn; Label17: TLabel; PBZPS: TEdit; Label26: TLabel; Label22: TLabel; MPRTCode: TBtnEditC; DBColor: TcxButtonEdit; Label4: TLabel; CPGRADE: TComboBox; Label28: TLabel; JLFS: TComboBox; procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure CustomerNoNameBtnUpClick(Sender: TObject); procedure CustomerNoNameBtnDnClick(Sender: TObject); procedure MPRTCodeNameBtnUpClick(Sender: TObject); procedure OrdDefStr2BtnUpClick(Sender: TObject); procedure YCLFactoryBtnUpClick(Sender: TObject); procedure MPRTSCTeBieNoteBtnUpClick(Sender: TObject); procedure MPRTBZNoteDblClick(Sender: TObject); procedure MPRTCodeBtnUpClick(Sender: TObject); procedure PRTColorChange(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure ToolButton8Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure PRTPsChange(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure PRTPsKeyPress(Sender: TObject; var Key: Char); procedure TV2Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TV2Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure gongyiPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Jlen1KeyPress(Sender: TObject; var Key: Char); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure TV2Column3PropertiesEditValueChanged(Sender: TObject); procedure ToolButton9Click(Sender: TObject); procedure ToolButton10Click(Sender: TObject); procedure V3Column4PropertiesEditValueChanged(Sender: TObject); procedure TV1Column3PropertiesEditValueChanged(Sender: TObject); procedure cxGridDBColumn9PropertiesEditValueChanged(Sender: TObject); procedure ToolButton11Click(Sender: TObject); procedure ToolButton12Click(Sender: TObject); procedure cxGridDBColumn22PropertiesEditValueChanged(Sender: TObject); procedure cxGridDBColumn23PropertiesEditValueChanged(Sender: TObject); private procedure InitData(); procedure GetGy(); procedure ZDYHelp(FButn: TcxButtonEdit; LType: string); function SaveData(): Boolean; function getOrderNo(fconNo: string): string; function CheckData(): Boolean; procedure InitPBCK(); procedure InitDBCK(); procedure InitM(); procedure Initqty(); procedure CJEWM(MSpid: string); { Private declarations } public PState, CopyInt, PriceFlag: Integer; FMainId, FSubId, FKCID, FFMainId, FOrderNo: string; FYPS: string; FXS: Integer; canshu1: string; fFlileFlag: string; { Public declarations } end; var frmOrderInPut: TfrmOrderInPut; newh: hwnd; implementation uses U_DataLink, U_ZDYHelp, U_Fun, U_ZDYHelpSel, U_ZdyAttachment, U_ZdyAttachGYS, U_CPManageSel, getpic, U_LabelList, U_ProductFileSel, U_PBCKCMSel, U_PBKcList, U_GXGL_List_DXCX, U_ShaKCListJWLSEL; {$R *.dfm} procedure TfrmOrderInPut.CJEWM(MSpid: string); var Txt, fImagePath, maxNo: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; begin try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); Txt := Trim(MSpid); 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); with ADOQuery1 do begin Close; SQL.Clear; SQL.Add('select * from TP_File '); sql.Add('where TFID=' + quotedstr(trim(Txt))); sql.Add('and TFType=''EWM'''); open; if isempty then begin append; fieldbyname('TFID').Value := trim(Txt); fieldbyname('WBID').Value := trim(MSpid); fieldbyname('TFType').Value := 'EWM'; fieldbyname('FillTime').Value := SGetServerDateTime(ADOTemp); tblobfield(FieldByName('Filesother')).LoadFromFile(fImagePath); post; end; end; except application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR); exit; end; end; procedure TfrmOrderInPut.Initqty(); var fqty, fps: double; begin if CDS_PBCK.IsEmpty = False then begin fqty := TV1.DataController.Summary.FooterSummaryValues[4]; fps := TV1.DataController.Summary.FooterSummaryValues[1]; if fps <> 0 then begin PRTPs.Text := FloatToStr(fps); end; if fqty <> 0 then begin PRTOrderQty.Text := FloatToStr(fqty); end; end; end; procedure TfrmOrderInPut.GetGy(); begin with ADOTemp do begin Close; SQL.Clear; sql.Add('select top 1 MPRTBZNote,Note,labname1,labname2 from JYOrder_Main X inner join JYOrder_Sub Y on X.MainId=Y.MainId '); sql.Add(' where X.CustomerNoName=' + quotedstr(trim(CustomerNoName.Text))); sql.Add(' and X.MPRTCodeName=' + quotedstr(trim(MPRTCodeName.Text))); sql.Add(' order by OrdDate desc '); // ShowMessage(SQL.Text); Open; end; MPRTBZNote.Text := Trim(ADOTemp.FieldByName('MPRTBZNote').AsString); Note.Text := Trim(ADOTemp.FieldByName('Note').AsString); labname1.Text := Trim(ADOTemp.FieldByName('labname1').AsString); labname2.Text := Trim(ADOTemp.FieldByName('labname2').AsString); // MPRTMF.Text := Trim(ADOTemp.FieldByName('MPRTMF').AsString); // MPRTKZ.Text := Trim(ADOTemp.FieldByName('MPRTKZ').AsString); with ADOTemp do begin Close; SQL.Clear; sql.Add('select GlideNo='''',GlideIdx,CarNo='''',MainId='''',SubId='''',GlideName,MXCOLOR,RollNum,Qty,QtyUnit,Filler,Filltime,Editer,Edittime,Chker,ChkTime,Status,Valid,Note,MXPS,kaipi'); sql.Add('from JYOrder_Glide A '); sql.Add(' where A.CarNo=(select top 1 OrderNo from JYOrder_Main X inner join JYOrder_Sub Y on X.MainId=Y.MainId where X.MPRTCodeName=' + quotedstr(trim(MPRTCodeName.Text))); sql.Add(' and X.CustomerNoName=' + quotedstr(trim(CustomerNoName.Text))); sql.Add(' and X.MPRTMF=' + quotedstr(trim(MPRTMF.Text))); sql.Add(' and X.MPRTKZ=' + quotedstr(trim(MPRTKZ.Text))); // sql.Add(' and Y.PRTColor=' + quotedstr(trim(PRTColor.Text))); sql.Add(' and Status=''1'' order by OrdDate desc)'); sql.Add(' order by Glideidx '); Open; end; SCreateCDS20(ADOTemp, CDS_Glide); SInitCDSData20(ADOTemp, CDS_Glide); end; procedure TfrmOrderInPut.InitPBCK(); begin try with ADO_PBCK do begin close; sql.Clear; sql.Add('select A.*'); sql.Add(',KCPS=(select X.KCPS from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',CodeName=(select X.CodeName from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',KCQTY=(select X.KCQTY from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',QTYUNIT=(select X.QTYUNIT from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); // sql.Add(',fpunit=(select X.QTYUNIT from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); // // sql.Add(',fpqty=(select X.KCQTY from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add('from JYOrder_PBKC A '); sql.Add(' where A.MainID=' + QUOTEDSTR(Trim(FMainID))); sql.Add(' AND A.SUBID=' + QUOTEDSTR(Trim(FSUBID))); // ShowMessage(SQL.Text); open; end; SCreateCDS20(ADO_PBCK, CDS_PBCK); SInitCDSData20(ADO_PBCK, CDS_PBCK); finally end; end; procedure TfrmOrderInPut.InitM(); begin try with ADOQuery1 do begin close; sql.Clear; sql.Add('select A.*'); sql.Add(',CodeName=(select X.SPNAME from CK_SXPB_CR X where X.CRFlag=''入库'' and X.SPID=A.KCID)'); sql.Add(',MXKCQty=(select X.MXKCQty from CK_SXPB_CR X where X.CRFlag=''入库'' and X.SPID=A.KCID)'); sql.Add(',MXKCKgQty=(select X.MXKCKgQty from CK_SXPB_CR X where X.CRFlag=''入库'' and X.SPID=A.KCID)'); sql.Add('from JYOrder_MKC A '); sql.Add('where A.MainID=' + QUOTEDSTR(Trim(FMainID))); sql.Add('AND A.SUBID=' + QUOTEDSTR(Trim(FSUBID))); // ShowMessage(SQL.Text); open; end; SCreateCDS20(ADOQuery1, CDS_m); SInitCDSData20(ADOQuery1, CDS_m); finally end; end; procedure TfrmOrderInPut.InitDBCK(); begin try with ADOQuery1 do begin close; sql.Clear; sql.Add('select A.*'); sql.Add(',batchno=(select X.batchno from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',KCPS=(select X.KCPS from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',CodeName=(select X.CodeName from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',KCQTY=(select X.KCQTY from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',QTYUNIT=(select X.QTYUNIT from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',MF=(select X.mf from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',KZ=(select X.kz from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add('from JYOrder_DBKC A '); sql.Add(' where A.MainID=' + QUOTEDSTR(Trim(FMainID))); sql.Add(' AND A.SUBID=' + QUOTEDSTR(Trim(FSUBID))); // ShowMessage(SQL.Text); open; end; SCreateCDS20(ADOQuery1, CDS_DB); SInitCDSData20(ADOQuery1, CDS_DB); finally end; end; function TfrmOrderInPut.CheckData(): Boolean; var mvalue, FReal: double; begin ToolBar1.SetFocus; try // if Trim(conNo.Text) = '' then // raise Exception.Create('订单号不能为空!'); if Trim(MPRTCodeName.Text) = '' then raise Exception.Create('产品名称不能为空!'); if Trim(CPGRADE.Text) = '' then raise Exception.Create('等级不能为空!'); // if CDS_car.Locate('RollNum', null, []) then // begin // raise Exception.Create('开卡匹数不能为零!'); // // end; // if CDS_car.Locate('RollNum', 0, []) then // begin // raise Exception.Create('开卡匹数不能为零!'); // // end; if PRTPs.Text <> FloatToStr(TV1.DataController.Summary.FooterSummaryValues[1]) then raise Exception.Create('分配匹数与实际使用匹数不一致!'); // if CDS_Glide.IsEmpty then // raise Exception.Create('缸号明细不能为空!'); // if CDS_Glide.Locate('GlideName', null, []) = True then // begin // if CDS_Glide.fieldbyname('MXCOLOR').asstring = '' then // begin // raise Exception.Create('缸号和颜色不能都为空!'); // end; // // end; // if CDS_Glide.Locate('GlideName', '', []) = True then // begin // if CDS_Glide.fieldbyname('MXCOLOR').asstring = '' then // begin // raise Exception.Create('缸号和颜色不能都为空!'); // end; // // end; // if Order_Sub.Locate('PRTOrderQty', null, []) then // raise Exception.Create('数量不能为空!'); if Trim(PRTPs.Text) = '' then raise Exception.Create('匹数不能为空!'); if Tv1.DataController.Summary.FooterSummaryValues[1] < StrTofloat(PRTPs.Text) then raise Exception.Create('分配匹数不足!'); Result := True; except Result := false; application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); end; end; function TfrmOrderInPut.getOrderNo(fconNo: string): string; var str1: string; i: integer; begin str1 := trim(fconNo) + '01'; with ADOTemp do begin close; sql.Clear; sql.Add('select MainID from JYOrder_Main where orderNo=' + quotedstr(trim(str1))); open; end; if not ADOTemp.IsEmpty then begin for i := 1 to 99 do begin str1 := trim(fconNo) + rightstr(inttostr(100 + i), 2); with ADOCmd do begin close; sql.Clear; sql.Add('select MainID from JYOrder_Main where orderNo=' + quotedstr(trim(str1))); open; end; if ADOCmd.IsEmpty then break; end; end; result := str1; end; procedure TfrmOrderInPut.TBCloseClick(Sender: TObject); begin WriteCxGrid(Self.Caption + 'Tv1', Tv1, '生产指示单管理'); Close; end; procedure TfrmOrderInPut.InitData(); var a: string; b: TStrings; begin if PState = 0 then begin OrdDate.DateTime := SGetServerDateTime(ADOTemp); DlyDate.DateTime := OrdDate.DateTime; end; CRTime.DateTime := SGetServerDateTime(ADOTemp); //**********************刷新计划单信息***************************** with ADOTemp do begin Close; sql.Clear; if PState = 0 then begin sql.Add('select X.* '); sql.Add('from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.KCID= ' + QUOTEDSTR(Trim(FKCID))); end else begin sql.Add('select A.*,B.* from JYOrder_Main A inner join JYOrder_Sub B on A.Mainid=B.Mainid '); sql.Add(' where B.SubId=' + Quotedstr(Trim(FSubId))); end; Open; end; if PState = 0 then begin CustomerNoName.Text := Trim(ADOTemp.FieldByName('fromFactoryName').AsString); // MPRTCodeName.Text := Trim(ADOTemp.FieldByName('Code').AsString); PBNAME.Text := Trim(ADOTemp.FieldByName('CodeName').AsString); MPRTMF.Text := Trim(ADOTemp.FieldByName('MF').AsString); MPRTKZ.Text := Trim(ADOTemp.FieldByName('KZ').AsString); MPRTSpec.Text := Trim(ADOTemp.FieldByName('BatchNo').AsString); PRTColor.Text := Trim(ADOTemp.FieldByName('CPColor').AsString); PRTPs.Text := Trim(ADOTemp.FieldByName('PS').AsString); PRTPiZhong.Text := Trim(ADOTemp.FieldByName('PiZhong').AsString); PRTOrderQty.Text := Trim(ADOTemp.FieldByName('ZSQty').AsString); KHConNo.Text := Trim(ADOTemp.FieldByName('KHConNo').AsString); PRTHX.Text := Trim(ADOTemp.FieldByName('CPHX').AsString); OrderUnit.Text := 'M'; //Trim(ADOTemp.FieldByName('QtyUnit').AsString); PBZPS.Text := Trim(ADOTemp.FieldByName('PS').AsString); // PBSPEC.Text := Trim(ADOTemp.FieldByName('MF').AsString) + '/' + Trim(ADOTemp.FieldByName('KZ').AsString); conno.Text := Trim(ADOTemp.FieldByName('CloOrderno').AsString); // a:='切边、米、公斤、打包'; // b.Text:=a; // ExtractStrings(['#'],[' '],PChar(a),b); // MPRTBZNote.Text :='切边、米、公斤、打包'; with ADOTemp do begin Close; sql.Clear; sql.Add(' select top 1 A.* from JYOrder_Main A '); sql.Add(' where A.MPRTCodeName=' + Quotedstr(Trim(MPRTCodeName.Text))); sql.Add(' and A.Status=''1'' order by A.OrdDate desc'); Open; end; if Trim(MPRTKZ.Text) = '' then MPRTMF.Text := Trim(ADOTemp.FieldByName('MPRTMF').AsString); if Trim(MPRTKZ.Text) = '' then MPRTKZ.Text := Trim(ADOTemp.FieldByName('MPRTKZ').AsString); end else begin SCSHDataNew(ADOTemp, ScrollBox1, 1); SCSHDataNew(ADOTemp, ScrollBox1, 2); end; //**********************刷新计划单信息***************************** //**********************刷新安排坯布库存***************************** with ADOTemp do begin Close; SQL.Clear; if PState = 0 then begin sql.Add('select CodeName,X.KCPS,X.KCId,X.KCQTY,X.QTYUNIT,PBKCID='''',MainId='''',SubId='''', FPPS=KCPS,YYPS=0.00,mltype,fpqty=kcqty '); SQL.Add(',FPUNIT=QTYUNIT'); SQL.Add(',ZSMS=ROUND(KCPS*ZSQTY/PS,2)'); SQL.Add(',PICHANG=ROUND( ZSQTY/PS,2)'); sql.Add('from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.KCID= ' + QUOTEDSTR(Trim(FKCID))); end else begin sql.Add('select A.*'); sql.Add(',CodeName=(select X.CodeName from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',KCPS=(select X.KCPS from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',KCQTY=(select X.KCQTY from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',QTYUNIT=(select X.QTYUNIT from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add('from JYOrder_PBKC A '); sql.Add('where A.MainID=' + QUOTEDSTR(Trim(FMainID))); sql.Add('AND A.SUBID=' + QUOTEDSTR(Trim(FSUBID))); end; Open; end; SCreateCDS20(ADOTemp, CDS_PBCK); SInitCDSData20(ADOTemp, CDS_PBCK); with ADOTemp do begin Close; SQL.Clear; sql.Add('select A.*'); sql.Add(',batchno=(select X.batchno from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',CodeName=(select X.CodeName from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',KCPS=(select X.KCPS from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',KCQTY=(select X.KCQTY from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',QTYUNIT=(select X.QTYUNIT from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',mf=(select X.mf from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add(',kz=(select X.kz from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.CRID=A.KCID)'); sql.Add('from JYOrder_DBKC A '); sql.Add('where A.MainID=' + QUOTEDSTR(Trim(FMainID))); sql.Add('AND A.SUBID=' + QUOTEDSTR(Trim(FSUBID))); Open; end; SCreateCDS20(ADOTemp, CDS_DB); SInitCDSData20(ADOTemp, CDS_DB); with ADOTemp do begin Close; SQL.Clear; sql.Add('select A.*'); sql.Add(',CodeName=(select X.SPNAME from CK_SXPB_CR X where X.CRFlag=''入库'' and X.SPID=A.KCID)'); sql.Add(',MXKCQty=(select X.MXKCQty from CK_SXPB_CR X where X.CRFlag=''入库'' and X.SPID=A.KCID)'); sql.Add(',MXKCKgQty=(select X.MXKCKgQty from CK_SXPB_CR X where X.CRFlag=''入库'' and X.SPID=A.KCID)'); sql.Add('from JYOrder_MKC A '); sql.Add('where A.MainID=' + QUOTEDSTR(Trim(FMainID))); sql.Add('AND A.SUBID=' + QUOTEDSTR(Trim(FSUBID))); Open; end; SCreateCDS20(ADOTemp, CDS_M); SInitCDSData20(ADOTemp, CDS_M); //**********************刷新安排坯布库存***************************** //**********************刷新工序安排***************************** // if PState = 0 then // begin // // //2、新增计划单时客户、品名、色号和之前一样时调取最近一次的门幅、克重、颜色、包装要求、工序 // GetGY() // // end // else // begin // with ADOTemp do // begin // Close; // SQL.Clear; // sql.Add('select A.*'); // sql.Add('from JYOrder_Glide A '); // sql.Add('where A.CarNo=' + quotedstr(trim(FOrderNo))); // sql.Add(' order by Glideidx '); //// showmessage(SQL.text); // Open; // end; // end; with ADOTemp do begin Close; SQL.Clear; sql.Add('select A.*'); sql.Add('from JYOrder_Glide A '); sql.Add('where A.CarNo=' + quotedstr(trim(FOrderNo))); sql.Add(' order by Glideidx '); // showmessage(SQL.text); Open; end; SCreateCDS20(ADOTemp, CDS_Glide); SInitCDSData20(ADOTemp, CDS_Glide); if ADOTemp.IsEmpty then begin with CDS_Glide do begin Append; CDS_Glide.FieldByName('Glideidx').Value := 1; CDS_Glide.FieldByName('GlideName').Value := '压花'; Append; CDS_Glide.FieldByName('Glideidx').Value := 2; CDS_Glide.FieldByName('GlideName').Value := '刷花'; Append; CDS_Glide.FieldByName('Glideidx').Value := 3; CDS_Glide.FieldByName('GlideName').Value := '退卷'; Append; CDS_Glide.FieldByName('Glideidx').Value := 4; CDS_Glide.FieldByName('GlideName').Value := '复合'; Append; CDS_Glide.FieldByName('Glideidx').Value := 5; CDS_Glide.FieldByName('GlideName').Value := '切边品检'; post; end; end; // if CDS_Glide.IsEmpty = True then // begin // if FKCID <> '' then // begin // with ADOTemp do // begin // Close; // SQL.Clear; // sql.Add('select * from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.KCID= ' + QUOTEDSTR(Trim(FKCID))); // Open; // end; // with CDS_Glide do // begin // Append; // CDS_Glide.FieldByName('Glideidx').Value := CDS_Glide.RecordCount + 1; // CDS_Glide.FieldByName('kaipi').Value := '否'; // CDS_Glide.FieldByName('GlideName').Value := ADOTemp.FieldByName('batchno').AsString; // CDS_Glide.FieldByName('MXCOLOR').Value := ADOTemp.FieldByName('CPCOLOR').AsString; // CDS_Glide.FieldByName('MXPS').Value := ADOTemp.FieldByName('KCPS').AsString; // end; // end; // // end; with ADOTemp do begin Close; SQL.Clear; sql.Add('select A.*'); sql.Add('from JYOrder_car A '); sql.Add('where A.mainid=' + quotedstr(trim(fmainid))); sql.Add(' order by carxh '); Open; end; SCreateCDS20(ADOTemp, CDS_car); SInitCDSData20(ADOTemp, CDS_car); //**********************刷新工序安排***************************** //**********************复制生产单***************************** if CopyInt = 99 then begin PState := 0; FMainId := ''; FSubId := ''; OrderNo.Text := ''; end; //**********************复制生产单***************************** end; procedure TfrmOrderInPut.ZDYHelp(FButn: TcxButtonEdit; LType: string); var FType, ZDYName, FText: string; begin end; procedure TfrmOrderInPut.FormShow(Sender: TObject); begin readCxGrid(Self.Caption + 'TV1', Tv1, '生产指示单管理'); OrderNo.Text := ''; fFlileFlag := UserDataFlag + 'HX'; with ADOTemp do begin Close; SQL.Clear; sql.Add('DELETE JYOrder_PBKC WHERE MAINID='''''); sql.Add('DELETE JYOrder_DBKC WHERE MAINID='''''); sql.Add('DELETE JYOrder_MKC WHERE MAINID='''''); ExecSQL; end; InitData(); Initqty(); end; function TfrmOrderInPut.SaveData(): Boolean; var maxno, Smaxno, maxorderno, MaxPBKCID, MaxGlideNo, MaxDBKCID, MAXMID: string; begin try ADOCmd.Connection.BeginTrans; //*************************保存主表************************* if Trim(FMainId) = '' then begin if GetLSNo(ADOCmd, maxno, 'JM', 'JYOrder_Main', 3, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; if GetLSNo(ADOCmd, maxorderno, 'FH', 'JYOrder_Main', 3, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; OrderNo.Text := TRIM(maxorderno); FOrderNo := TRIM(maxorderno); end else begin maxno := Trim(FMainId); end; with ADOCmd do begin Close; sql.Clear; SQL.Add('select * from JYOrder_Main where MainId=''' + Trim(FMainId) + ''''); Open; end; with ADOCmd do begin if Trim(FMainId) = '' then begin Append; FieldByName('status').Value := '0'; FieldByName('XSWS').Value := 1; FieldByName('CDWS').Value := 1; end else begin Edit; end; FieldByName('MainId').Value := Trim(maxno); SSetsaveSqlNew(ADOCmd, 'JYOrder_Main', ScrollBox1, 1); if Trim(FMainId) = '' then begin FieldByName('Filler').Value := Trim(DName); end else begin FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp); end; if FYPS <> '' then begin FieldByName('CXKPPS').Value := StrToFloatDEF(FYPS, 0) - StrToFloatDEF(PRTPs.Text, 0); end; Post; end; with ADOCmd do begin Close; sql.Clear; sql.Add('select * from JYOrder_Main where orderno=''' + Trim(OrderNo.Text) + ''''); Open; end; if ADOCmd.RecordCount > 1 then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('订单号重复!', '提示', 0); Exit; end; //*************************保存主表************************* //*************************保存产品表************************* if Trim(FSubId) = '' then begin if GetLSNo(ADOCmd, Smaxno, 'JS', 'JYOrder_Sub', 4, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; end else begin Smaxno := Trim(FSubId); end; with ADOCmd do begin Close; sql.Clear; SQL.Add('select * from JYOrder_Sub where SubId=' + quotedstr(Trim(Trim(FSubId)))); Open; end; with ADOCmd do begin if Trim(FSubId) = '' then begin Append; end else begin Edit; end; FieldByName('MainId').Value := Trim(maxno); FieldByName('SubId').Value := Trim(Smaxno); SSetsaveSqlNew(ADOCmd, 'JYOrder_Sub', ScrollBox1, 2); Post; end; //*************************保存产品表************************* //*************************保存坯布库存************************* with CDS_PBCK do begin First; while not Eof do begin if Trim(CDS_PBCK.fieldbyname('PBKCID').AsString) = '' then begin if GetLSNo(ADOCmd, MaxPBKCID, 'YK', 'JYOrder_PBKC', 4, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!', '提示', 0); Exit; end; end else begin MaxPBKCID := Trim(CDS_PBCK.fieldbyname('PBKCID').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from JYOrder_PBKC'); sql.Add('where PBKCID=' + QuotedStr(trim(MaxPBKCID))); Open; end; with ADOCmd do begin if Trim(CDS_PBCK.fieldbyname('PBKCID').AsString) = '' then Append else Edit; FieldByName('MainId').Value := Trim(maxno); FieldByName('SubId').Value := Trim(Smaxno); FieldByName('KCId').Value := FieldByName('KCId').Value; RTSetSaveDataCDS(ADOCmd, Tv1, CDS_PBCK, 'JYOrder_PBKC', 0); FieldByName('PBKCID').Value := Trim(MaxPBKCID); Post; end; with CDS_Car do begin CDS_Car.Append; CDS_Car.FieldByName('carNo').Value := MaxPBKCID; CDS_Car.FieldByName('carxh').Value := CDS_Car.RecordCount + 1; CDS_Car.FieldByName('CRTime').Value := OrdDate.date; CDS_Car.FieldByName('Sflag').Value := '0'; CDS_Car.FieldByName('KKMF').Value := Trim(MPRTMF.Text); CDS_Car.FieldByName('KKKZ').Value := Trim(MPRTKZ.Text); CDS_Car.FieldByName('RollNum').Value := CDS_PBCK.FIELDBYNAME('FPPS').ASFLOAT; CDS_Car.FieldByName('qty').Value := CDS_PBCK.FIELDBYNAME('fpqty').ASFLOAT; Post; end; CDS_PBCK.Edit; CDS_PBCK.FieldByName('PBKCID').Value := Trim(MaxPBKCID); Next; end; end; //*************************保存坯布库存************************* //*************************保存底布库存************************* with CDS_DB do begin First; while not Eof do begin if Trim(CDS_DB.fieldbyname('DBKCID').AsString) = '' then begin if GetLSNo(ADOCmd, MaxDBKCID, 'DB', 'JYOrder_DBKC', 4, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!', '提示', 0); Exit; end; end else begin MaxDBKCID := Trim(CDS_DB.fieldbyname('DBKCID').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from JYOrder_DBKC'); sql.Add('where DBKCID=' + QuotedStr(trim(MaxDBKCID))); Open; end; with ADOCmd do begin if Trim(CDS_DB.fieldbyname('DBKCID').AsString) = '' then Append else Edit; FieldByName('MainId').Value := Trim(maxno); FieldByName('SubId').Value := Trim(Smaxno); FieldByName('KCId').Value := FieldByName('KCId').Value; RTSetSaveDataCDS(ADOCmd, Tv4, CDS_DB, 'JYOrder_DBKC', 0); FieldByName('DBKCID').Value := Trim(MaxDBKCID); Post; end; CDS_DB.Edit; CDS_DB.FieldByName('DBKCID').Value := Trim(MaxDBKCID); Next; end; end; //*************************保存底布库存************************* //*************************保存工序************************* with CDS_Glide do begin First; while not Eof do begin if Trim(CDS_Glide.fieldbyname('GlideNo').AsString) = '' then begin if GetLSNo(ADOCmd, MaxGlideNo, 'CG', 'JYOrder_Glide', 4, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!', '提示', 0); Exit; end; end else begin MaxGlideNo := Trim(CDS_Glide.fieldbyname('GlideNo').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from JYOrder_Glide'); sql.Add('where GlideNo=' + QuotedStr(trim(MaxGlideNo))); Open; end; with ADOCmd do begin if Trim(CDS_Glide.fieldbyname('GlideNo').AsString) = '' then Append else Edit; FieldByName('MainId').Value := Trim(maxno); FieldByName('SubId').Value := Trim(Smaxno); FieldByName('GlideNo').Value := Trim(MaxGlideNo); FieldByName('CarNo').Value := Trim(FOrderNo); RTSetSaveDataCDS(ADOCmd, Tv2, CDS_Glide, 'JYOrder_Glide', 0); Post; end; CDS_Glide.Edit; CDS_Glide.FieldByName('GlideNo').Value := Trim(MaxGlideNo); Next; end; end; with CDS_Car do begin CDS_Car.First; while not CDS_Car.Eof do begin // if CDS_Car.FieldByName('GlideIDx').AsInteger = 0 then // begin with ADOCmd do begin close; sql.Clear; sql.Add('select * from JYOrder_Car A'); sql.Add('where CarNO=''' + trim(CDS_Car.fieldbyname('CarNo').AsString) + ''''); open; if IsEmpty then begin append; fieldbyname('Filler').Value := trim(DName); end else begin edit; FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp); end; FieldByName('carNo').Value := trim(CDS_Car.fieldbyname('carNo').AsString); FieldByName('CrTime').Value := formatdateTime('yyyy-MM-dd', CDS_Car.fieldbyname('CrTime').AsDateTime); FieldByName('MainID').Value := trim(maxno); FieldByName('subID').Value := trim(Smaxno); FieldByName('carxh').Value := CDS_Car.fieldbyname('carxh').AsInteger; FieldByName('KKMF').Value := trim(CDS_Car.fieldbyname('KKMF').AsString); FieldByName('KKKZ').Value := trim(CDS_Car.fieldbyname('KKKZ').AsString); FieldByName('RollNum').Value := CDS_Car.fieldbyname('RollNum').AsFloat; FieldByName('Qty').Value := CDS_Car.fieldbyname('Qty').AsFloat; FieldByName('QtyUnit').Value := trim(CDS_Car.fieldbyname('QtyUnit').AsString); FieldByName('Note').Value := trim(CDS_Car.fieldbyname('Note').AsString); FieldByName('valid').Value := 'Y'; FieldByName('KKGH').Value := trim(CDS_Car.fieldbyname('KKGH').AsString); post; end; CJEWM(CDS_Car.fieldbyname('carNo').AsString); // end; with ADOCmd do begin close; sql.Clear; sql.Add('exec P_Insert_Glide ' + quotedstr(OrderNo.Text) + ',' + quotedstr(Trim(trim(CDS_Car.fieldbyname('CarNo').AsString)))); if trim(CDS_Car.fieldbyname('FromCarNo').AsString) = '' then begin sql.Add('exec P_Do_ZDKP ' + quotedstr(trim(CDS_Car.fieldbyname('carNo').AsString))); // sql.Add('exec P_Do_ZDKP_DB @mainid= ' + quotedstr(trim(maxno))); // sql.Add(' ,@CARNO= ' + quotedstr(trim(CDS_Car.fieldbyname('carNo').AsString))); // // sql.Add('exec P_Do_ZDKP_m @mainid= ' + quotedstr(trim(maxno))); // sql.Add(' ,@CARNO= ' + quotedstr(trim(CDS_Car.fieldbyname('carNo').AsString))); // sql.Add(' ,@DNAME= ' + quotedstr(trim(DNAME))); end; // ShowMessage(sql.Text); ExecSQL; end; if FYPS <> '' then begin 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('撤销扣匹'))); sql.Add(',' + quotedstr(trim('订单号:' + trim(fmainid) + '原匹数' + FYPS + '现匹数' + PRTPs.Text))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; end; CDS_Car.Next; end; with ADOCmd do begin close; sql.Clear; sql.Add('exec P_Do_ZDKP_DB @mainid= ' + quotedstr(trim(maxno))); sql.Add(' ,@CARNO= ' + quotedstr(trim(CDS_Car.fieldbyname('carNo').AsString))); ExecSQL; end; end; //*************************保存工序************************* ADOCmd.Connection.CommitTrans; Result := True; except Result := False; ADOCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end; end; procedure TfrmOrderInPut.TBSaveClick(Sender: TObject); var MRollNum, mqty: DOUBLE; fcarno: string; begin if CheckData() = false then exit; MRollNum := strtofloatdef(trim(PRTPs.text), 0); mqty := strtofloatdef(trim(PRTOrderQty.text), 0); // if FYPS <> '' then // begin // fcarno := CDS_Car.fieldbyname('carno').AsString; //// with CDS_Car do //// begin //// CDS_Car.Delete; //// with ADOCmd do //// begin //// Close; //// sql.Clear; //// SQL.Add('delete JYOrder_Car where carno=''' + Trim(fcarno) + ''''); //// ExecSQL; //// end; //// CDS_Car.append; //// CDS_Car.FieldByName('carNo').Value := fcarno; //// CDS_Car.FieldByName('carxh').Value := 1; //// CDS_Car.FieldByName('CRTime').Value := CRTime.date; //// CDS_Car.FieldByName('Sflag').Value := '0'; //// CDS_Car.FieldByName('KKMF').Value := Trim(MPRTMF.Text); //// CDS_Car.FieldByName('KKKZ').Value := Trim(MPRTKZ.Text); //// CDS_Car.FieldByName('RollNum').Value := MRollNum; //// CDS_Car.FieldByName('qty').Value := mqty; //// CDS_Car.Post; //// end; // // with ADOCmd do begin Close; sql.Clear; SQL.Add('delete JYOrder_Car where mainid=''' + Trim(FMainId) + ''''); ExecSQL; end; with CDS_Car do begin First; while not Eof do begin CDS_Car.Delete; Next; end; end; // with CDS_PBCK do // begin // First; // while not Eof do // begin // with CDS_Car do // begin // // CDS_Car.Append; // CDS_Car.FieldByName('carNo').Value := CDS_PBCK.FIELDBYNAME('').ASSTRING; // CDS_Car.FieldByName('carxh').Value := Fcarxh; // CDS_Car.FieldByName('CRTime').Value := CRTime.date; // CDS_Car.FieldByName('Sflag').Value := '0'; // CDS_Car.FieldByName('KKMF').Value := Trim(MPRTMF.Text); // CDS_Car.FieldByName('KKKZ').Value := Trim(MPRTKZ.Text); // CDS_Car.FieldByName('RollNum').Value := MRollNum; // CDS_Car.FieldByName('qty').Value := mqty; // // Post; // end; // Next; // end; // end; // // // end; if SaveData() then begin Application.MessageBox('保存成功!', '提示', 0); ModalResult := 1; end; end; procedure TfrmOrderInPut.CustomerNoNameBtnUpClick(Sender: TObject); begin try frmZdyAttachment := TfrmZdyAttachment.Create(Application); with frmZdyAttachment do begin // IF self.canshu1<>'高权限' then canshu1:='业务员'; if ShowModal = 1 then begin CustomerNoName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString); CustomerNoName.TxtCode := Trim(CDS_HZ.fieldbyname('CoCode').AsString); YWY.Text := Trim(CDS_HZ.fieldbyname('Salesman').AsString); end; end; finally frmZdyAttachment.Free; end; end; procedure TfrmOrderInPut.CustomerNoNameBtnDnClick(Sender: TObject); begin TBtnEditC(Sender).Text := ''; TBtnEditC(Sender).TxtCode := ''; end; procedure TfrmOrderInPut.MPRTCodeNameBtnUpClick(Sender: TObject); var fsj: string; FWZ: Integer; begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'MPRTCODENAME'; flagname := '产品名称'; if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; // fsj := Trim(TcxButtonEdit(Sender).Hint); // FWZ := Pos('/', fsj); // try // frmZDYHelp := TfrmZDYHelp.Create(Application); // with frmZDYHelp do // begin // flag := Copy(fsj, 1, FWZ - 1); // flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); // if ShowModal = 1 then // begin // TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); // end; // end; // finally // frmZDYHelp.Free; // end; end; procedure TfrmOrderInPut.OrdDefStr2BtnUpClick(Sender: TObject); var fsj: string; FWZ: Integer; begin fsj := Trim(TEdit(Sender).Hint); FWZ := Pos('/', fsj); try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := Copy(fsj, 1, FWZ - 1); flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOrderInPut.YCLFactoryBtnUpClick(Sender: TObject); var fsj: string; FWZ: Integer; begin fsj := Trim(TEdit(Sender).Hint); FWZ := Pos('/', fsj); try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := Copy(fsj, 1, FWZ - 1); flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOrderInPut.MPRTSCTeBieNoteBtnUpClick(Sender: TObject); var fsj: string; FWZ: Integer; begin fsj := Trim(TEdit(Sender).Hint); FWZ := Pos('/', fsj); try frmZDYHelpSel := TfrmZDYHelpSel.Create(Application); with frmZDYHelpSel do begin flag := Copy(fsj, 1, FWZ - 1); flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); if ShowModal = 1 then begin TEdit(Sender).Text := ReturnStr; end; end; finally frmZDYHelpSel.Free; end; end; procedure TfrmOrderInPut.MPRTBZNoteDblClick(Sender: TObject); var fsj: string; FWZ: Integer; i: integer; begin fsj := Trim(TMemo(Sender).Hint); FWZ := Pos('/', fsj); i := 0; try frmZDYHelpSel := TfrmZDYHelpSel.Create(Application); with frmZDYHelpSel do begin flag := Copy(fsj, 1, FWZ - 1); flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); if ShowModal = 1 then begin TMemo(Sender).Lines.Clear; with ClientDataSet1 do begin First; while not Eof do begin if FieldByName('SSel').AsBoolean = True then begin i := i + 1; TMemo(Sender).Lines.Add(FieldByName('ZDYName').AsString) //inttostr(i) + '.' + end; Next; end; end; end; end; finally frmZDYHelpSel.Free; end; end; procedure TfrmOrderInPut.MPRTCodeBtnUpClick(Sender: TObject); begin frmProductFileSel := TfrmProductFileSel.Create(self); with frmProductFileSel do begin if showmodal = 1 then begin MPRTCode.Text := CDS_HZ.fieldbyname('SPCode').asstring; MPRTCodeName.Text := CDS_HZ.fieldbyname('SPName').asstring; MPRTSpec.Text := CDS_HZ.fieldbyname('SPSpec').asstring; MPRTMF.Text := CDS_HZ.fieldbyname('SPMF').asstring; MPRTKZ.Text := CDS_HZ.fieldbyname('SPKZ').asstring; end; free; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmOrderInPut.PRTColorChange(Sender: TObject); begin // if pos('#', mvalue) = 0 then // begin // with Order_Sub do // begin // Edit; // FieldByName(FFieldName).Value := Trim(mvalue) + '#'; // Post; // end; // end; end; procedure TfrmOrderInPut.ToolButton7Click(Sender: TObject); var maxno: string; fqty: double; fps: Integer; begin frmPBKcList := TfrmPBKcList.create(self); with frmPBKcList do begin FType := 10; fqty := 0; fps := 0; mltype.ItemIndex := mltype.Items.IndexOf(trim('面布')); if showmodal = 1 then begin with CDS_Main do begin while CDS_Main.Locate('SSel', True, []) do begin with ADOQueryCmd do begin sql.Add('select * from JYOrder_PBKC'); sql.Add('where MainID=' + QuotedStr(trim(Self.fMainID))); sql.Add('and subID=' + QuotedStr(trim(Self.fsubID))); sql.Add('and KCID=' + QuotedStr(Trim(CDS_Main.FieldByName('KCID').AsString))); end; if ADOQueryCmd.IsEmpty then begin if GetLSNo(ADOQueryCmd, maxno, 'YK', 'JYOrder_PBKC', 4, 1) = False then begin Application.MessageBox('生成流水号异常!', '提示', 0); exit; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('insert into JYOrder_PBKC(PBKCID,MainID,subID,KCID,FPPS,mltype,ZSMS,PICHANG,FPUNIT,FPQTY ) '); sql.Add('values(' + QuotedStr(maxno)); sql.Add(',' + QuotedStr(trim(Self.fMainID))); sql.Add(',' + QuotedStr(trim(Self.fsubID))); sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('KCID').AsString))); sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('KCPS').AsString))); sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('mltype').AsString))); if Trim(CDS_Main.FieldByName('ZSLEN').AsString) <> '' then begin sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('ZSLEN').AsString))); end else begin sql.Add(',0'); end; if Trim(CDS_Main.FieldByName('PILEN2').AsString) <> '' then begin sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('PILEN2').AsString))); end else begin sql.Add(',0'); end; sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('QTYUNIT').AsString))); sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('KCQTY').AsString))); // sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('PILEN2').AsString))); sql.Add(' )'); // ShowMessage(SQL.Text); ExecSQL; end; end; // fqty := fqty + CDS_Main.FieldByName('Qty').asfloat; // fps := fps + CDS_Main.FieldByName('ps').AsInteger; // with CDS_Car do // begin // Append; // CDS_Glide.FieldByName('carxh').Value := CDS_Car.RecordCount + 1; // CDS_Glide.FieldByName('kaipi').Value := '否'; // CDS_Glide.FieldByName('GlideName').Value := CDS_Main.FieldByName('batchno').AsString; // CDS_Glide.FieldByName('MXCOLOR').Value := CDS_Main.FieldByName('CPCOLOR').AsString; // CDS_Glide.FieldByName('MXPS').Value := CDS_Main.FieldByName('KCPS').AsString; // end; CustomerNoName.Text := Trim(CDS_Main.FieldByName('fromFactoryName').AsString); pbname.Text := Trim(CDS_Main.FieldByName('CodeName').AsString); MPRTMF.Text := Trim(CDS_Main.FieldByName('MF').AsString); MPRTKZ.Text := Trim(CDS_Main.FieldByName('KZ').AsString); MPRTSpec.Text := Trim(CDS_Main.FieldByName('BatchNo').AsString); PRTColor.Text := Trim(CDS_Main.FieldByName('CPColor').AsString); PRTPiZhong.Text := Trim(CDS_Main.FieldByName('PiZhong').AsString); KHConNo.Text := Trim(CDS_Main.FieldByName('KHConNo').AsString); PRTHX.Text := Trim(CDS_Main.FieldByName('CPHX').AsString); OrderUnit.Text := 'M'; // Trim(CDS_Main.FieldByName('QtyUnit').AsString); // PBSPEC.Text := Trim(CDS_Main.FieldByName('MF').AsString) + '/' + Trim(CDS_Main.FieldByName('KZ').AsString); conno.Text := Trim(CDS_Main.FieldByName('CloOrderno').AsString); CDS_Main.Delete; end; end; end; free; end; InitPBCK(); PRTPs.Text := intToStr(fps); PBZPS.Text := intToStr(fps); PRTOrderQty.Text := FloatToStr(fqty); Initqty(); if PBName.Text <> '' then begin with adotemp do begin Close; sql.Clear; SQL.Add('select TOP 1 * from JYOrder_main WHERE PBNAME= ''' + Trim(PBName.Text) + ''''); SQL.ADD('AND REPLACE(REPLACE(MPRTBZNote, CHAR(13), ''''), CHAR(10), '''')<>'''''); SQL.ADD('ORDER BY FILLTIME DESC'); // showmessage(sql.Text); OPEN; end; if adotemp.ISEMPTY = FALSE then begin if adotemp.FIELDBYNAME('MPRTBZNote').ASSTRING <> '' then begin if Application.MessageBox('是否读取对应包装要求?', '提示', 32 + 4) <> IDYES then Exit; MPRTBZNote.Text := adotemp.FIELDBYNAME('MPRTBZNote').ASSTRING; end; end; end; // PRTPiZhong := floattostr(fqty / fps); // PRTPs.Text := FloatToStr(TV1.DataController.Summary.FooterSummaryValues[1]); // PRTPs.Text := Trim(CDS_Main.FieldByName('PS').AsString); // PRTPiZhong.Text := Trim(CDS_Main.FieldByName('PiZhong').AsString); // PRTOrderQty.Text := Trim(CDS_Main.FieldByName('Qty').AsString); // PBZPS.Text := Trim(CDS_Main.FieldByName('PS').AsString); end; procedure TfrmOrderInPut.ToolButton8Click(Sender: TObject); begin if CDS_PBCK.IsEmpty then exit; if CDS_PBCK.fieldbyname('YYPS').AsInteger > 0 then begin Application.MessageBox('已开卡不能删除!', '提示', 0); Exit; end; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; try with ADOCmd do begin Close; sql.Clear; sql.Add(' delete JYOrder_PBKC where PBKCID=''' + Trim(CDS_PBCK.fieldbyname('PBKCID').AsString) + ''''); sql.Add(' and YYPS=0'); execsql; end; CDS_PBCK.Delete; except ADOCmd.Connection.RollbackTrans; Application.MessageBox('数据删除异常!', '提示', 0); end; end; procedure TfrmOrderInPut.ToolButton6Click(Sender: TObject); begin frmGXGL_List_DXCX := TfrmGXGL_List_DXCX.create(self); with frmGXGL_List_DXCX do begin if showmodal = 1 then begin Order_FZ.First; while not Order_FZ.eof do begin CDS_Glide.Append; CDS_Glide.FieldByName('Glideidx').Value := CDS_Glide.RecordCount + 1; CDS_Glide.FieldByName('kaipi').Value := '否'; CDS_Glide.FieldByName('GlideName').Value := Order_FZ.fieldbyname('PSName').AsString; CDS_Glide.FieldByName('Note').Value := trim(Order_FZ.fieldbyname('Note').AsString); CDS_Glide.Post; Order_FZ.next; end; end; free; end; end; procedure TfrmOrderInPut.ToolButton2Click(Sender: TObject); begin with CDS_Glide do begin if IsEmpty then Exit; if RecNo >= 1 then begin Edit; fieldByName('GlideIdx').Value := fieldByName('GlideIdx').Value - 1; Post; Prior; Edit; fieldByName('GlideIdx').Value := fieldByName('GlideIdx').Value + 1; Post; end; Prior; end; end; procedure TfrmOrderInPut.ToolButton3Click(Sender: TObject); begin CDS_Glide.IndexFieldNames := 'GlideIdx'; with CDS_Glide do begin if IsEmpty then Exit; Next; if not Eof then Prior else begin exit; end; if not Eof then begin Edit; fieldByName('GlideIdx').Value := fieldByName('GlideIdx').Value + 1; Post; Prior; Edit; fieldByName('GlideIdx').Value := fieldByName('GlideIdx').Value - 1; Post; end; Next; end; end; procedure TfrmOrderInPut.ToolButton4Click(Sender: TObject); var k: integer; begin if cds_Glide.IsEmpty then exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; try with ADOCmd do begin Close; sql.Clear; sql.Add(' delete JYOrder_Glide where GlideNo=''' + Trim(cds_Glide.fieldbyname('GlideNo').AsString) + ''''); execsql; end; cds_Glide.Delete; except ADOCmd.Connection.RollbackTrans; Application.MessageBox('数据删除异常!', '提示', 0); end; // cds_Glide.Delete; cds_Glide.IndexFieldNames := 'GlideIdx'; cds_Glide.DisableControls; cds_Glide.First; k := 1; while not cds_Glide.Eof do begin cds_Glide.Edit; cds_Glide.FieldByName('GlideIdx').Value := k; cds_Glide.Post; inc(k); cds_Glide.Next; end; cds_Glide.First; cds_Glide.EnableControls; end; procedure TfrmOrderInPut.ToolButton1Click(Sender: TObject); var maxId: string; begin // if Trim(FOrderNo) = '' then // begin // Application.MessageBox('请先保存计划单!', '提示信息', MB_ICONERROR); // exit; // end; try // frmGXGL_List_DXCX := TfrmGXGL_List_DXCX.create(self); // with frmGXGL_List_DXCX do // begin // if showmodal = 1 then // begin // Order_FZ.First; // while not Order_FZ.eof do // begin // // CDS_Glide.Append; // CDS_Glide.FieldByName('Glideidx').Value := Order_FZ.RecNo; // CDS_Glide.FieldByName('GlideName').Value := trim(Order_FZ.fieldbyname('PSName').AsString); // CDS_Glide.FieldByName('Note').Value := trim(Order_FZ.fieldbyname('Note').AsString); // CDS_Glide.Post; // // Order_FZ.Next; // end; // end; // end; CDS_Glide.Append; CDS_Glide.FieldByName('Glideidx').Value := CDS_Glide.RecordCount + 1; CDS_Glide.FieldByName('kaipi').Value := '否'; CDS_Glide.Post; finally frmGXGL_List_DXCX.Free; end; end; procedure TfrmOrderInPut.PRTPsChange(Sender: TObject); begin // PRTOrderQty.Text := FloatToStr(RoundFloat(StrToFloatDef(PRTPs.Text, 0) * StrToFloatDef(PRTPiZhong.Text, 0), 2)); end; procedure TfrmOrderInPut.ToolButton5Click(Sender: TObject); begin GetGy(); end; procedure TfrmOrderInPut.PRTPsKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin if not CDS_PBCK.IsEmpty then begin with CDS_PBCK do begin First; if FieldByName('FPPS').AsInteger < StrToIntDef(PRTPs.Text, 0) then begin PRTPs.Text := CDS_PBCK.FieldByName('FPPS').AsString; end; Edit; FieldByName('FPPS').Value := StrToIntDef(PRTPs.Text, 0); Post; end; end; end; end; procedure TfrmOrderInPut.TV2Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'GXMF'; flagname := '工序门幅'; if ShowModal = 1 then begin with CDS_Glide do begin Edit; FieldByName('PSNote').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOrderInPut.TV2Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'GXKZ'; flagname := '工序克重'; if ShowModal = 1 then begin with CDS_Glide do begin Edit; FieldByName('PSNote').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOrderInPut.gongyiPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var fsj: string; FWZ: Integer; begin fsj := Trim(TcxButtonEdit(Sender).Hint); FWZ := Pos('/', fsj); try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := Copy(fsj, 1, FWZ - 1); flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOrderInPut.Jlen1KeyPress(Sender: TObject; var Key: Char); var p: integer; begin if not (Key in [#8, #13, #127, '.', '-', '0'..'9']) then Key := #0; // if Key = '.' then // begin // p := Pos('.', Self.Text); // if p > 0 then Key := #0; // end; // //限制只能在第一位输入且只能输入一个'-'号 // if Key = '-' then // begin // if TEdit(Controls[26]).SelStart > 0 then Key := #0; // p := Pos('-', Self.Text); // if p > 0 then Key := #0; // end; end; procedure TfrmOrderInPut.Button1Click(Sender: TObject); var i, k, Fcarxh: integer; maxId: string; MRollNum, mqty: Double; begin // if trim(OrderNo.Text) = '' then // begin // application.MessageBox('计划单号不能为空!', '提示信息', MB_ICONERROR); // exit; // end; if CDS_Car.IsEmpty then Fcarxh := 0 else Fcarxh := CDS_Car.RecordCount; if strtointdef(trim(carNum.text), 0) <= 1 then k := 1 else k := strtointdef(trim(carNum.text), 0); MRollNum := strtofloatdef(trim(PRTPs.text), 0); mqty := strtofloatdef(trim(PRTOrderQty.text), 0); //RoundFloat(strtointdef(trim(PRTPs.text), 0) / k, 0); CDS_Car.Last; for i := 1 to k do begin Fcarxh := Fcarxh + 1; CopyAddRowCDS(CDS_Car); if GetLSNo(ADOCmd, maxId, 'CZ', 'JYOrder_Car', 3, 1) = False then begin Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; CDS_Car.edit; CDS_Car.FieldByName('carNo').Value := maxId; CDS_Car.FieldByName('carxh').Value := Fcarxh; CDS_Car.FieldByName('CRTime').Value := CRTime.date; CDS_Car.FieldByName('Sflag').Value := '0'; CDS_Car.FieldByName('KKMF').Value := Trim(MPRTMF.Text); CDS_Car.FieldByName('KKKZ').Value := Trim(MPRTKZ.Text); CDS_Car.FieldByName('RollNum').Value := MRollNum; CDS_Car.FieldByName('qty').Value := mqty; CDS_Car.Post; end; end; procedure TfrmOrderInPut.Button3Click(Sender: TObject); begin if CDS_car.IsEmpty then exit; if CDS_car.Locate('ssel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; CDS_car.DisableControls; with CDS_car do begin First; while not Eof do begin if CDS_car.FieldByName('SSel').AsBoolean = True then begin with ADOTemp do begin Close; sql.Clear; sql.Add('select * from CK_PB_CR where Valid=''Y'' and CRType=''自动扣匹'''); sql.Add('and CarNo=' + quotedstr(Trim(CDS_car.fieldbyname('carNO').AsString))); Open; end; if ADOTemp.IsEmpty = False then begin Application.MessageBox('已扣匹不能删除数据!', '提示', 0); CDS_car.EnableControls; Exit; end; with ADOTemp do begin Close; sql.Clear; sql.Add('select * from WFB_MJJY where APID=''' + Trim(CDS_Car.fieldbyname('carNO').AsString) + ''''); Open; end; if ADOTemp.IsEmpty = False then begin Application.MessageBox('已检验不能删除数据!', '提示', 0); CDS_car.EnableControls; Exit; end; try with ADOCmd do begin Close; sql.Clear; sql.Add(' delete JYOrder_car where carNO=''' + Trim(CDS_car.fieldbyname('carNo').AsString) + ''''); sql.Add(' exec P_Do_PbOut_Del @carNO=''' + Trim(CDS_car.fieldbyname('carNo').AsString) + ''''); execsql; end; CDS_car.Delete; except ADOCmd.Connection.RollbackTrans; CDS_car.EnableControls; Application.MessageBox('数据删除异常!', '提示', 0); end; end else Next; end; end; CDS_car.EnableControls; end; procedure TfrmOrderInPut.Button2Click(Sender: TObject); begin if CDS_car.IsEmpty then exit; if CDS_car.Locate('RollNum', null, []) then begin application.MessageBox('开卡匹数不能为零!', '提示信息', MB_ICONERROR); exit; end; if CDS_car.Locate('RollNum', 0, []) then begin application.MessageBox('开卡匹数不能为零!', '提示信息', MB_ICONERROR); exit; end; ADOCmd.Connection.BeginTrans; try CDS_Car.DisableControls; CDS_Car.First; while not CDS_Car.Eof do begin if CDS_Car.FieldByName('GlideIDx').AsInteger = 0 then begin with ADOCmd do begin close; sql.Clear; sql.Add('select * from JYOrder_Car A'); sql.Add('where CarNO=''' + trim(CDS_Car.fieldbyname('CarNo').AsString) + ''''); open; if IsEmpty then begin append; fieldbyname('Filler').Value := trim(DName); end else begin edit; FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp); end; FieldByName('carNo').Value := trim(CDS_Car.fieldbyname('carNo').AsString); FieldByName('CrTime').Value := formatdateTime('yyyy-MM-dd', CDS_Car.fieldbyname('CrTime').AsDateTime); FieldByName('MainID').Value := trim(fMainID); FieldByName('subID').Value := trim(fsubID); FieldByName('carxh').Value := CDS_Car.fieldbyname('carxh').AsInteger; FieldByName('KKMF').Value := trim(CDS_Car.fieldbyname('KKMF').AsString); FieldByName('KKKZ').Value := trim(CDS_Car.fieldbyname('KKKZ').AsString); FieldByName('RollNum').Value := CDS_Car.fieldbyname('RollNum').AsInteger; FieldByName('Qty').Value := CDS_Car.fieldbyname('Qty').AsFloat; FieldByName('QtyUnit').Value := trim(CDS_Car.fieldbyname('QtyUnit').AsString); FieldByName('Note').Value := trim(CDS_Car.fieldbyname('Note').AsString); FieldByName('valid').Value := 'Y'; FieldByName('KKGH').Value := trim(CDS_Car.fieldbyname('KKGH').AsString); post; end; end; with ADOCmd do begin close; sql.Clear; sql.Add('exec P_Insert_Glide ' + quotedstr(OrderNo.Text) + ',' + quotedstr(Trim(trim(CDS_Car.fieldbyname('CarNo').AsString)))); ExecSQL; end; CDS_Car.Next; end; CDS_Car.EnableControls; adocmd.Connection.CommitTrans; application.MessageBox('保存成功!', '提示信息'); ModalResult := 1; except CDS_Car.EnableControls; adocmd.Connection.RollbackTrans; application.MessageBox('保存失败!', '提示信息', MB_ICONERROR); end; end; procedure TfrmOrderInPut.TV2Column3PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; tvalue: Double; fps: Double; begin mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) = '' then begin mvalue := '0'; end; with CDS_Glide do begin Edit; CDS_Glide.FieldByName('MXPS').VALUE := mvalue; Post; end; tv2.Controller.EditingController.ShowEdit(); PRTPs.Text := FloatToStr(TV2.DataController.Summary.FooterSummaryValues[0]); end; procedure TfrmOrderInPut.ToolButton9Click(Sender: TObject); var maxno: string; fqty: double; fps: Integer; begin frmPBKcList := TfrmPBKcList.create(self); with frmPBKcList do begin FType := 10; fqty := 0; fps := 0; mltype.ItemIndex := mltype.Items.IndexOf(trim('底布')); if showmodal = 1 then begin with CDS_Main do begin while CDS_Main.Locate('SSel', True, []) do begin with ADOQueryCmd do begin sql.Add('select * from JYOrder_DBKC'); sql.Add('where MainID=' + QuotedStr(trim(Self.fMainID))); sql.Add('and subID=' + QuotedStr(trim(Self.fsubID))); sql.Add('and KCID=' + QuotedStr(Trim(CDS_Main.FieldByName('KCID').AsString))); end; if ADOQueryCmd.IsEmpty then begin if GetLSNo(ADOQueryCmd, maxno, 'YK', 'JYOrder_DBKC', 4, 1) = False then begin Application.MessageBox('生成流水号异常!', '提示', 0); exit; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('insert into JYOrder_DBKC(DBKCID,MainID,subID,KCID,FPPS,mltype,ZSMS,PICHANG,FPUNIT,FPQTY ) '); sql.Add('values(' + QuotedStr(maxno)); sql.Add(',' + QuotedStr(trim(Self.fMainID))); sql.Add(',' + QuotedStr(trim(Self.fsubID))); sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('KCID').AsString))); sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('KCPS').AsString))); sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('mltype').AsString))); if Trim(CDS_Main.FieldByName('ZSLEN').AsString) <> '' then begin sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('ZSLEN').AsString))); end else begin sql.Add(',0'); end; if Trim(CDS_Main.FieldByName('PILEN2').AsString) <> '' then begin sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('PILEN2').AsString))); end else begin sql.Add(',0'); end; sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('QTYUNIT').AsString))); sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('KCQTY').AsString))); sql.Add(' )'); ExecSQL; end; end; CDS_Main.Delete; end; end; end; free; end; InitDBCK(); end; procedure TfrmOrderInPut.ToolButton10Click(Sender: TObject); begin if CDS_DB.IsEmpty then exit; if CDS_DB.fieldbyname('YYPS').AsInteger > 0 then begin Application.MessageBox('已开卡不能删除!', '提示', 0); Exit; end; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; try with ADOCmd do begin Close; sql.Clear; sql.Add(' delete JYOrder_DBKC where DBKCID=''' + Trim(CDS_DB.fieldbyname('DBKCID').AsString) + ''''); sql.Add(' and YYPS=0'); execsql; end; CDS_DB.Delete; except ADOCmd.Connection.RollbackTrans; Application.MessageBox('数据删除异常!', '提示', 0); end; end; procedure TfrmOrderInPut.V3Column4PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; FQty, Fpc, fps: double; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); if Trim(mvalue) = '' then begin mvalue := '0'; end; with CDS_PBCK do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; // with CDS_PBCK do // begin // Edit; // fps := StrToFloatDef(FieldByName('fpps').AsString, 0); // Fpc := StrToFloatDef(FieldByName('PICHANG').AsString, 0); // // Post; // end; // // FQty := strtofloat(format('%.2f', [fps * Fpc])); // with CDS_PBCK do // begin // Edit; // FieldByName(FFieldName).Value := Trim(mvalue); // FieldbyName('ZSMS').Value := FQty; // Post; // end; tv1.Controller.EditingController.ShowEdit(); Initqty(); end; procedure TfrmOrderInPut.TV1Column3PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; FQty, Fpc, fps: double; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); if Trim(mvalue) = '' then begin mvalue := '0'; end; with CDS_PBCK do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with CDS_PBCK do begin Edit; if CDS_PBCK.FieldByName('QTYUNIT').AsString = 'M' then begin FieldByName('fpqty').Value := Trim(mvalue); end else begin if (strtofloatdef(MPRTMF.Text, 0) <> 0) and (strtofloatdef(MPRTkz.Text, 0) <> 0) then begin FieldByName('fpqty').Value := strtofloatdef(mvalue, 0) / 1000 * strtofloatdef(MPRTMF.Text, 0) * strtofloatdef(MPRTkz.Text, 0); end; end; Post; end; Initqty(); // with CDS_PBCK do // begin // Edit; // fps := StrToFloatDef(FieldByName('fpps').AsString, 0); // Fpc := StrToFloatDef(FieldByName('PICHANG').AsString, 0); // // Post; // end; // // FQty := strtofloat(format('%.2f', [fps * Fpc])); // with CDS_PBCK do // begin // Edit; // FieldByName(FFieldName).Value := Trim(mvalue); // FieldbyName('ZSMS').Value := FQty; // Post; // end; // tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmOrderInPut.cxGridDBColumn9PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; FQty, Fpc, fps: double; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv4.Controller.FocusedColumn.DataBinding.FilterFieldName); if Trim(mvalue) = '' then begin mvalue := '0'; end; with CDS_dB do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with CDS_dB do begin Edit; if CDS_dB.FieldByName('QTYUNIT').AsString = 'M' then begin FieldByName('fpqty').Value := Trim(mvalue); end else begin if (strtofloatdef(CDS_dB.FieldByName('mf').AsString, 0) <> 0) and (strtofloatdef(cDS_dB.FieldByName('kz').AsString, 0) <> 0) then begin FieldByName('fpqty').Value := strtofloatdef(mvalue, 0) / 1000 * strtofloatdef(CDS_dB.FieldByName('mf').AsString, 0) * strtofloatdef(CDS_dB.FieldByName('kz').AsString, 0); end; end; Post; end; end; procedure TfrmOrderInPut.ToolButton11Click(Sender: TObject); var maxno: string; fqty: double; fps: Integer; begin frmShaKCListJWLSEL := TfrmShaKCListJWLSEL.create(self); with frmShaKCListJWLSEL do begin fqty := 0; fps := 0; if showmodal = 1 then begin with CDS_Main do begin while CDS_Main.Locate('SSel', True, []) do begin with ADOQueryCmd do begin sql.Add('select * from JYOrder_MKC'); sql.Add('where MainID=' + QuotedStr(trim(Self.fMainID))); sql.Add('and subID=' + QuotedStr(trim(Self.fsubID))); sql.Add('and KCID=' + QuotedStr(Trim(CDS_Main.FieldByName('spid').AsString))); end; if ADOQueryCmd.IsEmpty then begin if GetLSNo(ADOQueryCmd, maxno, 'M', 'JYOrder_MKC', 4, 1) = False then begin Application.MessageBox('生成流水号异常!', '提示', 0); exit; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('insert into JYOrder_MKC(MKCID,MainID,subID,KCID,fpMS,michang,FPQTY ) '); sql.Add('values(' + QuotedStr(maxno)); sql.Add(',' + QuotedStr(trim(Self.fMainID))); sql.Add(',' + QuotedStr(trim(Self.fsubID))); sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('spid').AsString))); sql.Add(',' + (Trim(CDS_Main.FieldByName('MXKCQty').AsString))); if Trim(CDS_Main.FieldByName('michang').AsString) <> '' then begin sql.Add(',' + (Trim(CDS_Main.FieldByName('michang').AsString))); end else begin sql.Add(',0'); end; sql.Add(',' + (Trim(CDS_Main.FieldByName('MXKCKgQty').AsString))); sql.Add(' )'); ExecSQL; end; end; CDS_Main.Delete; end; end; end; free; end; InitM(); end; procedure TfrmOrderInPut.ToolButton12Click(Sender: TObject); begin if CDS_M.IsEmpty then exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; try with ADOCmd do begin Close; sql.Clear; sql.Add(' delete JYOrder_MKC where MKCID=''' + Trim(CDS_M.fieldbyname('MKCID').AsString) + ''''); execsql; end; CDS_M.Delete; except ADOCmd.Connection.RollbackTrans; Application.MessageBox('数据删除异常!', '提示', 0); end; end; procedure TfrmOrderInPut.cxGridDBColumn22PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv5.Controller.FocusedColumn.DataBinding.FilterFieldName); if Trim(mvalue) = '' then begin mvalue := '0'; end; with CDS_M do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with CDS_M do begin Edit; FieldByName('fpMS').Value := strtofloatdef(CDS_M.fieldbyname('FPQTY').asstring, 0) * strtofloatdef(CDS_M.fieldbyname('michang').asstring, 0); Post; end; end; procedure TfrmOrderInPut.cxGridDBColumn23PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv5.Controller.FocusedColumn.DataBinding.FilterFieldName); if Trim(mvalue) = '' then begin mvalue := '0'; end; with CDS_M do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with CDS_M do begin Edit; if strtofloatdef(CDS_M.fieldbyname('michang').asstring, 0) <> 0 then begin FieldByName('fpqty').Value := strtofloatdef(CDS_M.fieldbyname('FPMS').asstring, 0) / strtofloatdef(CDS_M.fieldbyname('michang').asstring, 0); end; Post; end; end; end.