This commit is contained in:
DESKTOP-E401PHE\Administrator 2025-08-08 17:35:13 +08:00
parent 736bc77a38
commit c6d350af2b
5 changed files with 219 additions and 101 deletions

View File

@ -1,6 +1,6 @@
object frmYMTRKInPut: TfrmYMTRKInPut object frmYMTRKInPut: TfrmYMTRKInPut
Left = 389 Left = 397
Top = 283 Top = 607
Width = 1829 Width = 1829
Height = 623 Height = 623
Align = alClient Align = alClient
@ -528,67 +528,6 @@ object frmYMTRKInPut: TfrmYMTRKInPut
Align = alRight Align = alRight
Caption = 'Panel2' Caption = 'Panel2'
TabOrder = 3 TabOrder = 3
object cxGrid1: TcxGrid
Left = 1
Top = 33
Width = 187
Height = 525
Align = alClient
TabOrder = 0
object TvMX: TcxGridDBTableView
OnKeyDown = TvMXKeyDown
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False
Navigator.Buttons.Delete.Visible = False
DataController.DataSource = DS_MX
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
DataController.Summary.DefaultGroupSummaryItems = <
item
Kind = skCount
Position = spFooter
end
item
Kind = skSum
Position = spFooter
Column = cxGridDBColumn8
end
item
Kind = skCount
end
item
Kind = skSum
Column = cxGridDBColumn8
end>
DataController.Summary.FooterSummaryItems = <
item
Kind = skCount
end
item
Kind = skSum
Column = cxGridDBColumn8
end>
DataController.Summary.SummaryGroups = <>
OptionsCustomize.ColumnFiltering = False
OptionsView.Footer = True
OptionsView.GroupByBox = False
OptionsView.Indicator = True
OptionsView.IndicatorWidth = 33
OnCustomDrawIndicatorCell = TvMXCustomDrawIndicatorCell
object cxGridDBColumn8: TcxGridDBColumn
Caption = #25968#37327
DataBinding.FieldName = 'MXQty'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taCenter
Properties.OnEditValueChanged = cxGridDBColumn8PropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 66
end
end
object cxGridLevel2: TcxGridLevel
GridView = TvMX
end
end
object ToolBar2: TToolBar object ToolBar2: TToolBar
Left = 1 Left = 1
Top = 1 Top = 1
@ -609,7 +548,7 @@ object frmYMTRKInPut: TfrmYMTRKInPut
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
ShowCaptions = True ShowCaptions = True
TabOrder = 1 TabOrder = 0
object ToolButton3: TToolButton object ToolButton3: TToolButton
Left = 0 Left = 0
Top = 0 Top = 0
@ -627,6 +566,72 @@ object frmYMTRKInPut: TfrmYMTRKInPut
OnClick = ToolButton4Click OnClick = ToolButton4Click
end end
end end
object cxGrid1: TcxGrid
Left = -9
Top = 33
Width = 197
Height = 525
Align = alRight
TabOrder = 1
object TvMX: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False
Navigator.Buttons.Delete.Visible = False
DataController.DataSource = DS_MX
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
DataController.Summary.DefaultGroupSummaryItems = <
item
Kind = skCount
Position = spFooter
end
item
Kind = skSum
Position = spFooter
Column = TvMXMXQty
end
item
Kind = skCount
end
item
Kind = skSum
Column = TvMXMXQty
end>
DataController.Summary.FooterSummaryItems = <
item
Kind = skCount
end
item
Kind = skSum
Column = TvMXMXQty
end>
DataController.Summary.SummaryGroups = <>
OptionsBehavior.GoToNextCellOnEnter = True
OptionsCustomize.ColumnFiltering = False
OptionsView.Footer = True
OptionsView.GroupByBox = False
OptionsView.Indicator = True
OptionsView.IndicatorWidth = 33
OnCustomDrawIndicatorCell = TvMXCustomDrawIndicatorCell
object TvMXMXID: TcxGridDBColumn
Caption = #32534#21495
DataBinding.FieldName = 'MXID'
HeaderAlignmentHorz = taCenter
Width = 80
end
object TvMXMXQty: TcxGridDBColumn
Caption = #25968#37327
DataBinding.FieldName = 'MXQty'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Options.Editing = False
Options.Sorting = False
Width = 80
end
end
object cxGridLevel2: TcxGridLevel
GridView = TvMX
end
end
end end
object DataSource3: TDataSource object DataSource3: TDataSource
DataSet = CDS_Sub DataSet = CDS_Sub

