unit U_ClothInfoInput2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, DBClient, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, ComCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, cxTextEdit, cxButtonEdit, StdCtrls, ExtCtrls, cxCurrencyEdit, BtnEdit, U_BaseList, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, cxCheckBox, cxDropDownEdit, cxContainer, cxMaskEdit, dxScrollbarAnnotations, cxMemo, dxSkinsCore, dxSkinsDefaultPainters; type TfrmClothInfoInput2 = class(TForm) ToolBar1: TToolBar; ToolButton1: TToolButton; TBClose: TToolButton; ADOQueryCmd: TADOQuery; ADOQueryTemp: TADOQuery; ScrollBox1: TScrollBox; Label1: TLabel; Label5: TLabel; Label15: TLabel; Label22: TLabel; Label3: TLabel; C_Code: TcxTextEdit; PictureNo: TcxTextEdit; Label7: TLabel; ToolButton6: TToolButton; BCIID: TcxTextEdit; Label6: TLabel; C_GramWeight: TcxButtonEdit; C_Composition: TcxButtonEdit; C_Spec: TcxButtonEdit; C_FromName: TcxButtonEdit; C_Width: TcxButtonEdit; Label12: TLabel; C_YarnSpec: TcxTextEdit; Label14: TLabel; CraftName: TcxButtonEdit; Label18: TLabel; Label19: TLabel; FtyNo: TcxTextEdit; FtyName: TcxTextEdit; Label21: TLabel; Label20: TLabel; C_Texture: TcxButtonEdit; Label2: TLabel; LSNo: TcxTextEdit; procedure FormShow(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure CYColorKeyPress(Sender: TObject; var Key: Char); procedure CYJGGYBtnDnClick(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure C_GramWeightDblClick(Sender: TObject); procedure ParentCoNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure C_FromNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure C_TexturePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private canshu1, TempPre, TempLSNo: string; Fint: Integer; procedure InitGrid(); function SaveData(): Boolean; { Private declarations } public FBCIID, FCTID: string; TypeInt: Integer; //0新增_1复制_2修改 TempCTName: string; { Public declarations } end; var frmClothInfoInput2: TfrmClothInfoInput2; implementation uses U_DataLink, U_RTFun, U_iniParam, U_ZDYHelp, U_AttachmentUpload, U_ClothInfoSel; {$R *.dfm} procedure TfrmClothInfoInput2.InitGrid(); begin with ADOQueryTemp do begin Close; SQL.Clear; SQL.Add('select * from V_BS_Cloth_Info where BCIID=''' + Trim(FBCIID) + ''''); Open; end; SCSHData(ADOQueryTemp, ScrollBox1, 2); // SCSHData(ADOQueryTemp, ScrollBox1, 0); C_FromName.Properties.LookupItems.Text := Trim(ADOQueryTemp.fieldbyname('FromBCIID').AsString); //坯布编号 C_FromName.Text := Trim(ADOQueryTemp.fieldbyname('C_FromName').AsString); //坯布名称 end; procedure TfrmClothInfoInput2.C_FromNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmClothInfoSel := TfrmClothInfoSel.Create(Application); with frmClothInfoSel do begin FCTType := '坯布'; if ShowModal = 1 then begin C_FromName.Properties.LookupItems.Text := Trim(CDS_1.fieldbyname('BCIID').AsString); C_FromName.Text := Trim(CDS_1.fieldbyname('C_Name').AsString); end; end; finally frmClothInfoSel.Free; end; end; procedure TfrmClothInfoInput2.C_GramWeightDblClick(Sender: TObject); begin TcxButtonEdit(Sender).Text := ''; TcxButtonEdit(Sender).Properties.LookupItems.Text := ''; LSNo.Text := ''; end; procedure TfrmClothInfoInput2.ParentCoNamePropertiesButtonClick(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 MainType := 'ClothInfo'; 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); // with ADOQueryTemp do // begin // Close; // sql.Clear; // sql.Add(' exec P_BS_Cloth_Info_Get_No '); // sql.Add(' @CTID=' + Quotedstr(FCTID)); //// sql.Add(' ,@Str=' + Quotedstr(C_Texture.Text)); //// ShowMessage(SQL.Text); // Open; // end; // GC_Name.Text := trim(ADOQueryTemp.FieldByName('GC_Name').asstring); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmClothInfoInput2.FormShow(Sender: TObject); begin InitGrid(); if TypeInt = 1 then begin FBCIID := ''; BCIID.text := ''; C_Code.text := ''; LSNo.Text := ''; C_Texture.Text := ''; end; if TypeInt = 2 then begin C_Texture.Enabled := false; end; end; procedure TfrmClothInfoInput2.TBCloseClick(Sender: TObject); begin Close; end; function TfrmClothInfoInput2.SaveData(): Boolean; var MaxBCIID, MaxBCPID, MaxLSNo, LSNoHint: string; begin try ADOQueryCmd.Connection.BeginTrans; //////////////// 保存主表 ////////////////////// if Trim(FBCIID) = '' then begin if GetLSNo(ADOQueryCmd, MaxBCIID, 'Y', 'BS_Cloth_Info', 4, 1) = False then begin Result := False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; BCIID.Text := trim(MaxBCIID); end else begin MaxBCIID := Trim(FBCIID); with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update BS_Cloth_Info set DelId=' + quotedstr(DCode) + ',Deler=' + quotedstr(DName) + ',Deltime=GETDATE() where BCIID=''' + Trim(MaxBCIID) + ''''); sql.Add('insert into Bs_Cloth_Info_Log select * from BS_Cloth_Info where BCIID=''' + Trim(MaxBCIID) + ''''); sql.Add('update BS_Cloth_Info set DelId=null,Deler=null,Deltime=null where BCIID=''' + Trim(MaxBCIID) + ''''); ExecSQL; end; end; if TypeInt <> 2 then begin if GetLSNo(ADOQueryCmd, MaxLSNo, TempPre, 'BS_Cloth_Info', 3, 0) = False then begin Result := False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取流水号失败!', '提示', 0); Exit; end; LSNo.Text := MaxLSNo; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from BS_Cloth_Info where BCIID=''' + Trim(FBCIID) + ''''); Open; end; with ADOQueryCmd do begin if Trim(FBCIID) = '' then begin Append; FieldByName('CTID').Value := Trim(FCTID); FieldByName('FILLID').Value := Trim(DCode); 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('BCIID').Value := Trim(MaxBCIID); if trim(C_Code.Text) = '' then C_Code.Text := Trim(MaxBCIID); RTSetsavedata(ADOQueryCmd, 'BS_Cloth_Info', ScrollBox1, 2); Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('delete BS_Cloth_Info_Link where ToID=''' + Trim(MaxBCIID) + ''''); ExecSQL; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from BS_Cloth_Info_Link where 1=2'); Open; end; with ADOQueryCmd do begin Append; FieldByName('ToID').Value := Trim(MaxBCIID); FieldByName('FromID').Value := Trim(C_FromName.Properties.LookupItems.Text); // 坯布编号 Post; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select count(*) as AA from BS_Cloth_Info where C_Code=''' + Trim(C_Code.Text) + ''''); Open; if FieldByName('AA').AsInteger > 1 then begin ADOQueryCmd.Connection.RollbackTrans; Result := False; Application.MessageBox('编号重复!', '提示', 0); Exit; end; end; //////////////// 保存主表 ////////////////////// /// /// ADOQueryCmd.Connection.CommitTrans; if TempLSNo <> MaxLSNo then begin Application.MessageBox(PChar('流水号' + TempLSNo + '已被占用,新流水号为' + MaxLSNo), '提示', 0); end; FBCIID := MaxBCIID; Result := True; except Result := False; ADOQueryCmd.Connection.RollbackTrans; application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); end; end; procedure TfrmClothInfoInput2.CYJGGYBtnDnClick(Sender: TObject); begin TBtnEditC(Sender).Text := ''; end; procedure TfrmClothInfoInput2.C_TexturePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var fsj: string; FWZ: Integer; TempNo: Integer; begin fsj := Trim(TcxButtonEdit(Sender).Hint); FWZ := Pos('/', fsj); try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin MainType := 'ClothInfo'; flag := Copy(fsj, 1, FWZ - 1); flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); fnote := True; if ShowModal = 1 then begin TcxButtonEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); LSNo.Text := ''; if Trim(ClientDataSet1.fieldbyname('Note').AsString) <> '' then begin TempPre := TempCTName + Trim(ClientDataSet1.fieldbyname('Note').AsString); with ADOQueryTemp do begin Close; SQL.Clear; sql.Add('select BHNo from SY_MaxBH where BHStr=''' + Trim(TempPre) + ''' and BHType=''BS_Cloth_Info'''); ExecSQL; Open; end; TempNo := 1; if ADOQueryTemp.RecordCount > 0 then begin TempNo := ADOQueryTemp.FieldByName('BHNo').AsInteger + 1; end; LSNo.Text := TempPre + Format('%.3d', [TempNo]); TempLSNo := LSNo.Text; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmClothInfoInput2.ToolButton1Click(Sender: TObject); var MC_Code: string; begin if C_Texture.Text = '' then begin Application.MessageBox('风格不能为空!', '提示', 0); Exit; end; if LSno.Text = '' then begin Application.MessageBox('流水号获取失败,请为风格添加对应前缀', '提示', 0); Exit; end; if trim(C_Code.Text) = '' then begin if GetLSNo(ADOQueryCmd, MC_Code, 'C', 'BS_Cloth_Info', 4, 0) = False then begin Application.MessageBox('取最成品编号失败!', '提示', 0); Exit; end; C_Code.Text := MC_Code; end; if SaveData() then begin Application.MessageBox('保存成功!', '提示', 0); ModalResult := 1; end; end; procedure TfrmClothInfoInput2.CYColorKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin Key := #0; SelectNext(ActiveControl as TWinControl, True, True); end; end; procedure TfrmClothInfoInput2.ToolButton6Click(Sender: TObject); begin if trim(C_Code.Text) = '' then Exit; try frmAttachmentUpload := TfrmAttachmentUpload.Create(Application); with frmAttachmentUpload do begin FEditAuthority := True; fkeyNO := trim(C_Code.Text); fType := '产品品档案'; if ShowModal = 1 then begin end; end; finally frmAttachmentUpload.Free; end; end; end.