This commit is contained in:
DESKTOP-E401PHE\Administrator 2026-10-19 15:35:48 +08:00
parent c12786ec4b
commit 05ac57ece7
10 changed files with 912 additions and 438 deletions

View File

@ -29,6 +29,7 @@ inherited frmClothInfo: TfrmClothInfo
ParentColor = False
ShowCaptions = True
TabOrder = 0
ExplicitTop = 5
object TBRafresh: TToolButton
Left = 0
Top = 0
@ -141,10 +142,17 @@ inherited frmClothInfo: TfrmClothInfo
ImageIndex = 16
OnClick = ToolButton2Click
end
object TBClose: TToolButton
object TbLog: TToolButton
Left = 1114
Top = 0
AutoSize = True
Caption = #26085#24535
ImageIndex = 8
end
object TBClose: TToolButton
Left = 1185
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 7
OnClick = TBCloseClick
@ -360,6 +368,8 @@ inherited frmClothInfo: TfrmClothInfo
Align = alClient
PopupMenu = PM_1
TabOrder = 0
ExplicitLeft = 6
ExplicitTop = 59
object Tv1: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False
@ -556,6 +566,8 @@ inherited frmClothInfo: TfrmClothInfo
Align = alClient
AutoSize = True
TabOrder = 0
ExplicitLeft = -4
ExplicitTop = 4
DesignSize = (
1224
40)

View File

@ -150,6 +150,7 @@ type
Tv1F_GramWeight: TcxGridDBColumn;
Tv1DTMID: TcxGridDBColumn;
Tv1DTMPSlist: TcxGridDBColumn;
TbLog: TToolButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);

View File

@ -984,6 +984,7 @@ begin
if CopyInt = 2 then //复制
begin
FBCIID := '';
CINote.text := '';
C_Code.text := '自动生成';
with CDS_GY do
begin
@ -1160,9 +1161,9 @@ begin
// FieldByName('DTMID').Value := CDS_GY.FieldByName('DTMID').Value;
Post;
end;
//////////////// ±£´وض÷±ي //////////////////////
///////////////////// ±£´æÖ÷±í //////////////////////
///
/// //////////////// ±£´و×س±ي //////////////////////
///////////////////// ±£´æ×Ó±í //////////////////////
with CDS_GY do
begin
First;

View File

@ -116,6 +116,7 @@ inherited frmDyeGreyClothInList: TfrmDyeGreyClothInList
Color = clWhite
ParentBackground = False
TabOrder = 1
ExplicitTop = 32
object Label1: TLabel
Left = 28
Top = 12
@ -229,6 +230,7 @@ inherited frmDyeGreyClothInList: TfrmDyeGreyClothInList
Align = alClient
PopupMenu = PopupMenu1
TabOrder = 2
ExplicitTop = 97
object Tv1: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
ScrollbarAnnotations.CustomAnnotations = <>

View File

@ -389,6 +389,7 @@ inherited frmDyePlanCardList: TfrmDyePlanCardList
Align = alClient
PopupMenu = PM_1
TabOrder = 2
ExplicitLeft = 8
ExplicitTop = 111
object Tv1: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
@ -759,6 +760,13 @@ inherited frmDyePlanCardList: TfrmDyePlanCardList
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1GYNote: TcxGridDBColumn
Caption = #24037#33402#22791#27880
DataBinding.FieldName = 'GYNote'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 108
end
object Tv1CINote: TcxGridDBColumn
Caption = #20135#21697#20449#24687#22791#27880
DataBinding.FieldName = 'CINote'

View File

@ -136,6 +136,7 @@ type
Tv1GYDTMName: TcxGridDBColumn;
Tv1GYEditer: TcxGridDBColumn;
Tv1GYEdittime: TcxGridDBColumn;
Tv1GYNote: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
@ -350,7 +351,7 @@ begin
sql.Add(',GlideList=[dbo].[F_Dye_Card_GlideList](A.PCID) ');
sql.Add(',KaZuQty=(SELECT SUM(PCQty) from Dye_Plan_Card X where X.KaZu = A.KaZu)');
sql.Add(',KaZuPiece=(SELECT SUM(PCPiece) from Dye_Plan_Card X where X.KaZu = A.KaZu)');
SQL.Add(',D.DTMNo as GYDTMNo,D.DTMName as GYDTMName,D.Editer as GYEditer,D.Edittime as GYEdittime ');
SQL.Add(',D.DTMNo as GYDTMNo,D.DTMName as GYDTMName,D.Editer as GYEditer,D.Edittime as GYEdittime,D.GYNote ');
sql.Add('from Dye_Plan_Card A ');
sql.Add('left join Dye_Plan_sub B on B.subID=A.subID ');
sql.Add('left join Dye_Plan_Main C on C.mainID=A.mainID ');

View File

@ -256,8 +256,8 @@ inherited frmDyeSimpleTechnicsList: TfrmDyeSimpleTechnicsList
Align = alLeft
PopupMenu = pm1
TabOrder = 0
ExplicitLeft = -5
ExplicitTop = 0
ExplicitLeft = 57
ExplicitTop = 6
object Tv2: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False

View File