View File

@ -80,15 +80,16 @@ type
CheckBox9: TCheckBox; CheckBox9: TCheckBox;
Button2: TButton; Button2: TButton;
Panel2: TPanel; Panel2: TPanel;
cxGrid1: TcxGrid;
TvMX: TcxGridDBTableView;
cxGridDBColumn8: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
ToolBar2: TToolBar; ToolBar2: TToolBar;
ToolButton3: TToolButton; ToolButton3: TToolButton;
ToolButton4: TToolButton; ToolButton4: TToolButton;
CDS_MX: TClientDataSet; CDS_MX: TClientDataSet;
DS_MX: TDataSource; DS_MX: TDataSource;
cxGrid1: TcxGrid;
TvMX: TcxGridDBTableView;
TvMXMXID: TcxGridDBColumn;
TvMXMXQty: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBAddClick(Sender: TObject); procedure TBAddClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject); procedure TBCloseClick(Sender: TObject);
@ -115,7 +116,9 @@ type
private private
{ Private declarations } { Private declarations }
function SaveCKData(): Boolean; function SaveCKData(): Boolean;
procedure InitMXGrid(MCRNO: string); procedure InitMXGrid(SPID: string);
procedure TfrmYMTRKInPut.InitGrid();
procedure TfrmYMTRKInPut.AddRows(MaxNo: string; SPID: string; PiQty: Integer);
public public
{ Public declarations } { Public declarations }
FBCId: string; FBCId: string;
@ -130,13 +133,59 @@ uses
U_DataLink, U_RTFun, U_ZDYHelp, U_ZdyAttachGYS; U_DataLink, U_RTFun, U_ZDYHelp, U_ZdyAttachGYS;
{$R *.dfm} {$R *.dfm}
procedure TfrmYMTRKInPut.InitMXGrid(MCRNO: string); procedure TfrmYMTRKInPut.InitMXGrid(SPID: string);
begin begin
with ADOQueryTemp do with ADOQueryTemp do
begin begin
Close; Close;
sql.Clear; sql.Clear;
sql.Add('select * from YMT_CK_MX where CRNO=' + quotedstr(Trim(MCRNO))); sql.Add('select * from YMT_CK_MX where SPID=' + quotedstr(Trim(SPID)));
sql.Add(' order by MXID');
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_MX);
SInitCDSData20(ADOQueryTemp, CDS_MX);
end;
procedure TfrmYMTRKInPut.AddRows(MaxNo: string; SPID: string; PiQty: Integer);
var
i: Integer;
MMXID: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
for i := 1 to PiQty do
begin
MMXID := Trim(MaxNo) + '-' + Format('%.3d', [i]);
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('insert into YMT_CK_MX (MXID,SPID,MXQty)');
sql.Add('values(' + quotedstr(MMXID));
sql.Add(',' + quotedstr(Trim(SPID)));
sql.Add(',0');
sql.Add(')');
ExecSQL;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
// Result := True;
InitMXGrid(SPID);
except
// Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('Ìí¼Óʧ°Ü!', 'Ìáʾ', 0);
end;
end;
procedure TfrmYMTRKInPut.InitGrid();
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from YMT_CK_MX where SPID=' + quotedstr(Trim(MCRNO)));
sql.Add(' order by MXID'); sql.Add(' order by MXID');
Open; Open;
end; end;
@ -718,34 +767,37 @@ end;
procedure TfrmYMTRKInPut.ToolButton3Click(Sender: TObject); procedure TfrmYMTRKInPut.ToolButton3Click(Sender: TObject);
var var
i: Integer; i, PiQty: Integer;
MaxNo, MMXID, MCRNO: string; MaxNo, MMXID, SPID: string;
begin begin
MCRNO := Trim(CDS_Sub.fieldbyname('SPID').AsString); SPID := Trim(CDS_Sub.fieldbyname('SPID').AsString);
PiQty := Trim(CDS_Sub.fieldbyname('PiQty').AsString);
if GetLSNo(ADOQueryTemp, MaxNo, 'MCM', 'YMT_CK_MX', 3, 1) = False then if GetLSNo(ADOQueryTemp, MaxNo, 'MCM', 'YMT_CK_MX', 3, 1) = False then
begin begin
Application.MessageBox('取最大号失败!', '提示', 0); Application.MessageBox('取最大号失败!', '提示', 0);
Exit; Exit;
end; end;
AddRows(MaxNo, SPID, PiQty);
try try
ADOQueryCmd.Connection.BeginTrans; ADOQueryCmd.Connection.BeginTrans;
for i := 1 to 10 do for i := 1 to PiQty do
begin begin
MMXID := Trim(MaxNo) + Trim(inttostr(i)); MMXID := Trim(MaxNo) + '-' + Format('%.3d', [i]);
with ADOQueryCmd do with ADOQueryCmd do
begin begin
Close; Close;
SQL.Clear; SQL.Clear;
sql.Add('insert into YMT_CK_MX (MXID,CRNO,MXQty)'); sql.Add('insert into YMT_CK_MX (MXID,SPID,MXQty)');
sql.Add('values(' + quotedstr(MMXID)); sql.Add('values(' + quotedstr(MMXID));
sql.Add(',' + quotedstr(Trim(MCRNO))); sql.Add(',' + quotedstr(Trim(SPID)));
sql.Add(',0'); sql.Add(',0');
sql.Add(')'); sql.Add(')');
ExecSQL; ExecSQL;
end; end;
end; end;
ADOQueryCmd.Connection.CommitTrans; ADOQueryCmd.Connection.CommitTrans;
InitMXGrid(MCRNO); InitMXGrid(SPID);
except except
ADOQueryCmd.Connection.RollbackTrans; ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('添加失败!', '提示', 0); Application.MessageBox('添加失败!', '提示', 0);

