This commit is contained in:
DESKTOP-E401PHE\Administrator 2025-06-05 13:18:28 +08:00
parent 35d1562b43
commit c6a7b35639
2 changed files with 195 additions and 178 deletions

View File

@ -339,7 +339,7 @@ object frmClothInfoInput: TfrmClothInfoInput
object C_Name: TcxTextEdit
Tag = 2
Left = 119
Top = 56
Top = 53
TabOrder = 1
OnKeyPress = CYColorKeyPress
Width = 234
@ -382,7 +382,7 @@ object frmClothInfoInput: TfrmClothInfoInput
object C_Spec: TcxButtonEdit
Tag = 2
Left = 510
Top = 88
Top = 91
Hint = 'C_Spec/'#35268#26684
Properties.Buttons = <
item
@ -414,7 +414,7 @@ object frmClothInfoInput: TfrmClothInfoInput
end
object C_Width: TcxButtonEdit
Tag = 2
Left = 504
Left = 510
Top = 53
Hint = 'C_Width/'#38376#24133
Properties.Buttons = <
@ -431,7 +431,7 @@ object frmClothInfoInput: TfrmClothInfoInput
end
object C_Pattern: TcxButtonEdit
Tag = 2
Left = 504
Left = 510
Top = 14
Hint = 'C_Pattern/'#33457#22411
Properties.Buttons = <
@ -483,7 +483,7 @@ object frmClothInfoInput: TfrmClothInfoInput
end
object CraftCode: TcxTextEdit
Tag = 2
Left = 504
Left = 510
Top = 169
TabOrder = 11
OnKeyPress = CYColorKeyPress
@ -500,7 +500,7 @@ object frmClothInfoInput: TfrmClothInfoInput
end
object FtyName: TcxTextEdit
Tag = 2
Left = 504
Left = 510
Top = 245
TabOrder = 13
OnKeyPress = CYColorKeyPress
@ -517,7 +517,7 @@ object frmClothInfoInput: TfrmClothInfoInput
end
object DyeingMethod: TcxTextEdit
Tag = 2
Left = 504
Left = 510
Top = 207
TabOrder = 15
OnKeyPress = CYColorKeyPress
@ -543,7 +543,7 @@ object frmClothInfoInput: TfrmClothInfoInput
end
object quota: TcxCurrencyEdit
Tag = 2
Left = 504
Left = 510
Top = 131
EditValue = 10.000000000000000000
Properties.AssignedValues.DisplayFormat = True
@ -1068,107 +1068,107 @@ object frmClothInfoInput: TfrmClothInfoInput
object ADOQueryCmd: TADOQuery
Connection = DataLink_ClothInfo.ADOLink
Parameters = <>
Left = 440
Top = 277
Left = 472
Top = 293
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_ClothInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 534
Top = 277
Left = 554
Top = 293
end
object DS_1: TDataSource
DataSet = CDS_1
Left = 534
Top = 371
Left = 718
Top = 417
end
object CDS_1: TClientDataSet
Aggregates = <>
Params = <>
Left = 628
Top = 277
Left = 554
Top = 355
end
object GPM_1: TcxGridPopupMenu
Grid = cxGrid1
PopupMenus = <>
Left = 440
Top = 371
Left = 636
Top = 417
end
object CDS_2: TClientDataSet
Aggregates = <>
Params = <>
Left = 722
Top = 277
Left = 636
Top = 355
end
object DS_2: TDataSource
DataSet = CDS_2
Left = 628
Top = 371
Left = 800
Top = 417
end
object cxGridPopupMenu1: TcxGridPopupMenu
PopupMenus = <>
Left = 816
Top = 277
Left = 554
Top = 417
end
object ADO_2: TADOQuery
Connection = DataLink_ClothInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 482
Top = 473
Left = 718
Top = 293
end
object ADO_1: TADOQuery
Connection = DataLink_ClothInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 576
Top = 481
Left = 636
Top = 293
end
object ADO_3: TADOQuery
Connection = DataLink_ClothInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 658
Top = 465
Left = 800
Top = 293
end
object DS_3: TDataSource
DataSet = CDS_3
Left = 716
Top = 363
Left = 472
Top = 479
end
object CDS_3: TClientDataSet
Aggregates = <>
Params = <>
Left = 778
Top = 373
Left = 718
Top = 355
end
object DS_4: TDataSource
DataSet = CDS_4
Left = 1030
Top = 283
Left = 554
Top = 479
end
object CDS_4: TClientDataSet
Aggregates = <>
Params = <>
Left = 972
Top = 285
Left = 800
Top = 355
end
object ADO_4: TADOQuery
Connection = DataLink_ClothInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 690
Top = 473
Left = 472
Top = 355
end
object OpenDialog1: TOpenDialog
Left = 935
Top = 166
Left = 636
Top = 479
end
object CDS_LM: TClientDataSet
Aggregates = <>
Params = <>
Left = 980
Top = 389
Left = 472
Top = 417
end
end

