unit U_PlanCardList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxCheckBox, cxPC, Menus, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, cxContainer, cxMaskEdit, Math; type TfrmPlanCardList = class(TForm) cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DS_Plan: TDataSource; RM1: TRMGridReport; RMXLSExport1: TRMXLSExport; RMDBPRT: TRMDBDataSet; Panel2: TPanel; Panel3: TPanel; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column7: TcxGridDBColumn; v1OrderNo: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column31: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column19: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column21: TcxGridDBColumn; v1Column20: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1PRTMF: TcxGridDBColumn; v1PRTKZ: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column30: TcxGridDBColumn; v1PRTOrderQty: TcxGridDBColumn; v1Column4: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Panel1: TPanel; Label1: TLabel; Label3: TLabel; Label5: TLabel; Label10: TLabel; Label6: TLabel; Label7: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; ConNo: TEdit; P_CodeName: TEdit; P_Code: TEdit; BatchNo: TEdit; KHNAME: TEdit; ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; Panel4: TPanel; Panel5: TPanel; edtPiE: TEdit; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; cxGridDBColumn10: TcxGridDBColumn; cxGridDBColumn11: TcxGridDBColumn; cxGridDBColumn15: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; Label4: TLabel; cxTabControl1: TcxTabControl; Label8: TLabel; edtTouWen: TEdit; Label9: TLabel; edtQJingG: TEdit; Label11: TLabel; edtLen: TEdit; Label2: TLabel; edtFS: TEdit; DS_Card: TDataSource; CDS_Card: TClientDataSet; cxGridPopupMenu2: TcxGridPopupMenu; Button3: TButton; CDS_Prt: TClientDataSet; ADOQueryPrint: TADOQuery; PopupMenu1: TPopupMenu; N1: TMenuItem; APMachineNo: TEdit; Button4: TButton; Button1: TButton; ToolButton1: TToolButton; N2: TMenuItem; N3: TMenuItem; v1Column8: TcxGridDBColumn; Label12: TLabel; edtShangP: TEdit; V2Column3: TcxGridDBColumn; V2Column4: TcxGridDBColumn; Label13: TLabel; edtKaNo: TEdit; V2Column1: TcxGridDBColumn; Label14: TLabel; edZDFNo: TEdit; V2Column2: TcxGridDBColumn; CDS_PJS: TClientDataSet; RMDB_JS: TRMDBDataSet; CDS_PWS: TClientDataSet; RMDB_WS: TRMDBDataSet; CDS_CZ: TClientDataSet; RMDB_CZ: TRMDBDataSet; CDS_QZ: TClientDataSet; RMDB_QZ: TRMDBDataSet; Button2: TButton; Button5: TButton; Tv1Column1: TcxGridDBColumn; Label15: TLabel; Label16: TLabel; Label17: TLabel; Label18: TLabel; Label19: TLabel; edtMenFu: TEdit; edtTiaoshu: TEdit; edtTiaoKuan: TEdit; edtYiSiLiang: TEdit; edtGangKou: TEdit; Label20: TLabel; Label21: TLabel; ZJPiLen: TEdit; TV2Column1: TcxGridDBColumn; cbbSYYL: TcxButtonEdit; TV2Column2: TcxGridDBColumn; TV2Column3: TcxGridDBColumn; ADOQuery1: TADOQuery; Tv1Column2: TcxGridDBColumn; Label22: TLabel; edtgenshu: TEdit; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; RMDB_Main: TRMDBDataSet; CDS_PM: TClientDataSet; cxPageControl1: TcxPageControl; cxTabSheet1: TcxTabSheet; cxTabSheet2: TcxTabSheet; CDS_YarnJX: TClientDataSet; DS_YarnJX: TDataSource; CDS_YarnWX: TClientDataSet; DS_YarnWX: TDataSource; CDS_PLAN: TClientDataSet; Label23: TLabel; ZZCHEJIAN: TcxButtonEdit; Label24: TLabel; MKCR: TEdit; Panel6: TPanel; cxGrid3: TcxGrid; TV3: TcxGridDBTableView; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; TV3Column1: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; Panel7: TPanel; cxGrid4: TcxGrid; TV4: TcxGridDBTableView; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridDBColumn12: TcxGridDBColumn; cxGridDBColumn13: TcxGridDBColumn; cxGridDBColumn14: TcxGridDBColumn; TV4Column1: TcxGridDBColumn; cxGridLevel3: TcxGridLevel; GroupBox2: TGroupBox; Y_Note_PLW: TMemo; Panel8: TPanel; GroupBox3: TGroupBox; Y_Note_PLQJ: TMemo; GroupBox1: TGroupBox; Y_Note_PLJ: TMemo; Tv1Column3: TcxGridDBColumn; Label25: TLabel; Note: TEdit; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Label26: TLabel; SXCS: TComboBox; Label27: TLabel; edtsjwm: TEdit; TV2Column4: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBRafreshClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure Button4Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure edtQJingGClick(Sender: TObject); procedure P_CodeChange(Sender: TObject); procedure cxGridDBColumn11PropertiesEditValueChanged(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure cbbSYYLPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure TV3Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure cxGridDBColumn3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TV4Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure cxGridDBColumn8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton5Click(Sender: TObject); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure edtLenChange(Sender: TObject); procedure edtPiEExit(Sender: TObject); procedure Tv1Column8PropertiesChange(Sender: TObject); private FInt, PFInt: Integer; FMainId, FS, FFPCId: string; procedure InitGrid(); procedure InitForm(); function SaveData(): Boolean; procedure PrtDate(MPCid: string); procedure DelCard(MPCid: string); procedure InitCard(MSubid: string); { Private declarations } public canshu1, FCheJian: string; { Public declarations } end; implementation uses U_DataLink, U_Fun, U_ZDYHelp, U_ZdyMapSel, U_ZdyAttachGYS, U_ZDYHelp2; {$R *.dfm} procedure TfrmPlanCardList.InitCard(MSubid: string); begin try ADOQueryTemp.DisableControls; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select A.*,B.* '); sql.Add(' from PD_Plan_Card A inner join PD_Plan_Card_MS B on A.PCID=B.PCID'); sql.Add(' where B.Subid=' + quotedstr(Trim(MSubid))); Open; end; SCreateCDS20(ADOQueryTemp, CDS_Card); SInitCDSData20(ADOQueryTemp, CDS_Card); finally ADOQueryTemp.EnableControls; end; end; procedure TfrmPlanCardList.DelCard(MPCid: string); begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' select * from PD_Plan_AnPai where PCID=' + quotedstr(Trim(MPCid))); Open; end; if ADOQueryCmd.IsEmpty = False then begin Application.MessageBox('已打印布票,不能删除!', '提示', 0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin close; sql.Clear; // sql.Add(' Update PD_Plan_Card Set DelTime=getdate(),DelName=''' + Trim(DName) + ''',DelCode=''' + Trim(DCode) + ''''); // sql.Add(' where PCID=' + quotedstr(Trim(MPCid))); sql.Add(' delete PD_Plan_Card where PCID=' + quotedstr(Trim(MPCid))); // sql.Add(' Update PD_Plan_Card_MS Set DelTime=getdate(),DelName=''' + Trim(DName) + ''',DelCode=''' + Trim(DCode) + ''''); // sql.Add(' where PCID=' + quotedstr(Trim(MPCid))); sql.Add(' delete PD_Plan_Card_MS where PCID=' + quotedstr(Trim(MPCid))); sql.Add(' delete PD_Plan_Yarn_CAR where PCID=' + quotedstr(Trim(MPCid))); // ShowMessage(sql.text ); execsql; end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('删除失败!', '提示', 0); end; end; procedure TfrmPlanCardList.PrtDate(MPCid: string); var fPrintFile, FFCYID: string; DPS, i, j: Integer; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; begin ExportFtErpFile('轴卡标签.rmf', ADOQueryTemp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\轴卡标签.rmf'; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update PD_Plan_Card set PrtFlag=PrtFlag+1 '); sql.Add(' where PCID=' + quotedstr(MPCid)); ExecSQL; end; with ADOQueryPrint do begin Close; sql.Clear; sql.Add('select D.*,A.*,B.* '); sql.Add(',P_Code2=(STUFF(( SELECT '','' +convert(VARCHAR, P_Code) FROM PD_Plan_sub e '); sql.Add('inner join PD_Plan_Card_MS f on e.Subid=f.Subid and f.PCID=' + quotedstr(MPCid)); sql.Add('FOR XML PATH('''')), 1, 1, '''') )'); sql.Add(' from PD_Plan_Main A inner join PD_Plan_Sub B on A.Mainid=B.MainId'); sql.Add(' inner join PD_Plan_Card_MS C on C.Subid=B.Subid '); sql.Add(' inner join PD_Plan_Card D on C.PCID=D.PCID '); sql.Add(' where D.PCID=' + quotedstr(MPCid)); // ShowMessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryPrint, CDS_PM); SInitCDSData20(ADOQueryPrint, CDS_PM); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select Y.* from PD_Plan_Yarn_car Y INNER JOIN PD_Plan_Card_MS M ON M.MainId=Y.MainId where Y.PYType=''经丝'' and M.mainid=' + Quotedstr(Trim(CDS_PLAN.fieldbyname('mainid').AsString))); sql.Add(' and M.PCID=' + quotedstr(MPCid)); Open; end; SCreateCDS20(ADOQueryTemp, CDS_PJS); SInitCDSData20(ADOQueryTemp, CDS_PJS); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select Y.* from PD_Plan_Yarn_car Y INNER JOIN PD_Plan_Card_MS M ON M.MainId=Y.MainId where Y.PYType=''纬丝'' and M.mainid=' + Quotedstr(Trim(CDS_PLAN.fieldbyname('mainid').AsString))); sql.Add(' and M.PCID=' + quotedstr(MPCid)); //ShowMessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryTemp, CDS_PWS); SInitCDSData20(ADOQueryTemp, CDS_PWS); try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); Txt := Trim(MPCid); fImagePath := ExtractFilePath(Application.ExeName) + 'image\' + MPCid + '.bmp'; if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); if FileExists(fImagePath) then DeleteFile(fImagePath); Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); except application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR); exit; end; if FileExists(fPrintFile) then begin RMVariables['QRBARCODE'] := fImagePath; //RM1.ShowPrintDialog := False; RM1.LoadFromFile(fPrintFile); RM1.DefaultCopies := 1; RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); Exit; end; if FileExists(fImagePath) then DeleteFile(fImagePath); end; function TfrmPlanCardList.SaveData(): Boolean; var maxno, maxsubno, maxpbno, maxpzno, maxsjno: string; begin try ADOQueryCmd.Connection.BeginTrans; ///////////////////////////////////保存轴卡////////////////////////////// if GetLSNo(ADOQueryCmd, maxno, 'PC', 'PD_Plan_Card', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('生成流水号异常!', '提示', 0); exit; end; with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('select * from PD_Plan_Card where 1=2 '); Open; end; with ADOQueryCmd do begin Append; FieldByName('PCid').Value := Trim(maxno); FieldByName('C_TouWen').Value := Trim(edtTouWen.Text); FieldByName('ZJPiLen').Value := Trim(ZJPiLen.Text); FieldByName('SXCS').Value := Trim(SXCS.Text); FieldByName('C_QJingG').Value := Trim(edtQJingG.Text); FieldByName('C_PiE').Value := Trim(edtPiE.Text); FieldByName('C_Len').Value := Trim(edtLen.Text); FieldByName('C_ShangPai').Value := Trim(edtShangP.Text); FieldByName('APMachineNo').Value := Trim(APMachineNo.Text); FieldByName('edtKaNo').Value := Trim(edtKaNo.Text); FieldByName('edZDFNo').Value := Trim(edZDFNo.Text); FieldByName('Filler').Value := Trim(DName); FieldByName('Tiaoshu').Value := Trim(edtTiaoshu.Text); FieldByName('genshu').Value := Trim(edtgenshu.Text); FieldByName('MenFu').Value := Trim(edtMenFu.Text); FieldByName('TiaoKuan').Value := Trim(edtTiaoKuan.Text); FieldByName('YiSiLiang').Value := Trim(edtYiSiLiang.Text); FieldByName('GangKou').Value := Trim(edtGangKou.Text); FieldByName('SYYL').Value := Trim(cbbSYYL.Text); FieldByName('C_SJWM').Value := Trim(edtsjwm.Text); FieldByName('ZZCHEJIAN').Value := Trim(ZZCHEJIAN.Text); FieldByName('mkcr').Value := Trim(mkcr.Text); Post; end; ///////////////////////////////////保存轴卡////////////////////////////// ///////////////////////////////////保存计划单////////////////////////////// ///////////////////////////////////经丝组合////////////////////////////// { with CDS_YarnJX do begin First; while not Eof do begin if Trim(CDS_YarnJX.fieldbyname('PYId').AsString) = '' then begin if GetLSNo(ADOQueryTemp, maxpbno, 'PY', 'PD_Plan_Yarn_CAR', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('经丝组合流水号失败!', '提示', 0); Exit; end; end else begin maxpbno := Trim(CDS_YarnJX.fieldbyname('PYId').AsString); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from PD_Plan_Yarn_Car where '); sql.Add(' PYId=''' + Trim(maxpbno) + ''''); Open; end; with ADOQueryCmd do begin if Trim(CDS_YarnJX.fieldbyname('PYId').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('PYType').Value := '经丝'; FieldByName('MainId').Value := Trim(CDS_Plan.FieldByName('MainId').Value); FieldByName('SubId').Value := Trim(CDS_Plan.FieldByName('subid').Value); FieldByName('PCID').Value := Trim(maxno); FieldByName('PYID').Value := Trim(maxpbno); FieldByName('Y_Note_PL').Value := Trim(Y_Note_PLJ.Text); FieldByName('Y_Note_PLQJ').Value := Trim(Y_Note_PLQJ.Text); RTSetSaveDataCDS(ADOQueryCmd, Tv3, CDS_YarnJX, 'PD_Plan_Yarn_CAR', 0); Post; end; CDS_YarnJX.Edit; CDS_YarnJX.FieldByName('SubId').Value := Trim(CDS_Plan.FieldByName('subid').Value); CDS_YarnJX.FieldByName('MainId').Value := Trim(CDS_Plan.FieldByName('MainId').Value); CDS_YarnJX.FieldByName('PYId').Value := Trim(maxpbno); Next; end; end; ///////////////////////////////////经丝组合////////////////////////////// ///////////////////////////////////纬丝组合////////////////////////////// with CDS_YarnWX do begin First; while not Eof do begin if Trim(CDS_YarnWX.fieldbyname('PYId').AsString) = '' then begin if GetLSNo(ADOQueryTemp, maxpbno, 'PY', 'PD_Plan_Yarn_CAR', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('纬丝组合流水号失败!', '提示', 0); Exit; end; end else begin maxpbno := Trim(CDS_YarnWX.fieldbyname('PYId').AsString); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from PD_Plan_Yarn_CAR where '); sql.Add(' PYId=''' + Trim(maxpbno) + ''''); Open; end; with ADOQueryCmd do begin if Trim(CDS_YarnWX.fieldbyname('PYId').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('PCID').Value := Trim(maxno); FieldByName('PYType').Value := '纬丝'; FieldByName('MainId').Value := Trim(CDS_Plan.FieldByName('MainId').Value); FieldByName('SubId').Value := Trim(CDS_Plan.FieldByName('subid').Value); FieldByName('PYID').Value := Trim(maxpbno); FieldByName('Y_Note_PL').Value := Trim(Y_Note_PLW.Text); RTSetSaveDataCDS(ADOQueryCmd, Tv4, CDS_YarnWX, 'PD_Plan_Yarn_CAR', 0); Post; end; CDS_YarnwX.Edit; CDS_YarnwX.FieldByName('SubId').Value := Trim(CDS_Plan.FieldByName('subid').Value); CDS_YarnwX.FieldByName('MainId').Value := Trim(CDS_Plan.FieldByName('mainid').Value); CDS_YarnwX.FieldByName('PYId').Value := Trim(maxpbno); Next; end; end; ///////////////////////////////////纬丝组合////////////////////////////// } ///////////////////////////////////保存计划单////////////////////////////// ///////////////////////////////////更新是否开轴////////////////////////////// with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('UPDATE Contract_Sub SET SFPaiZ= ''已排轴'' '); SQL.Add(' FROM Contract_Sub A inner join Contract_Main B on B.ConMainId=A.ConMainId '); SQL.Add(' WHERE A.P_Code=' + QuotedStr(Trim(CDS_Plan.FieldByName('P_Code').AsString))); SQL.Add(' and B.ConNo=' + QuotedStr(Trim(CDS_Plan.FieldByName('ConNo').AsString))); //ShowMessage(SQL.Text); ExecSQL; end; with CDS_Plan do begin while Locate('SSel', True, []) do begin with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from PD_Plan_Card_MS where 1=2'); Open; end; with ADOQueryCmd do begin Append; FieldByName('MainId').Value := CDS_Plan.FieldByName('MainId').Value; FieldByName('SubId').Value := CDS_Plan.FieldByName('SubId').Value; FieldByName('PCId').Value := Trim(maxno); Post; end; CDS_Plan.Edit; CDS_Plan.FieldByName('ssel').AsBoolean := false; end; end; /////////////////////////////////更新是否开轴////////////////////////////// ADOQueryCmd.Connection.CommitTrans; PrtDate(maxno); Result := True; except Result := False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end; end; procedure TfrmPlanCardList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmPlanCardList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select A.*,B.*,APPS=(select count(APID) from PD_Plan_AnPai X where X.Mainid=A.Mainid) '); sql.Add(',SCZT=(case when (select count(*) from PD_Plan_Yarn_CAR E WHERE E.SUBID=B.SUBID )>0 THEN ''1'' ELSE ''0'' END )'); sql.Add(' from PD_Plan_Main A inner join PD_Plan_Sub B on A.Mainid=B.MainId'); case cxTabControl1.TabIndex of 0: begin sql.Add(' where ISNULL(A.ConNoStatu, '''') <>''已取消'' and not exists( select B.SubId from PD_Plan_Card X inner join PD_Plan_Card_MS Y on X.PCId=Y.PCId where Y.SubId=B.SubId )'); end; 1: begin sql.Add(' where ISNULL(A.ConNoStatu, '''') <>''已取消'' and A.FillTIme>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + ''''); sql.Add(' and A.FillTIme<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)) + ''''); sql.Add(' and exists(select B.SubId from PD_Plan_Card X inner join PD_Plan_Card_MS Y on X.PCId=Y.PCId where Y.SubId=B.SubId )'); end; end; sql.Add('and a.valid=''Y'''); // ShowMessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryMain, CDS_Plan); SInitCDSData20(ADOQueryMain, CDS_Plan); finally ADOQueryMain.EnableControls; end; end; procedure TfrmPlanCardList.InitForm(); var f1, f2: string; begin ReadCxGrid(Trim(self.Caption), Tv1, '坯布生产管理1'); ReadCxGrid(Trim(self.Caption), Tv2, '坯布轴卡'); BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 30; EndDate.DateTime := SGetServerDate10(ADOQueryTemp); InitGrid(); end; procedure TfrmPlanCardList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmPlanCardList.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmPlanCardList.Button1Click(Sender: TObject); var i: Integer; begin cxGrid1.Enabled := False; // if Trim(edZDFNo.Text) = '' then // begin // Application.MessageBox('经线批号不能为空!', '提示', 0); // Exit; // end; if CDS_Plan.Locate('SSel', True, []) = False then begin cxGrid1.Enabled := True; Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if ZZCHEJIAN.Text = '' then begin Application.MessageBox('织造车间不能为空!', '提示', 0); Exit; end; for i := 1 to StrToIntDef(edtFS.Text, 0) do begin if SaveData() then begin end; end; InitCard(CDS_Plan.FieldByName('Subid').AsString); cxGrid1.Enabled := True; end; procedure TfrmPlanCardList.Button3Click(Sender: TObject); begin while CDS_Card.Locate('SSel', True, []) do begin PrtDate(Trim(CDS_Card.FieldByName('PCID').AsString)); CDS_Card.Edit; CDS_Card.FieldByName('SSel').Value := False; end; end; procedure TfrmPlanCardList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_Plan); SInitCDSData20(ADOQueryMain, CDS_Plan); end; procedure TfrmPlanCardList.N1Click(Sender: TObject); begin if CDS_Card.IsEmpty then Exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; while CDS_Card.Locate('SSel', True, []) do begin DelCard(Trim(CDS_Card.FieldByName('PCID').AsString)); CDS_Card.Delete; end; InitCard(CDS_Plan.FieldByName('Subid').AsString); end; procedure TfrmPlanCardList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmPlanCardList.Button4Click(Sender: TObject); begin try frmZdyMapSel := TfrmZdyMapSel.Create(self); with frmZdyMapSel do begin FInitSql := 'select MachNo Note,MachNo ZDYName from BS_Machine where MachType=''扦经机'' order by MachNo '; if ShowModal = 1 then begin APMachineNo.Text := frmZdyMapSel.FZdyName; end; end; finally frmZdyMapSel.Free; end; end; procedure TfrmPlanCardList.ToolButton1Click(Sender: TObject); begin WriteCxGrid(Trim(self.Caption), Tv1, '坯布生产管理1'); WriteCxGrid(Trim(self.Caption), Tv2, '坯布轴卡'); Close; end; procedure TfrmPlanCardList.N2Click(Sender: TObject); begin SelOKNo(CDS_Card, True); end; procedure TfrmPlanCardList.N3Click(Sender: TObject); begin SelOKNo(CDS_Card, False); end; procedure TfrmPlanCardList.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin // InitCard(CDS_Plan.FieldByName('Subid').AsString); // // edtTouWen.Text := Trim(CDS_Plan.FieldByName('JX_Wai').AsString); // ZJPiLen.Text := Trim(CDS_Plan.FieldByName('ZJPiLen').AsString); // with ADOQuery1 do // begin // Close; // sql.Clear; // sql.Add('select top 1 A.*,B.* '); // sql.Add(' from PD_Plan_Card A inner join PD_Plan_Card_MS B on A.PCID=B.PCID'); // sql.Add(' where B.Subid=' + quotedstr(Trim(CDS_Plan.FieldByName('Subid').AsString))); // sql.Add(' order by A.filltime desc '); // Open; // end; // edZDFNo.text := Trim(ADOQuery1.FieldByName('edZDFNo').AsString); // APMachineNo.text := Trim(ADOQuery1.FieldByName('APMachineNo').AsString); // edtKaNo.text := Trim(ADOQuery1.FieldByName('edtKaNo').AsString); // edtQJingG.text := Trim(ADOQuery1.FieldByName('C_QJingG').AsString); // edtPiE.text := Trim(ADOQuery1.FieldByName('C_PiE').AsString); // edtLen.text := Trim(ADOQuery1.FieldByName('C_Len').AsString); // edtShangP.text := Trim(ADOQuery1.FieldByName('C_ShangPai').AsString); // edtTiaoshu.text := Trim(ADOQuery1.FieldByName('TiaoShu').AsString); // // edtgenshu.text := Trim(ADOQuery1.FieldByName('genshu').AsString); // // edtMenFu.text := Trim(ADOQuery1.FieldByName('MenFu').AsString); // edtTiaoKuan.text := Trim(ADOQuery1.FieldByName('TiaoKuan').AsString); // edtYiSiLiang.text := Trim(ADOQuery1.FieldByName('YiSiLiang').AsString); // edtGangKou.text := Trim(ADOQuery1.FieldByName('GangKou').AsString); // cbbSYYL.text := Trim(ADOQuery1.FieldByName('SYYL').AsString); end; procedure TfrmPlanCardList.edtQJingGClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'edtQJingG'; flagname := '扦经工'; if ShowModal = 1 then begin edtQJingG.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmPlanCardList.P_CodeChange(Sender: TObject); begin if ADOQuerymain.Active = False then Exit; SDofilter(ADOQuerymain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQuerymain, CDS_Plan); SInitCDSData20(ADOQuerymain, CDS_Plan); CDS_PLAN.First; Tv1Column8PropertiesChange(Sender); end; procedure TfrmPlanCardList.cxGridDBColumn11PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); try ADOQueryCmd.Connection.BeginTrans; with CDS_Card do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate PD_Plan_Card '); sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); sql.Add(' where PCid=' + quotedstr(CDS_Card.fieldbyname('PCid').AsString)); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; tv2.Controller.EditingController.ShowEdit(); except tv2.Controller.EditingController.ShowEdit(); ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end end; procedure TfrmPlanCardList.Button2Click(Sender: TObject); var i: Integer; begin if CDS_Card.IsEmpty then Exit; if CDS_Card.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; i := 0; with CDS_Card do begin while CDS_Card.Locate('SSel', True, []) = True do begin i := i + 1; Edit; CDS_Card.FieldByName('SSel').Value := False; Post; if i > 1 then begin Application.MessageBox('不能选择多个数据!', '提示', 0); edZDFNo.Text := ''; APMachineNo.Text := ''; edtKaNo.Text := ''; edtTouWen.Text := ''; edtQJingG.Text := ''; edtPiE.Text := ''; edtLen.Text := ''; edtShangP.Text := ''; FFPCId := ''; Exit; Break; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select A.* '); sql.Add(' from PD_Plan_Card A '); sql.Add(' where A.PCId=' + quotedstr(Trim(CDS_Card.fieldbyname('PCid').AsString))); Open; end; if CDS_Card.IsEmpty = False then begin edZDFNo.Text := Trim(ADOQueryCmd.fieldbyname('edZDFNo').AsString); APMachineNo.Text := Trim(ADOQueryCmd.fieldbyname('APMachineNo').AsString); edtKaNo.Text := Trim(ADOQueryCmd.fieldbyname('edtKaNo').AsString); edtTouWen.Text := Trim(ADOQueryCmd.fieldbyname('C_TouWen').AsString); edtQJingG.Text := Trim(ADOQueryCmd.fieldbyname('C_QJingG').AsString); edtPiE.Text := Trim(ADOQueryCmd.fieldbyname('C_PiE').AsString); edtLen.Text := Trim(ADOQueryCmd.fieldbyname('C_Len').AsString); edtShangP.Text := Trim(ADOQueryCmd.fieldbyname('C_ShangPai').AsString); FFPCId := Trim(CDS_Card.fieldbyname('PCid').AsString); edtTiaoshu.Text := Trim(ADOQueryCmd.fieldbyname('tiaoshu').AsString); edtMenFu.Text := Trim(ADOQueryCmd.fieldbyname('MenFu').AsString); edtTiaoKuan.Text := Trim(ADOQueryCmd.fieldbyname('TiaoKuan').AsString); edtYiSiLiang.Text := Trim(ADOQueryCmd.fieldbyname('YiSiLiang').AsString); edtsjwm.Text := Trim(ADOQueryCmd.fieldbyname('C_SJWM').AsString); edtGangKou.Text := Trim(ADOQueryCmd.fieldbyname('GangKou').AsString); ZJPiLen.Text := Trim(ADOQueryCmd.fieldbyname('ZJPiLen').AsString); edtTouWen.Text := Trim(ADOQueryCmd.fieldbyname('C_TouWen').AsString); cbbSYYL.Text := Trim(ADOQueryCmd.fieldbyname('SYYL').AsString); ZZCHEJIAN.Text := Trim(ADOQueryCmd.fieldbyname('ZZCHEJIAN').AsString); MKCR.Text := Trim(ADOQueryCmd.fieldbyname('MKCR').AsString); end; Next; end; end; // with ADOQueryTemp do // begin // Close; // sql.Clear; // sql.Add('select * from PD_Plan_Yarn_CAR where PYType=''经丝'' and SubID=' + quotedstr(Trim(CDS_Card.fieldbyname('SubID').AsString))); //// ShowMessage(sql.text); // Open; // end; // SCreateCDS20(ADOQueryTemp, CDS_YarnJX); // SInitCDSData20(ADOQueryTemp, CDS_YarnJX); // // with ADOQueryTemp do // begin // Close; // sql.Clear; // sql.Add('select * from PD_Plan_Yarn_CAR where PYType=''纬丝'' and SubID=' + quotedstr(Trim(CDS_Card.fieldbyname('SubID').AsString))); // // Open; // end; // SCreateCDS20(ADOQueryTemp, CDS_YarnWX); // SInitCDSData20(ADOQueryTemp, CDS_YarnWX); Button1.Enabled := False; Button3.Enabled := False; edtFS.Enabled := False; end; procedure TfrmPlanCardList.Button5Click(Sender: TObject); begin // if Trim(edZDFNo.Text) = '' then // begin // Application.MessageBox('经线批号不能为空!', '提示', 0); // Exit; // end; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('UPdate PD_Plan_Card '); sql.Add(' Set edZDFNo=' + quotedstr(Trim(edZDFNo.Text))); sql.Add(' ,APMachineNo=' + quotedstr(Trim(APMachineNo.Text))); sql.Add(' ,edtKaNo=' + quotedstr(Trim(edtKaNo.Text))); sql.Add(' ,C_TouWen=' + quotedstr(Trim(edtTouWen.Text))); sql.Add(' ,C_QJingG=' + quotedstr(Trim(edtQJingG.Text))); sql.Add(' ,C_ShangPai=' + quotedstr(Trim(edtShangP.Text))); sql.Add(' ,C_sjwm=' + quotedstr(Trim(edtsjwm.Text))); sql.Add(' ,C_PiE=' + quotedstr(Trim(edtPiE.Text))); sql.Add(' ,C_Len=' + quotedstr(Trim(edtLen.Text))); sql.Add(' ,tiaoshu=' + quotedstr(Trim(edtTiaoshu.Text))); sql.Add(' ,genshu=' + quotedstr(Trim(edtgenshu.Text))); sql.Add(' ,MenFu=' + quotedstr(Trim(edtMenFu.Text))); sql.Add(' ,TiaoKuan=' + quotedstr(Trim(edtTiaoKuan.Text))); sql.Add(' ,YiSiLiang=' + quotedstr(Trim(edtYiSiLiang.Text))); sql.Add(' ,GangKou=' + quotedstr(Trim(edtGangKou.Text))); sql.Add(' ,ZJPiLen=' + quotedstr(Trim(ZJPiLen.Text))); sql.Add(' ,SYYL=' + quotedstr(Trim(cbbSYYL.Text))); sql.Add(' ,MKCR=' + quotedstr(Trim(MKCR.Text))); sql.Add(' ,ZZCHEJIAN=' + quotedstr(Trim(ZZCHEJIAN.Text))); sql.Add(' ,Editer=' + quotedstr(Trim(DName))); sql.Add(' ,Edittime=GETDATE()'); sql.Add(' where PCid=' + quotedstr(Trim(FFPCId))); ExecSQL; end; ///////////////////////////////////经丝组合////////////////////////////// ///////////////////////////////////纬丝组合////////////////////////////// finally ADOQueryMain.EnableControls; Application.MessageBox('修改成功!', '提示', 0); Button1.Enabled := True; Button3.Enabled := True; edtFS.Enabled := True; edZDFNo.Text := ''; APMachineNo.Text := ''; edtKaNo.Text := ''; edtTouWen.Text := ''; edtQJingG.Text := ''; edtPiE.Text := ''; edtLen.Text := ''; edtShangP.Text := ''; FFPCId := ''; InitCard(CDS_Plan.FieldByName('Subid').AsString); end end; procedure TfrmPlanCardList.cbbSYYLPropertiesButtonClick(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 TcxButtonEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmPlanCardList.ToolButton2Click(Sender: TObject); var maxpbno: string; tMAINID, TORDERNO: string; begin if CDS_PLAN.FieldByName('ssel').Value = False then begin Application.MessageBox('请选中后继续操作!', '提示', 0); Exit; end; if Application.MessageBox(PAnsiChar('确定将该信息保存到' + CDS_PLAN.FIELDBYNAME('orderno').ASSTRING + '吗?'), '提示', 32 + 4) <> IDYES then Exit; panel3.Enabled := False; tMAINID := CDS_PLAN.FIELDBYNAME('MAINID').ASSTRING; CDS_PLAN.DisableControls; try with ADOQueryTemp do begin Close; sql.Clear; SQL.Add('UPDATE PD_Plan_Main SET C_edZDFNo=' + QuotedStr(edZDFNo.Text)); SQL.Add(',C_APMachineNo=' + QuotedStr(APMachineNo.Text)); SQL.Add(',C_edtKaNo=' + QuotedStr(edtKaNo.Text)); SQL.Add(',C_edtTouWen=' + QuotedStr(edtTouWen.Text)); SQL.Add(',C_edtQJingG=' + QuotedStr(edtQJingG.Text)); SQL.Add(',C_edtPiE=' + QuotedStr(edtPiE.Text)); SQL.Add(',C_edtLen=' + QuotedStr(edtLen.Text)); SQL.Add(',C_edtFS=' + QuotedStr(edtFS.Text)); SQL.Add(',C_edtShangP=' + QuotedStr(edtShangP.Text)); SQL.Add(',C_edtTiaoshu=' + QuotedStr(edtTiaoshu.Text)); SQL.Add(',C_edtgenshu=' + QuotedStr(edtgenshu.Text)); SQL.Add(',C_edtMenFu=' + QuotedStr(edtMenFu.Text)); SQL.Add(',C_edtTiaoKuan=' + QuotedStr(edtTiaoKuan.Text)); SQL.Add(',C_edtYiSiLiang=' + QuotedStr(edtYiSiLiang.Text)); SQL.Add(',C_edtGangKou=' + QuotedStr(edtGangKou.Text)); SQL.Add(',C_cbbSYYL=' + QuotedStr(cbbSYYL.Text)); SQL.Add(',C_ZJPiLen=' + QuotedStr(ZJPiLen.Text)); SQL.Add(',C_SXCS=' + QuotedStr(SXCS.Text)); SQL.Add(',C_ZZCHEJIAN=' + QuotedStr(ZZCHEJIAN.Text)); SQL.Add(',C_MKCR=' + QuotedStr(MKCR.Text)); SQL.Add(',GYNote=' + QuotedStr(Note.Text)); SQL.Add('where mainid=' + QuotedStr(tMAINID)); ExecSQL; end; with CDS_YarnJX do begin First; while not Eof do begin if Trim(CDS_YarnJX.fieldbyname('PYId').AsString) = '' then begin if GetLSNo(ADOQueryTemp, maxpbno, 'PY', 'PD_Plan_Yarn_CAR', 4, 1) = False then begin CDS_PLAN.EnableControls; Application.MessageBox('经丝组合流水号失败!', '提示', 0); Exit; end; end else begin maxpbno := Trim(CDS_YarnJX.fieldbyname('PYId').AsString); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from PD_Plan_Yarn_Car where '); sql.Add(' PYId=''' + Trim(maxpbno) + ''''); Open; end; with ADOQueryCmd do begin if Trim(CDS_YarnJX.fieldbyname('PYId').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('PYType').Value := '经丝'; FieldByName('MainId').Value := Trim(CDS_Plan.FieldByName('MainId').Value); FieldByName('SubId').Value := Trim(CDS_Plan.FieldByName('subid').Value); FieldByName('PYID').Value := Trim(maxpbno); FieldByName('Y_Note_PL').Value := Trim(Y_Note_PLJ.Text); FieldByName('Y_Note_PLQJ').Value := Trim(Y_Note_PLQJ.Text); RTSetSaveDataCDS(ADOQueryCmd, Tv3, CDS_YarnJX, 'PD_Plan_Yarn_CAR', 0); Post; end; CDS_YarnJX.Edit; CDS_YarnJX.FieldByName('SubId').Value := Trim(CDS_Plan.FieldByName('subid').Value); CDS_YarnJX.FieldByName('MainId').Value := Trim(CDS_Plan.FieldByName('MainId').Value); CDS_YarnJX.FieldByName('PYId').Value := Trim(maxpbno); Next; end; end; ///////////////////////////////////经丝组合////////////////////////////// ///////////////////////////////////纬丝组合////////////////////////////// with CDS_YarnWX do begin First; while not Eof do begin if Trim(CDS_YarnWX.fieldbyname('PYId').AsString) = '' then begin if GetLSNo(ADOQueryTemp, maxpbno, 'PY', 'PD_Plan_Yarn_CAR', 4, 1) = False then begin CDS_PLAN.EnableControls; Application.MessageBox('纬丝组合流水号失败!', '提示', 0); Exit; end; end else begin maxpbno := Trim(CDS_YarnWX.fieldbyname('PYId').AsString); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from PD_Plan_Yarn_CAR where '); sql.Add(' PYId=''' + Trim(maxpbno) + ''''); Open; end; with ADOQueryCmd do begin if Trim(CDS_YarnWX.fieldbyname('PYId').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('PYType').Value := '纬丝'; FieldByName('MainId').Value := Trim(CDS_Plan.FieldByName('MainId').Value); FieldByName('SubId').Value := Trim(CDS_Plan.FieldByName('subid').Value); FieldByName('PYID').Value := Trim(maxpbno); FieldByName('Y_Note_PL').Value := Trim(Y_Note_PLW.Text); RTSetSaveDataCDS(ADOQueryCmd, Tv4, CDS_YarnWX, 'PD_Plan_Yarn_CAR', 0); Post; end; CDS_YarnwX.Edit; CDS_YarnwX.FieldByName('SubId').Value := Trim(CDS_Plan.FieldByName('subid').Value); CDS_YarnwX.FieldByName('MainId').Value := Trim(CDS_Plan.FieldByName('mainid').Value); CDS_YarnwX.FieldByName('PYId').Value := Trim(maxpbno); Next; end; end; finally panel3.Enabled := true; Application.MessageBox('保存成功!', '提示', 0); CDS_PLAN.EnableControls; end; panel3.Enabled := true; end; procedure TfrmPlanCardList.ToolButton3Click(Sender: TObject); begin try with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from PD_Plan_Main where mainid=' + QuotedStr(CDS_Plan.fieldbyname('mainid').AsString)); open; end; if ADOQueryTemp.IsEmpty = false then begin edZDFNo.Text := ADOQueryTemp.fieldByname('C_edZDFNo').asstring; APMachineNo.Text := ADOQueryTemp.fieldByname('C_APMachineNo').asstring; edtKaNo.Text := ADOQueryTemp.fieldByname('C_edtKaNo').asstring; edtTouWen.Text := ADOQueryTemp.fieldByname('C_edtTouWen').asstring; edtQJingG.Text := ADOQueryTemp.fieldByname('C_edtQJingG').asstring; edtPiE.Text := ADOQueryTemp.fieldByname('C_edtPiE').asstring; edtLen.Text := ADOQueryTemp.fieldByname('C_edtLen').asstring; edtFS.Text := ADOQueryTemp.fieldByname('C_edtFS').asstring; edtShangP.Text := ADOQueryTemp.fieldByname('C_edtShangP').asstring; edtTiaoshu.Text := ADOQueryTemp.fieldByname('C_edtTiaoshu').asstring; edtgenshu.Text := ADOQueryTemp.fieldByname('C_edtgenshu').asstring; edtMenFu.Text := ADOQueryTemp.fieldByname('C_edtMenFu').asstring; edtTiaoKuan.Text := ADOQueryTemp.fieldByname('C_edtTiaoKuan').asstring; edtYiSiLiang.Text := ADOQueryTemp.fieldByname('C_edtYiSiLiang').asstring; edtGangKou.Text := ADOQueryTemp.fieldByname('C_edtGangKou').asstring; cbbSYYL.Text := ADOQueryTemp.fieldByname('C_cbbSYYL').asstring; ZJPiLen.Text := ADOQueryTemp.fieldByname('C_ZJPiLen').asstring; SXCS.Text := ADOQueryTemp.fieldByname('C_SXCS').asstring; Note.Text := ADOQueryTemp.fieldByname('GYNote').asstring; SXCS.ItemIndex := SXCS.Items.IndexOf(trim(ADOQueryTemp.fieldbyname('C_SXCS').AsString)); ZZCHEJIAN.Text := ADOQueryTemp.fieldByname('C_ZZCHEJIAN').asstring; MKCR.Text := ADOQueryTemp.fieldByname('C_MKCR').asstring; end; finally Application.MessageBox('数据读取成功,请在修改整经工艺后保存!', '提示', 0); end end; procedure TfrmPlanCardList.ToolButton4Click(Sender: TObject); var fPrintFile, fPrintFileQZ, fPrintFileYWB: string; i, j, k: integer; begin if CDS_Plan.IsEmpty then Exit; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\整经工艺单.rmf'; ExportFtErpFile('整经工艺单.rmf', ADOQueryTemp); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from PD_Plan_Main A inner join PD_Plan_Sub B on A.Mainid=B.MainId where A.MainId=' + Quotedstr(Trim(CDS_Plan.fieldbyname('MainId').AsString))); //ShowMessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryTemp, CDS_PM); SInitCDSData20(ADOQueryTemp, CDS_PM); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from PD_Plan_QZ where MainId=' + Quotedstr(Trim(CDS_Plan.fieldbyname('MainId').AsString))); //ShowMessage(SQL.Text); Open; end; if not ADOQueryTemp.IsEmpty then begin SCreateCDS20(ADOQueryTemp, CDS_QZ); SInitCDSData20(ADOQueryTemp, CDS_QZ); end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from PD_Plan_Yarn_car where PYType=''经丝'' and MainId=' + Quotedstr(Trim(CDS_Plan.fieldbyname('MainId').AsString))); Open; end; SCreateCDS20(ADOQueryTemp, CDS_PJS); SInitCDSData20(ADOQueryTemp, CDS_PJS); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from PD_Plan_Yarn_car where PYType=''纬丝'' and MainId=' + Quotedstr(Trim(CDS_Plan.fieldbyname('MainId').AsString))); //ShowMessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryTemp, CDS_PWS); SInitCDSData20(ADOQueryTemp, CDS_PWS); if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RM1.ShowReport; if FileExists(fPrintFileQZ) then begin RM1.LoadFromFile(fPrintFileQZ); RM1.ShowReport; end; if FileExists(fPrintFileYWB) then begin RM1.LoadFromFile(fPrintFileYWB); RM1.ShowReport; end; end else begin Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); end; end; procedure TfrmPlanCardList.TV3Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal = 1 then begin with CDS_YarnJX do begin Self.CDS_YarnJX.Edit; Self.CDS_YarnJX.FieldByName('FactoryName').Value := Trim(CDS_HZ.fieldbyname('Name').AsString); Post; end; end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmPlanCardList.cxGridDBColumn3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp2 := TfrmZDYHelp2.Create(Application); with frmZDYHelp2 do begin flag := 'SXYCLName_JS'; flagname := '经纬丝名称'; fnote := True; V1Note.Caption := '类别'; if ShowModal = 1 then begin Self.CDS_YarnJX.Edit; Self.CDS_YarnJX.FieldByName('Y_Name').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp2.Free; end; end; procedure TfrmPlanCardList.TV4Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal = 1 then begin with CDS_YarnWX do begin Self.CDS_YarnWX.Edit; Self.CDS_YarnWX.FieldByName('FactoryName').Value := Trim(CDS_HZ.fieldbyname('Name').AsString); Post; end; end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmPlanCardList.cxGridDBColumn8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp2 := TfrmZDYHelp2.Create(Application); with frmZDYHelp2 do begin flag := 'SXYCLName_JS'; flagname := '经纬丝名称'; fnote := True; V1Note.Caption := '类别'; if ShowModal = 1 then begin Self.CDS_YarnWX.Edit; Self.CDS_YarnWX.FieldByName('Y_Name').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp2.Free; end; end; procedure TfrmPlanCardList.ToolButton5Click(Sender: TObject); var I: Integer; Column: TcxGridDBColumn; FieldNames: TStringList; begin FieldNames := TStringList.Create; try for I := 0 to Tv2.ColumnCount - 1 do begin Column := Tv2.Columns[I]; FieldNames.Add(Column.Caption + ':' + Column.DataBinding.FieldName); end; ShowMessage(FieldNames.Text); finally FieldNames.Free; end; end; procedure TfrmPlanCardList.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin if CDS_PLAN.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; SQL.Add('exec P_Del_CF @mainid=''' + Trim(CDS_PLAN.fieldbyname('mainid').AsString) + ''''); ExecSQL; end; InitCard(CDS_Plan.FieldByName('Subid').AsString); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select top 1 * from PD_Plan_Yarn_car a where a.mainid=' + QuotedStr(Trim(CDS_PLAN.FieldByName('mainid').AsString))); Open; end; if ADOQueryTemp.IsEmpty = false then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from PD_Plan_Yarn_car where PYType=''经丝'' and Subid=' + quotedstr(Trim(CDS_plan.fieldbyname('subid').AsString))); // ShowMessage(sql.Text); Open; end; SCreateCDS20(ADOQueryTemp, CDS_YarnJX); SInitCDSData20(ADOQueryTemp, CDS_YarnJX); Y_Note_PLQJ.Text := ADOQueryTemp.fieldbyname('Y_Note_PLQJ').AsString; Y_Note_PLJ.Text := ADOQueryTemp.fieldbyname('Y_Note_PL').AsString; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from PD_Plan_Yarn_Car where PYType=''纬丝'' and Subid=' + quotedstr(Trim(CDS_plan.fieldbyname('subid').AsString))); Open; end; SCreateCDS20(ADOQueryTemp, CDS_YarnWX); SInitCDSData20(ADOQueryTemp, CDS_YarnWX); Y_Note_PLW.Text := ADOQueryTemp.fieldbyname('Y_Note_PL').AsString; end else begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from PD_Plan_Yarn where PYType=''经丝'' and Subid=' + quotedstr(Trim(CDS_plan.fieldbyname('subid').AsString))); // ShowMessage(sql.Text); Open; end; SCreateCDS20(ADOQueryTemp, CDS_YarnJX); SInitCDSData20(ADOQueryTemp, CDS_YarnJX); Y_Note_PLQJ.Text := ADOQueryTemp.fieldbyname('Y_Note_PLQJ').AsString; Y_Note_PLJ.Text := ADOQueryTemp.fieldbyname('Y_Note_PL').AsString; with CDS_YarnJX do begin First; while not Eof do begin Edit; FieldByName('pyid').Value := ''; Post; Next; end; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from PD_Plan_Yarn where PYType=''纬丝'' and Subid=' + quotedstr(Trim(CDS_plan.fieldbyname('subid').AsString))); Open; end; SCreateCDS20(ADOQueryTemp, CDS_YarnWX); SInitCDSData20(ADOQueryTemp, CDS_YarnWX); Y_Note_PLW.Text := ADOQueryTemp.fieldbyname('Y_Note_PL').AsString; with CDS_YarnWX do begin First; while not Eof do begin Edit; FieldByName('pyid').Value := ''; Post; Next; end; end; end; edZDFNo.Text := ''; APMachineNo.Text := ''; edtKaNo.Text := ''; edtTouWen.Text := ''; edtQJingG.Text := ''; edtPiE.Text := ''; edtLen.Text := ''; edtFS.Text := ''; edtShangP.Text := ''; edtTiaoshu.Text := ''; edtsjwm.Text := ''; edtgenshu.Text := ''; edtMenFu.Text := ''; edtTiaoKuan.Text := ''; edtYiSiLiang.Text := ''; edtGangKou.Text := ''; cbbSYYL.Text := ''; ZJPiLen.Text := ''; SXCS.Text := ''; ZZCHEJIAN.Text := ''; MKCR.Text := ''; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select *,SJ_WM=(SELECT TOP 1 SJ_WM FROM PD_Plan_SUB B WHERE A.MAINID=B.MAINID) from PD_Plan_Main A where mainid=' + QuotedStr(CDS_Plan.fieldbyname('mainid').AsString)); // ShowMessage(SQL.Text); open; end; if ADOQueryTemp.IsEmpty = false then begin edZDFNo.Text := ADOQueryTemp.fieldByname('C_edZDFNo').asstring; APMachineNo.Text := ADOQueryTemp.fieldByname('C_APMachineNo').asstring; edtKaNo.Text := ADOQueryTemp.fieldByname('C_edtKaNo').asstring; edtTouWen.Text := ADOQueryTemp.fieldByname('C_edtTouWen').asstring; edtQJingG.Text := ADOQueryTemp.fieldByname('C_edtQJingG').asstring; edtPiE.Text := ADOQueryTemp.fieldByname('C_edtPiE').asstring; edtLen.Text := ADOQueryTemp.fieldByname('C_edtLen').asstring; edtFS.Text := ADOQueryTemp.fieldByname('C_edtFS').asstring; edtShangP.Text := ADOQueryTemp.fieldByname('C_edtShangP').asstring; edtTiaoshu.Text := ADOQueryTemp.fieldByname('C_edtTiaoshu').asstring; edtgenshu.Text := ADOQueryTemp.fieldByname('C_edtgenshu').asstring; edtMenFu.Text := ADOQueryTemp.fieldByname('C_edtMenFu').asstring; edtTiaoKuan.Text := ADOQueryTemp.fieldByname('C_edtTiaoKuan').asstring; edtYiSiLiang.Text := ADOQueryTemp.fieldByname('C_edtYiSiLiang').asstring; edtsjwm.Text := ADOQueryTemp.fieldByname('SJ_WM').asstring; edtGangKou.Text := ADOQueryTemp.fieldByname('C_edtGangKou').asstring; cbbSYYL.Text := ADOQueryTemp.fieldByname('C_cbbSYYL').asstring; ZJPiLen.Text := ADOQueryTemp.fieldByname('C_ZJPiLen').asstring; SXCS.ItemIndex := SXCS.Items.IndexOf(trim(ADOQueryTemp.fieldbyname('C_SXCS').AsString)); Note.Text := ADOQueryTemp.fieldByname('GYNote').asstring; ZZCHEJIAN.Text := ADOQueryTemp.fieldByname('CHEJIAN').asstring; MKCR.Text := ADOQueryTemp.fieldByname('C_MKCR').asstring; end; end; procedure TfrmPlanCardList.edtLenChange(Sender: TObject); var f1: double; f2, f3, f5: double; f4: Integer; s, tmpStr: string; I: Integer; begin // if (strToFloatDef(edtLen.Text, 0) <> 0) and (StrToFloatDef(ZJPiLen.Text, 0) <> 0) then // begin // f2 := StrToFloatDef(edtLen.Text, 0); // f3 := StrToFloatDef(ZJPiLen.Text, 0); // f1 := f2 / f3; // // f4 := floor(f1); // f5 := f2 - f3 * f4; // if f5 <> 0 then // begin // edtPiE.Text := FloatToStr(f4) + '匹+' + FloatToStr(f5) + '米'; // end // else // begin // edtPiE.Text := FloatToStr(f4) + '匹'; // end; // // end; end; procedure TfrmPlanCardList.edtPiEExit(Sender: TObject); begin if (edtPiE.Text <> '') and (ZJPiLen.text <> '') then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('exec P_Do_JSZC @PIE=' + QuotedStr(Trim(edtPiE.Text))); sql.Add(',@ZJPICHANG=' + QuotedStr(Trim(ZJPiLen.Text))); open; end; if ADOQueryTemp.IsEmpty = False then begin edtLen.Text := ADOQueryTemp.fieldbyname('zs').AsString; end; end; end; procedure TfrmPlanCardList.Tv1Column8PropertiesChange(Sender: TObject); begin if CDS_PLAN.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; SQL.Add('exec P_Del_CF @mainid=''' + Trim(CDS_PLAN.fieldbyname('mainid').AsString) + ''''); ExecSQL; end; InitCard(CDS_Plan.FieldByName('Subid').AsString); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select top 1 * from PD_Plan_Yarn_car a where a.mainid=' + QuotedStr(Trim(CDS_PLAN.FieldByName('mainid').AsString))); Open; end; if ADOQueryTemp.IsEmpty = false then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from PD_Plan_Yarn_car where PYType=''经丝'' and Subid=' + quotedstr(Trim(CDS_plan.fieldbyname('subid').AsString))); // ShowMessage(sql.Text); Open; end; SCreateCDS20(ADOQueryTemp, CDS_YarnJX); SInitCDSData20(ADOQueryTemp, CDS_YarnJX); Y_Note_PLQJ.Text := ADOQueryTemp.fieldbyname('Y_Note_PLQJ').AsString; Y_Note_PLJ.Text := ADOQueryTemp.fieldbyname('Y_Note_PL').AsString; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from PD_Plan_Yarn_Car where PYType=''纬丝'' and Subid=' + quotedstr(Trim(CDS_plan.fieldbyname('subid').AsString))); Open; end; SCreateCDS20(ADOQueryTemp, CDS_YarnWX); SInitCDSData20(ADOQueryTemp, CDS_YarnWX); Y_Note_PLW.Text := ADOQueryTemp.fieldbyname('Y_Note_PL').AsString; end else begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from PD_Plan_Yarn where PYType=''经丝'' and Subid=' + quotedstr(Trim(CDS_plan.fieldbyname('subid').AsString))); // ShowMessage(sql.Text); Open; end; SCreateCDS20(ADOQueryTemp, CDS_YarnJX); SInitCDSData20(ADOQueryTemp, CDS_YarnJX); Y_Note_PLQJ.Text := ADOQueryTemp.fieldbyname('Y_Note_PLQJ').AsString; Y_Note_PLJ.Text := ADOQueryTemp.fieldbyname('Y_Note_PL').AsString; with CDS_YarnJX do begin First; while not Eof do begin Edit; FieldByName('pyid').Value := ''; Post; Next; end; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from PD_Plan_Yarn where PYType=''纬丝'' and Subid=' + quotedstr(Trim(CDS_plan.fieldbyname('subid').AsString))); Open; end; SCreateCDS20(ADOQueryTemp, CDS_YarnWX); SInitCDSData20(ADOQueryTemp, CDS_YarnWX); Y_Note_PLW.Text := ADOQueryTemp.fieldbyname('Y_Note_PL').AsString; with CDS_YarnWX do begin First; while not Eof do begin Edit; FieldByName('pyid').Value := ''; Post; Next; end; end; end; edZDFNo.Text := ''; APMachineNo.Text := ''; edtKaNo.Text := ''; edtTouWen.Text := ''; edtQJingG.Text := ''; edtPiE.Text := ''; edtLen.Text := ''; edtFS.Text := ''; edtShangP.Text := ''; edtTiaoshu.Text := ''; edtsjwm.Text := ''; edtgenshu.Text := ''; edtMenFu.Text := ''; edtTiaoKuan.Text := ''; edtYiSiLiang.Text := ''; edtGangKou.Text := ''; cbbSYYL.Text := ''; ZJPiLen.Text := ''; SXCS.Text := ''; ZZCHEJIAN.Text := ''; MKCR.Text := ''; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select *,SJ_WM=(SELECT TOP 1 SJ_WM FROM PD_Plan_SUB B WHERE A.MAINID=B.MAINID) from PD_Plan_Main A where mainid=' + QuotedStr(CDS_Plan.fieldbyname('mainid').AsString)); // ShowMessage(SQL.Text); open; end; if ADOQueryTemp.IsEmpty = false then begin edZDFNo.Text := ADOQueryTemp.fieldByname('C_edZDFNo').asstring; APMachineNo.Text := ADOQueryTemp.fieldByname('C_APMachineNo').asstring; edtKaNo.Text := ADOQueryTemp.fieldByname('C_edtKaNo').asstring; edtTouWen.Text := ADOQueryTemp.fieldByname('C_edtTouWen').asstring; edtQJingG.Text := ADOQueryTemp.fieldByname('C_edtQJingG').asstring; edtPiE.Text := ADOQueryTemp.fieldByname('C_edtPiE').asstring; edtLen.Text := ADOQueryTemp.fieldByname('C_edtLen').asstring; edtFS.Text := ADOQueryTemp.fieldByname('C_edtFS').asstring; edtShangP.Text := ADOQueryTemp.fieldByname('C_edtShangP').asstring; edtTiaoshu.Text := ADOQueryTemp.fieldByname('C_edtTiaoshu').asstring; edtgenshu.Text := ADOQueryTemp.fieldByname('C_edtgenshu').asstring; edtMenFu.Text := ADOQueryTemp.fieldByname('C_edtMenFu').asstring; edtTiaoKuan.Text := ADOQueryTemp.fieldByname('C_edtTiaoKuan').asstring; edtYiSiLiang.Text := ADOQueryTemp.fieldByname('C_edtYiSiLiang').asstring; edtsjwm.Text := ADOQueryTemp.fieldByname('SJ_WM').asstring; edtGangKou.Text := ADOQueryTemp.fieldByname('C_edtGangKou').asstring; cbbSYYL.Text := ADOQueryTemp.fieldByname('C_cbbSYYL').asstring; ZJPiLen.Text := ADOQueryTemp.fieldByname('C_ZJPiLen').asstring; SXCS.ItemIndex := SXCS.Items.IndexOf(trim(ADOQueryTemp.fieldbyname('C_SXCS').AsString)); Note.Text := ADOQueryTemp.fieldByname('GYNote').asstring; ZZCHEJIAN.Text := ADOQueryTemp.fieldByname('CHEJIAN').asstring; MKCR.Text := ADOQueryTemp.fieldByname('C_MKCR').asstring; end; end; end.