diff --git a/A02基础产品管理/U_ClothInfoInput.dfm b/A02基础产品管理/U_ClothInfoInput.dfm index 7d03d61..0d394cf 100644 --- a/A02基础产品管理/U_ClothInfoInput.dfm +++ b/A02基础产品管理/U_ClothInfoInput.dfm @@ -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 diff --git a/A02基础产品管理/U_ClothInfoInput.pas b/A02基础产品管理/U_ClothInfoInput.pas index 1351103..47a3543 100644 --- a/A02基础产品管理/U_ClothInfoInput.pas +++ b/A02基础产品管理/U_ClothInfoInput.pas @@ -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,10 +654,9 @@ 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 + if C_fromName4.text = '' then begin Application.MessageBox('ѡβ3ӹʽ', 'ʾ', 0); Exit; @@ -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;