View File

@ -1,6 +1,6 @@
object frmYMTRKList: TfrmYMTRKList object frmYMTRKList: TfrmYMTRKList
Left = 530 Left = 794
Top = 497 Top = 440
Width = 1370 Width = 1370
Height = 750 Height = 750
Caption = #38754#26009#22238#20179#30331#35760 Caption = #38754#26009#22238#20179#30331#35760
@ -745,19 +745,21 @@ object frmYMTRKList: TfrmYMTRKList
List = True List = True
ShowCaptions = True ShowCaptions = True
TabOrder = 1 TabOrder = 1
object ToolButton3: TToolButton object TbAddRow: TToolButton
Left = 0 Left = 0
Top = 2 Top = 2
AutoSize = True AutoSize = True
Caption = #22686#21333#34892 Caption = #22686#21333#34892
ImageIndex = 12 ImageIndex = 12
OnClick = TbAddRowClick
end end
object ToolButton4: TToolButton object TbDeleteRow: TToolButton
Left = 75 Left = 75
Top = 2 Top = 2
AutoSize = True AutoSize = True
Caption = #21024#34892 Caption = #21024#34892
ImageIndex = 13 ImageIndex = 13
OnClick = TbDeleteRowClick
end end
end end
object Panel3: TPanel object Panel3: TPanel
@ -768,27 +770,28 @@ object frmYMTRKList: TfrmYMTRKList
Align = alTop Align = alTop
TabOrder = 2 TabOrder = 2
object Label17: TLabel object Label17: TLabel
Left = 1 Left = 6
Top = 12 Top = 12
Width = 36 Width = 36
Height = 12 Height = 12
Caption = #22686#34892#25968 Caption = #22686#34892#25968
Layout = tlCenter
end end
object Edit1: TEdit object AddNum: TEdit
Left = 40 Left = 47
Top = 9 Top = 10
Width = 41 Width = 41
Height = 20 Height = 20
TabOrder = 0 TabOrder = 0
Text = 'Edit1'
end end
object Button1: TButton object Button1: TButton
Left = 96 Left = 98
Top = 7 Top = 4
Width = 75 Width = 75
Height = 25 Height = 30
Caption = #24555#36895#22686#34892 Caption = #24555#36895#22686#34892
TabOrder = 1 TabOrder = 1
OnClick = Button1Click
end end
end end
end end

View File

