unit U_TatPlanList; 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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, U_BaseList, cxPC, cxCheckBox, 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 TfrmTatPlanList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBAdd: TToolButton; TBEdit: TToolButton; TBDel: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Label1: TLabel; Label2: TLabel; GPM_1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DS_1: TDataSource; Label3: TLabel; ConNo: TEdit; Label5: TLabel; C_Name: TEdit; TBExport: TToolButton; CDS_1: TClientDataSet; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1OrderNo: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1PRTMF: TcxGridDBColumn; v1PRTKZ: TcxGridDBColumn; v1PRTOrderQty: TcxGridDBColumn; v1Column4: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column12: TcxGridDBColumn; TBCopy: TToolButton; TBView: TToolButton; v1Column19: TcxGridDBColumn; v1Column21: TcxGridDBColumn; Label10: TLabel; C_Code: TEdit; v1Column20: TcxGridDBColumn; v1Column31: TcxGridDBColumn; CustName: TEdit; Label7: TLabel; cxTabControl1: TcxTabControl; Tv1Column1: TcxGridDBColumn; Label4: TLabel; OrderNo: TEdit; Tv1Column2: TcxGridDBColumn; TBEnd: TToolButton; TBNoEnd: TToolButton; TBSCAP: TToolButton; ToolButton1: TToolButton; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; ToolButton2: TToolButton; Tv1Column5: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Label6: TLabel; FtyCoName: TEdit; Tv1Column7: TcxGridDBColumn; ToolButton3: TToolButton; ToolButton4: TToolButton; Tv1Column8: TcxGridDBColumn; Tv1Column9: TcxGridDBColumn; Tv1Column11: TcxGridDBColumn; Tv1Column12: TcxGridDBColumn; Panel2: TPanel; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridLevel1: TcxGridLevel; Tv2Column1: TcxGridDBColumn; Tv2Column2: TcxGridDBColumn; CDS_2: TClientDataSet; DS_2: TDataSource; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; Button1: TButton; Button2: TButton; Tv1Column13: TcxGridDBColumn; Tv1Column14: TcxGridDBColumn; cxGrid3: TcxGrid; Tv3: TcxGridDBTableView; cxGridLevel2: TcxGridLevel; Tv3Column1: TcxGridDBColumn; Tv3Column2: TcxGridDBColumn; Tv3Column3: TcxGridDBColumn; Tv3Column4: TcxGridDBColumn; Tv3Column5: TcxGridDBColumn; Tv3Column6: TcxGridDBColumn; Tv3Column7: TcxGridDBColumn; GPM_3: TcxGridPopupMenu; CDS_3: TClientDataSet; DS_3: TDataSource; ToolButton5: TToolButton; ToolButton6: TToolButton; ToolButton7: TToolButton; ADOQuerySub: TADOQuery; cxgrdbclmnTv3Column8: TcxGridDBColumn; PM_1: TPopupMenu; MenuItem1: TMenuItem; MenuItem2: TMenuItem; btn1: TToolButton; cxgrdbclmnTv1Column15: TcxGridDBColumn; cxgrdbclmnTv3Column9: TcxGridDBColumn; cxgrdbclmnTv1Column16: TcxGridDBColumn; lbl1: TLabel; CarHZ: TEdit; cxgrdbclmnTv1Column17: TcxGridDBColumn; cxgrdbclmnTv1Column18: TcxGridDBColumn; ToolButton8: TToolButton; Tv1Column15: TcxGridDBColumn; Tv1Column16: TcxGridDBColumn; Tv1Column17: TcxGridDBColumn; ToolButton9: TToolButton; Tv1Column18: TcxGridDBColumn; ToolButton10: TToolButton; cxgrdbclmnTv1Column19: TcxGridDBColumn; cxgrdbclmnTv1Column20: TcxGridDBColumn; cxgrdbclmnTv1Column21: TcxGridDBColumn; DYPrint: TToolButton; ToolButton11: TToolButton; cxgrdbclmnTv1Column10: TcxGridDBColumn; cxgrdbclmnTv1Column11: TcxGridDBColumn; cxgrdbclmnTv1Column12: TcxGridDBColumn; cxgrdbclmnTv1Column13: TcxGridDBColumn; cxgrdbclmnTv1Column14: TcxGridDBColumn; lbl2: TLabel; LineNumber: TEdit; cxgrdbclmnTv1Column22: TcxGridDBColumn; cxgrdbclmnTv1Column23: TcxGridDBColumn; SCPrint: TToolButton; lbl3: TLabel; lbl4: TLabel; lbl5: TLabel; cxgrdbclmnTv1Column24: TcxGridDBColumn; btn2: TToolButton; btn3: TToolButton; cxgrdbclmnTv1Column25: TcxGridDBColumn; cxgrdbclmnTv1Column26: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBEditClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBPrintClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure ConNoChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure conPress(Sender: TObject; var Key: Char); procedure TBViewClick(Sender: TObject); procedure TBCopyClick(Sender: TObject); procedure OrdTypeChange(Sender: TObject); procedure C_CodeKeyPress(Sender: TObject; var Key: Char); procedure BatchNoHZKeyPress(Sender: TObject; var Key: Char); procedure CustNameKeyPress(Sender: TObject; var Key: Char); procedure C_NameKeyPress(Sender: TObject; var Key: Char); procedure cxTabControl1Change(Sender: TObject); procedure TBEndClick(Sender: TObject); procedure TBNoEndClick(Sender: TObject); procedure TBSCAPClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure ToolButton7Click(Sender: TObject); procedure MenuItem1Click(Sender: TObject); procedure MenuItem2Click(Sender: TObject); procedure btn1Click(Sender: TObject); procedure ToolButton8Click(Sender: TObject); procedure ToolButton9Click(Sender: TObject); procedure ToolButton10Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure DYPrintClick(Sender: TObject); procedure ToolButton11Click(Sender: TObject); procedure SCPrintClick(Sender: TObject); procedure btn2Click(Sender: TObject); procedure btn3Click(Sender: TObject); private FInt, PFInt: Integer; procedure InitGrid(); procedure InitSubGrid(); procedure InitForm(); function DelData(): Boolean; procedure InitButton(); { Private declarations } public canshu1, FCheJian: string; WSql: string; { Public declarations } end; //var //frmClothSCList: TfrmClothSCList; implementation uses U_DataLink, U_TatPlanInPut, U_RTFun, U_ZDYHelp, U_LabelPrint2, U_KnitCardInPut, U_TradeInspSet, U_LCKInput, U_KnitPlanImport, U_LabelPrint,U_TatCardInPut; {$R *.dfm} procedure TfrmTatPlanList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmTatPlanList.InitButton(); begin TBAdd.Visible := False; TBCopy.Visible := False; TBEdit.Visible := False; TBDel.Visible := False; TBEnd.Visible := False; TBNoEnd.Visible := False; TBSCAP.Visible := False; btn1.Visible := False; ToolButton5.Visible := False; ToolButton9.Visible := False; ToolButton10.Visible := False; ToolButton6.Visible := False; ToolButton7.Visible := False; btn2.Visible := false; btn3.Visible := false; if Trim(canshu1) = '管理' then begin if cxTabControl1.TabIndex = 0 then begin TBAdd.Visible := true; TBCopy.Visible := true; TBDel.Visible := true; TBSCAP.Visible := true; TBEdit.Visible := true; end else if cxTabControl1.TabIndex = 1 then begin TBAdd.Visible := true; TBCopy.Visible := true; TBEnd.Visible := true; TBSCAP.Visible := true; TBEdit.Visible := true; // btn1.Visible := true; btn2.Visible := true; btn3.Visible := true; // ToolButton5.Visible := true; // ToolButton6.Visible := true; // ToolButton7.Visible := true; // ToolButton9.Visible := true; // ToolButton10.Visible := true; end else if cxTabControl1.TabIndex = 2 then begin TBNoEnd.Visible := true; // btn1.Visible := true; btn2.Visible := true; btn3.Visible := true; // ToolButton5.Visible := true; // ToolButton6.Visible := true; // ToolButton7.Visible := true; // ToolButton9.Visible := true; // ToolButton10.Visible := true; end; end; end; procedure TfrmTatPlanList.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmTatPlanList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('select isnull(isred,'''') AS isred,IfJQ = DATEDIFF(day, CONVERT(date, GETDATE()), A.DlyDate),'); 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(B.price,0) * 0 ,'); sql.Add('A.*,B.*,CarHZ=cast((SELECT DISTINCT CarNO +'';'' from Knit_Plan_Card X where X.status <>''-1'' and X.MainID=A.MainID FOR XML PATH(''''))as VARCHAR(6000) ) '); sql.Add(',APPS=(select count (PCID) from Knit_Plan_Card X where X.MainID =A.MainID and X.Status <> ''-1'') '); sql.Add(',JYPS=(select count (PCID) from Knit_Cloth_Inspect X where X.MainID =A.MainID ) '); sql.Add(',XJPS=(select count (PCID) from Knit_Plan_Card X where X.MainID =A.MainID and X.IsOffMachine = ''是'') '); sql.Add(',WXJPS=(select count (PCID) from Knit_Plan_Card X where X.MainID =A.MainID and ISNULL(X.IsOffMachine,'''') = '''') '); sql.Add(' from knit_Plan_Main A inner join knit_Plan_Sub B on A.Mainid=B.MainId'); sql.Add(' where 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 ISNULL(A.PlanType, '''') = ''梭织'''); if DParameters1 = '业务员' then begin sql.Add(' and Saleser=''' + trim(DName) + ''''); end; if cxTabControl1.TabIndex = 0 then begin sql.Add('and isnull(Status,''0'') =''0'' '); sql.Add('and not EXISTS (select PCID from Knit_Plan_Card X where A.MainId =X.MainId and X.Status <> ''-1'') '); end else if cxTabControl1.TabIndex = 1 then begin sql.Add('and isnull(Status,''0'') =''0'' '); sql.Add('and EXISTS (select PCID from Knit_Plan_Card X where A.MainId =X.MainId and X.Status <> ''-1'') '); end else if cxTabControl1.TabIndex = 2 then begin sql.Add('and isnull(Status,''0'') =''1'' '); // sql.Add('and EXISTS (select PCID from Knit_Plan_Card X where A.MainId =X.MainId and X.Status <> ''-1'') '); end; sql.add('order by A.FILLTIME DESC'); // ShowMessage(sql.text); Open; end; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); finally ADOQueryMain.EnableControls; end; end; procedure TfrmTatPlanList.N1Click(Sender: TObject); begin SelOKNo(cds_3, true) end; procedure TfrmTatPlanList.N2Click(Sender: TObject); begin SelOKNo(cds_3, false); end; procedure TfrmTatPlanList.InitForm(); begin InitButton(); ReadCxGrid('坯布生产计划单1', Tv1, '坯布生产管理'); BegDate.DateTime := SGetServerDate(ADOQueryTemp) - 30; EndDate.DateTime := SGetServerDate(ADOQueryTemp); InitGrid(); end; procedure TfrmTatPlanList.TBFindClick(Sender: TObject); begin TBRafresh.Click; if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); end; procedure TfrmTatPlanList.TBNoEndClick(Sender: TObject); begin if CDS_1.IsEmpty then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update knit_Plan_Main SET status=''0'' '); sql.Add('where mainID=' + quotedstr(trim(CDS_1.fieldbyname('mainID').AsString))); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('生产单撤销结束'))); sql.Add(',' + quotedstr(trim('计划单号:' + trim(CDS_1.FieldByName('OrderNo').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; application.MessageBox('撤销结束成功!', '提示信息'); TBRafresh.Click; except application.MessageBox('撤销结束失败!', '提示信息', 0); end; end; procedure TfrmTatPlanList.TBEditClick(Sender: TObject); begin if CDS_1.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; SQL.Add('select A.*'); sql.Add('from Knit_Plan_Card A'); sql.Add(' where A.SubId=''' + Trim(CDS_1.fieldbyname('SubId').AsString) + ''''); sql.Add(' and A.MainId=''' + Trim(CDS_1.fieldbyname('MainId').AsString) + ''''); sql.Add(' and Status <> ''-1'' '); Open; end; // if ADOQueryTemp.IsEmpty = False then // begin // Application.MessageBox('已产生安排数据不能修改!', '提示', 0); // Exit; // end; try frmTatPlanInPut := TfrmTatPlanInPut.Create(Application); with frmTatPlanInPut do begin PState := 1; FMainId := Trim(Self.CDS_1.fieldbyname('MainId').AsString); FSubId := Trim(Self.CDS_1.fieldbyname('SubId').AsString); if ShowModal = 1 then begin InitGrid(); Self.CDS_1.Locate('MainId', frmTatPlanInPut.FMainId, []); end; end; finally frmTatPlanInPut.Free; end; end; procedure TfrmTatPlanList.TBEndClick(Sender: TObject); begin if CDS_1.IsEmpty then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update knit_Plan_Main SET status=''1'' '); sql.Add('where mainID=' + quotedstr(trim(CDS_1.fieldbyname('mainID').AsString))); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('生产单结束'))); sql.Add(',' + quotedstr(trim('计划单号:' + trim(CDS_1.FieldByName('OrderNo').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; application.MessageBox('结束成功!', '提示信息'); TBRafresh.Click; except application.MessageBox('结束失败!', '提示信息', 0); end; end; procedure TfrmTatPlanList.TBDelClick(Sender: TObject); begin if CDS_1.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; SQL.Add('select A.*'); sql.Add('from Knit_Plan_Card A'); sql.Add(' where A.SubId=''' + Trim(CDS_1.fieldbyname('SubId').AsString) + ''''); sql.Add(' and A.MainId=''' + Trim(CDS_1.fieldbyname('MainId').AsString) + ''''); sql.Add(' and Status <> ''-1'' '); Open; end; if ADOQueryTemp.IsEmpty = False then begin Application.MessageBox('已产生安排数据不能删除!', '提示', 0); Exit; end; if Application.MessageBox('确定要删除生产单吗?', '提示', 32 + 4) <> IDYES then Exit; if DelData() then begin //TBRafresh.Click; //TBFind.Click; CDS_1.Delete; end; end; function TfrmTatPlanList.DelData(): Boolean; begin try Result := false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete knit_Plan_Sub where SubId=''' + Trim(CDS_1.fieldbyname('SubId').AsString) + ''''); ExecSQL; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from knit_Plan_Sub where MainId=''' + Trim(CDS_1.fieldbyname('MainId').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete knit_Plan_Main where MainId=''' + Trim(CDS_1.fieldbyname('MainId').AsString) + ''''); ExecSQL; end; end; if Trim(CDS_1.fieldbyname('SubId').AsString) = '' then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete knit_Plan_Main where MainId=''' + Trim(CDS_1.fieldbyname('MainId').AsString) + ''''); ExecSQL; end; end; ADOQueryCmd.Connection.CommitTrans; Result := True; except ADOQueryCmd.Connection.RollbackTrans; Result := False; Application.MessageBox('数据删除异常!', '提示', 0); end; end; procedure TfrmTatPlanList.DYPrintClick(Sender: TObject); var WSql: string; begin if CDS_1.IsEmpty then Exit; if not CDS_1.Locate('SSel', True, []) then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; WSql := ''; CDS_1.DisableControls; with CDS_1 do begin First; while not Eof do begin if CDS_1.fieldbyname('SSel').AsBoolean then begin if WSql <> '' then begin WSql := WSql + ',' + QuotedStr(Trim(CDS_1.fieldbyname('MainId').AsString)); end else begin WSql := QuotedStr(Trim(CDS_1.fieldbyname('MainId').AsString)); end; end; Next; end; end; CDS_1.Locate('SSel', True, []); CDS_1.EnableControls; try frmLabelPrint2 := TfrmLabelPrint2.Create(Application); with frmLabelPrint2 do begin FLMType := 'ZZDYD'; FFiltration1 := WSql; if ShowModal = 1 then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update Knit_Plan_Main'); sql.Add('set PRTCount=PRTCount+1'); sql.Add(' where MainId in(' + WSql + ')'); ExecSQL; end; InitGrid(); end; end; finally frmLabelPrint2.Free; end; end; procedure TfrmTatPlanList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel('坯布生产单', cxGrid1); end; procedure TfrmTatPlanList.TBPrintClick(Sender: TObject); begin if CDS_1.IsEmpty then Exit; WSql := Trim(CDS_1.fieldbyname('MainId').AsString); Panel2.Visible := True; with ADOQueryTemp do begin Filtered := False; Close; sql.Clear; sql.Add('select DISTINCT CarNO from Knit_Plan_Card where Status <> ''-1'' and MainID =''' + Trim(WSql) + ''''); Open; end; SCreateCDS(ADOQueryTemp, CDS_2); SInitCDSData(ADOQueryTemp, CDS_2); SelOKNo(cds_2, true); end; procedure TfrmTatPlanList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmTatPlanList.TBSCAPClick(Sender: TObject); var FMainId, FSubId: string; begin try frmTatCardInPut := TfrmTatCardInPut.Create(Application); with frmTatCardInPut do begin FMainId := Trim(Self.CDS_1.fieldbyname('MainId').AsString); FSubId := Trim(Self.CDS_1.fieldbyname('SubId').AsString); if ShowModal = 1 then begin // InitGrid(); end; end; finally frmTatCardInPut.Free; end; end; procedure TfrmTatPlanList.TBAddClick(Sender: TObject); begin try frmTatPlanInPut := TfrmTatPlanInPut.Create(Application); with frmTatPlanInPut do begin PState := 0; FMainId := ''; FSubId := ''; if ShowModal = 1 then begin InitGrid(); end; end; finally frmTatPlanInPut.Free; end; end; procedure TfrmTatPlanList.btn1Click(Sender: TObject); var WSql: string; begin if CDS_3.IsEmpty then exit; if not CDS_3.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; WSql := ''; CDS_3.DisableControls; with CDS_3 do begin First; while not Eof do begin if CDS_3.fieldbyname('SSel').AsBoolean then begin if WSql <> '' then begin WSql := WSql + ',' + QuotedStr(Trim(CDS_3.fieldbyname('LCKID').AsString)); end else begin WSql := QuotedStr(Trim(CDS_3.fieldbyname('LCKID').AsString)); end; end; Next; end; end; CDS_3.Locate('SSel', True, []); CDS_3.EnableControls; try frmLabelPrint := TfrmLabelPrint.Create(Application); with frmLabelPrint do begin FPreviewPrint := False; FLMType := 'KnitPlanLCK'; FFiltration1 := WSql; if ShowModal = 1 then begin end; end; finally frmLabelPrint.Free; end; end; procedure TfrmTatPlanList.btn2Click(Sender: TObject); var sInput: string; iLoopCount: double; begin // if CDS_2.IsEmpty then // exit; // if not CDS_2.Locate('SSel', True, []) then // begin // application.MessageBox('请选择数据', '提示'); // Exit; // end; if CDS_1.IsEmpty then exit; // if Application.MessageBox('确定下机吗?', '提示', 32 + 4) <> IDYES then // Exit; // if not InputQuery('下机匹数', '请输入下机匹数:', sInput) then // Exit; // 用户点击取消 // if not TryStrToFloat(sInput, iLoopCount) then // begin // ShowMessage('请输入有效的数字!'); // Exit; // end; try while CDS_1.locate('SSel', true, []) do begin with ADOQueryCmd do begin close; sql.Clear; SQL.Add('update Knit_Plan_Sub set ISXiaJi=''是'''); // sql.Add(',XiaJiNumber=' + trim(sInput)); sql.Add(' where MainId=' + quotedstr(trim(CDS_1.fieldbyname('MainId').AsString))); // showmessage(sql.Text); execsql; end; CDS_1.Edit; CDS_1.fieldbyname('SSel').value := false; end; application.MessageBox('操作成功!', '提示信息'); InitGrid(); // TBRafresh.Click; except application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmTatPlanList.btn3Click(Sender: TObject); begin if CDS_1.IsEmpty then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update knit_Plan_Sub SET ISXiaJi=''否'' '); // sql.Add(', XiaJiNumber = ''0'' '); sql.Add('where MainId=' + quotedstr(trim(CDS_1.fieldbyname('MainId').AsString))); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('生产单撤销下机'))); sql.Add(',' + quotedstr(trim('计划单号:' + trim(CDS_1.FieldByName('MainId').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; application.MessageBox('撤销成功!', '提示信息'); TBRafresh.Click; except application.MessageBox('撤销失败!', '提示信息', 0); end; end; procedure TfrmTatPlanList.Button1Click(Sender: TObject); begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete TbForBatch where DName=' + quotedstr(Trim(DName))); SQL.Add('and MainType=' + quotedstr('生产单打印')); ExecSQL; end; if CDS_2.Locate('SSel', True, []) = true then begin with CDS_2 do begin First; while not Eof do begin if CDS_2.FieldByName('SSel').AsBoolean then begin with Self.ADOQueryCmd do begin Close; sql.Clear; sql.Add(' insert into TbForBatch(DName,MainType,Value1,Value2) '); sql.Add(' values( ' + quotedstr(Trim(DName)) + ',' + quotedstr('生产单打印') + ',' + quotedstr(Trim(WSql)) + ',' + quotedstr(Trim(Self.CDS_2.FieldByName('carNo').AsString)) + ')'); //showmessage(sql.text); ExecSQL; end; end; Next; end; end; end else begin with Self.ADOQueryCmd do begin Close; sql.Clear; sql.Add(' insert into TbForBatch(DName,MainType,Value1,Value2) '); sql.Add(' values( ' + quotedstr(Trim(DName)) + ',' + quotedstr('生产单打印') + ',' + quotedstr(Trim(WSql)) + ',' + quotedstr(Trim('')) + ')'); ExecSQL; end; end; try frmLabelPrint := TfrmLabelPrint.Create(Application); with frmLabelPrint do begin FLMType := 'knitPlanPrint'; FFiltration1 := trim(DName); if ShowModal = 1 then begin // Self.InitGrid(); end; end; finally frmLabelPrint.Free; end; panel2.Visible := false; end; procedure TfrmTatPlanList.Button2Click(Sender: TObject); begin panel2.Visible := false; end; procedure TfrmTatPlanList.ConNoChange(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); end; procedure TfrmTatPlanList.FormShow(Sender: TObject); begin inherited; canshu1 := DParameters1; InitForm(); end; procedure TfrmTatPlanList.conPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); end; end; procedure TfrmTatPlanList.TBViewClick(Sender: TObject); begin try frmTatPlanInPut := TfrmTatPlanInPut.Create(Application); with frmTatPlanInPut do begin PState := 1; FMainId := Trim(Self.CDS_1.fieldbyname('MainId').AsString); FSubId := Trim(Self.CDS_1.fieldbyname('SubId').AsString); FConNo := Trim(Self.CDS_1.fieldbyname('ConNo').AsString); TBSave.Visible := False; ToolBar3.Visible := False; ScrollBox1.Enabled := False; if ShowModal = 1 then begin end; end; finally frmTatPlanInPut.Free; end; end; procedure TfrmTatPlanList.ToolButton10Click(Sender: TObject); var sInput: string; i, iLoopCount: Integer; begin if CDS_3.IsEmpty then begin application.MessageBox('请选中要回修的流程卡', '提示'); Exit; end; try // 禁用相关控件防止重复操作 ToolButton10.Enabled := False; frmLCKInput := TfrmLCKInput.Create(Application); with frmLCKInput do begin PState := 1; FLCKID := Trim(self.CDS_3.fieldbyname('LCKID').AsString); FFSubId := Trim(self.CDS_1.fieldbyname('SubId').AsString); if ShowModal = 1 then begin InitSubGrid(); end; end; // application.MessageBox('操作成功!', '提示信息'); ToolButton10.Enabled := true; // TBRafresh.Click; except application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmTatPlanList.ToolButton11Click(Sender: TObject); begin try frmknitplanImport := TfrmknitplanImport.Create(Application); with frmknitplanImport do begin if ShowModal = 1 then begin Self.InitGrid(); end; end; finally frmknitplanImport.Free; end; end; procedure TfrmTatPlanList.ToolButton1Click(Sender: TObject); begin WriteCxGrid('坯布生产计划单1', Tv1, '坯布生产管理'); end; procedure TfrmTatPlanList.ToolButton2Click(Sender: TObject); begin try frmTradeInspSet := TfrmTradeInspSet.Create(Application); with frmTradeInspSet do begin FDataID := Trim(Self.CDS_1.fieldbyname('MainId').AsString); if ShowModal = 1 then begin end; end; finally frmTradeInspSet.Free; end; end; procedure TfrmTatPlanList.ToolButton3Click(Sender: TObject); begin if CDS_1.IsEmpty then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update knit_Plan_Main SET isred=''是'' '); sql.Add('where mainID=' + quotedstr(trim(CDS_1.fieldbyname('mainID').AsString))); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('生产单标红'))); sql.Add(',' + quotedstr(trim('计划单号:' + trim(CDS_1.FieldByName('OrderNo').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; application.MessageBox('标红成功!', '提示信息'); TBRafresh.Click; except application.MessageBox('标红失败!', '提示信息', 0); end; end; procedure TfrmTatPlanList.ToolButton4Click(Sender: TObject); begin if CDS_1.IsEmpty then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update knit_Plan_Main SET isred=''否'' '); sql.Add('where mainID=' + quotedstr(trim(CDS_1.fieldbyname('mainID').AsString))); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('生产单撤销标红'))); sql.Add(',' + quotedstr(trim('计划单号:' + trim(CDS_1.FieldByName('OrderNo').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; application.MessageBox('撤销成功!', '提示信息'); TBRafresh.Click; except application.MessageBox('撤销失败!', '提示信息', 0); end; end; procedure TfrmTatPlanList.ToolButton5Click(Sender: TObject); begin try frmLCKInput := TfrmLCKInput.Create(Application); with frmLCKInput do begin PState := 0; FLCKID := ''; FFSubId := Trim(self.CDS_1.fieldbyname('SubId').AsString); if ShowModal = 1 then begin InitsubGrid(); end; end; finally frmLCKInput.Free; end; end; procedure TfrmTatPlanList.ToolButton6Click(Sender: TObject); begin if CDS_3.IsEmpty then Exit; try frmLCKInput := TfrmLCKInput.Create(Application); with frmLCKInput do begin PState := 1; FLCKID := Trim(self.CDS_3.fieldbyname('LCKID').AsString); FFSubId := Trim(self.CDS_1.fieldbyname('SubId').AsString); if ShowModal = 1 then begin InitSubGrid(); end; end; finally frmLCKInput.Free; end; end; procedure TfrmTatPlanList.ToolButton7Click(Sender: TObject); var MLCKIDS: string; begin if CDS_3.IsEmpty then exit; if not CDS_3.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; // if CDS_3.IsEmpty then // Exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; with CDS_3 do begin DisableControls; First; while not eof do begin if fieldbyname('SSel').AsBoolean then begin with ADOQueryTemp do begin Close; sql.Clear; //删除流程卡 SQL.Add(' DELETE from PB_LCK'); sql.Add(' where LCKID=''' + Trim(CDS_3.fieldbyname('LCKID').AsString) + ''''); //删除工艺 SQL.Add(' DELETE from Dye_Plan_Glide'); sql.Add(' where PCID=''' + Trim(CDS_3.fieldbyname('LCKID').AsString) + ''''); //修改库存数据 SQL.Add(' update knit_cloth_stock set StkExists = 1'); sql.Add(' where STKID in(select PCID from PB_CK_LCK where LCKID =''' + Trim(CDS_3.fieldbyname('LCKID').AsString) + ''')'); //删除绑定数据 SQL.Add(' DELETE from PB_CK_LCK'); sql.Add(' where LCKID=''' + Trim(CDS_3.fieldbyname('LCKID').AsString) + ''''); //删除后处理入库 SQL.Add(' DELETE from BS_Cloth_IO'); sql.Add(' where IOFlag=''入库'' and StkID=''' + Trim(CDS_3.fieldbyname('LCKID').AsString) + ''''); //删除坯布出库数据 SQL.Add(' DELETE from Knit_Cloth_IO'); sql.Add(' where IONo=''' + Trim(CDS_3.fieldbyname('LCKID').AsString) + ''''); ExecSQL; end; end; next; end; EnableControls; end; InitGrid(); InitsubGrid(); end; procedure TfrmTatPlanList.ToolButton8Click(Sender: TObject); begin try frmLabelPrint2 := TfrmLabelPrint2.Create(Application); with frmLabelPrint2 do begin FLMType := 'ZZJHD'; FFiltration1 := CDS_1.FieldByName('MAINID').AsString; if ShowModal = 1 then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update Knit_Plan_Main'); sql.Add('set PRTCount=PRTCount+1'); sql.Add(' where MainId = ''' + Trim(self.CDS_1.fieldbyname('MainId').AsString) + ''''); //showmessage(sql.Text); ExecSQL; end; InitGrid(); end; end; finally frmLabelPrint2.Free; end; end; procedure TfrmTatPlanList.ToolButton9Click(Sender: TObject); var sInput: string; i, iLoopCount: Integer; begin if CDS_3.IsEmpty then begin application.MessageBox('请选中要拆分的流程卡', '提示'); Exit; end; // 步骤1:弹出输入对话框 if not InputQuery('循环操作', '请输入执行次数(1-999):', sInput) then Exit; // 用户点击取消 if not TryStrToInt(sInput, iLoopCount) or (iLoopCount < 1) then begin ShowMessage('请输入有效的正整数!'); Exit; end; try // 禁用相关控件防止重复操作 ToolButton9.Enabled := False; // Application.ProcessMessages; // 步骤3:执行循环操作 for i := 1 to iLoopCount do begin // 更新界面显示当前进度 // Application.ProcessMessages; // 保持界面响应 with ADOQueryCmd do begin close; sql.Clear; sql.Add('EXEC P_Dye_Card_CF @PCID=' + quotedstr(trim(CDS_3.fieldbyname('LCKID').AsString))); sql.Add(',@dname=' + quotedstr(trim(DNAME))); sql.Add(',@dcode=' + quotedstr(trim(DCODE))); execsql; end; end; application.MessageBox('操作成功!', '提示信息'); ToolButton9.Enabled := true; InitsubGrid(); // TBRafresh.Click; except application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmTatPlanList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin TBView.Click; end; procedure TfrmTatPlanList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin if cxTabControl1.TabIndex = 0 then begin if AViewInfo.GridRecord.Values[Tv1Column8.Index] = '是' then //设置字体颜色 ACanvas.Font.Color := $1C6BFF; if (Date - AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('OrdDate').Index]) >= 5 then begin //设置背景颜色 ACanvas.Brush.Color := clLtGray; end; end; if cxTabControl1.TabIndex = 1 then begin if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('IFJQ').Index] <= 3 then ACanvas.Brush.Color := clMenuHighlight; // if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('OrdPiece').Index] > AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('APPS').Index] then // begin // if AViewInfo.Item.Index = 2 then // begin // // 设置背景颜色 // ACanvas.Brush.Color := clYellow; // // end; // end; end; end; procedure TfrmTatPlanList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin InitsubGrid(); end; procedure TfrmTatPlanList.InitsubGrid(); var FLCKID: string; begin try ADOQuerySub.DisableControls; with ADOQuerySub do begin Filtered := False; Close; sql.Clear; sql.Add('select OutNumber=(select count(A.LCKID) OutNumber from PB_LCK A inner join PB_CK_LCK B on A.LCKID=B.LCKID where B.LCKID = X.LCKID),X.* from PB_LCK X'); sql.Add('where X.SubID =''' + Trim(self.CDS_1.fieldbyname('SubId').AsString) + ''''); // showmessage(sql.Text); Open; end; SCreateCDS(ADOQuerySub, CDS_3); SInitCDSData(ADOQuerySub, CDS_3); finally ADOQuerySub.EnableControls; end; end; procedure TfrmTatPlanList.MenuItem1Click(Sender: TObject); begin SelOKNo(cds_2, true) end; procedure TfrmTatPlanList.MenuItem2Click(Sender: TObject); begin SelOKNo(cds_2, false) end; procedure TfrmTatPlanList.TBCopyClick(Sender: TObject); begin if CDS_1.IsEmpty then Exit; try frmTatPlanInPut := TfrmTatPlanInPut.Create(Application); with frmTatPlanInPut do begin PState := 1; FCopyInt := 1; FMainId := Trim(Self.CDS_1.fieldbyname('MainId').AsString); FConNo := Trim(Self.CDS_1.fieldbyname('ConNo').AsString); if ShowModal = 1 then begin end; end; finally frmTatPlanInPut.Free; end; end; procedure TfrmTatPlanList.OrdTypeChange(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmTatPlanList.SCPrintClick(Sender: TObject); begin try frmLabelPrint2 := TfrmLabelPrint2.Create(Application); with frmLabelPrint2 do begin FLMType := 'ZZSCD'; FFiltration1 := CDS_1.FieldByName('MAINID').AsString; if ShowModal = 1 then begin end; end; finally frmLabelPrint2.Free; end; end; procedure TfrmTatPlanList.C_CodeKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then TBRafresh.Click(); if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); end; procedure TfrmTatPlanList.BatchNoHZKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then TBRafresh.Click(); if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); end; procedure TfrmTatPlanList.CustNameKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then if Key = #13 then begin InitGrid(); end; TBRafresh.Click(); if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); end; procedure TfrmTatPlanList.cxTabControl1Change(Sender: TObject); begin InitButton(); InitGrid(); end; procedure TfrmTatPlanList.C_NameKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then TBRafresh.Click(); if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); end; end.