unit U_TatPlanInPut; 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, cxDropDownEdit, StrUtils, cxPC, ShellAPI, cxCalendar, Math, cxLookAndFeels, cxLookAndFeelPainters, dxBarBuiltInMenu, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, U_BaseInput, System.ImageList, Vcl.ImgList, Vcl.Menus, dxSkinBasic, 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, dxSkinOffice2016Colorful, dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful, dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinTheBezier, dxSkinValentine, dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark, dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint, dxSkinWXI, dxSkinXmas2008Blue, dxScrollbarAnnotations; type TfrmTatPlanInPut = class(TfrmBaseInput) ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; ScrollBox1: TScrollBox; Label1: TLabel; ADOQuery1: TADOQuery; Label2: TLabel; OrdDate: TDateTimePicker; Label3: TLabel; Label14: TLabel; ADOQueryTemp: TADOQuery; Label18: TLabel; Panel2: TPanel; DataSource2: TDataSource; CDS_YuanLiao: TClientDataSet; Label22: TLabel; ADOQueryCmd: TADOQuery; Label5: TLabel; DlyDate: TDateTimePicker; Label8: TLabel; Label12: TLabel; OrdPieceWeight: TEdit; OrdPiece: TEdit; Label13: TLabel; OrdQty: TEdit; Label16: TLabel; cxPageControl1: TcxPageControl; cxTabSheet1: TcxTabSheet; cxTabSheet2: TcxTabSheet; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; v2Column2: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; v2Column4: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; Panel1: TPanel; Panel3: TPanel; ClientDataSet5: TClientDataSet; DataSource3: TDataSource; ClientDataSet3: TClientDataSet; DataSource5: TDataSource; Label26: TLabel; Label27: TLabel; Label28: TLabel; v2Column1: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; Label31: TLabel; v2Column7: TcxGridDBColumn; v2Column8: TcxGridDBColumn; v2Column9: TcxGridDBColumn; v2Column10: TcxGridDBColumn; Label47: TLabel; Label54: TLabel; C_GramWeight: TEdit; C_Width: TEdit; C_Name: TEdit; Label43: TLabel; cxGrid5: TcxGrid; TV5: TcxGridDBTableView; cxGridDBColumn32: TcxGridDBColumn; cxGridDBColumn34: TcxGridDBColumn; cxGridDBColumn35: TcxGridDBColumn; cxGridDBColumn36: TcxGridDBColumn; cxGridDBColumn37: TcxGridDBColumn; cxGridDBColumn38: TcxGridDBColumn; cxGridDBColumn39: TcxGridDBColumn; cxGridDBColumn40: TcxGridDBColumn; cxGridDBColumn43: TcxGridDBColumn; cxGridDBColumn44: TcxGridDBColumn; cxGridDBColumn45: TcxGridDBColumn; cxGridDBColumn46: TcxGridDBColumn; cxGridDBColumn47: TcxGridDBColumn; cxGridDBColumn48: TcxGridDBColumn; cxGridDBColumn49: TcxGridDBColumn; cxGridDBColumn50: TcxGridDBColumn; cxGridDBColumn51: TcxGridDBColumn; cxGridDBColumn52: TcxGridDBColumn; cxGridDBColumn53: TcxGridDBColumn; cxGridDBColumn54: TcxGridDBColumn; cxGridDBColumn55: TcxGridDBColumn; cxGridDBColumn56: TcxGridDBColumn; cxGridDBColumn57: TcxGridDBColumn; cxGridDBColumn58: TcxGridDBColumn; cxGridDBColumn59: TcxGridDBColumn; cxGridDBColumn60: TcxGridDBColumn; cxGridDBColumn61: TcxGridDBColumn; cxGridDBColumn62: TcxGridDBColumn; cxGridDBColumn63: TcxGridDBColumn; cxGridDBColumn64: TcxGridDBColumn; cxGridDBColumn65: TcxGridDBColumn; cxGridDBColumn66: TcxGridDBColumn; cxGridDBColumn67: TcxGridDBColumn; cxGridDBColumn68: TcxGridDBColumn; cxGridDBColumn69: TcxGridDBColumn; cxGridDBColumn70: TcxGridDBColumn; cxGridDBColumn71: TcxGridDBColumn; cxGridDBColumn72: TcxGridDBColumn; cxGridDBColumn73: TcxGridDBColumn; cxGridDBColumn74: TcxGridDBColumn; cxGridDBColumn75: TcxGridDBColumn; cxGridDBColumn76: TcxGridDBColumn; cxGridDBColumn77: TcxGridDBColumn; cxGridDBColumn78: TcxGridDBColumn; cxGridDBColumn79: TcxGridDBColumn; cxGridDBColumn80: TcxGridDBColumn; cxGridDBColumn81: TcxGridDBColumn; cxGridDBColumn82: TcxGridDBColumn; cxGridDBColumn83: TcxGridDBColumn; cxGridDBColumn84: TcxGridDBColumn; cxGridDBColumn85: TcxGridDBColumn; cxGridDBColumn86: TcxGridDBColumn; cxGridDBColumn87: TcxGridDBColumn; cxGridDBColumn88: TcxGridDBColumn; cxGridDBColumn89: TcxGridDBColumn; cxGridDBColumn90: TcxGridDBColumn; cxGridDBColumn91: TcxGridDBColumn; cxGridDBColumn92: TcxGridDBColumn; cxGridDBColumn93: TcxGridDBColumn; cxGridDBColumn94: TcxGridDBColumn; cxGridDBColumn95: TcxGridDBColumn; cxGridDBColumn96: TcxGridDBColumn; cxGridDBColumn97: TcxGridDBColumn; cxGridDBColumn98: TcxGridDBColumn; cxGridDBColumn99: TcxGridDBColumn; cxGridDBColumn100: TcxGridDBColumn; cxGridDBColumn101: TcxGridDBColumn; cxGridDBColumn102: TcxGridDBColumn; cxGridDBColumn103: TcxGridDBColumn; cxGridDBColumn104: TcxGridDBColumn; cxGridDBColumn105: TcxGridDBColumn; cxGridDBColumn106: TcxGridDBColumn; cxGridDBColumn107: TcxGridDBColumn; cxGridDBColumn108: TcxGridDBColumn; cxGridDBColumn109: TcxGridDBColumn; cxGridDBColumn110: TcxGridDBColumn; cxGridDBColumn111: TcxGridDBColumn; cxGridDBColumn112: TcxGridDBColumn; cxGridDBColumn113: TcxGridDBColumn; cxGridDBColumn114: TcxGridDBColumn; cxGridDBColumn115: TcxGridDBColumn; cxGridDBColumn116: TcxGridDBColumn; cxGridDBColumn117: TcxGridDBColumn; cxGridDBColumn118: TcxGridDBColumn; cxGridDBColumn119: TcxGridDBColumn; cxGridLevel6: TcxGridLevel; cxGrid3: TcxGrid; Tv3: TcxGridDBTableView; v3Column37: TcxGridDBColumn; v3Column38: TcxGridDBColumn; v3Column1: TcxGridDBColumn; v3Column2: TcxGridDBColumn; v3Column3: TcxGridDBColumn; v3Column4: TcxGridDBColumn; v3Column5: TcxGridDBColumn; v3Column6: TcxGridDBColumn; v3Column7: TcxGridDBColumn; v3Column8: TcxGridDBColumn; v3Column9: TcxGridDBColumn; v3Column10: TcxGridDBColumn; v3Column11: TcxGridDBColumn; v3Column12: TcxGridDBColumn; v3Column13: TcxGridDBColumn; v3Column14: TcxGridDBColumn; v3Column15: TcxGridDBColumn; v3Column16: TcxGridDBColumn; v3Column17: TcxGridDBColumn; v3Column18: TcxGridDBColumn; v3Column19: TcxGridDBColumn; v3Column20: TcxGridDBColumn; v3Column21: TcxGridDBColumn; v3Column22: TcxGridDBColumn; v3Column23: TcxGridDBColumn; v3Column24: TcxGridDBColumn; v3Column25: TcxGridDBColumn; v3Column26: TcxGridDBColumn; v3Column27: TcxGridDBColumn; v3Column28: TcxGridDBColumn; v3Column29: TcxGridDBColumn; v3Column30: TcxGridDBColumn; v3Column31: TcxGridDBColumn; v3Column32: TcxGridDBColumn; v3Column33: TcxGridDBColumn; v3Column34: TcxGridDBColumn; v3Column35: TcxGridDBColumn; v3Column36: TcxGridDBColumn; v3Column39: TcxGridDBColumn; v3Column40: TcxGridDBColumn; v3Column41: TcxGridDBColumn; v3Column42: TcxGridDBColumn; v3Column43: TcxGridDBColumn; v3Column44: TcxGridDBColumn; v3Column45: TcxGridDBColumn; v3Column46: TcxGridDBColumn; v3Column47: TcxGridDBColumn; v3Column48: TcxGridDBColumn; v3Column49: TcxGridDBColumn; v3Column50: TcxGridDBColumn; v3Column51: TcxGridDBColumn; v3Column52: TcxGridDBColumn; v3Column53: TcxGridDBColumn; v3Column54: TcxGridDBColumn; v3Column55: TcxGridDBColumn; v3Column56: TcxGridDBColumn; v3Column57: TcxGridDBColumn; v3Column58: TcxGridDBColumn; v3Column59: TcxGridDBColumn; v3Column60: TcxGridDBColumn; v3Column61: TcxGridDBColumn; v3Column62: TcxGridDBColumn; v3Column63: TcxGridDBColumn; v3Column64: TcxGridDBColumn; v3Column65: TcxGridDBColumn; v3Column66: TcxGridDBColumn; v3Column67: TcxGridDBColumn; v3Column68: TcxGridDBColumn; v3Column69: TcxGridDBColumn; v3Column70: TcxGridDBColumn; v3Column71: TcxGridDBColumn; v3Column72: TcxGridDBColumn; v3Column73: TcxGridDBColumn; v3Column74: TcxGridDBColumn; v3Column75: TcxGridDBColumn; v3Column76: TcxGridDBColumn; v3Column77: TcxGridDBColumn; v3Column78: TcxGridDBColumn; v3Column79: TcxGridDBColumn; v3Column80: TcxGridDBColumn; v3Column81: TcxGridDBColumn; v3Column82: TcxGridDBColumn; v3Column83: TcxGridDBColumn; v3Column84: TcxGridDBColumn; v3Column85: TcxGridDBColumn; v3Column86: TcxGridDBColumn; v3Column87: TcxGridDBColumn; v3Column88: TcxGridDBColumn; v3Column89: TcxGridDBColumn; v3Column90: TcxGridDBColumn; v3Column91: TcxGridDBColumn; v3Column92: TcxGridDBColumn; v3Column93: TcxGridDBColumn; v3Column94: TcxGridDBColumn; v3Column95: TcxGridDBColumn; v3Column96: TcxGridDBColumn; v3Column97: TcxGridDBColumn; v3Column98: TcxGridDBColumn; v3Column99: TcxGridDBColumn; v3Column100: TcxGridDBColumn; v3Column101: TcxGridDBColumn; v3Column102: TcxGridDBColumn; v3Column103: TcxGridDBColumn; v3Column104: TcxGridDBColumn; v3Column105: TcxGridDBColumn; v3Column106: TcxGridDBColumn; v3Column107: TcxGridDBColumn; v3Column108: TcxGridDBColumn; v3Column109: TcxGridDBColumn; v3Column110: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; v3Column111: TcxGridDBColumn; v3Column112: TcxGridDBColumn; v3Column113: TcxGridDBColumn; v3Column114: TcxGridDBColumn; v3Column115: TcxGridDBColumn; v3Column116: TcxGridDBColumn; v3Column117: TcxGridDBColumn; v3Column118: TcxGridDBColumn; v3Column119: TcxGridDBColumn; v3Column120: TcxGridDBColumn; v3Column121: TcxGridDBColumn; v3Column122: TcxGridDBColumn; v3Column123: TcxGridDBColumn; v3Column124: TcxGridDBColumn; v3Column125: TcxGridDBColumn; v3Column126: TcxGridDBColumn; v3Column127: TcxGridDBColumn; v3Column128: TcxGridDBColumn; v3Column129: TcxGridDBColumn; v3Column130: TcxGridDBColumn; v3Column131: TcxGridDBColumn; v3Column132: TcxGridDBColumn; v3Column133: TcxGridDBColumn; v3Column134: TcxGridDBColumn; v3Column135: TcxGridDBColumn; v3Column136: TcxGridDBColumn; v3Column137: TcxGridDBColumn; v3Column138: TcxGridDBColumn; v3Column139: TcxGridDBColumn; v3Column140: TcxGridDBColumn; v3Column141: TcxGridDBColumn; v3Column142: TcxGridDBColumn; v3Column143: TcxGridDBColumn; v3Column144: TcxGridDBColumn; v3Column145: TcxGridDBColumn; v3Column146: TcxGridDBColumn; v2Column12: TcxGridDBColumn; lbl2: TLabel; CustName: TBtnEditC; C_Code: TBtnEditC; ConNo: TBtnEditC; Saleser: TEdit; OurCoName: TBtnEditC; Label7: TLabel; OrderNo: TEdit; ToolBar3: TToolBar; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; OrdType: TComboBox; Label4: TLabel; FtyCoName: TBtnEditC; ToolButton8: TToolButton; PM_3: TPopupMenu; N1: TMenuItem; N2: TMenuItem; PM_5: TPopupMenu; MenuItem1: TMenuItem; MenuItem2: TMenuItem; Label6: TLabel; C_revolution: TEdit; Label9: TLabel; C_Color: TBtnEditC; Label10: TLabel; C_KnitNote: TBtnEditC; Label11: TLabel; C_Composition: TBtnEditC; Label15: TLabel; C_KnitGramWeight: TEdit; Label19: TLabel; C_Figure: TBtnEditC; Label20: TLabel; KGQty: TEdit; lbl1: TLabel; C_I_Name: TEdit; C_Spec: TEdit; OrdSNote: TRichEdit; btn1: TToolButton; lbl3: TLabel; SSBL: TBtnEditC; OrdUnit: TComboBox; Label21: TLabel; Label23: TLabel; C_LatitudeSpec: TBtnEditC; C_LongitudeSpec: TBtnEditC; Label24: TLabel; khconno: TEdit; lbl5: TLabel; C_Material_Name: TBtnEditC; lbl4: TLabel; lbl6: TLabel; LabPackage: TBtnEditC; lbl7: TLabel; C_Material: TBtnEditC; lbl8: TLabel; lbl9: TLabel; ISChongDa: TComboBox; lbl10: TLabel; ChongDaNote: TRichEdit; RuleBeforeTare: TComboBox; C_Deal: TComboBox; C_ZhuJi: TComboBox; C_MainYarn: TComboBox; lbl11: TLabel; LineNumber: TEdit; C_WidthUnit: TComboBox; lbl12: TLabel; ISShouJian: TComboBox; lbl13: TLabel; Price: TEdit; lbl14: TLabel; C_CarLatitudeDensity: TBtnEditC; procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure cxGridDBColumn1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Tv3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Tv5MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure v2Column11PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure OrdPieceWeightChange(Sender: TObject); procedure OrdPieceChange(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure C_CodeKeyPress(Sender: TObject; var Key: Char); procedure ConNoKeyPress(Sender: TObject; var Key: Char); procedure MCTypeBtnUpClick(Sender: TObject); procedure CustNameBtnUpClick(Sender: TObject); procedure C_CodeBtnUpClick(Sender: TObject); procedure ConNoBtnUpClick(Sender: TObject); procedure CustNameBtnDnClick(Sender: TObject); procedure OurCoNameBtnUpClick(Sender: TObject); procedure FtyCoNameBtnUpClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure MenuItem1Click(Sender: TObject); procedure MenuItem2Click(Sender: TObject); procedure btn1Click(Sender: TObject); procedure LabPackageBtnUpClick(Sender: TObject); private FXS, FGridFlag: Integer; procedure InitData(); procedure ZDYHelp(FButn: TcxButtonEdit; LType: string); function SaveData(): Boolean; function SaveData2(): Boolean; { Private declarations } public PState, FCopyInt: Integer; FMainId, FConNo, PType, FSubId, FConMId, FConSId: string; { Public declarations } end; var frmTatPlanInPut: TfrmTatPlanInPut; newh: hwnd; implementation uses U_DataLink, U_ZDYHelp, U_RTFun, U_ClothInfoSel, U_CompanySel, U_YarnInfoSel, U_TradeSalesContractSel, U_TradeInspSet2; {$R *.dfm} procedure TfrmTatPlanInPut.TBCloseClick(Sender: TObject); begin ModalResult := 1; end; procedure TfrmTatPlanInPut.InitData(); var PBNO, PBFlag: string; begin if PState = 1 then begin ConNo.enabled := false; with ADOQuery1 do begin Close; sql.Clear; SQL.Add('select A.*'); sql.Add('from Knit_Plan_Card A'); sql.Add(' where A.SubId=''' + Trim(FSubId) + ''''); sql.Add(' and A.MainId=''' + Trim(FMainId) + ''''); sql.Add(' and Status <> ''-1'' '); Open; end; if ADOQuery1.IsEmpty = False then begin OrderNo.Enabled := false; OrdType.Enabled := false; DlyDate.Enabled := false; OrdDate.Enabled := false; OurCoName.Enabled := false; CustName.Enabled := false; FtyCoName.Enabled := false; // Saleser.Enabled := false; //C_KnitGramWeight.Enabled := false; C_Code.Enabled := false; //C_Name.Enabled := false; //C_Width.Enabled := false; //C_GramWeight.Enabled := false; //C_Spec.Enabled := false; //OrdPieceWeight.Enabled := false; //C_Color.Enabled := false; //C_Composition.Enabled := false; //C_Deal.Enabled := false; //C_KnitNote.Enabled := false; //C_Figure.Enabled := false; //C_Yarn.Enabled := false; KGQty.Enabled := false; SSBL.Enabled := false; //OrdSNote.Enabled := false; end; end; with ADOQuery1 do begin Close; SQL.Clear; sql.Add('select isnull(ISChongDa,''否'') ISChongDa,* from knit_Plan_Main A where A.MainId=''' + Trim(FMainId) + ''''); Open; end; SCSHData(ADOQuery1, ScrollBox1, 0); CustName.TxtCode := ADOQuery1.FieldByName('CustNo').AsString; ISChongDa.Text := ADOQuery1.fieldbyname('ISChongDa').AsString; with ADOQuery1 do begin Close; SQL.Clear; sql.Add('select '); if (trim(DName) = '陈鹏') or (trim(DName) = '俞碧涛') or (trim(DName) = '俞碧涵') or (trim(DName) = '朱庭辰') then sql.Add('price,') else if (trim(DName) = '韩宇佳') or (trim(DName) = '倪剑波') or (trim(DName) = '张明华') then begin sql.Add('Price = (select CASE WHEN Filler = ' + quotedstr(DName) + ' THEN Price ELSE ISNULL(Price, 0) * 0 END AS Price from knit_Plan_Sub BB inner join Knit_plan_main AA on AA.Mainid = BB.MainId where AA.Mainid = A.Mainid),'); end else sql.Add('price = isnull(price,0) * 0 ,'); sql.Add('* from knit_Plan_Sub A where A.MainId=''' + Trim(FMainId) + ''''); Open; end; SCSHData(ADOQuery1, ScrollBox1, 2); C_Deal.Text := ADOQuery1.fieldbyname('C_Deal').AsString; C_ZhuJi.Text := ADOQuery1.fieldbyname('C_ZhuJi').AsString; FConMId := ADOQuery1.fieldbyname('ConMID').AsString; FConSId := ADOQuery1.fieldbyname('ConSId').AsString; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select A.* '); sql.Add(',YLQty=Cast(OrdQty*PBQty*0.01*(1+isnull(ZPSH,0)*0.01) as decimal(18,1))'); // if FCopyInt <> 1 then // begin // sql.Add(',CKQty=(select sum(Qty) from CK_SXPB_CR SQ where SQ.PBNO=C.ConNo and SQ.SPName=A.YCLName '); // sql.Add(' and isnull(SQ.PBNO,'''')<>'''' and ZFFlag=0 and CKName=''纱线'' and CRFlag=''出库'' and CRType=''织造加工出库'' )'); // end; sql.Add('from knit_Plan_Yarn A '); sql.Add('inner join knit_Plan_Sub B on A.SubId=B.SubId'); SQL.Add(' inner join knit_Plan_Main C on B.Mainid=C.MainId'); sql.Add(' where A.MainId=''' + Trim(FMainId) + ''''); Open; end; SCreateCDS(ADOQueryTemp, CDS_YuanLiao); SInitCDSData(ADOQueryTemp, CDS_YuanLiao); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from knit_Plan_Arrange where MainId=''' + Trim(FMainId) + ''''); sql.Add(' and PZType=''排针'' '); Open; end; SCreateCDS(ADOQueryTemp, ClientDataSet3); SInitCDSData(ADOQueryTemp, ClientDataSet3); if ClientDataSet3.IsEmpty then begin with ClientDataSet3 do begin Append; Post; Append; Post; end; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from knit_Plan_Arrange where MainId=''' + Trim(FMainId) + ''''); sql.Add(' and PZType=''三角'' '); Open; end; SCreateCDS(ADOQueryTemp, ClientDataSet5); SInitCDSData(ADOQueryTemp, ClientDataSet5); if PState = 0 then begin with ADOQueryTemp do begin Close; SQL.Clear; sql.Add('select Top 1* from knit_Plan_Main order by FillTime desc '); Open; end; OrdDate.DateTime := SGetServerDate(ADOQueryTemp); OrdDate.Checked := True; DlyDate.Date := OrdDate.DateTime; end; if FCopyInt = 1 then begin FMainId := ''; ConNo.Text := ''; ConNo.enabled := true; CDS_YuanLiao.DisableControls; with CDS_YuanLiao do begin First; while not Eof do begin Edit; FieldByName('MainId').Value := ''; FieldByName('SubId').Value := ''; FieldByName('PBId').Value := ''; FieldByName('BegPBQty').Value := Null; Post; Next; end; end; CDS_YuanLiao.EnableControls; ClientDataSet3.DisableControls; with ClientDataSet3 do begin First; while not Eof do begin Edit; FieldByName('MainId').Value := ''; FieldByName('SubId').Value := ''; FieldByName('PZId').Value := ''; Post; Next; end; end; ClientDataSet3.EnableControls; ClientDataSet5.DisableControls; with ClientDataSet5 do begin First; while not Eof do begin Edit; FieldByName('MainId').Value := ''; FieldByName('SubId').Value := ''; FieldByName('PZId').Value := ''; Post; Next; end; end; ClientDataSet5.EnableControls; end; end; procedure TfrmTatPlanInPut.LabPackageBtnUpClick(Sender: TObject); begin try frmTradeInspSet2 := TfrmTradeInspSet2.Create(Application); with frmTradeInspSet2 do begin if ShowModal = 1 then begin self.LabPackage.Text := Trim(frmTradeInspSet2.CDS_Label.fieldbyname('LabelCaption').AsString); end; end; finally frmTradeInspSet2.Free; end; end; procedure TfrmTatPlanInPut.ZDYHelp(FButn: TcxButtonEdit; LType: string); begin end; procedure TfrmTatPlanInPut.FormShow(Sender: TObject); begin InitData(); end; function TfrmTatPlanInPut.SaveData(): Boolean; var maxno, maxsubno, maxpbno, maxpzno, maxsjno: string; begin try ADOQueryCmd.Connection.BeginTrans; if Trim(FMainId) = '' then begin if OrdType.Text = '大货单' then begin if GetLSNo(ADOQueryCmd, maxno, 'DH', 'knit_Plan_Main', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('生成流水号异常!', '提示', 0); exit; end; end; if OrdType.Text = '试样单' then begin if GetLSNo(ADOQueryCmd, maxno, 'SY', 'knit_Plan_Main', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('生成流水号异常!', '提示', 0); exit; end; end; if OrdType.Text = '外发单' then begin if GetLSNo(ADOQueryCmd, maxno, 'KM', 'knit_Plan_Main', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('生成流水号异常!', '提示', 0); exit; end; end; OrderNo.Text := maxno; end else begin maxno := Trim(FMainId); end; ////////////////////////// 保存主表 ////////////////////////// with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('select * from knit_Plan_Main where MainId=''' + Trim(FMainId) + ''''); Open; end; with ADOQueryCmd do begin if Trim(FMainId) = '' then begin Append; end else begin Edit; end; FieldByName('MainId').Value := Trim(maxno); FieldByName('CustNo').Value := Trim(CustName.TxtCode); FieldByName('PlanType').Value := '梭织'; RTSetsavedata(ADOQueryCmd, 'knit_Plan_Main', ScrollBox1, 0); if Trim(FMainId) = '' then begin FieldByName('Filler').Value := Trim(DName); end else begin FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTemp); end; Post; end; ////////////////////////// 保存主表 ////////////////////////// /// ////////////////////////// 保存子表 ////////////////////////// if Trim(FSubId) = '' then begin if GetLSNo(ADOQueryTemp, maxsubno, 'KS', 'knit_Plan_Sub', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!', '提示', 0); Exit; end; end else begin maxsubno := Trim(FSubId); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from knit_Plan_Sub where '); sql.Add(' SubId=''' + Trim(maxsubno) + ''''); Open; end; with ADOQueryCmd do begin if Trim(FSubId) = '' then Append else Edit; FieldByName('MainId').Value := Trim(maxno); FieldByName('SubId').Value := Trim(maxsubno); FieldByName('ConMId').Value := Trim(FConMId); FieldByName('ConSId').Value := Trim(FConSId); RTSetsavedata(ADOQueryCmd, 'knit_Plan_Sub', ScrollBox1, 2); Post; end; ////////////////////////// 保存子表 ////////////////////////// /// ////////////////////////// 保存标签表 ////////////////////////// with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from Trade_Cloth_Inspect_Rule where '); sql.Add(' RuleID=''' + Trim(maxno) + ''''); Open; end; with ADOQueryCmd do begin if Trim(ADOQueryCmd.FieldByName('RuleID').ToString) = '' then begin Append; FieldByName('Filler').Value := Trim(DName); end else begin Edit; FieldByName('Editer').Value := Trim(DName); FieldByName('Edittime').Value := SGetServerDateTime(ADOQueryTemp); end; FieldByName('RuleID').Value := Trim(maxno); FieldByName('RuleBeforeTare').value := RuleBeforeTare.Text; FieldByName('LabPackage').value := LabPackage.Text; Post; end; ////////////////////////// 保存标签表 ////////////////////////// /// ////////////////////////// 保存配比表 ////////////////////////// with CDS_YuanLiao do begin First; while not Eof do begin if Trim(CDS_YuanLiao.fieldbyname('PBId').AsString) = '' then begin if GetLSNo(ADOQueryTemp, maxpbno, 'PB', 'knit_Plan_Yarn', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取配比子流水号失败!', '提示', 0); Exit; end; end else begin maxpbno := Trim(CDS_YuanLiao.fieldbyname('PBId').AsString); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from knit_Plan_Yarn where '); sql.Add(' PBId=''' + Trim(maxpbno) + ''''); Open; end; with ADOQueryCmd do begin if Trim(CDS_YuanLiao.fieldbyname('PBId').AsString) = '' then begin Append; FieldByName('Filler').Value := Trim(DName); FieldByName('FillTime').Value := SGetServerDateTime(ADOQueryTemp); end else begin Edit; FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTemp); end; FieldByName('MainId').Value := Trim(maxno); FieldByName('SubId').Value := Trim(maxsubno); FieldByName('PBId').Value := Trim(maxpbno); FieldByName('SPId').Value := Trim(CDS_YuanLiao.fieldbyname('SPId').AsString); RTSetSaveDataCDS(ADOQueryCmd, Tv2, CDS_YuanLiao, 'knit_Plan_Yarn', 0); Post; end; CDS_YuanLiao.Edit; CDS_YuanLiao.FieldByName('SubId').Value := Trim(maxsubno); CDS_YuanLiao.FieldByName('MainId').Value := Trim(maxno); CDS_YuanLiao.FieldByName('PBId').Value := Trim(maxpbno); Next; end; end; ////////////////////////// 保存配比表 ////////////////////////// /// ////////////////////////// 保存排针表 ////////////////////////// ClientDataSet3.DisableControls; with ClientDataSet3 do begin First; while not Eof do begin if Trim(ClientDataSet3.fieldbyname('PZId').AsString) = '' then begin if GetLSNo(ADOQueryCmd, maxpzno, 'PZ', 'knit_Plan_Arrange', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取排针流水号失败!', '提示', 0); Exit; end; end else begin maxpzno := Trim(ClientDataSet3.fieldbyname('PZId').AsString); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from knit_Plan_Arrange where '); sql.Add(' PZId=''' + Trim(maxpzno) + ''''); Open; end; with ADOQueryCmd do begin if Trim(ClientDataSet3.fieldbyname('PZId').AsString) = '' then begin Append; FieldByName('Filler').Value := Trim(DName); FieldByName('FillTime').Value := SGetServerDateTime(ADOQueryTemp); end else begin Edit; FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTemp); end; FieldByName('MainId').Value := Trim(maxno); FieldByName('SubId').Value := Trim(maxsubno); FieldByName('PZId').Value := Trim(maxpzno); RTSetSaveDataCDS(ADOQueryCmd, Tv3, ClientDataSet3, 'knit_Plan_Arrange', 0); FieldByName('PZType').Value := '排针'; FieldByName('PZName').Value := ClientDataSet3.fieldbyname('PZName').AsString; Post; end; ClientDataSet3.Edit; ClientDataSet3.FieldByName('PZId').Value := Trim(maxpzno); Next; end; end; ClientDataSet3.EnableControls; ////////////////////////// 保存排针表 ////////////////////////// /// ////////////////////////// 保存三角表 ////////////////////////// ClientDataSet5.DisableControls; with ClientDataSet5 do begin First; while not Eof do begin if Trim(ClientDataSet5.fieldbyname('PZId').AsString) = '' then begin if GetLSNo(ADOQueryCmd, maxsjno, 'PZ', 'knit_Plan_Arrange', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取三角流水号失败!', '提示', 0); Exit; end; end else begin maxsjno := Trim(ClientDataSet5.fieldbyname('PZId').AsString); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from knit_Plan_Arrange where '); sql.Add(' PZId=''' + Trim(maxsjno) + ''''); Open; end; with ADOQueryCmd do begin if Trim(ClientDataSet5.fieldbyname('PZId').AsString) = '' then begin Append; FieldByName('Filler').Value := Trim(DName); FieldByName('FillTime').Value := SGetServerDateTime(ADOQueryTemp); end else begin Edit; FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTemp); end; FieldByName('MainId').Value := Trim(maxno); FieldByName('SubId').Value := Trim(maxsubno); FieldByName('PZId').Value := Trim(maxsjno); RTSetSaveDataCDS(ADOQueryCmd, Tv5, ClientDataSet5, 'knit_Plan_Arrange', 0); FieldByName('PZType').Value := '三角'; Post; end; ClientDataSet5.Edit; ClientDataSet5.FieldByName('PZId').Value := Trim(maxsjno); Next; end; end; ClientDataSet5.EnableControls; ////////////////////////// 保存三角表 ////////////////////////// ADOQueryCmd.Connection.CommitTrans; FMainId := Trim(maxno); FSubId := Trim(maxsubno); Result := True; except Result := False; ClientDataSet3.EnableControls; ClientDataSet5.EnableControls; CDS_YuanLiao.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end; end; procedure TfrmTatPlanInPut.TBSaveClick(Sender: TObject); var FReal: Double; maxConNo: string; begin //OrdDate.SetFocus; if Trim(ConNo.Text) = '' then begin if GetLSNo(ADOQueryCmd, maxConNo, 'MS', 'knit_Plan_Main', 3, 1) = False then begin Application.MessageBox('生成流水号异常!', '提示', 0); exit; end; ConNo.Text := maxConNo; end; if Trim(ConNo.Text) = '' then begin Application.MessageBox('订单号不能为空!', '提示', 0); Exit; end; if Trim(OrdType.Text) = '' then begin Application.MessageBox('计划单类型不能为空!', '提示', 0); Exit; end; if OrdType.Text = '大货单' then begin if Trim(ISShouJian.Text) = '' then begin Application.MessageBox('是否做首件不能为空!', '提示', 0); Exit; end; end; if Trim(CustName.Text) = '' then begin Application.MessageBox('客户不能为空!', '提示', 0); Exit; end; if Trim(C_Name.Text) = '' then begin Application.MessageBox('产品名称不能为空!', '提示', 0); Exit; end; // if Trim(C_Code.Text) = '' then // begin // Application.MessageBox('产品编号不能为空!', '提示', 0); // Exit; // end; if Trim(C_Width.Text) = '' then begin Application.MessageBox('门幅不能为空!', '提示', 0); Exit; end; if Trim(C_WidthUnit.Text) = '' then begin Application.MessageBox('门幅必须选择有效或带边!', '提示', 0); Exit; end; if Trim(C_GramWeight.Text) = '' then begin Application.MessageBox('克重不能为空!', '提示', 0); Exit; end; if Trim(Price.Text) = '' then begin Application.MessageBox('单价不能为空!', '提示', 0); Exit; end; if Trim(OrdQty.Text) = '' then begin Application.MessageBox('总数量不能为空!', '提示', 0); Exit; end; if Trim(RuleBeforeTare.Text) = '' then begin Application.MessageBox('皮重不能为空!', '提示', 0); Exit; end; if Trim(OrdPiece.Text) = '' then begin Application.MessageBox('匹数不能为空!', '提示', 0); Exit; end; if Trim(LabPackage.Text) = '' then begin Application.MessageBox('标签不能为空!', '提示', 0); Exit; end; // if Trim(C_jiaceng.Text) = '' then // begin // Application.MessageBox('夹层不能为空!', '提示', 0); // Exit; // end; if Trim(C_Deal.Text) = '' then begin Application.MessageBox('后处理不能为空!', '提示', 0); Exit; end; if Trim(C_ZhuJi.Text) = '' then begin Application.MessageBox('助剂不能为空!', '提示', 0); Exit; end; if Trim(C_MainYarn.Text) = '' then begin Application.MessageBox('主要纱线不能为空!', '提示', 0); C_MainYarn.SetFocus; Exit; end; if TryStrToFloat(OrdQty.Text, FReal) = False then begin Application.MessageBox('总数量非法数字!', '提示', 0); Exit; end; if TryStrToFloat(Price.Text, FReal) = False then begin Application.MessageBox('单价非法数字!', '提示', 0); Exit; end; if TryStrToFloat(OrdPiece.Text, FReal) = False then begin Application.MessageBox('匹数非法数字!', '提示', 0); Exit; end; if TryStrToFloat(RuleBeforeTare.Text, FReal) = False then begin Application.MessageBox('皮重非法数字!', '提示', 0); Exit; end; if Trim(ISChongDa.Text) = '是' then begin if Trim(ChongDaNote.Text) = '' then begin Application.MessageBox('重打订单重打原因必须填写!', '提示', 0); Exit; end; end; // if Trim(C_Spec.Text) = '' then // begin // Application.MessageBox('规格不能为空!', '提示', 0); // Exit; // end; // if CDS_YuanLiao.Locate('YCLName', Null, []) = True then // begin // Application.MessageBox('原料名称不能为空!', '提示', 0); // Exit; // end; if SaveData() then begin Application.MessageBox('保存成功!', '提示', 0); FMainId := ''; FSubId := ''; C_MainYarn.Text := ''; // ModalResult := 1; end; end; procedure TfrmTatPlanInPut.ToolButton3Click(Sender: TObject); begin if cxPageControl1.ActivePageIndex <> 0 then Exit; try frmYarnInfoSel := TfrmYarnInfoSel.Create(Application); with frmYarnInfoSel do begin if ShowModal = 1 then begin with CDS_YuanLiao do begin Append; FieldByName('PinPai').Value := frmYarnInfoSel.CDS_1.fieldbyname('Brand').Value; FieldByName('Denier').Value := frmYarnInfoSel.CDS_1.fieldbyname('Denier').Value; FieldByName('Y_Name').Value := frmYarnInfoSel.CDS_1.fieldbyname('Y_Name').Value; FieldByName('Y_Spec').Value := frmYarnInfoSel.CDS_1.fieldbyname('Y_Spec').Value; FieldByName('PBQty').Value := 0; Post; end; end; end; finally frmYarnInfoSel.Free; end; end; procedure TfrmTatPlanInPut.ToolButton4Click(Sender: TObject); begin if CDS_YuanLiao.IsEmpty then Exit; if Trim(CDS_YuanLiao.fieldbyname('PBId').AsString) <> '' then begin if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete knit_Plan_Yarn where PBId=''' + Trim(CDS_YuanLiao.fieldbyname('PBId').AsString) + ''''); ExecSQL; end; end; CDS_YuanLiao.Delete; end; procedure TfrmTatPlanInPut.cxGridDBColumn1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'SXYCLName'; flagname := '原材料名称'; if ShowModal = 1 then begin Self.CDS_YuanLiao.Edit; Self.CDS_YuanLiao.FieldByName('YCLName').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmTatPlanInPut.v2Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'PinPai'; flagname := '品牌'; if ShowModal = 1 then begin Self.CDS_YuanLiao.Edit; Self.CDS_YuanLiao.FieldByName('PinPai').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmTatPlanInPut.Tv3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FGridFlag := 1; end; procedure TfrmTatPlanInPut.Tv5MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FGridFlag := 2; end; procedure TfrmTatPlanInPut.v2Column11PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmCompanySel := TfrmCompanySel.Create(Application); with frmCompanySel do begin if ShowModal = 1 then begin with Self.CDS_YuanLiao do begin Edit; FieldByName('GYSName').Value := Trim(CDS_1.fieldbyname('CoName').AsString); end; end; end; finally frmCompanySel.Free; end; end; procedure TfrmTatPlanInPut.OrdPieceWeightChange(Sender: TObject); var FOrdQty, FOrdPieceWeight: Double; begin // FOrdQty := StrToFloatDef(OrdQty.Text, 0); // FOrdPieceWeight := StrToFloatDef(OrdPieceWeight.Text, 0); // if FOrdPieceWeight > 0 then // OrdPiece.Text := IntToStr(Ceil(FOrdQty / FOrdPieceWeight)); end; procedure TfrmTatPlanInPut.OurCoNameBtnUpClick(Sender: TObject); begin try frmCompanySel := TfrmCompanySel.Create(Application); with frmCompanySel do begin FCoType := '我司'; if ShowModal = 1 then begin OurCoName.TxtCode := Trim(CDS_1.fieldbyname('CoCode').AsString); OurCoName.Text := Trim(CDS_1.fieldbyname('CoAbbrName').AsString); FtyCoName.TxtCode := Trim(CDS_1.fieldbyname('CoCode').AsString); FtyCoName.Text := Trim(CDS_1.fieldbyname('CoAbbrName').AsString); end; end; finally frmCompanySel.Free; end; end; procedure TfrmTatPlanInPut.OrdPieceChange(Sender: TObject); var FOrdQty, FOrdPieceWeight, FOrdPiece: Double; begin FOrdPieceWeight := StrToFloatDef(OrdPieceWeight.Text, 0); FOrdPiece := StrToFloatDef(OrdPiece.Text, 0); // if FOrdPiece > 0 then // OrdQty.Text := FloatToStr(FOrdPieceWeight * FOrdPiece) // else // OrdQty.Text := '0'; end; procedure TfrmTatPlanInPut.ToolButton5Click(Sender: TObject); var FSZ, FSC, FLS, ZZL: Double; begin ZZL := 0; with CDS_YuanLiao do begin First; while not eof do begin FSZ := StrToFloatDef(FieldByName('YCLSpec').AsString, 1); FSC := StrToFloatDef(FieldByName('ShaChang').AsString, 1); FLS := StrToFloatDef(FieldByName('YongShaLuShu').AsString, 1); ZZL := ZZL + FSZ * FSC * FLS; Next; end; end; with CDS_YuanLiao do begin First; while not eof do begin FSZ := StrToFloatDef(FieldByName('YCLSpec').AsString, 1); FSC := StrToFloatDef(FieldByName('ShaChang').AsString, 1); FLS := StrToFloatDef(FieldByName('YongShaLuShu').AsString, 1); Edit; FieldByName('PBQty').Value := FSZ * FSC * FLS / ZZL * 100; FieldByName('PBQty2').Value := FSZ * FSC * FLS / ZZL * 100; Next; end; end; end; procedure TfrmTatPlanInPut.C_CodeKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin Key := #0; SelectNext(ActiveControl as TWinControl, True, True); end; end; procedure TfrmTatPlanInPut.MCTypeBtnUpClick(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 TfrmTatPlanInPut.MenuItem1Click(Sender: TObject); begin with ClientDataSet5 do begin Append; Post; end; end; procedure TfrmTatPlanInPut.MenuItem2Click(Sender: TObject); begin if ClientDataSet5.IsEmpty then Exit; if Application.MessageBox('确定要删除三角数据吗?', '提示', 32 + 4) <> IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete knit_Plan_Arrange where PZID=''' + Trim(ClientDataSet5.fieldbyname('PZID').AsString) + ''''); ExecSQL; end; ClientDataSet5.Delete; end; procedure TfrmTatPlanInPut.N1Click(Sender: TObject); begin with ClientDataSet3 do begin Append; Post; end; end; procedure TfrmTatPlanInPut.N2Click(Sender: TObject); begin if ClientDataSet3.IsEmpty then Exit; if Application.MessageBox('确定要删除排针数据吗?', '提示', 32 + 4) <> IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete knit_Plan_Arrange where PZID=''' + Trim(ClientDataSet3.fieldbyname('PZID').AsString) + ''''); ExecSQL; end; ClientDataSet3.Delete; end; procedure TfrmTatPlanInPut.ConNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin Key := #0; SelectNext(ActiveControl as TWinControl, True, True); end; end; function TfrmTatPlanInPut.SaveData2(): Boolean; var maxpzno, maxno, maxsubno, maxsjno, Fpbnname: string; begin try ADOQueryCmd.Connection.BeginTrans; ClientDataSet3.DisableControls; with ClientDataSet3 do begin First; while not Eof do begin if Trim(ClientDataSet3.fieldbyname('PZId').AsString) = '' then begin if GetLSNo(ADOQueryCmd, maxpzno, 'PZB', 'knit_Plan_Arrange', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取排针流水号失败!', '提示', 0); Exit; end; end else begin maxpzno := Trim(ClientDataSet3.fieldbyname('PZId').AsString); end; // with ADOQueryCmd do // begin // Close; // SQL.Clear; // sql.Add('select * from knit_Plan_Arrange where '); // sql.Add(' PZname=''' + Trim(edt1.Text) + ''''); // Open; // end; // if ADOQueryCmd.IsEmpty = false then // Application.MessageBox('名称重复!', '提示', 0); // Exit; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from knit_Plan_Arrange where '); sql.Add(' PZId=''' + Trim(maxpzno) + ''''); Open; end; with ADOQueryCmd do begin if Trim(ClientDataSet3.fieldbyname('PZId').AsString) = '' then begin Append; FieldByName('Filler').Value := Trim(DName); FieldByName('FillTime').Value := SGetServerDateTime(ADOQueryTemp); end else begin Edit; FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTemp); end; FieldByName('MainId').Value := Trim(maxno); FieldByName('SubId').Value := Trim(maxsubno); FieldByName('PZId').Value := Trim(maxpzno); RTSetSaveDataCDS(ADOQueryCmd, Tv3, ClientDataSet3, 'knit_Plan_Arrange', 0); FieldByName('PZType').Value := '排针'; Post; end; ClientDataSet3.Edit; ClientDataSet3.FieldByName('PZId').Value := Trim(maxpzno); //Order_Sub.Post; Next; end; end; ClientDataSet3.EnableControls; ///保存排针表 ///保存三角表 ClientDataSet5.DisableControls; with ClientDataSet5 do begin First; while not Eof do begin if Trim(ClientDataSet5.fieldbyname('PZId').AsString) = '' then begin if GetLSNo(ADOQueryCmd, maxsjno, 'PZB', 'knit_Plan_Arrange', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取三角流水号失败!', '提示', 0); Exit; end; end else begin maxsjno := Trim(ClientDataSet5.fieldbyname('PZId').AsString); end; // with ADOQueryCmd do // begin // Close; // SQL.Clear; // sql.Add('select * from knit_Plan_Arrange where '); // sql.Add(' PZname=''' + Trim(edt1.Text) + ''''); // Open; // end; // if ADOQueryCmd.IsEmpty = false then // Application.MessageBox('名称重复!', '提示', 0); // Exit; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from knit_Plan_Arrange where '); sql.Add(' PZId=''' + Trim(maxsjno) + ''''); Open; end; with ADOQueryCmd do begin if Trim(ClientDataSet5.fieldbyname('PZId').AsString) = '' then begin Append; FieldByName('Filler').Value := Trim(DName); FieldByName('FillTime').Value := SGetServerDateTime(ADOQueryTemp); end else begin Edit; FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTemp); end; FieldByName('MainId').Value := Trim(maxno); FieldByName('SubId').Value := Trim(maxsubno); FieldByName('PZId').Value := Trim(maxsjno); RTSetSaveDataCDS(ADOQueryCmd, Tv5, ClientDataSet5, 'knit_Plan_Arrange', 0); FieldByName('PZType').Value := '三角'; FieldByName('PBName').Value := C_Name.Text; Post; end; ClientDataSet5.Edit; ClientDataSet5.FieldByName('PZId').Value := Trim(maxsjno); //Order_Sub.Post; Next; end; end; ClientDataSet5.EnableControls; ///保存三角表 ADOQueryCmd.Connection.CommitTrans; Result := True; except Result := False; ClientDataSet3.EnableControls; ClientDataSet5.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end; end; procedure TfrmTatPlanInPut.FtyCoNameBtnUpClick(Sender: TObject); begin try frmCompanySel := TfrmCompanySel.Create(Application); with frmCompanySel do begin FCoType := '供应商'; if ShowModal = 1 then begin OurCoName.TxtCode := Trim(CDS_1.fieldbyname('CoCode').AsString); OurCoName.Text := Trim(CDS_1.fieldbyname('CoAbbrName').AsString); end; end; finally frmCompanySel.Free; end; end; procedure TfrmTatPlanInPut.btn1Click(Sender: TObject); begin // if trim(ConNo.Text) = '' then // begin // Application.MessageBox('合同号为空!', '提示', 0); // Exit; // end; if C_I_Name.Text = '' then begin Application.MessageBox('内部型号不能为空!', '提示', 0); Exit; end; with ADOQuery1 do begin Close; SQL.Clear; sql.Add('select top 1 * from knit_Plan_Main A inner join knit_Plan_Sub B on A.MainId=B.MainId '); sql.Add('where C_I_Name=' + QuotedStr(C_I_Name.Text)); // sql.Add(' and A.Saleser=''' + Trim(Saleser.Text) + ''')'); Open; end; if ADOQuery1.IsEmpty then Exit; C_Width.Text := ADOQuery1.fieldbyname('C_Width').AsString; //门幅 OrdPieceWeight.Text := ADOQuery1.fieldbyname('OrdPieceWeight').AsString; //匹长 C_revolution.Text := ADOQuery1.fieldbyname('C_revolution').AsString; //落布转数 C_KnitGramWeight.Text := ADOQuery1.fieldbyname('C_KnitGramWeight').AsString; //坯布克重 C_GramWeight.Text := ADOQuery1.fieldbyname('C_GramWeight').AsString; //成品克重 C_Color.Text := ADOQuery1.fieldbyname('C_Color').AsString; //颜色 C_name.Text := ADOQuery1.fieldbyname('C_name').AsString; // C_I_Name.Text := ADOQuery1.fieldbyname('C_I_Name').AsString; //内部型号 C_Spec.Text := ADOQuery1.fieldbyname('C_Spec').AsString; //纱线 C_Deal.Text := ADOQuery1.fieldbyname('C_Deal').AsString; //后处理 C_Composition.Text := ADOQuery1.fieldbyname('C_Composition').AsString; //成分 // C_Yarn.Text := ADOQuery1.fieldbyname('C_Yarn').AsString; //面纱 C_Figure.Text := ADOQuery1.fieldbyname('C_Figure').AsString; //提花 C_KnitNote.Text := ADOQuery1.fieldbyname('C_KnitNote').AsString; //坯布要求 OrdSNote.Text := ADOQuery1.fieldbyname('OrdSNote').AsString; //备注 //self.OrdSNote.Text := ADOQuery1.fieldbyname('ConSNote').AsString; end; procedure TfrmTatPlanInPut.ConNoBtnUpClick(Sender: TObject); begin try frmTradeSalesContractSel := TfrmTradeSalesContractSel.Create(Application); with frmTradeSalesContractSel do begin if ShowModal = 1 then begin self.ConNo.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('ConNo').AsString; //合同号 FConMId := frmTradeSalesContractSel.CDS_1.fieldbyname('ConMID').AsString; FConSId := frmTradeSalesContractSel.CDS_1.fieldbyname('ConSId').AsString; self.DlyDate.date := frmTradeSalesContractSel.CDS_1.fieldbyname('DlyDate').AsDateTime; //交货日期 self.OurCoName.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('SellName').AsString; //公司抬头 self.CustName.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('BuyName').AsString; //客户 self.FtyCoName.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('MiddleName').AsString; //加工单位 self.Saleser.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('Saleser').AsString; //业务员 self.C_Code.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Code').AsString; //产品编号 self.C_Name.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Name').AsString; //产品名称 self.C_Width.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Width').AsString; //门幅 Self.C_KnitGramWeight.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('C_KnitGramWeight').AsString; //坯布克重 self.C_GramWeight.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('C_GramWeight').AsString; //成品克重 self.C_Color.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Color').AsString; //颜色 if frmTradeSalesContractSel.CDS_1.fieldbyname('ConUnit').Value <> 'Roll' then begin self.OrdQty.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('ConQty').Value; //数量 end else begin self.OrdPiece.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('ConQty').Value; //匹数 end; self.C_Spec.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Spec').AsString; self.C_Deal.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Deal').AsString; self.C_Composition.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Composition').AsString; // self.C_Yarn.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Yarn').AsString; self.C_Figure.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Figure').AsString; self.OrdSNote.Text := frmTradeSalesContractSel.CDS_1.fieldbyname('ConSNote').AsString; end; end; finally frmTradeSalesContractSel.Free; end; end; procedure TfrmTatPlanInPut.C_CodeBtnUpClick(Sender: TObject); begin try frmClothInfoSel := TfrmClothInfoSel.Create(Application); with frmClothInfoSel do begin if ShowModal = 1 then begin Self.C_Code.Text := frmClothInfoSel.CDS_1.fieldbyname('C_Code').AsString; Self.C_Name.Text := frmClothInfoSel.CDS_1.fieldbyname('C_Name').AsString; Self.C_I_Name.Text := frmClothInfoSel.CDS_1.fieldbyname('C_Name').AsString; Self.C_Width.Text := frmClothInfoSel.CDS_1.fieldbyname('C_Width').AsString; Self.C_KnitGramWeight.Text := frmClothInfoSel.CDS_1.fieldbyname('C_KnitGramWeight').AsString; Self.C_GramWeight.Text := frmClothInfoSel.CDS_1.fieldbyname('C_GramWeight').AsString; Self.C_Spec.Text := frmClothInfoSel.CDS_1.fieldbyname('C_Spec').AsString; Self.C_Color.Text := frmClothInfoSel.CDS_1.fieldbyname('C_Color').AsString; Self.C_Figure.Text := frmClothInfoSel.CDS_1.fieldbyname('C_Figure').AsString; Self.C_LongitudeSpec.Text := frmClothInfoSel.CDS_1.fieldbyname('C_LongitudeSpec').AsString; Self.C_LatitudeSpec.Text := frmClothInfoSel.CDS_1.fieldbyname('C_LatitudeSpec').AsString; Self.C_CarLatitudeDensity.Text := frmClothInfoSel.CDS_1.fieldbyname('C_CarLatitudeDensity').AsString; // Self.C_jiaceng.Text := frmClothInfoSel.CDS_1.fieldbyname('C_jiaceng').AsString; // Self.C_DYARN.Text := frmClothInfoSel.CDS_1.fieldbyname('C_DYARN').AsString; Self.C_Material_Name.Text := frmClothInfoSel.CDS_1.fieldbyname('C_KHCode').AsString; Self.C_Material.Text := frmClothInfoSel.CDS_1.fieldbyname('C_Material').AsString; Self.OrdSNote.Text := frmClothInfoSel.CDS_1.fieldbyname('Note').AsString; Self.C_Deal.Text := frmClothInfoSel.CDS_1.fieldbyname('C_Deal').AsString; end; end; finally frmClothInfoSel.Free; end; end; procedure TfrmTatPlanInPut.CustNameBtnDnClick(Sender: TObject); begin TBtnEditC(Sender).TxtCode := ''; TBtnEditC(Sender).Text := ''; end; procedure TfrmTatPlanInPut.CustNameBtnUpClick(Sender: TObject); begin try frmCompanySel := TfrmCompanySel.Create(Application); with frmCompanySel do begin FCoType := '客户'; if ShowModal = 1 then begin CustName.TxtCode := Trim(CDS_1.fieldbyname('CoCode').AsString); CustName.Text := Trim(CDS_1.fieldbyname('CoAbbrName').AsString); Saleser.Text := Trim(CDS_1.fieldbyname('Saleser').AsString); RuleBeforeTare.Text := Trim(CDS_1.fieldbyname('RuleBeforeTare').AsString); LabPackage.Text := Trim(CDS_1.fieldbyname('LabPackage').AsString); end; end; finally frmCompanySel.Free; end; end; end.