@ -121,10 +121,10 @@ type
TvMXMXID: TcxGridDBColumn; TvMXMXID: TcxGridDBColumn;
Panel2: TPanel; Panel2: TPanel;
ToolBar2: TToolBar; ToolBar2: TToolBar;
ToolButton3: TToolButton; TbAddRow: TToolButton;
ToolButton4: TToolButton; TbDeleteRow: TToolButton;
Panel3: TPanel; Panel3: TPanel;
Edit1: TEdit; AddNum: TEdit;
Label17: TLabel; Label17: TLabel;
Button1: TButton; Button1: TButton;
procedure FormDestroy(Sender: TObject); procedure FormDestroy(Sender: TObject);
@ -148,11 +148,14 @@ type
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure ToolButton1Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject);
procedure TbAddRowClick(Sender: TObject);
procedure TbDeleteRowClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private private
canshu1, canshu2: string; canshu1, canshu2: string;
procedure InitGrid(); procedure InitGrid();
procedure InitImage(fsubID: string); procedure InitImage(fsubID: string);
procedure InitMXGrid(MCRNO: string); procedure InitMXGrid(SPID: string);
{ Private declarations } { Private declarations }
public public
{ Public declarations } { Public declarations }
@ -173,7 +176,7 @@ begin
begin begin
Close; Close;
sql.Clear; sql.Clear;
sql.Add('select * from YMT_CK_MX where SPID=' + quotedstr(Trim(SPID))); sql.Add('select * from YMT_CK_MX where 1 = 1 and SPID=' + quotedstr(Trim(SPID)));
sql.Add(' order by MXID'); sql.Add(' order by MXID');
Open; Open;
end; end;
@ -235,6 +238,8 @@ begin
end; end;
SCreateCDS20(ADOQueryMain, CDS_Main); SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main);
InitMXGrid(Trim(CDS_Main.fieldbyname('SPID').AsString));
finally finally
ADOQueryMain.EnableControls; ADOQueryMain.EnableControls;
end; end;
@ -275,9 +280,9 @@ begin
TBDel.Visible := True; TBDel.Visible := True;
TBEdit.Visible := True; TBEdit.Visible := True;
end; end;
// ReadCxGrid('´ý¼ì²¼Èë¿âÁбí', Tv1, '´ý¼ì²¼²Ö¿â'); ReadCxGrid('待检布入库列表', Tv1, '待检布仓库');
// ReadCxGrid('´ý¼ì²¼Èë¿âÁбí2', TvMX, '´ý¼ì²¼²Ö¿â'); ReadCxGrid('待检布入库列表2', TvMX, '待检布仓库');
//InitGrid(); InitGrid();
end; end;
procedure TfrmYMTRKList.TBExportClick(Sender: TObject); procedure TfrmYMTRKList.TBExportClick(Sender: TObject);
@ -461,5 +466,58 @@ begin
end; end;
procedure TfrmYMTRKList.TbAddRowClick(Sender: TObject);
begin
with CDS_MX do
begin
Append;
FieldByName('MXID').Value := '';
FieldByName('MXQty').Value := 0;
Post;
end;
end;
procedure TfrmYMTRKList.TbDeleteRowClick(Sender: TObject);
var
Bookmark: TBookmark;
begin
if CDS_MX.IsEmpty then
begin
Application.MessageBox('当前没有可删除的记录!', '提示', MB_ICONWARNING);
Exit;
end;
if Application.MessageBox('确定要删除当前行吗?', '确认删除', MB_ICONQUESTION + MB_YESNO) <> IDYES then
Exit;
// 记录当前行,删除后尝试回到附近位置
Bookmark := CDS_MX.GetBookmark;
try
CDS_MX.Delete;
finally
if CDS_MX.BookmarkValid(Bookmark) then
CDS_MX.GotoBookmark(Bookmark);
CDS_MX.FreeBookmark(Bookmark);
end;
end;
procedure TfrmYMTRKList.Button1Click(Sender: TObject);
var
Num, i: Integer;
begin
Num := StrToInt(Trim(AddNum.Text));
for i := 1 to Num do
begin
with CDS_MX do
begin
Append;
FieldByName('MXID').Value := '';
FieldByName('MXQty').Value := 0;
Post;
end;
end;
end;
end. end.

View File

@ -101,7 +101,7 @@ DebugSourceDirs=
UsePackages=0 UsePackages=0
[Parameters] [Parameters]
RunParams= RunParams=
HostApplication=D:\selfware_83398\selfware\马国钢开发代码\项目代码\self\坯布码单待检DDMD.dll)\testDll.exe HostApplication=D:\Project\D7myYunxiang\云翔一码通\testDll.exe
Launcher= Launcher=
UseLauncher=0 UseLauncher=0
DebugCWD= DebugCWD=