@ -83,6 +83,7 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
AutoSize = True
Caption = #26356#26032#26102#38388
ImageIndex = 1
Visible = False
OnClick = TbUpdateTimeClick
end
object ToolButton1: TToolButton
@ -121,7 +122,6 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 1
ExplicitLeft = -1
object Label3: TLabel
Left = 260
Top = 10
@ -165,7 +165,7 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
Caption = #32467#26463#26102#38388
end
object Label4: TLabel
Left = 262
Left = 605
Top = 36
Width = 24
Height = 13
@ -205,183 +205,206 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
Caption = #25104#21697#21517#31216
end
object Label9: TLabel
Left = 444
Left = 260
Top = 37
Width = 36
Height = 13
Caption = #35746#21333#21495
end
object SBCCQX1: TSpeedButton
Tag = 1
Left = 122
Top = 69
Tag = 3
Left = 123
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 3
Caption = #28165#27927'1'
OnClick = SBCCQX1Click
end
object SBDX3: TSpeedButton
Tag = 5
Left = 721
Top = 69
Tag = 14
Left = 720
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 14
Caption = #23450#22411'3'
OnClick = SBCCQX1Click
end
object SBDX2: TSpeedButton
Tag = 4
Left = 667
Top = 69
Tag = 13
Left = 666
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 13
Caption = #23450#22411'2'
OnClick = SBCCQX1Click
end
object SBDX1: TSpeedButton
Tag = 3
Left = 613
Top = 69
Tag = 12
Left = 611
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 12
Caption = #23450#22411'1'
OnClick = SBCCQX1Click
end
object SBJG1: TSpeedButton
Tag = 8
Left = 506
Top = 69
Tag = 10
Left = 503
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 10
Caption = #26426#32568'1'
OnClick = SBCCQX1Click
end
object SBDX6: TSpeedButton
Tag = 8
Tag = 17
Left = 883
Top = 69
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 17
Caption = #23450#22411'6'
OnClick = SBCCQX1Click
end
object SBDX5: TSpeedButton
Tag = 7
Tag = 16
Left = 829
Top = 69
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 16
Caption = #23450#22411'5'
OnClick = SBCCQX1Click
end
object SBDX4: TSpeedButton
Tag = 6
Left = 775
Top = 69
Tag = 15
Left = 774
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 15
Caption = #23450#22411'4'
OnClick = SBCCQX1Click
end
object SBJRG1: TSpeedButton
Tag = 10
Left = 344
Top = 69
Tag = 7
Left = 340
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 7
Caption = #21367#26579#32568'1'
OnClick = SBCCQX1Click
end
object SBJRG3: TSpeedButton
Tag = 12
Left = 452
Top = 69
Tag = 9
Left = 448
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 9
Caption = #21367#26579#32568'3'
OnClick = SBCCQX1Click
end
object SBZM1: TSpeedButton
Tag = 13
Tag = 1
Left = 14
Top = 69
Top = 68
Width = 50
Height = 20
AllowAllUp = True
GroupIndex = 1
Down = True
Caption = #36711#27611'1'
OnClick = SBCCQX1Click
end
object SBJRG2: TSpeedButton
Tag = 11
Left = 398
Top = 69
Tag = 8
Left = 394
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 8
Caption = #21367#26579#32568'2'
OnClick = SBCCQX1Click
end
object SBZM2: TSpeedButton
Tag = 14
Tag = 2
Left = 68
Top = 69
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 2
Caption = #36711#27611'2'
OnClick = SBCCQX1Click
end
object SBCCQX2: TSpeedButton
Tag = 2
Left = 176
Top = 69
Tag = 4
Left = 177
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 4
Caption = #28165#27927'2'
OnClick = SBCCQX1Click
end
object SBPD1: TSpeedButton
Tag = 15
Left = 559
Top = 69
Tag = 11
Left = 557
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 11
Caption = #25293#25171'1'
OnClick = SBCCQX1Click
end
object SBTK1: TSpeedButton
Tag = 16
Left = 234
Top = 69
Tag = 5
Left = 231
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 5
Caption = #25512#26694'1'
OnClick = SBCCQX1Click
end
object SBTK2: TSpeedButton
Tag = 17
Left = 288
Top = 69
Tag = 6
Left = 286
Top = 68
Width = 50
Height = 20
GroupIndex = 1
AllowAllUp = True
GroupIndex = 6
Caption = #25512#26694'2'
OnClick = SBCCQX1Click
end
object Label10: TLabel
Left = 757
Top = 35
Width = 24
Height = 13
Caption = #35774#22791
end
object pcid: TEdit
Tag = 2
Left = 314
@ -454,7 +477,7 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
TabOrder = 7
end
object MCNO: TcxButtonEdit
Left = 314
Left = 637
Top = 33
Properties.Buttons = <
item
@ -467,7 +490,7 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
Width = 120
end
object MCName: TEdit
Left = 672
Left = 636
Top = 6
Width = 121
Height = 21
@ -494,8 +517,8 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
OnClick = cbALL_temperature6Click
end
object cxComboBox1: TcxComboBox
Left = 672
Top = 33
Left = 1318
Top = 6
Properties.Items.Strings = (
#20840#37096
#26410#25490#20135
@ -529,7 +552,7 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
end
object OrderNo: TEdit
Tag = 2
Left = 498
Left = 314
Top = 33
Width = 120
Height = 21
@ -643,6 +666,28 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
TabOrder = 24
OnClick = cbALL_temperature6Click
end
object MCNO2: TcxButtonEdit
Left = 789
Top = 32
Properties.Buttons = <
item
Default = True
Kind = bkEllipsis
end>
Properties.OnButtonClick = MCNOPropertiesButtonClick
TabOrder = 25
Text = #36711#27611#21333#25490#38024'1'
Width = 120
end
object MCName2: TEdit
Left = 788
Top = 5
Width = 121
Height = 21
TabOrder = 26
Text = 'ZM1'
Visible = False
end
end
object MovePanel2: TMovePanel [2]
Left = 351
@ -668,143 +713,19 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
Height = 447
Align = alClient
TabOrder = 3
object cxGrid1: TcxGrid
Left = 1
Top = 1
Width = 736
Height = 445
Align = alLeft
PopupMenu = PM_1
TabOrder = 0
object Tv1: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
ScrollbarAnnotations.CustomAnnotations = <>
OnCustomDrawCell = Tv1CustomDrawCell
DataController.DataSource = DS_1
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
OptionsData.Editing = False
OptionsView.GroupByBox = False
Styles.Selection = DataLink_DyeProcess.SHuangSe
object Tv1PCID: TcxGridDBColumn
Caption = #21345#32452#21495
DataBinding.FieldName = 'PCID'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1OrderNo: TcxGridDBColumn
Caption = #29983#20135#24037#21333#21495
DataBinding.FieldName = 'OrderNo'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1C_Name: TcxGridDBColumn
Caption = #25104#21697#21517#31216
DataBinding.FieldName = 'C_Name'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1GlideNo: TcxGridDBColumn
Caption = #24037#24207#32534#21495
DataBinding.FieldName = 'GlideNo'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 80
end
object Tv1PSName: TcxGridDBColumn
Caption = #24037#24207#21517#31216
DataBinding.FieldName = 'GlideName'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1CALL_temperature6: TcxGridDBColumn
Caption = '6#'#28201#24230
DataBinding.FieldName = 'ALL_temperature6'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1All_zhuji: TcxGridDBColumn
Caption = #21161#21058#31181#31867
DataBinding.FieldName = 'All_zhuji'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 100
end
object Tv1All_rate: TcxGridDBColumn
Caption = #21161#21058#27604#20363
DataBinding.FieldName = 'All_rate'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 80
end
object Tv1PCQty: TcxGridDBColumn
Caption = #31859#25968
DataBinding.FieldName = 'PCQty'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1time: TcxGridDBColumn
Caption = #24635#29992#26102
DataBinding.FieldName = 'time'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1BegTime: TcxGridDBColumn
Caption = #36215#22987#26102#38388
DataBinding.FieldName = 'BegTime'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxDateEditProperties'
Properties.Kind = ckDateTime
Properties.OnValidate = Tv1BegTimePropertiesValidate
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1EndTime: TcxGridDBColumn
Caption = #32467#26463#26102#38388
DataBinding.FieldName = 'EndTime'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxDateEditProperties'
Properties.Kind = ckDateTime
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1GlideID: TcxGridDBColumn
DataBinding.FieldName = 'GlideID'
DataBinding.IsNullValueType = True
Visible = False
HeaderAlignmentHorz = taCenter
Width = 80
end
object Tv1IsConflict: TcxGridDBColumn
Caption = #26159#21542#20914#31361
DataBinding.FieldName = 'IsConflict'
DataBinding.IsNullValueType = True
Visible = False
HeaderAlignmentHorz = taCenter
Width = 80
end
end
object cxGrid1Level1: TcxGridLevel
GridView = Tv1
end
end
object cxGrid2: TcxGrid
Left = 824
Left = 804
Top = 1
Width = 614
Width = 634
Height = 445
Align = alClient
DragMode = dmAutomatic
PopupMenu = PM_2
TabOrder = 1
TabOrder = 0
ExplicitLeft = 810
object Tv2: TcxGridDBTableView
DragMode = dmAutomatic
OnStartDrag = Tv2StartDrag
Navigator.Buttons.CustomButtons = <>
ScrollbarAnnotations.CustomAnnotations = <>
OnCellClick = Tv2CellClick
@ -813,6 +734,7 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
OptionsSelection.MultiSelect = True
OptionsView.GroupByBox = False
Styles.Selection = DataLink_DyeProcess.SHuangSe
object cxGridDBColumn1: TcxGridDBColumn
@ -945,12 +867,14 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
end
end
object Panel3: TPanel
Left = 737
Left = 717
Top = 1
Width = 87
Height = 445
Align = alLeft
TabOrder = 2
TabOrder = 1
ExplicitLeft = 722
ExplicitTop = -5
object cxButton1: TcxButton
Left = 6
Top = 5
@ -988,6 +912,274 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
OnClick = TbMoveDownClick
end
end
object Panel8: TPanel
Left = 1
Top = 1
Width = 716
Height = 445
Align = alLeft
TabOrder = 2
object cxGrid3: TcxGrid
Left = 1
Top = 273
Width = 714
Height = 171
Align = alClient
PopupMenu = PM_1
TabOrder = 1
object Tv3: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
ScrollbarAnnotations.CustomAnnotations = <>
OnCustomDrawCell = Tv1CustomDrawCell
DataController.DataSource = DS_3
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
OptionsData.Editing = False
OptionsView.GroupByBox = False
Styles.Selection = DataLink_DyeProcess.SHuangSe
object cxGridDBColumn8: TcxGridDBColumn
Caption = #21345#32452#21495
DataBinding.FieldName = 'PCID'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object cxGridDBColumn9: TcxGridDBColumn
Caption = #29983#20135#24037#21333#21495
DataBinding.FieldName = 'OrderNo'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object cxGridDBColumn10: TcxGridDBColumn
Caption = #25104#21697#21517#31216
DataBinding.FieldName = 'C_Name'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object cxGridDBColumn11: TcxGridDBColumn
Caption = #24037#24207#32534#21495
DataBinding.FieldName = 'GlideNo'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 80
end
object cxGridDBColumn12: TcxGridDBColumn
Caption = #24037#24207#21517#31216
DataBinding.FieldName = 'GlideName'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object cxGridDBColumn13: TcxGridDBColumn
Caption = '6#'#28201#24230
DataBinding.FieldName = 'ALL_temperature6'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object cxGridDBColumn14: TcxGridDBColumn
Caption = #21161#21058#31181#31867
DataBinding.FieldName = 'All_zhuji'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 100
end
object cxGridDBColumn15: TcxGridDBColumn
Caption = #21161#21058#27604#20363
DataBinding.FieldName = 'All_rate'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 80
end
object cxGridDBColumn16: TcxGridDBColumn
Caption = #31859#25968
DataBinding.FieldName = 'PCQty'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object cxGridDBColumn17: TcxGridDBColumn
Caption = #24635#29992#26102
DataBinding.FieldName = 'time'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object cxGridDBColumn18: TcxGridDBColumn
Caption = #36215#22987#26102#38388
DataBinding.FieldName = 'BegTime'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxDateEditProperties'
Properties.Kind = ckDateTime
Properties.OnValidate = Tv1BegTimePropertiesValidate
HeaderAlignmentHorz = taCenter
Width = 90
end
object cxGridDBColumn19: TcxGridDBColumn
Caption = #32467#26463#26102#38388
DataBinding.FieldName = 'EndTime'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxDateEditProperties'
Properties.Kind = ckDateTime
HeaderAlignmentHorz = taCenter
Width = 90
end
object cxGridDBColumn20: TcxGridDBColumn
DataBinding.FieldName = 'GlideID'
DataBinding.IsNullValueType = True
Visible = False
HeaderAlignmentHorz = taCenter
Width = 80
end
object cxGridDBColumn21: TcxGridDBColumn
Caption = #26159#21542#20914#31361
DataBinding.FieldName = 'IsConflict'
DataBinding.IsNullValueType = True
Visible = False
HeaderAlignmentHorz = taCenter
Width = 80
end
end
object cxGridLevel2: TcxGridLevel
GridView = Tv3
end
end
object cxGrid1: TcxGrid
Left = 1
Top = 1
Width = 714
Height = 272
Align = alTop
PopupMenu = PM_1
TabOrder = 0
ExplicitLeft = -4
ExplicitTop = 5
object Tv1: TcxGridDBTableView
OnDragDrop = Tv1DragDrop
OnDragOver = Tv1DragOver
Navigator.Buttons.CustomButtons = <>
ScrollbarAnnotations.CustomAnnotations = <>
OnCustomDrawCell = Tv1CustomDrawCell
DataController.DataSource = DS_1
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
OptionsData.Editing = False
OptionsView.GroupByBox = False
Styles.Selection = DataLink_DyeProcess.SHuangSe
object Tv1PCID: TcxGridDBColumn
Caption = #21345#32452#21495
DataBinding.FieldName = 'PCID'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1OrderNo: TcxGridDBColumn
Caption = #29983#20135#24037#21333#21495
DataBinding.FieldName = 'OrderNo'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1C_Name: TcxGridDBColumn
Caption = #25104#21697#21517#31216
DataBinding.FieldName = 'C_Name'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1GlideNo: TcxGridDBColumn
Caption = #24037#24207#32534#21495
DataBinding.FieldName = 'GlideNo'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 80
end
object Tv1PSName: TcxGridDBColumn
Caption = #24037#24207#21517#31216
DataBinding.FieldName = 'GlideName'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1CALL_temperature6: TcxGridDBColumn
Caption = '6#'#28201#24230
DataBinding.FieldName = 'ALL_temperature6'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1All_zhuji: TcxGridDBColumn
Caption = #21161#21058#31181#31867
DataBinding.FieldName = 'All_zhuji'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 100
end
object Tv1All_rate: TcxGridDBColumn
Caption = #21161#21058#27604#20363
DataBinding.FieldName = 'All_rate'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 80
end
object Tv1PCQty: TcxGridDBColumn
Caption = #31859#25968
DataBinding.FieldName = 'PCQty'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1time: TcxGridDBColumn
Caption = #24635#29992#26102
DataBinding.FieldName = 'time'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1BegTime: TcxGridDBColumn
Caption = #36215#22987#26102#38388
DataBinding.FieldName = 'BegTime'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxDateEditProperties'
Properties.Kind = ckDateTime
Properties.OnValidate = Tv1BegTimePropertiesValidate
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1EndTime: TcxGridDBColumn
Caption = #32467#26463#26102#38388
DataBinding.FieldName = 'EndTime'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxDateEditProperties'
Properties.Kind = ckDateTime
HeaderAlignmentHorz = taCenter
Width = 90
end
object Tv1GlideID: TcxGridDBColumn
DataBinding.FieldName = 'GlideID'
DataBinding.IsNullValueType = True
Visible = False
HeaderAlignmentHorz = taCenter
Width = 80
end
object Tv1IsConflict: TcxGridDBColumn
Caption = #26159#21542#20914#31361
DataBinding.FieldName = 'IsConflict'
DataBinding.IsNullValueType = True
Visible = False
HeaderAlignmentHorz = taCenter
Width = 80
end
end
object cxGrid1Level1: TcxGridLevel
GridView = Tv1
end
end
end
end
inherited ADOQueryBaseCmd: TADOQuery
Connection = DataLink_DyeProcess.ADOLink
@ -1016,8 +1208,8 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
Connection = DataLink_DyeProcess.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 468
Top = 264
Left = 484
Top = 176
end
object DS_1: TDataSource
DataSet = CDS_1
@ -1025,7 +1217,6 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
Top = 184
end
object GPM1: TcxGridPopupMenu
Grid = cxGrid1
PopupMenus = <>
Left = 360
Top = 144
@ -1068,7 +1259,7 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
object DS_2: TDataSource
DataSet = CDS_2
Left = 632
Top = 224
Top = 168
end
object CDS_2: TClientDataSet
Aggregates = <>
@ -1091,11 +1282,22 @@ inherited frmDyePCDetailsList: TfrmDyePCDetailsList
end
end
object PM_2: TPopupMenu
Left = 560
Left = 552
Top = 401
object N2: TMenuItem
Caption = #22797#21046
OnClick = N2Click
end
end
object CDS_3: TClientDataSet
Aggregates = <>
Params = <>
Left = 137
Top = 482
end
object DS_3: TDataSource
DataSet = CDS_3
Left = 233
Top = 498
end
end

View File

@ -13,7 +13,8 @@ uses
RM_Class, RM_GridReport, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu,
U_BaseList, dxScrollbarAnnotations, cxContainer, cxTextEdit, cxMaskEdit,
Vcl.Menus, cxButtons, Vcl.Buttons, cxCheckBox;
Vcl.Menus, cxButtons, Vcl.Buttons, cxCheckBox, System.Generics.Collections,
cxGridDBDataDefinitions;
type
TfrmDyePCDetailsList = class(TfrmBaseList)
@ -51,18 +52,6 @@ type
cxStyle1: TcxStyle;
TbUpdateTime: TToolButton;
Panel2: TPanel;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
Tv1PCID: TcxGridDBColumn;
Tv1OrderNo: TcxGridDBColumn;
Tv1C_Name: TcxGridDBColumn;
Tv1PSName: TcxGridDBColumn;
Tv1CALL_temperature6: TcxGridDBColumn;
Tv1PCQty: TcxGridDBColumn;
Tv1time: TcxGridDBColumn;
Tv1BegTime: TcxGridDBColumn;
Tv1EndTime: TcxGridDBColumn;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
@ -81,10 +70,7 @@ type
MCNO: TcxButtonEdit;
MCName: TEdit;
Label4: TLabel;
Tv1GlideID: TcxGridDBColumn;
Tv2GlideID: TcxGridDBColumn;
Tv1IsConflict: TcxGridDBColumn;
Tv1GlideNo: TcxGridDBColumn;
Tv2GlideNo: TcxGridDBColumn;
Panel3: TPanel;
cxButton1: TcxButton;
@ -97,8 +83,6 @@ type
Label5: TLabel;
Label6: TLabel;
cbTime: TCheckBox;
Tv1All_zhuji: TcxGridDBColumn;
Tv1All_rate: TcxGridDBColumn;
Tv2CAll_zhuji: TcxGridDBColumn;
Tv2All_rate: TcxGridDBColumn;
TbEdit: TToolButton;
@ -140,6 +124,46 @@ type
SBTK1: TSpeedButton;
SBTK2: TSpeedButton;
Tv2fillTime: TcxGridDBColumn;
Panel8: TPanel;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
Tv1PCID: TcxGridDBColumn;
Tv1OrderNo: TcxGridDBColumn;
Tv1C_Name: TcxGridDBColumn;
Tv1GlideNo: TcxGridDBColumn;
Tv1PSName: TcxGridDBColumn;
Tv1CALL_temperature6: TcxGridDBColumn;
Tv1All_zhuji: TcxGridDBColumn;
Tv1All_rate: TcxGridDBColumn;
Tv1PCQty: TcxGridDBColumn;
Tv1time: TcxGridDBColumn;
Tv1BegTime: TcxGridDBColumn;
Tv1EndTime: TcxGridDBColumn;
Tv1GlideID: TcxGridDBColumn;
Tv1IsConflict: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
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;
cxGridLevel2: TcxGridLevel;
Label10: TLabel;
MCNO2: TcxButtonEdit;
MCName2: TEdit;
CDS_3: TClientDataSet;
DS_3: TDataSource;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
@ -152,12 +176,10 @@ type
procedure PRTColorChange(Sender: TObject);
procedure TBdelClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure TbUpdateTimeClick(Sender: TObject);
procedure MCNOPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure cxButton1Click(Sender: TObject);
procedure Tv2CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure cxButton2Click(Sender: TObject);
@ -174,27 +196,34 @@ type
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure Tv2StartDrag(Sender: TObject; var DragObject: TDragObject);
procedure Tv1DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure Tv1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
private
FLeft, FTop: Integer;
FDownBtns: array[0..1] of TSpeedButton; // 最多存 2 个
FCount: Integer;
FDragSourceView: TcxGridDBTableView; // 当前按下数量
v: integer;
procedure InitGrid1();
procedure InitGrid2();
function SaveData(): boolean;
function GetLastLine(const AText: string): string;
function SaveMove(const Flag: string): Boolean;
function GetNextTenMinutes(ACurrentTime: TDateTime): TDateTime;
function BuildOrderBySQL: string;
procedure CheckFocusLocation;
procedure AppIdleSetFocus(Sender: TObject; var Done: Boolean);
procedure AutoCloseMessage(const Msg: string; CloseTime: Integer = 2000);
procedure TimerCloseForm(Sender: TObject);
procedure InitGrid3();
procedure MCTag(btn: array of TSpeedButton);
{ Private declarations }
public
fsyrName, canshu1: string;
fsql2: string;
{ Public declarations }
end;
@ -315,94 +344,94 @@ begin
mMCName := MCName.Text;
mStartTime := CDS_1.FieldByName('BegTime').AsString;
// mNewValue := '计划单:' + CDS_1.FieldByName('OrderNo').AsString + #13;
mNewValue := mNewValue + CDS_1.FieldByName('C_Name').AsString + #13;
mNewValue := mNewValue + '成品门幅:' + CDS_1.FieldByName('C_Width').AsString + #13;
mNewValue := mNewValue + '工序 刮胶次数:' + CDS_1.FieldByName('GlideName').AsString;
// mNewValue := mNewValue + CDS_1.FieldByName('C_Name').AsString + #13;
// mNewValue := mNewValue + '成品门幅:' + CDS_1.FieldByName('C_Width').AsString + #13;
// mNewValue := mNewValue + '工序 刮胶次数:' + CDS_1.FieldByName('GlideName').AsString;
//
// if CDS_1.FieldByName('PSType').AsString = '长车清洗' then
// begin
// mNewValue := mNewValue + '' + #13;
// mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
// mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
//
// end
// else if CDS_1.FieldByName('PSType').AsString = '干定型' then
// begin
// mNewValue := mNewValue + '' + #13;
// mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
// mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
// end
// else if CDS_1.FieldByName('PSType').AsString = '下水定型' then
// begin
// mNewValue := mNewValue + '' + #13;
// mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
// mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
//
// end
// else if CDS_1.FieldByName('PSType').AsString = '刮胶' then
// begin
// mNewValue := mNewValue + '' + CDS_1.FieldByName('gj_number').AsString + #13;
// mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
// mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
//
// end
// else if CDS_1.FieldByName('PSType').AsString = '发泡' then
// begin
// mNewValue := mNewValue + ' ' + CDS_1.FieldByName('fp_gjNumber').AsString + #13;
// mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
// mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
// end
// else if CDS_1.FieldByName('PSType').AsString = '轧毛' then
// begin
// mNewValue := mNewValue + '' + #13;
// mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
// mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
// end
// else if CDS_1.FieldByName('PSType').AsString = '机缸清洗' then
// begin
// mNewValue := mNewValue + '' + #13;
// mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
// mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
// end
// else if CDS_1.FieldByName('PSType').AsString = '卷染缸清洗' then
// begin
// mNewValue := mNewValue + '' + #13;
// mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
// mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
// end
// else
// begin
// mNewValue := mNewValue + '' + #13;
// end;
// //////////////////////显示助剂
// mNewValue := mNewValue + '助剂:' + CDS_1.FieldByName('All_zhuji').AsString + ' ' + CDS_1.FieldByName('All_rate').AsString + #13;
//
// mNewValue := mNewValue + CDS_1.FieldByName('PCID').AsString + #13;
// mNewValue := mNewValue + CDS_1.FieldByName('GlideID').AsString;
if CDS_1.FieldByName('PSType').AsString = '长车清洗' then
begin
mNewValue := mNewValue + '' + #13;
mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
// with ADOQueryCmd do
// begin
// Close;
// SQL.Clear;
// SQL.Add('EXEC P_PC_UpdatePCAboutTime ' + '@MCName = :MCName, ' + '@NewValue = :NewValue, ' + '@StartTime = :StartTime, ' + '@LoopNum = :LoopNum');
//
// Parameters.ParamByName('MCName').Value := mMCName;
// Parameters.ParamByName('NewValue').Value := mNewValue;
// Parameters.ParamByName('StartTime').Value := mStartTime;
// Parameters.ParamByName('LoopNum').Value := mLoopNum;
//
// ExecSQL;
// end;
end
else if CDS_1.FieldByName('PSType').AsString = '干定型' then
begin
mNewValue := mNewValue + '' + #13;
mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
end
else if CDS_1.FieldByName('PSType').AsString = '下水定型' then
begin
mNewValue := mNewValue + '' + #13;
mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
end
else if CDS_1.FieldByName('PSType').AsString = '刮胶' then
begin
mNewValue := mNewValue + '' + CDS_1.FieldByName('gj_number').AsString + #13;
mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
end
else if CDS_1.FieldByName('PSType').AsString = '发泡' then
begin
mNewValue := mNewValue + ' ' + CDS_1.FieldByName('fp_gjNumber').AsString + #13;
mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
end
else if CDS_1.FieldByName('PSType').AsString = '轧毛' then
begin
mNewValue := mNewValue + '' + #13;
mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
end
else if CDS_1.FieldByName('PSType').AsString = '机缸清洗' then
begin
mNewValue := mNewValue + '' + #13;
mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
end
else if CDS_1.FieldByName('PSType').AsString = '卷染缸清洗' then
begin
mNewValue := mNewValue + '' + #13;
mNewValue := mNewValue + '车速:' + CDS_1.FieldByName('All_Speed').AsString + #13;
mNewValue := mNewValue + '温度6#:' + CDS_1.FieldByName('ALL_temperature6').AsString + #13;
end
else
begin
mNewValue := mNewValue + '' + #13;
end;
//////////////////////显示助剂
mNewValue := mNewValue + '助剂:' + CDS_1.FieldByName('All_zhuji').AsString + ' ' + CDS_1.FieldByName('All_rate').AsString + #13;
mNewValue := mNewValue + CDS_1.FieldByName('PCID').AsString + #13;
mNewValue := mNewValue + CDS_1.FieldByName('GlideID').AsString;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('EXEC P_PC_UpdatePCAboutTime ' + '@MCName = :MCName, ' + '@NewValue = :NewValue, ' + '@StartTime = :StartTime, ' + '@LoopNum = :LoopNum');
Parameters.ParamByName('MCName').Value := mMCName;
Parameters.ParamByName('NewValue').Value := mNewValue;
Parameters.ParamByName('StartTime').Value := mStartTime;
Parameters.ParamByName('LoopNum').Value := mLoopNum;
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('select * from PCAboutTime ');
SQL.Add(' where time >= ' + quotedStr(Trim(mStartTime)));
Open;
end;
// with ADOQueryCmd do
// begin
// Close;
// SQL.Clear;
// SQL.Add('select * from PCAboutTime ');
// SQL.Add(' where time >= ' + quotedStr(Trim(mStartTime)));
//
// Open;
// end;
ADOQueryCmd.First;
mNewValue := ADOQueryCmd.FieldByName(mMCName).AsString;
mBegTime := ADOQueryCmd.FieldByName('time').AsString;
@ -642,113 +671,102 @@ begin
end;
procedure TfrmDyePCDetailsList.SBCCQX1Click(Sender: TObject);
var
Btn: TSpeedButton;
i: Integer;
begin
if Sender is TSpeedButton then
Btn := Sender as TSpeedButton;
if Btn.Down then
begin
case (Sender as TSpeedButton).Tag of // 用Tag区分不同按钮
1:
begin
MCNO.Text := '长车清洗机1';
MCName.Text := 'CCQX1';
InitGrid1();
end;
2:
begin
MCNO.Text := '长车清洗机2';
MCName.Text := 'CCQX2';
InitGrid1();
end;
3:
begin
MCNO.Text := '定型机1';
MCName.Text := 'DX1';
InitGrid1();
end;
4:
begin
MCNO.Text := '定型机2';
MCName.Text := 'DX2';
InitGrid1();
end;
5:
begin
MCNO.Text := '定型机3';
MCName.Text := 'DX3';
InitGrid1();
end;
6:
begin
MCNO.Text := '定型机4';
MCName.Text := 'DX4';
InitGrid1();
end;
7:
begin
MCNO.Text := '定型机5';
MCName.Text := 'DX5';
InitGrid1();
end;
8:
begin
MCNO.Text := '定型机6';
MCName.Text := 'DX6';
InitGrid1();
end;
9:
begin
MCNO.Text := '机缸1';
MCName.Text := 'JG1';
InitGrid1();
end;
10:
begin
MCNO.Text := '卷染缸1';
MCName.Text := 'JRG1';
InitGrid1();
end;
11:
begin
MCNO.Text := '卷染缸2';
MCName.Text := 'JRG2';
InitGrid1();
end;
12:
begin
MCNO.Text := '卷染缸3';
MCName.Text := 'JRG3';
InitGrid1();
end;
13:
begin
MCNO.Text := '轧毛单排针1';
MCName.Text := 'ZM1';
InitGrid1();
end;
14:
begin
MCNO.Text := '轧毛双排针2';
MCName.Text := 'ZM2';
InitGrid1();
end;
15:
begin
MCNO.Text := '拍打机1';
MCName.Text := 'PD1';
InitGrid1();
end;
16:
begin
MCNO.Text := '推框机1';
MCName.Text := 'TK1';
InitGrid1();
end;
17:
begin
MCNO.Text := '推框机2';
MCName.Text := 'TK2';
InitGrid1();
end;
if FCount < 2 then
begin
// 还没满 2 个,记录
FDownBtns[FCount] := Btn;
Inc(FCount);
end
else
begin
// 已满,顶掉最早的(FDownBtns[0])
FDownBtns[0].Down := False;
FDownBtns[0] := FDownBtns[1];
FDownBtns[1] := Btn;
end;
end
else
begin
// 弹起,从数组里移除
for i := 0 to FCount - 1 do
if FDownBtns[i] = Btn then
begin
// 后面的往前挪
FDownBtns[i] := FDownBtns[FCount - 1];
Dec(FCount);
Break;
end;
end;
MCTag(FDownBtns);
end;
procedure TfrmDyePCDetailsList.MCTag(btn: array of TSpeedButton);
const
MCInfo: array[1..17] of array[0..1] of string = (('轧毛单排针1', 'ZM1'), ('轧毛双排针2', 'ZM2'), ('长车清洗机1', 'CCQX1'), ('长车清洗机2', 'CCQX2'), ('推框机1', 'TK1'), ('推框机2', 'TK2'), ('卷染缸1', 'JRG1'), ('卷染缸2', 'JRG2'), ('卷染缸3', 'JRG3'), ('机缸1', 'JG1'), ('拍打机1', 'PD1'), ('定型机1', 'DX1'), ('定型机2', 'DX2'), ('定型机3', 'DX3'), ('定型机4', 'DX4'), ('定型机5', 'DX5'), ('定型机6', 'DX6'));
var
tag1, tag2: Integer;
begin
// 长度检查(放在最前,防止越界)
if FCount = 2 then
begin
cxGrid1.Visible := True;
cxGrid3.Visible := True;
// 先确定谁填主、谁填副:Tag 小的作主
if btn[0].Tag <= btn[1].Tag then
begin
tag1 := btn[0].Tag; // 主
tag2 := btn[1].Tag; // 副
end
else
begin
tag1 := btn[1].Tag;
tag2 := btn[0].Tag;
end;
// 填主设备 MCNO / MCName
if (tag1 >= 1) and (tag1 <= 17) then
begin
MCNO.Text := MCInfo[tag1][0];
MCName.Text := MCInfo[tag1][1];
InitGrid1();
end;
// 填副设备 MCNO2 / MCName2
if (tag2 >= 1) and (tag2 <= 17) then
begin
MCNO2.Text := MCInfo[tag2][0];
MCName2.Text := MCInfo[tag2][1];
InitGrid3();
end;
end
else if FCount = 1 then
begin
cxGrid1.Visible := True;
tag1 := btn[0].Tag;
if (tag1 >= 1) and (tag1 <= 17) then
begin
MCNO.Text := MCInfo[tag1][0];
MCName.Text := MCInfo[tag1][1];
InitGrid1();
end;
cxGrid3.visible := false;
end
else
begin
cxGrid1.visible := false;
cxGrid3.visible := false;
end;
end;
@ -803,7 +821,7 @@ begin
try
ADOQueryCmd.Connection.BeginTrans;
// 查询此机器最大结束时间
with ADOQueryMain do
begin
close;
@ -973,8 +991,8 @@ begin
Close;
sql.Clear;
SQL.Add(' select A.* from V_Dye_Cloth_PaiGang A ');
SQL.Add(' where A.PCID = ' + QuotedStr(Trim(CDS_2.FieldByName('PCID').AsString)) );
sql.Add(' and A.GlideNo = ' + CDS_2.FieldByName('GlideNo').AsString );
SQL.Add(' where A.PCID = ' + QuotedStr(Trim(CDS_2.FieldByName('PCID').AsString)));
sql.Add(' and A.GlideNo = ' + CDS_2.FieldByName('GlideNo').AsString);
sql.Add(' and (A.KaZuState = 10 ');
sql.Add(' or (SELECT COUNT(*) FROM Dye_Plan_Glide_OutPut X WHERE X.PCID = A.PCID AND X.GlideNo = A.GlideNo)>1) ');
// ShowMessage(sql.Text);
@ -982,7 +1000,7 @@ begin
end;
if not ADOQueryCmd.IsEmpty then
begin
Application.MessageBox('已完成或已下机工序不能取消!','提示信息',MB_OK);
Application.MessageBox('已完成或已下机工序不能取消!', '提示信息', MB_OK);
Exit;
end;
@ -1071,7 +1089,6 @@ begin
end;
//////////////排产顺序时间////////
// 两个操作都成功,提交事务
ADOQueryCmd.Connection.CommitTrans;
@ -1163,6 +1180,42 @@ begin
end;
procedure TfrmDyePCDetailsList.InitGrid3();
var
mBegDate, mendDate: string;
mAction: string;
rs: _Recordset;
r: integer;
begin
// 任务时间
try
tv3.BeginUpdate;
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
close;
filtered := false;
sql.Clear;
SQL.Add('select * from V_Dye_Cloth_PaiGang where (BegTime between :StartTime and :EndTime) and PC_FLAG = 1 and MCName = :MCName order By BegTime ');
Parameters.ParamByName('StartTime').Value := Trunc(BegDate.Date) + Frac(BegTime.Time);
Parameters.ParamByName('EndTime').Value := Trunc(EndDate.Date) + Frac(EndTime.Time);
Parameters.ParamByName('MCName').Value := MCName2.Text;
// ShowMessage(sql.Text);
Open;
end;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_3);
SInitCDSData(ADOQueryMain, CDS_3);
finally
ADOQueryMain.EnableControls;
tv3.EndUpdate;
// tv1.ApplyBestFit();
end;
end;
procedure TfrmDyePCDetailsList.InitGrid2();
var
mBegDate, mendDate: string;
@ -1436,7 +1489,7 @@ procedure TfrmDyePCDetailsList.TBRafreshClick(Sender: TObject);
begin
MovePanel2.Visible := True;
MovePanel2.Refresh;
InitGrid1();
// InitGrid1();
InitGrid2();
MovePanel2.Visible := False;
end;
@ -1551,6 +1604,198 @@ begin
// ADone := True;
end;
procedure TfrmDyePCDetailsList.Tv1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
MaxEndTime: TDateTime;
mGlideID1, mGlideID2: string;
mConflict1, mConflict2: Integer;
begin
mConflict1 := 0;
mConflict2 := 0;
if CDS_2.FieldByName('PC_FLAG').AsString = '1' then
begin
Application.MessageBox('工序已排产!', '提示信息', MB_OK);
exit;
end
else if CDS_2.FieldByName('BG').asString = '1' then
begin
Application.MessageBox('工序已报工!', '提示信息', MB_OK);
exit;
end;
if (CDS_2.FieldByName('time').AsString = '0') or (CDS_2.FieldByName('time').IsNull) then
begin
Application.MessageBox('总用时错误!', '提示信息', MB_OK);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
// 查询此机器最大结束时间
with ADOQueryMain do
begin
close;
filtered := false;
sql.Clear;
SQL.Add('select Max(EndTime) as MaxTime from V_Dye_Cloth_PaiGang where (BegTime between :StartTime and :EndTime) and PC_FLAG = 1 and MCNO = :MCNO ');
Parameters.ParamByName('StartTime').Value := Trunc(BegDate.Date) + Frac(BegTime.Time);
Parameters.ParamByName('EndTime').Value := Trunc(EndDate.Date) + Frac(EndTime.Time);
Parameters.ParamByName('MCNO').Value := MCNO.Text;
Open;
end;
if (ADOQueryMain.RecordCount > 0) and (not ADOQueryMain.FieldByName('MaxTime').IsNull) then
MaxEndTime := ADOQueryMain.FieldByName('MaxTime').AsDateTime
else
MaxEndTime := GetNextTenMinutes(Now); // 使用下一个整十分数
with CDS_1 do
begin
append;
FieldByName('PCID').value := CDS_2.FieldByName('PCID').AsString;
FieldByName('OrderNo').value := CDS_2.FieldByName('OrderNo').AsString;
FieldByName('GlideName').value := CDS_2.FieldByName('GlideName').AsString;
FieldByName('C_name').value := CDS_2.FieldByName('C_name').AsString;
FieldByName('ALL_temperature6').value := CDS_2.FieldByName('ALL_temperature6').AsString;
FieldByName('time').value := CDS_2.FieldByName('time').AsString;
FieldByName('GlideID').value := CDS_2.FieldByName('GlideID').AsString;
FieldByName('PSType').value := CDS_2.FieldByName('PSType').AsString;
FieldByName('C_Width').value := CDS_2.FieldByName('C_Width').AsString;
FieldByName('All_Speed').value := CDS_2.FieldByName('All_Speed').AsString;
FieldByName('GlideNo').value := CDS_2.FieldByName('GlideNo').AsString;
FieldByName('All_zhuji').value := CDS_2.FieldByName('All_zhuji').AsString;
FieldByName('All_rate').value := CDS_2.FieldByName('All_rate').AsString;
FieldByName('gj_number').AsString := CDS_2.FieldByName('gj_number').AsString;
FieldByName('fp_gjNumber').AsString := CDS_2.FieldByName('fp_gjNumber').AsString;
FieldByName('PCQty').AsString := CDS_2.FieldByName('PCQty').AsString;
FieldByName('begTime').value := MaxEndTime;
Post;
end;
//////////////排产顺序时间////////
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add(' select * from Dye_Plan_Glide where PCID = ' + QuotedStr(Trim(CDS_2.FieldByName('PCID').AsString)));
SQL.Add(' and PC_FLAG = 1 and endTime > ' + quotedStr(FormatDateTime('yyyy-mm-dd hh:nn:ss', MaxEndTime)));
SQL.Add(' and GlideNo < ' + QuotedStr(Trim(CDS_2.FieldByName('GlideNo').AsString)));
// ShowMessage(sql.Text);
open;
if not IsEmpty then
begin
if Application.MessageBox('工序时间段冲突!是否继续?', '提示信息', MB_OKCANCEL + MB_ICONQUESTION) = IDOK then
begin
mConflict1 := 1;
end
else
begin
ADOQueryCmd.Connection.RollbackTrans;
InitGrid1();
Exit;
end;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add(' select * from Dye_Plan_Glide where PCID = ' + QuotedStr(Trim(CDS_2.FieldByName('PCID').AsString)));
SQL.Add(' and PC_FLAG = 1 and BegTime < DATEADD(MINUTE, ' + CDS_2.FieldByName('time').AsString + ', ' + QuotedStr(FormatDateTime('yyyy-mm-dd hh:nn:ss', MaxEndTime)) + ')');
SQL.Add(' and GlideNo > ' + QuotedStr(Trim(CDS_2.FieldByName('GlideNo').AsString)));
// ShowMessage(sql.Text);
open;
if not IsEmpty then
begin
if Application.MessageBox('工序时间段冲突!是否继续?', '提示信息', MB_OKCANCEL + MB_ICONQUESTION) = IDOK then
begin
mConflict2 := 1;
end
else
begin
// 用户点击"取消",退出
ADOQueryCmd.Connection.RollbackTrans;
InitGrid1();
Exit;
end;
end;
end;
/////////////////////////////////////////////
ADOQueryCmd.Connection.CommitTrans;
except
if ADOQueryCmd.Connection.InTransaction then
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0);
// showMessage('插入任务数据时发生错误!');
end;
if SaveData() then
begin
if mConflict1 = 1 then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('UPDATE Dye_Plan_Glide SET IsConflict = 1');
SQL.Add('WHERE PCID = ' + QuotedStr(Trim(CDS_2.FieldByName('PCID').AsString)));
SQL.Add('AND PC_FLAG = 1 AND endTime > ' + QuotedStr(FormatDateTime('yyyy-mm-dd hh:nn:ss', MaxEndTime)));
SQL.Add('AND GlideNo <= ' + QuotedStr(Trim(CDS_2.FieldByName('GlideNo').AsString)));
ExecSQL;
end;
end;
if mConflict2 = 1 then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('UPDATE Dye_Plan_Glide SET IsConflict = 1');
SQL.Add('WHERE PCID = ' + QuotedStr(Trim(CDS_2.FieldByName('PCID').AsString)));
SQL.Add('AND PC_FLAG = 1 AND BegTime < DATEADD(MINUTE, ' + CDS_2.FieldByName('time').AsString + ', ' + QuotedStr(FormatDateTime('yyyy-mm-dd hh:nn:ss', MaxEndTime)) + ')');
SQL.Add('AND GlideNo >= ' + QuotedStr(Trim(CDS_2.FieldByName('GlideNo').AsString)));
ExecSQL;
end;
end;
Application.MessageBox('排产成功', '提示信息!', MB_OK);
end;
if not CDS_1.IsEmpty then
mGlideID1 := Trim(CDS_1.FieldByName('GlideID').AsString)
else
mGlideID1 := '';
if not CDS_2.IsEmpty then
mGlideID2 := Trim(CDS_2.FieldByName('GlideID').AsString)
else
mGlideID2 := '';
initGrid1();
initGrid2();
// 最后尝试定位回原记录
if mGlideID1 <> '' then
CDS_1.Locate('GlideID', mGlideID1, []);
// 最后尝试定位回原记录
if mGlideID2 <> '' then
CDS_2.Locate('GlideID', mGlideID2, []);
end;
procedure TfrmDyePCDetailsList.Tv1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
begin
if Source.ClassType = TcxDragControlObject then
Accept := true
else
Accept := false;
end;
procedure TfrmDyePCDetailsList.Tv2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
// ShowMessage(CDS_2.FieldByName('isComplete').asString);
@ -1570,7 +1815,6 @@ begin
// ADone := False; // 让控件继续使用默认的选中样式
// Exit;
// end;
// 设置不同状态的颜色和字体
if (BG = 1) then // 报工未点完成
begin
@ -1614,6 +1858,11 @@ begin
// ADone := True;
end;
procedure TfrmDyePCDetailsList.Tv2StartDrag(Sender: TObject; var DragObject: TDragObject);
begin
v := 5;
end;
procedure TfrmDyePCDetailsList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
@ -1679,7 +1928,6 @@ begin
Timer := TTimer.Create(Form);
Timer.Interval := CloseTime;
Timer.OnTimer := TimerCloseForm; // 使用独立的方法
// 需要存储 Form 引用以便在事件中访问
Tag := Integer(Form); // 使用 Tag 存储引用
@ -1715,7 +1963,6 @@ begin
// 可选:输出调试信息
AutoCloseMessage('操作成功!', 1000); // 1秒后自动关闭
// ShowMessage('焦点已设置到窗体: ' + Self.Name);
end;