View File

@ -174,8 +174,7 @@ type
procedure Process4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure Process5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure C_FromName4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure C_FromName5PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure C_FromName5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
private
canshu1: string;
Fint: Integer;
@ -185,6 +184,7 @@ type
function SaveData(): Boolean;
procedure setName();
procedure addColor();
function SaveColor(): Boolean;
{ Private declarations }
public
FBCIID, FCTID: string;
@ -203,6 +203,88 @@ uses
U_CompanySel, U_Edit;
{$R *.dfm}
function TfrmClothInfoInput.SaveColor(): Boolean;
var
maxId2: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
if trim(FBCIID) = '' then
raise Exception.Create('产品信息未保存!');
////////////////////////// 保存子表 //////////////////////////
with CDS_1 do
begin
First;
while not Eof do
begin
if Trim(CDS_1.fieldbyname('BCISID').AsString) = '' then
begin
if GetLSNo(ADOQueryTemp, maxId2, 'YS', 'BS_Cloth_Info_Sub', 4, 1) = False then
raise Exception.Create('取子流水号失败!');
end
else
begin
maxId2 := Trim(CDS_1.fieldbyname('BCISID').AsString);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add(' select * from BS_Cloth_Info_Sub where ');
sql.Add(' BCISID=''' + Trim(maxId2) + '''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(CDS_1.fieldbyname('BCISID').AsString) = '' then
begin
Append;
FieldByName('FillID').Value := Trim(DCode);
FieldByName('Filler').Value := Trim(DName);
FieldByName('FillTime').Value := SGetServerDateTime(ADOQueryTemp);
end
else
begin
Edit;
FieldByName('EditID').Value := Trim(DCode);
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTemp);
end;
FieldByName('BCIID').Value := Trim(FBCIID);
FieldByName('BCISID').Value := Trim(maxId2);
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_1, 'BS_Cloth_Info_Sub', 0);
Post;
end;
Next;
end;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select count(BCISID) as AA from BS_Cloth_Info_Sub where BCIID=''' + Trim(FBCIID) + '''');
sql.Add(' group by C_Color,C_ColorNo having count(BCISID)>1');
// ShowMessage(sql.Text);
Open;
end;
if StrToFloatDef(ADOQueryTemp.fieldbyname('AA').asstring, 1) > 1 then
raise Exception.Create('颜色色号重复!');
//////////////////////// 保存子表 //////////////////////////
Result := True;
except
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
InitGrid1();
application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0);
end;
end;
procedure TfrmClothInfoInput.addColor();
begin
with ADOQueryTemp do
@ -231,13 +313,37 @@ begin
end;
EnableControls;
end;
end;
procedure TfrmClothInfoInput.setName();
begin
if (Trim(C_FromName.Text) <> '') and (Trim(C_FromName2.Text) <> '') then
C_Name.Text := Trim(C_FromName.Text) + '复' + Trim(C_FromName2.Text);
if (Trim(C_FromName.Text) <> '') then
begin
C_Name.Text := Trim(C_FromName.Text) + Trim(Process.Text);
if (Trim(C_FromName2.Text) <> '') then
begin
C_Name.Text := Trim(C_Name.Text) + Trim(C_FromName2.Text) + Trim(Process2.Text);
if (Trim(C_FromName3.Text) <> '') then
begin
C_Name.Text := Trim(C_Name.Text) + Trim(C_FromName3.Text) + Trim(Process3.Text);
if (Trim(C_FromName4.Text) <> '') then
begin
C_Name.Text := Trim(C_Name.Text) + Trim(C_FromName4.Text) + Trim(Process4.Text);
if (Trim(C_FromName5.Text) <> '') then
C_Name.Text := Trim(C_Name.Text) + Trim(C_FromName5.Text) + Trim(Process5.Text);
end;
end;
end;
end
else
C_Name.Text := '';
end;
procedure TfrmClothInfoInput.StkPositionPropertiesButtonClick(Sender: TObject);
@ -301,9 +407,8 @@ begin
if ShowModal = 1 then
begin
TcxButtonEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
setName();
if (Trim(C_FromName2.Text) <> '') and (Trim(Process2.Text) <> '') then
C_Name.Text := Trim(C_Name.Text) + Trim(C_FromName2.Text) + Trim(Process2.Text);
end;
end;
@ -328,9 +433,8 @@ begin
if ShowModal = 1 then
begin
TcxButtonEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
setName();
if (Trim(C_FromName3.Text) <> '') and (Trim(Process3.Text) <> '') then
C_Name.Text := Trim(C_Name.Text) + Trim(C_FromName3.Text) + Trim(Process3.Text);
end;
end;
@ -355,9 +459,7 @@ begin
if ShowModal = 1 then
begin
TcxButtonEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
if (Trim(C_FromName4.Text) <> '') and (Trim(Process4.Text) <> '') then
C_Name.Text := Trim(C_Name.Text) + Trim(C_FromName4.Text) + Trim(Process4.Text);
setName();
end;
end;
@ -382,9 +484,7 @@ begin
if ShowModal = 1 then
begin
TcxButtonEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
if (Trim(C_FromName5.Text) <> '') and (Trim(Process5.Text) <> '') then
C_Name.Text := Trim(C_Name.Text) + Trim(C_FromName5.Text) + Trim(Process5.Text);
setName();
end;
end;
@ -409,9 +509,8 @@ begin
if ShowModal = 1 then
begin
TcxButtonEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
setName();
if (Trim(C_FromName.Text) <> '') and (Trim(Process.Text) <> '') then
C_Name.Text := Trim(C_FromName.Text) + Trim(Process.Text);
end;
end;
@ -437,6 +536,7 @@ begin
// SCSHData(ADOQueryTemp, ScrollBox1, 0);
C_FromName.Properties.LookupItems.Text := Trim(ADOQueryTemp.fieldbyname('FromBCIID').AsString); //坯布编号
C_FromName.Text := Trim(ADOQueryTemp.fieldbyname('C_FromName').AsString); //坯布名称
Process.Text := Trim(ADOQueryTemp.fieldbyname('Process').AsString); //加工方式
C_FromName2.Properties.LookupItems.Text := Trim(ADOQueryTemp.fieldbyname('C_FromName2').AsString); //坯布编号
C_FromName2.Text := Trim(ADOQueryTemp.fieldbyname('C_FromName2').AsString); //坯布名称
@ -495,9 +595,8 @@ begin
begin
C_FromName2.Properties.LookupItems.Text := Trim(CDS_1.fieldbyname('BCIID').AsString);
C_FromName2.Text := Trim(CDS_1.fieldbyname('C_Name').AsString);
if (Trim(C_FromName2.Text) <> '') and (Trim(Process2.Text) <> '') then
C_Name.Text := Trim(C_Name.Text) + Trim(C_FromName2.Text) + '复' + Trim(Process2.Text);
// setName();
setName();
end;
end;
finally
@ -521,9 +620,8 @@ begin
begin
C_FromName3.Properties.LookupItems.Text := Trim(CDS_1.fieldbyname('BCIID').AsString);
C_FromName3.Text := Trim(CDS_1.fieldbyname('C_Name').AsString);
if (Trim(C_FromName3.Text) <> '') and (Trim(Process3.Text) <> '') then
C_Name.Text := Trim(C_Name.Text) + Trim(C_FromName3.Text) + Trim(Process3.Text);
// setName();
setName();
end;
end;
finally
@ -547,9 +645,8 @@ begin
begin
C_FromName4.Properties.LookupItems.Text := Trim(CDS_1.fieldbyname('BCIID').AsString);
C_FromName4.Text := Trim(CDS_1.fieldbyname('C_Name').AsString);
if (Trim(C_FromName4.Text) <> '') and (Trim(Process4.Text) <> '') then
C_Name.Text := Trim(C_Name.Text) + Trim(C_FromName4.Text) + Trim(Process4.Text);
// setName();
setName();
end;
end;
finally
@ -557,8 +654,7 @@ begin
end;
end;
procedure TfrmClothInfoInput.C_FromName5PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure TfrmClothInfoInput.C_FromName5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
if C_fromName4.text = '' then
begin
@ -574,9 +670,8 @@ begin
begin
C_FromName5.Properties.LookupItems.Text := Trim(CDS_1.fieldbyname('BCIID').AsString);
C_FromName5.Text := Trim(CDS_1.fieldbyname('C_Name').AsString);
if (Trim(C_FromName5.Text) <> '') and (Trim(Process5.Text) <> '') then
C_Name.Text := Trim(C_Name.Text) + Trim(C_FromName5.Text) + Trim(Process5.Text);
// setName();
setName();
end;
end;
finally
@ -595,9 +690,8 @@ begin
begin
C_FromName.Properties.LookupItems.Text := Trim(CDS_1.fieldbyname('BCIID').AsString);
C_FromName.Text := Trim(CDS_1.fieldbyname('C_Name').AsString);
// setName();
if (Trim(C_FromName.Text) <> '') and (Trim(Process.Text) <> '') then
C_Name.Text := Trim(C_FromName.Text) + Trim(Process.Text);
setName();
addColor();
end;
@ -739,12 +833,8 @@ begin
if Trim(FBCIID) = '' then
begin
if GetLSNo(ADOQueryCmd, MaxBCIID, 'Y', 'BS_Cloth_Info', 4, 1) = False then
begin
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('取最大号失败!', '提示', 0);
Exit;
end;
raise Exception.Create('取最大号失败!');
BCIID.Text := trim(MaxBCIID);
end
else
@ -907,89 +997,10 @@ begin
sql.Add('select count(*) as AA from BS_Cloth_Info where C_Code=''' + Trim(C_Code.Text) + '''');
Open;
if FieldByName('AA').AsInteger > 1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Result := False;
Application.MessageBox('编号重复!', '提示', 0);
Exit;
end;
raise Exception.Create('编号重复!');
end;
////////////////////////// 保存子表 //////////////////////////
// with CDS_1 do
// begin
// First;
// while not Eof do
// begin
// if Trim(CDS_1.fieldbyname('BCISID').AsString) = '' then
// begin
// if GetLSNo(ADOQueryTemp, maxId2, 'YS', 'BS_Cloth_Info_Sub', 4, 1) = False then
// begin
// ADOQueryCmd.Connection.RollbackTrans;
// Application.MessageBox('取子流水号失败!', '提示', 0);
// Exit;
// end;
// end
// else
// begin
// maxId2 := Trim(CDS_1.fieldbyname('BCISID').AsString);
// end;
//
// with ADOQueryCmd do
// begin
// Close;
// SQL.Clear;
// sql.Add(' select * from BS_Cloth_Info_Sub where ');
// sql.Add(' BCISID=''' + Trim(maxId2) + '''');
// Open;
// end;
// with ADOQueryCmd do
// begin
// if Trim(CDS_1.fieldbyname('BCISID').AsString) = '' then
// begin
// Append;
// FieldByName('FillID').Value := Trim(DCode);
// FieldByName('Filler').Value := Trim(DName);
// FieldByName('FillTime').Value := SGetServerDateTime(ADOQueryTemp);
// end
// else
// begin
// Edit;
// FieldByName('EditID').Value := Trim(DCode);
// FieldByName('Editer').Value := Trim(DName);
// FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTemp);
// end;
// FieldByName('BCIID').Value := Trim(MaxBCIID);
// FieldByName('BCISID').Value := Trim(maxId2);
// RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_1, 'BS_Cloth_Info_Sub', 0);
// Post;
// end;
// Next;
// end;
// end;
// with ADOQueryTemp do
// begin
// Close;
// sql.Clear;
// sql.Add('select count(BCISID) as AA from BS_Cloth_Info_Sub where BCIID=''' + Trim(MaxBCIID) + '''');
// sql.Add(' group by C_Color,C_ColorNo having count(BCISID)>1');
//// ShowMessage(sql.Text);
// Open;
//
// end;
// if StrToFloatDef(ADOQueryTemp.fieldbyname('AA').asstring, 1) > 1 then
// begin
// ADOQueryCmd.Connection.RollbackTrans;
// Result := False;
// Application.MessageBox('颜色色号重复!', '提示', 0);
// Exit;
// end;
////////////////////////// 保存子表 //////////////////////////
///
///
///
////////////////////////// 保存子表 //////////////////////////
with CDS_2 do
begin
First;
@ -998,11 +1009,8 @@ begin
if Trim(CDS_2.fieldbyname('BCIGID').AsString) = '' then
begin
if GetLSNo(ADOQueryTemp, MAXID3, 'GS', 'BS_Cloth_Info_GYSCP', 4, 1) = False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('取子流水号失败!', '提示', 0);
Exit;
end;
raise Exception.Create('取最大号失败!');
end
else
begin
@ -1049,11 +1057,8 @@ begin
if Trim(CDS_3.fieldbyname('CICID').AsString) = '' then
begin
if GetLSNo(ADOQueryTemp, MAXID4, 'CIC', 'Bs_Cloth_Info_Coefficient', 4, 1) = False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('取子流水号失败!', '提示', 0);
Exit;
end;
raise Exception.Create('取最大号失败!');
end
else
begin
@ -1104,12 +1109,12 @@ begin
// end;
FBCIID := MaxBCIID;
InitGrid1();
Result := True;
except
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
InitGrid1();
application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0);
end;
end;
@ -1313,6 +1318,7 @@ begin
Exit;
end;
setName();
end
else
begin
@ -1334,12 +1340,23 @@ begin
// Application.MessageBox('请输入色号!', '提示', 0);
// Exit;
// end;
setName();
if SaveData() then
begin
if FCTID = 'CT2412300005' then
begin
if CDS_1.Locate('BCISID', null, []) then
SaveColor();
end;
Application.MessageBox('保存成功!', '提示', 0);
if not CDS_1.IsEmpty then
ModalResult := 1;
InitGrid1();
end;
end;