unit U_DyePlanCardInput; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, BtnEdit, ComCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ToolWin, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, ADODB, DBClient, cxCalendar, cxContainer, cxTextEdit, cxCurrencyEdit, cxDropDownEdit, cxCheckBox, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, U_BaseInput, System.ImageList, Vcl.ImgList, dxBarBuiltInMenu, cxGridCustomPopupMenu, cxGridPopupMenu, cxButtonEdit, Vcl.Menus, cxPC; type TfrmDyePlanCardInput = class(TfrmBaseInput) CDS_1: TClientDataSet; DS_1: TDataSource; ADO_Car: TADOQuery; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; GPM_1: TcxGridPopupMenu; Panel3: TPanel; Panel5: TPanel; Panel4: TPanel; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; V1SSel: TcxGridDBColumn; V1Column1: TcxGridDBColumn; V1Column5: TcxGridDBColumn; TV1Column1: TcxGridDBColumn; TV1Column5: TcxGridDBColumn; TV1Column6: TcxGridDBColumn; TV1Column7: TcxGridDBColumn; V1Column2: TcxGridDBColumn; V1Column3: TcxGridDBColumn; TV1Column4: TcxGridDBColumn; TV1Column3: TcxGridDBColumn; V1Column6: TcxGridDBColumn; V1Column4: TcxGridDBColumn; TV1Column2: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; ToolBar1: TToolBar; ToolButton4: TToolButton; ADOQueryMain: TADOQuery; DS_2: TDataSource; CDS_2: TClientDataSet; PM_2: TPopupMenu; N1: TMenuItem; N2: TMenuItem; PM_1: TPopupMenu; MenuItem1: TMenuItem; MenuItem2: TMenuItem; GPM_2: TcxGridPopupMenu; TV1Column10: TcxGridDBColumn; ToolButton5: TToolButton; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; cxPageControl1: TcxPageControl; cxTabSheet3: TcxTabSheet; cxTabSheet4: TcxTabSheet; cxGrid3: TcxGrid; TV3: TcxGridDBTableView; cxGridDBColumn8: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; cxGridDBColumn10: TcxGridDBColumn; cxGridDBColumn11: TcxGridDBColumn; cxGridDBColumn12: TcxGridDBColumn; cxGridDBColumn13: TcxGridDBColumn; cxGridDBColumn14: TcxGridDBColumn; cxGridDBColumn15: TcxGridDBColumn; cxGridDBColumn16: TcxGridDBColumn; cxGridDBColumn17: TcxGridDBColumn; cxGridDBColumn18: TcxGridDBColumn; cxGridDBColumn19: TcxGridDBColumn; cxGridDBColumn20: TcxGridDBColumn; cxGridDBColumn21: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; Panel6: TPanel; Label20: TLabel; PCID: TEdit; GPM_3: TcxGridPopupMenu; CDS_3: TClientDataSet; DS_3: TDataSource; TV3Column1: TcxGridDBColumn; TV3Column2: TcxGridDBColumn; Button1: TButton; TV1Column12: TcxGridDBColumn; TV1Column13: TcxGridDBColumn; TV1Column14: TcxGridDBColumn; TV1Column15: TcxGridDBColumn; TV1Column16: TcxGridDBColumn; TV1Column17: TcxGridDBColumn; TV3Column3: TcxGridDBColumn; TV3Column4: TcxGridDBColumn; TV3Column5: TcxGridDBColumn; TV3Column6: TcxGridDBColumn; TV3Column7: TcxGridDBColumn; TV3Column8: TcxGridDBColumn; Label13: TLabel; Label14: TLabel; Label18: TLabel; Label19: TLabel; Re_Width: TEdit; Re_GramWeight: TEdit; Re_Color: TEdit; Re_ColorNo: TEdit; Label21: TLabel; REUnit: TComboBox; Label22: TLabel; RePCType: TComboBox; TV1Column18: TcxGridDBColumn; TV1Column19: TcxGridDBColumn; ADO_Order: TADOQuery; CDS_Color: TClientDataSet; pnlkpkk: TPanel; Label1: TLabel; Label7: TLabel; Label15: TLabel; Label16: TLabel; Label17: TLabel; PCTime: TDateTimePicker; carnum: TcxCurrencyEdit; PCPiece: TcxCurrencyEdit; PCType: TComboBox; PCQty: TEdit; Button2: TButton; pnlOrder: TPanel; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; v1Column14: TcxGridDBColumn; v1Column10: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; Tv1Column9: TcxGridDBColumn; v2Column1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column9: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Tv1Column11: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label23: TLabel; OrderNo: TBtnEditA; Label4: TLabel; Label9: TLabel; Label11: TLabel; Label10: TLabel; C_Width: TEdit; C_GramWeight: TEdit; C_COLORNO: TEdit; C_Color: TComboBox; Label24: TLabel; OrdQty: TEdit; OrdUnit: TEdit; TV3Column9: TcxGridDBColumn; TV1Column20: TcxGridDBColumn; TV1Column21: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure FormShow(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure MenuItem1Click(Sender: TObject); procedure MenuItem2Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure PCIDKeyPress(Sender: TObject; var Key: Char); procedure Button1Click(Sender: TObject); procedure TV3DblClick(Sender: TObject); procedure OrderNoBtnClick(Sender: TObject); procedure C_ColorChange(Sender: TObject); procedure TV3Column1PropertiesEditValueChanged(Sender: TObject); private FMainID: string; FRollNum: integer; FGC_BatchNo, FGC_Piece, FGC_STKID, FGC_Position: string; FFromCoNo, FFromCoName, FSaleser, FC_Name, fbzunit: string; procedure InitCard(); procedure InitOrder(); procedure InitGreyClothStk(); function GetCard(): Boolean; procedure InitRepairCard(PPCID: string); { Private declarations } public FWorkshop, FPCIDS: string; { Public declarations } end; var frmDyePlanCardInput: TfrmDyePlanCardInput; implementation uses U_DataLink, U_ZDYHelp, U_RTFun, U_DyePlanForCardSel, U_DyeProcessSel, U_DyeTechnicsSel, U_DyePlanCardSel, U_DyeGreyClothStkSel, U_DyeCardGlideEdit; {$R *.dfm} function TfrmDyePlanCardInput.GetCard(): Boolean; var MCustNo, MC_Name: string; begin try CDS_3.DisableControls; if CDS_3.IsEmpty then raise Exception.Create('��ѡ�����̿���'); CDS_3.First; while not CDS_3.eof do begin if Trim(MCustNo) = '' then begin MCustNo := trim(CDS_3.FieldByName('CustNo').AsString); MC_Name := trim(CDS_3.FieldByName('C_Name').AsString); end else begin if MCustNo <> trim(CDS_3.FieldByName('CustNo').AsString) then raise Exception.Create('����ѡ�����ͻ���'); if MC_Name <> trim(CDS_3.FieldByName('C_Name').AsString) then raise Exception.Create('����ѡ������Ʒ��'); end; if CDS_3.FieldByName('MvPiece').AsFloat > CDS_3.FieldByName('PSC_StkPiece').AsFloat then raise Exception.Create('����ƥ�����ޣ�'); if CDS_3.FieldByName('MvQty').AsFloat > CDS_3.FieldByName('PSC_StkQty').AsFloat then raise Exception.Create('�����������ޣ�'); CDS_3.Next; end; CDS_3.EnableControls; Result := True; except Result := false; CDS_3.EnableControls; application.MessageBox(PChar(Exception(ExceptObject).Message), '��ʾ��Ϣ', 0); end; end; procedure TfrmDyePlanCardInput.InitOrder(); var fsj: string; begin with Ado_Order do begin close; sql.Clear; sql.Add('select A.*,B.*'); sql.Add('from Dye_Plan_sub A '); sql.Add('inner join Dye_Plan_Main B on B.MainID=A.mainID '); sql.Add('where A.MainID=''' + trim(FMainID) + ''' '); open; end; SCreateCDS(Ado_Order, CDS_Color); SInitCDSData(Ado_Order, CDS_Color); if not Ado_Order.IsEmpty then begin fsj := 'select distinct(C_Color) name from Dye_Plan_sub where mainid= ' + QuotedStr(Trim(FMainID)); SInitComBoxBySql(ADOQueryTmp, C_COLOR, False, fsj); SCSHData(Ado_Order, pnlOrder, 2); FC_Name := Trim(Ado_Order.FieldByName('C_Name').AsString); FFromCoNo := Trim(Ado_Order.FieldByName('CustNo').AsString); FFromCoName := Trim(Ado_Order.FieldByName('CustName').AsString); FGC_BatchNo := Trim(Ado_Order.FieldByName('GC_BatchNo').AsString); FGC_Piece := Trim(Ado_Order.FieldByName('GC_Piece').AsString); FGC_STKID := Trim(Ado_Order.FieldByName('GC_STKID').AsString); FGC_Position := Trim(Ado_Order.FieldByName('GC_Position').AsString); fbzunit := Trim(Ado_Order.FieldByName('bzunit').AsString); // FRollNum :=Trim(Ado_Order.FieldByName('').AsString); end; end; procedure TfrmDyePlanCardInput.InitRepairCard(PPCID: string); begin with ADOQueryTmp do begin close; sql.Clear; sql.Add('select A.*'); sql.Add(',GlideList=[dbo].[F_Dye_Card_GlideList](A.PCID) '); sql.Add(',MvPiece=PSC_StkPiece,MvQty=PSC_StkQty '); sql.Add('from Dye_Plan_Card A '); if TRIM(PPCID) = '' then sql.Add('where 1=2 ') else sql.Add('where PCID= ' + Quotedstr(trim(PPCID))); open; end; if TRIM(PPCID) = '' then begin SCreateCDS(ADOQueryTmp, CDS_3); end else begin SInitCDSData(ADOQueryTmp, CDS_3); end; end; procedure TfrmDyePlanCardInput.InitGreyClothStk(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(' from BS_Cloth_IO A where isnull(STKName,'''')=''Ⱦɫ����'' '); SQL.Add(' and A.IOFlag=''���'' '); SQL.Add(' and EXISTS(select * from [dbo].[F_Tool_SplitString](' + quotedstr(FGC_STKID) + ','';'' ) X where X.RTValue=A.StkId) '); // ShowMessage(sql.Text); Open; end; SCreateCDS(ADOQueryMain, CDS_2); SInitCDSData(ADOQueryMain, CDS_2); finally ADOQueryMain.EnableControls; end; end; procedure TfrmDyePlanCardInput.MenuItem1Click(Sender: TObject); begin SelOKNo(CDS_1, True); end; procedure TfrmDyePlanCardInput.MenuItem2Click(Sender: TObject); begin SelOKNo(CDS_1, False); end; procedure TfrmDyePlanCardInput.N1Click(Sender: TObject); begin SelOKNo(CDS_2, True); end; procedure TfrmDyePlanCardInput.N2Click(Sender: TObject); begin SelOKNo(CDS_2, False); end; procedure TfrmDyePlanCardInput.OrderNoBtnClick(Sender: TObject); begin frmProductOrderListSel := TfrmProductOrderListSel.create(self); with frmProductOrderListSel do begin FWorkshop := self.FWorkshop; if ShowModal = 1 then begin fmainID := Order_Main.fieldbyname('mainID').asstring; InitOrder(); InitGreyClothStk(); // InitCard(); // initGlide(); end; free; end; end; procedure TfrmDyePlanCardInput.PCIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin if Trim(PCID.Text) = '' then exit; InitRepairCard(PCID.Text); PCID.Text := ''; end; end; procedure TfrmDyePlanCardInput.InitCard(); begin with Ado_car do begin close; sql.Clear; sql.Add('select A.*'); sql.Add(',GlideList=[dbo].[F_Dye_Card_GlideList](A.PCID) '); sql.Add('from Dye_Plan_Card A '); sql.Add('where EXISTS(select X.RTValue from [dbo].[F_Tool_SplitString](' + Quotedstr(trim(FPCIDS)) + ', '';'' ) X where X.RTValue=A.PCID ) '); open; end; SCreateCDS(Ado_car, CDS_1); SInitCDSData(Ado_car, CDS_1); end; procedure TfrmDyePlanCardInput.FormDestroy(Sender: TObject); begin inherited; frmDyePlanCardInput := nil; end; procedure TfrmDyePlanCardInput.Button1Click(Sender: TObject); var maxId: string; begin PCID.SetFocus; if not GetCard() then Exit; if GetLSNo(ADOQueryCmd, maxId, 'CZ', 'Dye_Plan_Card', 3, 1) = False then begin Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); Exit; end; FPCIDS := FPCIDS + maxId + ';'; try ADOQueryCmd.Connection.BeginTrans; CDS_3.DisableConstraints; with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('select * from Dye_Plan_Card A where 1=2'); Open; Append; FieldByName('Filler').Value := trim(DName); FieldByName('Workshop').Value := trim(FWorkshop); FieldByName('PCType').Value := trim(RePCType.Text); FieldByName('PCID').Value := trim(maxId); FieldByName('PCTime').Value := formatdateTime('yyyy-MM-dd', now()); FieldByName('GC_BatchNo').Value := ''; FieldByName('GC_Piece').Value := ''; FieldByName('GC_STKID').Value := ''; FieldByName('GC_Position').Value := ''; FieldByName('C_Name').Value := trim(CDS_3.FieldByName('C_Name').AsString); FieldByName('CustNo').Value := trim(CDS_3.FieldByName('CustNo').AsString); FieldByName('CustName').Value := trim(CDS_3.FieldByName('CustName').AsString); FieldByName('MainId').Value := trim(CDS_3.FieldByName('MainId').AsString); FieldByName('SubId').Value := trim(CDS_3.FieldByName('SubId').AsString); FieldByName('C_GramWeight').Value := trim(Re_GramWeight.Text); FieldByName('C_Width').Value := trim(Re_Width.Text); FieldByName('C_Color').Value := trim(Re_Color.Text); FieldByName('PCUnit').Value := trim(ReUnit.Text); FieldByName('C_ColorNo').Value := trim(Re_ColorNo.Text); FieldByName('PCPiece').Value := 0; FieldByName('PCQty').Value := 0; post; end; with CDS_3 do begin first; while not Eof do begin with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('select * from Dye_Plan_Card_Move A where 1=2'); Open; Append; FieldByName('Filler').Value := trim(DName); FieldByName('FromID').Value := trim(CDS_3.FieldByName('PCID').AsString); FieldByName('ToID').Value := maxId; FieldByName('MvPiece').Value := CDS_3.FieldByName('MvPiece').AsFloat; FieldByName('MvQty').Value := CDS_3.FieldByName('MvQty').AsFloat; post; end; Next; end; end; with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('exec P_Dye_Card_Move '); Sql.Add('@PCID=' + quotedstr(trim(maxId))); Open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then begin raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); end; ADOQueryCmd.Connection.CommitTrans; CDS_3.EnableConstraints; except ADOQueryCmd.Connection.RollbackTrans; CDS_3.EnableConstraints; application.MessageBox(PChar(Exception(ExceptObject).Message), '��ʾ��Ϣ', 0); end; InitCard(); InitRepairCard(''); end; procedure TfrmDyePlanCardInput.Button2Click(Sender: TObject); var i, k, fhxInt: integer; maxId, maxno: string; begin if trim(C_Color.Text) = '' then begin application.MessageBox('��ɫ����Ϊ�գ�', '��ʾ��Ϣ', MB_ICONERROR); exit; end; // if trim(C_Width.Text) = '' then // begin // application.MessageBox('�ŷ�����Ϊ�գ�', '��ʾ��Ϣ', MB_ICONERROR); // exit; // end; // if trim(C_GramWeight.Text) = '' then // begin // application.MessageBox('���ز���Ϊ�գ�', '��ʾ��Ϣ', MB_ICONERROR); // exit; // end; if (StrToFloatDef(PCPiece.Text, 0) + StrToFloatDef(PCQty.Text, 0)) = 0 then begin application.MessageBox('����ƥ�����������ܶ�Ϊ�㣡', '��ʾ��Ϣ', MB_ICONERROR); exit; end; if strtointdef(trim(carNum.text), 0) <= 1 then k := 1 else k := strtointdef(trim(carNum.text), 0); CDS_Color.Locate('C_Color', C_Color.Text, []); CDS_1.Last; for i := 1 to k do begin if GetLSNo(ADOQueryCmd, maxId, 'CZ', 'Dye_Plan_Card', 3, 1) = False then begin Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); Exit; end; FPCIDS := FPCIDS + maxId + ';'; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('select * from Dye_Plan_Card A where 1=2'); Open; Append; FieldByName('OrderNo').Value := OrderNo.Text; FieldByName('SubId').Value := CDS_Color.FieldByName('SubId').Value; FieldByName('Mainid').Value := FMainid; FieldByName('Filler').Value := trim(DName); FieldByName('Workshop').Value := trim(FWorkshop); FieldByName('PCType').Value := trim(PCType.Text); FieldByName('PCID').Value := trim(maxId); FieldByName('PCTime').Value := formatdateTime('yyyy-MM-dd', PCTime.DateTime); FieldByName('GC_BatchNo').Value := trim(FGC_BatchNo); FieldByName('GC_Piece').Value := trim(FGC_Piece); FieldByName('GC_STKID').Value := trim(FGC_STKID); FieldByName('GC_Position').Value := trim(FGC_Position); FieldByName('bzunit').Value := trim(Fbzunit); // FieldByName('STATUS').Value := '9'; FieldByName('CustNo').Value := trim(FFromCoNo); FieldByName('CustName').Value := trim(FFromCoName); FieldByName('Saleser').Value := trim(FSaleser); FieldByName('C_Name').Value := trim(FC_Name); FieldByName('C_GramWeight').Value := trim(C_GramWeight.Text); FieldByName('C_Width').Value := trim(C_Width.Text); FieldByName('C_Color').Value := trim(C_Color.Text); FieldByName('PCUnit').Value := trim(OrdUnit.Text); FieldByName('C_ColorNo').Value := trim(C_ColorNo.Text); FieldByName('PCPiece').Value := StrtoIntDef(PCPiece.Text, 0); FieldByName('PCQty').Value := StrtoFloatDef(PCQty.Text, 0); FieldByName('batchno').Value := INTTOSTR(k) + '-' + INTTOSTR(i); post; end; // with ADOQueryCmd do // begin // Close; // Sql.Clear; // Sql.Add('exec P_Dye_GreyCloth_Out '); // Sql.Add('@PCID=' + quotedstr(trim(maxId))); // Sql.Add(',@Filler=' + quotedstr(trim(DName))); // Open; // end; // if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then // begin // raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); // end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox(PChar(Exception(ExceptObject).Message), '��ʾ��Ϣ', 0); end; with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('exec P_Dye_Cloth_GX @carno=' + QuotedStr(trim(maxId))); sql.add(',@dname=' + QuotedStr(trim(dname))); execsql; end; // with ADOQueryCmd do // begin // Close; // Sql.Clear; // Sql.Add('select * from Dye_Plan_Glide A where 1=2'); // Open; // Append; // if GetLSNo(ADOQueryTmp, maxno, 'CG', 'Dye_Plan_Glide', 4, 1) = False then // Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); // fieldbyname('Filler').Value := trim(DName); // FieldByName('GlideID').Value := trim(maxno); // FieldByName('PCID').Value := trim(maxId); // FieldByName('GlideNo').Value := trim('1'); // FieldByName('GlideName').Value := trim('��������'); // POST; // Append; // if GetLSNo(ADOQueryTmp, maxno, 'CG', 'Dye_Plan_Glide', 4, 1) = False then // Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); // fieldbyname('Filler').Value := trim(DName); // FieldByName('GlideID').Value := trim(maxno); // FieldByName('PCID').Value := trim(maxId); // FieldByName('GlideNo').Value := trim('2'); // FieldByName('GlideName').Value := trim('������ͷ'); // POST; // Append; // if GetLSNo(ADOQueryTmp, maxno, 'CG', 'Dye_Plan_Glide', 4, 1) = False then // Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); // fieldbyname('Filler').Value := trim(DName); // FieldByName('GlideID').Value := trim(maxno); // FieldByName('PCID').Value := trim(maxId); // FieldByName('GlideNo').Value := trim('3'); // FieldByName('GlideName').Value := trim('��ˮ'); // POST; // Append; // if GetLSNo(ADOQueryTmp, maxno, 'CG', 'Dye_Plan_Glide', 4, 1) = False then // Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); // fieldbyname('Filler').Value := trim(DName); // FieldByName('GlideID').Value := trim(maxno); // FieldByName('PCID').Value := trim(maxId); // FieldByName('GlideNo').Value := trim('4'); // FieldByName('GlideName').Value := trim('Ԥ��'); // POST; // Append; // if GetLSNo(ADOQueryTmp, maxno, 'CG', 'Dye_Plan_Glide', 4, 1) = False then // Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); // fieldbyname('Filler').Value := trim(DName); // FieldByName('GlideID').Value := trim(maxno); // FieldByName('PCID').Value := trim(maxId); // FieldByName('GlideNo').Value := trim('5'); // FieldByName('GlideName').Value := trim('ǰ����'); // POST; // Append; // if GetLSNo(ADOQueryTmp, maxno, 'CG', 'Dye_Plan_Glide', 4, 1) = False then // Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); // fieldbyname('Filler').Value := trim(DName); // FieldByName('GlideID').Value := trim(maxno); // FieldByName('PCID').Value := trim(maxId); // FieldByName('GlideNo').Value := trim('6'); // FieldByName('GlideName').Value := trim('���Ϲ�'); // POST; // Append; // if GetLSNo(ADOQueryTmp, maxno, 'CG', 'Dye_Plan_Glide', 4, 1) = False then // Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); // fieldbyname('Filler').Value := trim(DName); // FieldByName('GlideID').Value := trim(maxno); // FieldByName('PCID').Value := trim(maxId); // FieldByName('GlideNo').Value := trim('7'); // FieldByName('GlideName').Value := trim('Ⱦɫ'); // POST; // Append; // if GetLSNo(ADOQueryTmp, maxno, 'CG', 'Dye_Plan_Glide', 4, 1) = False then // Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); // fieldbyname('Filler').Value := trim(DName); // FieldByName('GlideID').Value := trim(maxno); // FieldByName('PCID').Value := trim(maxId); // FieldByName('GlideNo').Value := trim('8'); // FieldByName('GlideName').Value := trim('����Ա'); // POST; // Append; // if GetLSNo(ADOQueryTmp, maxno, 'CG', 'Dye_Plan_Glide', 4, 1) = False then // Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); // fieldbyname('Filler').Value := trim(DName); // FieldByName('GlideID').Value := trim(maxno); // FieldByName('PCID').Value := trim(maxId); // FieldByName('GlideNo').Value := trim('9'); // FieldByName('GlideName').Value := trim('��ˮ��'); // POST; // Append; // if GetLSNo(ADOQueryTmp, maxno, 'CG', 'Dye_Plan_Glide', 4, 1) = False then // Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); // fieldbyname('Filler').Value := trim(DName); // FieldByName('GlideID').Value := trim(maxno); // FieldByName('PCID').Value := trim(maxId); // FieldByName('GlideNo').Value := trim('10'); // FieldByName('GlideName').Value := trim('��������'); // POST; // Append; // if GetLSNo(ADOQueryTmp, maxno, 'CG', 'Dye_Plan_Glide', 4, 1) = False then // Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); // fieldbyname('Filler').Value := trim(DName); // FieldByName('GlideID').Value := trim(maxno); // FieldByName('PCID').Value := trim(maxId); // FieldByName('GlideNo').Value := trim('11'); // FieldByName('GlideName').Value := trim('���'); // POST; // Append; // if GetLSNo(ADOQueryTmp, maxno, 'CG', 'Dye_Plan_Glide', 4, 1) = False then // Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); // fieldbyname('Filler').Value := trim(DName); // FieldByName('GlideID').Value := trim(maxno); // FieldByName('PCID').Value := trim(maxId); // FieldByName('GlideNo').Value := trim('12'); // FieldByName('GlideName').Value := trim('�ɶ�'); // POST; // Append; // if GetLSNo(ADOQueryTmp, maxno, 'CG', 'Dye_Plan_Glide', 4, 1) = False then // Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); // fieldbyname('Filler').Value := trim(DName); // FieldByName('GlideID').Value := trim(maxno); // FieldByName('PCID').Value := trim(maxId); // FieldByName('GlideNo').Value := trim('13'); // FieldByName('GlideName').Value := trim('�벼'); // POST; // Append; // if GetLSNo(ADOQueryTmp, maxno, 'CG', 'Dye_Plan_Glide', 4, 1) = False then // Application.MessageBox('ȡ����ʧ��!', '��ʾ', 0); // fieldbyname('Filler').Value := trim(DName); // FieldByName('GlideID').Value := trim(maxno); // FieldByName('PCID').Value := trim(maxId); // FieldByName('GlideNo').Value := trim('14'); // FieldByName('GlideName').Value := trim('����'); // // post; // // end; end; InitCard(); InitGreyClothStk(); end; procedure TfrmDyePlanCardInput.C_ColorChange(Sender: TObject); begin CDS_Color.Locate('C_Color', C_Color.Text, []); C_COLOR.Text := CDS_Color.FieldByName('C_COLOR').AsString; OrdQty.Text := CDS_Color.FieldByName('OrdQty').AsString; OrdUnit.Text := CDS_Color.FieldByName('OrdUnit').AsString; C_COLORNO.Text := CDS_Color.FieldByName('C_COLORNO').AsString; end; procedure TfrmDyePlanCardInput.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := cahide; end; procedure TfrmDyePlanCardInput.FormCreate(Sender: TObject); begin inherited; PCTime.Date := DServerDate; end; procedure TfrmDyePlanCardInput.FormShow(Sender: TObject); begin inherited; ReadCxGrid(self.Caption + 'TV1', Tv1, '����ָʾ������'); ReadCxGrid(self.Caption + 'TV2', Tv2, '����ָʾ������'); InitCard(); InitGreyClothStk(); InitRepairCard(''); end; procedure TfrmDyePlanCardInput.ToolButton1Click(Sender: TObject); var MPCIDS: string; begin if CDS_1.Locate('SSel', True, []) = False then begin Application.MessageBox('û��ѡ������!', '��ʾ', 0); Exit; end; with CDS_1 do begin DisableControls; First; while not Eof do begin if Fieldbyname('Ssel').AsBoolean then begin MPCIDS := MPCIDS + trim(CDS_1.FieldByName('PCID').AsString) + ';'; end; Next; end; EnableControls; end; with ADOQueryTmp do begin close; sql.Clear; sql.Add('select distinct GX=[dbo].[F_Dye_Card_GlideList](A.RTValue) from [dbo].[F_Tool_SplitString](' + quotedstr(MPCIDS) + ','';'') A '); open; end; if ADOQueryTmp.RecordCount > 1 then begin Application.MessageBox('��ѡ����ͬ����Ŀ��༭!', '��ʾ', 0); Exit; end; try frmDyeCardGlideEdit := TfrmDyeCardGlideEdit.Create(Application); with frmDyeCardGlideEdit do begin FPCIDS := MPCIDS; FWorkshop := self.FWorkshop; if ShowModal = 1 then begin InitCard(); end; end; finally frmDyeCardGlideEdit.Free; end; end; procedure TfrmDyePlanCardInput.ToolButton2Click(Sender: TObject); begin WriteCxGrid(self.Caption + 'TV1', Tv1, '����ָʾ������'); WriteCxGrid(self.Caption + 'TV2', Tv2, '����ָʾ������'); end; procedure TfrmDyePlanCardInput.ToolButton3Click(Sender: TObject); begin close; end; procedure TfrmDyePlanCardInput.ToolButton4Click(Sender: TObject); begin if CDS_1.IsEmpty then exit; if CDS_1.Locate('SSel', True, []) = False then begin Application.MessageBox('û��ѡ������!', '��ʾ', 0); Exit; end; if Application.MessageBox('ȷ��Ҫɾ��������', '��ʾ', 32 + 4) <> IDYES then Exit; try with CDS_1 do begin DisableControls; First; while not Eof do begin if Fieldbyname('Ssel').AsBoolean then begin try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('exec P_Dye_Card_Del '); Sql.Add('@PCIDS=' + quotedstr(Trim(CDS_1.fieldbyname('PCID').AsString))); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); Open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); if (Trim(CDS_1.fieldbyname('PCType').AsString) = '������') or (Trim(CDS_1.fieldbyname('PCType').AsString) = 'ǰ����') then begin // with ADOQueryCmd do // begin // Close; // Sql.Clear; // Sql.Add('exec P_Dye_GreyCloth_Out_Del '); // Sql.Add('@PCID=' + quotedstr(Trim(CDS_1.fieldbyname('PCID').AsString))); // Open; // end; // if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then // raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); end else begin with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('exec P_Dye_Card_Move_Del '); Sql.Add('@PCID=' + quotedstr(Trim(CDS_1.fieldbyname('PCID').AsString))); Open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; raise Exception.Create(PChar(Exception(ExceptObject).Message)); end; end; Next; EnableControls; end; InitCard(); InitGreyClothStk(); end; except CDS_1.EnableControls; application.MessageBox(PChar(Exception(ExceptObject).Message), '��ʾ��Ϣ', 0); end; end; procedure TfrmDyePlanCardInput.ToolButton5Click(Sender: TObject); begin try CDS_1.DisableControls; CDS_1.First; while not CDS_1.Eof do begin if CDS_1.Fieldbyname('Ssel').AsBoolean then begin ADOQueryCmd.Connection.BeginTrans; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('select * from Dye_Plan_Card A'); sql.Add('where PCID=''' + trim(CDS_1.fieldbyname('PCID').AsString) + ''''); open; edit; FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTmp); RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_1, 'Dye_Plan_Card', 0); post; end; if (Trim(CDS_1.fieldbyname('PCType').AsString) = '������') or (Trim(CDS_1.fieldbyname('PCType').AsString) = 'ǰ����') then begin with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('exec P_Dye_GreyCloth_Out_Del '); Sql.Add('@PCID=' + quotedstr(Trim(CDS_1.fieldbyname('PCID').AsString))); Open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('exec P_Dye_GreyCloth_Out '); Sql.Add('@PCID=' + quotedstr(Trim(CDS_1.fieldbyname('PCID').AsString))); Sql.Add(',@Filler=' + quotedstr(trim(DName))); Open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then begin raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); end; end else begin with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('exec P_Dye_Card_Move '); Sql.Add('@PCID=' + quotedstr(Trim(CDS_1.fieldbyname('PCID').AsString))); Open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then begin raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); end; end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; raise Exception.Create(PChar(Exception(ExceptObject).Message)); end; end; CDS_1.Next; end; CDS_1.EnableControls; InitCard(); InitGreyClothStk(); except CDS_1.EnableControls; application.MessageBox(PChar(Exception(ExceptObject).Message), '��ʾ��Ϣ', 0); end; end; procedure TfrmDyePlanCardInput.TV3Column1PropertiesEditValueChanged(Sender: TObject); var mvalue: string; begin mvalue := TcxTextEdit(Sender).EditingText; with CDS_3 do begin Edit; FieldByName('MvPiece').Value := STRTOFLOATDEF(mvalue, 0); if FieldByName('PSC_StkPiece').AsFloat > 0 then FieldByName('MvQty').Value := STRTOFLOATDEF(mvalue, 0) * (FieldByName('PSC_StkQty').AsFloat / FieldByName('PSC_StkPiece').AsFloat) else FieldByName('MvQty').Value := 0; Post; end; Tv3.Controller.EditingController.ShowEdit(); end; procedure TfrmDyePlanCardInput.TV3DblClick(Sender: TObject); begin CDS_3.Delete; end; end.