RtTool/Delphi7/开发档案/马国钢开发代码/ThreeFun/helpForm/U_SFProduceCaseInputNew.pas
2025-01-08 11:55:07 +08:00

885 lines
26 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_SFProduceCaseInputNew;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, DBClient, ADODB, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, StdCtrls, ComCtrls, ToolWin,
ExtCtrls, cxDropDownEdit, cxButtonEdit, cxTimeEdit, cxCalendar,
cxGridCustomPopupMenu, cxGridPopupMenu, BtnEdit;
type
TfrmSFProduceCaseInputNew = class(TForm)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
Label8: TLabel;
TBAdd: TToolButton;
TBDel: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
DataSource1: TDataSource;
CDS_Sub: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ADOQueryTemp10: TADOQuery;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1P_SeqNo: TcxGridDBColumn;
v1ProduceBegTime: TcxGridDBColumn;
v1ProduceEndTime: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DeviceNo: TBtnEditA;
GroupNo: TBtnEditA;
P_BCode: TBtnEditA;
P_JCode: TBtnEditA;
PlanNO: TEdit;
P_Color: TComboBox;
Model: TEdit;
Label9: TLabel;
Label7: TLabel;
P_JColor: TComboBox;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Tv2Column1: TcxGridDBColumn;
CDS_JB: TClientDataSet;
DataSource2: TDataSource;
ADOQueryJB: TADOQuery;
Panel2: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
cxGridPopupMenu2: TcxGridPopupMenu;
procedure TBAddClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure v1DeviceNoPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1GroupNoPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1SupplierNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1P_BaseChnNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1LbStr6PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure DeviceNoBtnClick(Sender: TObject);
procedure GroupNoBtnClick(Sender: TObject);
procedure P_BCodeBtnClick(Sender: TObject);
procedure P_JCodeBtnClick(Sender: TObject);
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView;
APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
private
procedure InitGrid();
function SaveData():Boolean;
function SaveDataSF():Boolean;
procedure InitJBGrid();
{ Private declarations }
public
PState:Integer;
FPlanNo,FP_SeqNo,FADID,FADType:String;
{ Public declarations }
end;
var
frmSFProduceCaseInputNew: TfrmSFProduceCaseInputNew;
implementation
uses
U_adodbmd,U_SelfForm,U_global,U_FormPas
,U_CxGridSet,U_ItemManageNew,U_SupplyHelp,U_PbProductHelp10;
{$R *.dfm}
procedure TfrmSFProduceCaseInputNew.TBAddClick(Sender: TObject);
begin
with CDS_Sub do
begin
Append;
CDS_Sub.FieldByName('SFlag').Value:='2';
Post;
end;
end;
procedure TfrmSFProduceCaseInputNew.TBDelClick(Sender: TObject);
begin
if CDS_Sub.IsEmpty then Exit;
if Trim(CDS_Sub.FieldByName('SFlag').AsString)='2' then
CDS_Sub.Delete
else begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD>ڴ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmSFProduceCaseInputNew.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
SQL.Add('exec P_Qry_SFCase :begdate,:enddate,:Pstate,:ADID');
Parameters.ParamByName('Pstate').Value:=2;
Parameters.ParamByName('ADID').Value:=Trim(FADID);
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Sub);
SInitCDSData20(ADOQueryMain,CDS_Sub);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmSFProduceCaseInputNew.FormShow(Sender: TObject);
var
fsj:String;
begin
ReadCxGrid(<><CAAA>Ϳ<EFBFBD><CDBF><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>1',Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid(<><CAAA>Ϳ<EFBFBD><CDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>1',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
fsj:='select distinct(defStr3) name, '''' Code from WC_ClothInout_Info where DepotNo like ''B%''';
//SInitCxGridComboBoxBySql(ADOQueryTemp,v1P_Clolor,fsj,0,True,'δ<>ҵ<EFBFBD><D2B5><EFBFBD>ɫ<EFBFBD><C9AB>');
InitComBoxBySql(ADOQueryTemp,P_Color,fsj,0,<>ҵ<EFBFBD><D2B5><EFBFBD>ɫ<EFBFBD><C9AB>',True);
fsj:='select distinct(P_Color) name, '''' Code from WC_ClothInout_Info where DepotNo like ''P%''';
//SInitCxGridComboBoxBySql(ADOQueryTemp,v1P_Clolor,fsj,0,True,'δ<>ҵ<EFBFBD><D2B5><EFBFBD>ɫ<EFBFBD><C9AB>');
InitComBoxBySql(ADOQueryTemp,P_JColor,fsj,0,<>ҵ<EFBFBD><D2B5><EFBFBD>ɫ<EFBFBD><C9AB>',True);
InitGrid();
SSetWinData30(ADOQueryMain,Panel1,1);
InitJBGrid();
end;
procedure TfrmSFProduceCaseInputNew.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid(<><CAAA>Ϳ<EFBFBD><CDBF><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>1',Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid(<><CAAA>Ϳ<EFBFBD><CDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>1',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
function TfrmSFProduceCaseInputNew.SaveData():Boolean;
Var
MaxNo:string;
begin
try
Result:=False;
ADOQueryCmd.Connection.BeginTrans;
with CDS_Sub do
begin
CDS_Sub.First;
while not CDS_Sub.Eof do
begin
if Trim(CDS_Sub.fieldbyname('PlanNo').AsString)='' then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(CDS_Sub.fieldbyname('GroupNo').AsString)='' then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(CDS_Sub.fieldbyname('Quantity1').AsString)='' then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(CDS_Sub.fieldbyname('JBNo').AsString)='' then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(CDS_Sub.fieldbyname('SubId').AsString)='' then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(CDS_Sub.fieldbyname('SFlag').AsString)='2' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Select * from AD_SFProduce_Sub where PlanNo='''+Trim(CDS_Sub.fieldbyname('PlanNo').AsString)+'''');
sql.Add('and SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+'''');
Open;
end;
if ADOQueryCmd.RecordCount>0 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8>Ǽǣ<C7BC>','<27><>ʾ',0);
Exit;
end;
end;
if Trim(CDS_Sub.fieldbyname('SFlag').AsString)<>'2' then
begin
MaxNo:=Trim(FADID);
end else
begin
if GetMaxNo20(ADOQueryCmd,MaxNo,'AD_PlanProduce_Case','SF',1,3)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3>','<27><>ʾ',0);
Exit;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from AD_PlanProduce_Case where ADID='''+Trim(FADID)+'''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(CDS_Sub.fieldbyname('SFlag').AsString)<>'2' then
Edit
else
Append;
FieldByName('ADID').Value:=Trim(MaxNo);
SSetSaveDataCDS(ADOQueryCmd,Tv1,CDS_Sub,'AD_PlanProduce_Case',1);
FieldByName('P_SeqNo').Value:=Trim(CDS_Sub.fieldbyname('P_SeqNo').AsString);
FieldByName('P_JCode').Value:=Trim(CDS_Sub.fieldbyname('P_JCode').AsString);
FieldByName('P_Factory').Value:=Trim(CDS_Sub.fieldbyname('P_Factory').AsString);
FieldByName('AdType').Value:=<><CAAA>';
if Trim(CDS_Sub.fieldbyname('ProduceEndTime').AsString)='' then
begin
FieldByName('ProduceEndTime').Value:=GetServerTime10(ADOQueryTemp);
end;
if Trim(CDS_Sub.fieldbyname('SFlag').AsString)='2' then
begin
FieldByName('Filler').Value:=Trim(gUserName);
FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp);
end else
if Trim(CDS_Sub.fieldbyname('SFlag').AsString)<>'2' then
begin
FieldByName('Editer').Value:=Trim(gUserName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp);
end;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from AD_EndProduct_Case where ADID='''+Trim(FADID)+'''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(CDS_Sub.fieldbyname('SFlag').AsString)<>'2' then
Edit
else
Append;
FieldByName('ADID').Value:=Trim(MaxNo);
SSetSaveDataCDS(ADOQueryCmd,Tv1,CDS_Sub,'AD_EndProduct_Case',2);
FieldByName('PlanNo').Value:=Trim(CDS_Sub.fieldbyname('PlanNo').AsString);
FieldByName('P_SeqNo').Value:=Trim(CDS_Sub.fieldbyname('P_SeqNo').AsString);
if Trim(CDS_Sub.fieldbyname('SFlag').AsString)='2' then
begin
FieldByName('Filler').Value:=Trim(gUserName);
FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp);
end else
if Trim(CDS_Sub.fieldbyname('SFlag').AsString)<>'2' then
begin
FieldByName('Editer').Value:=Trim(gUserName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp);
end;
Post;
end;
CDS_Sub.Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
except
ADOQueryCmd.Connection.RollbackTrans;
Result:=False;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3>','<27><>ʾ',0);
end;
end;
function TfrmSFProduceCaseInputNew.SaveDataSF():Boolean;
Var
MaxNo:string;
begin
try
Result:=False;
ADOQueryCmd.Connection.BeginTrans;
if PState=0 then
begin
with ADOQueryTemp10 do
begin
Close;
sql.Clear;
SQL.Add(' select * from AD_SFProduce_Main where PlanNo='''+Trim(PlanNO.Text)+'''');
sql.Add(' and GroupNo='''+Trim(GroupNo.Text)+'''');
Open;
if not IsEmpty then
begin
//MaxNo:=Trim(fieldbyname('ADID').AsString);
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27>˰<EFBFBD><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵļ<C5B5>¼<EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׷<EFBFBD>Ӽ<EFBFBD>¼<EFBFBD><C2BC>','<27><>ʾ',0);
Exit;
end else
begin
if GetMaxNo20(ADOQueryTemp,MaxNo,'AD_SFProduce_Main','SF',1,4)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from AD_SFProduce_Main where 1<>1');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('ADID').Value:=Trim(MaxNo);
SSetsavedataNew(ADOQueryCmd,'AD_SFProduce_Main',Panel1,1);
//SSetSaveDataCDSNew(ADOQueryCmd,Tv1,CDS_Sub,'AD_SFProduce_Main',1);
FieldByName('ProduceDate').Value:=FormatDateTime('yyyy-MM-dd',CDS_Sub.fieldbyname('BegTime').AsDateTime);
FieldByName('Filler').Value:=Trim(gUserName);
Post;
end;
end;
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><D3B1><EFBFBD>Ϣ
with CDS_Sub do
begin
First;
while not Eof do
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('select * from AD_SFProduce_Sub where ADID='''+Trim(MaxNo)+'''');
sql.Add(' and SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+'''');
Open;
if not IsEmpty then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8>Ǽǣ<C7BC>','<27><>ʾ',0);
Exit;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from AD_SFProduce_Sub where 1<>1');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('ADID').Value:=Trim(MaxNo);
SSetSaveDataCDSNew(ADOQueryCmd,Tv1,CDS_Sub,'AD_SFProduce_Sub',2);
FieldByName('Filler').Value:=Trim(gUserName);
Post;
end;
CDS_Sub.Next;
end;
end;
FADID:=Trim(MaxNo);
end;
if PState=1 then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete AD_SFProduce_Sub where ADID='''+Trim(FADID)+'''');
ExecSQL;
end;
with CDS_Sub do
begin
First;
while not eof do
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('select * from AD_SFProduce_Sub where ADID='''+Trim(FADID)+'''');
sql.Add(' and SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+'''');
Open;
if not IsEmpty then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>','<27><>ʾ',0);
Exit;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from AD_SFProduce_Sub where 1<>1');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('ADID').Value:=Trim(FADID);
SSetSaveDataCDSNew(ADOQueryCmd,Tv1,CDS_Sub,'AD_SFProduce_Sub',2);
FieldByName('Filler').Value:=Trim(gUserName);
Post;
end;
CDS_Sub.Next;
end;
end;
CDS_Sub.First;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from AD_SFProduce_Main where ADID='''+Trim(FADID)+'''');
Open;
end;
with ADOQueryCmd do
begin
Edit;
SSetsavedataNew(ADOQueryCmd,'AD_SFProduce_Main',Panel1,1);
Post;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add(' Update AD_SFProduce_Sub Set RunHours=datediff(mi,BegTime,EndTime)*1.00/60');
sql.Add(' where ADID='''+Trim(FADID)+'''');
SQL.Add(' and Quantity1>0');
SQL.Add(' Update AD_SFProduce_Sub Set WaitHours=datediff(mi,BegTime,EndTime)*1.00/60');
sql.Add(' where ADID='''+Trim(FADID)+'''');
SQL.Add(' and Quantity1=0');
ExecSQL;
end;
Result:=True;
except
ADOQueryCmd.Connection.RollbackTrans;
Result:=False;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3>','<27><>ʾ',0);
end;
end;
procedure TfrmSFProduceCaseInputNew.TBSaveClick(Sender: TObject);
begin
if CDS_Sub.IsEmpty then Exit;
if Trim(PlanNO.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(GroupNo.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('Quantity1',Null,[])=True then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('SubId',Null,[])=True then
begin
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if SaveDataSF() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
Close;
ModalResult:=1;
end;
end;
procedure TfrmSFProduceCaseInputNew.v1DeviceNoPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmItemManageNew:=TfrmItemManageNew.Create(Application);
with frmItemManageNew do
begin
flag:='DeviceNo';
flagname:='<27><>̨';
if ShowModal=1 then
begin
Self.CDS_Sub.Edit;
Self.CDS_Sub.FieldByName('DeviceNo').Value:=ClientDataSet1.fieldbyname('Name').AsString;
end;
end;
finally
frmItemManageNew.Free;
end;
end;
procedure TfrmSFProduceCaseInputNew.v1GroupNoPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmItemManageNew:=TfrmItemManageNew.Create(Application);
with frmItemManageNew do
begin
flag:='GroupNo';
flagname:='<27><><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
Self.CDS_Sub.Edit;
Self.CDS_Sub.FieldByName('GroupNo').Value:=ClientDataSet1.fieldbyname('Name').AsString;
end;
end;
finally
frmItemManageNew.Free;
end;
end;
procedure TfrmSFProduceCaseInputNew.v1SupplierNamePropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmSupplyHelp:=TfrmSupplyHelp.Create(Application);
with frmSupplyHelp do
begin
FLType:='<27><><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
CDS_Sub.Edit;
CDS_Sub.FieldByName('P_Factory').Value:=Trim(ADOQueryHelp.fieldbyname('CustomNo').AsString);
CDS_Sub.FieldByName('ShortName').Value:=Trim(ADOQueryHelp.fieldbyname('ShortName').AsString);
end;
end;
finally
frmSupplyHelp.Free;
end;
end;
procedure TfrmSFProduceCaseInputNew.v1P_BaseChnNamePropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmPbProductHelp10:=TfrmPbProductHelp10.Create(Application);
with frmPbProductHelp10 do
begin
if ShowModal=1 then
begin
CDS_Sub.Edit;
CDS_Sub.FieldByName('P_JCode').Value:=Trim(ADOQueryHelp.fieldbyname('P_Code').AsString);
CDS_Sub.FieldByName('P_JName').Value:=Trim(ADOQueryHelp.fieldbyname('P_ChnName').AsString);
end;
end;
finally
frmPbProductHelp10.Free;
end;
end;
procedure TfrmSFProduceCaseInputNew.v1LbStr6PropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmPbProductHelp10:=TfrmPbProductHelp10.Create(Application);
with frmPbProductHelp10 do
begin
if ShowModal=1 then
begin
CDS_Sub.Edit;
CDS_Sub.FieldByName('P_BCode').Value:=Trim(ADOQueryHelp.fieldbyname('P_Code').AsString);
CDS_Sub.FieldByName('P_BName').Value:=Trim(ADOQueryHelp.fieldbyname('P_ChnName').AsString);
end;
end;
finally
frmPbProductHelp10.Free;
end;
end;
procedure TfrmSFProduceCaseInputNew.ToolButton2Click(Sender: TObject);
begin
if CDS_Sub.IsEmpty then Exit;
OneKeyPost(Tv1,CDS_Sub);
end;
procedure TfrmSFProduceCaseInputNew.ToolButton1Click(Sender: TObject);
begin
CopyAddRowCDS(CDS_Sub);
CDS_Sub.Edit;
CDS_Sub.FieldByName('SFlag').Value:='2';
CDS_Sub.Post;
end;
procedure TfrmSFProduceCaseInputNew.DeviceNoBtnClick(Sender: TObject);
begin
try
frmItemManageNew:=TfrmItemManageNew.Create(Application);
with frmItemManageNew do
begin
flag:='DeviceNo';
flagname:='<27><>̨';
if ShowModal=1 then
begin
Self.DeviceNo.Text:=ClientDataSet1.fieldbyname('Name').AsString;
Self.DeviceNo.TxtCode:=ClientDataSet1.fieldbyname('Name').AsString;
end;
end;
finally
frmItemManageNew.Free;
end;
end;
procedure TfrmSFProduceCaseInputNew.GroupNoBtnClick(Sender: TObject);
begin
try
frmItemManageNew:=TfrmItemManageNew.Create(Application);
with frmItemManageNew do
begin
flag:='GroupNo';
flagname:='<27><><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
Self.GroupNo.Text:=ClientDataSet1.fieldbyname('Name').AsString;
Self.GroupNo.TxtCode:=ClientDataSet1.fieldbyname('Name').AsString;
end;
end;
finally
frmItemManageNew.Free;
end;
end;
procedure TfrmSFProduceCaseInputNew.P_BCodeBtnClick(Sender: TObject);
begin
try
frmPbProductHelp10:=TfrmPbProductHelp10.Create(Application);
with frmPbProductHelp10 do
begin
if ShowModal=1 then
begin
Self.P_BCode.TxtCode:=Trim(ADOQueryHelp.fieldbyname('P_Code').AsString);
Self.P_BCode.Text:=Trim(ADOQueryHelp.fieldbyname('P_ChnName').AsString);
end;
end;
finally
frmPbProductHelp10.Free;
end;
end;
procedure TfrmSFProduceCaseInputNew.P_JCodeBtnClick(Sender: TObject);
begin
try
frmPbProductHelp10:=TfrmPbProductHelp10.Create(Application);
with frmPbProductHelp10 do
begin
if ShowModal=1 then
begin
Self.P_JCode.TxtCode:=Trim(ADOQueryHelp.fieldbyname('P_Code').AsString);
Self.P_JCode.Text:=Trim(ADOQueryHelp.fieldbyname('P_ChnName').AsString);
end;
end;
finally
frmPbProductHelp10.Free;
end;
end;
procedure TfrmSFProduceCaseInputNew.Tv1FocusedRecordChanged(
Sender: TcxCustomGridTableView; APrevFocusedRecord,
AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
begin
try
ADOQueryJB.DisableControls;
with ADOQueryJB do
begin
Close;
sql.Clear;
sql.Add('select * from AD_SFProduce_JBNO where PlanNO='''+Trim(PlanNO.Text)+'''');
SQL.Add(' and subId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+'''');
Open;
end;
CreateCDS20(ADOQueryJB,CDS_JB);
InitCDSData20(ADOQueryJB,CDS_JB);
finally
ADOQueryJB.EnableControls;
end;
end;
procedure TfrmSFProduceCaseInputNew.Button1Click(Sender: TObject);
begin
if CDS_Sub.IsEmpty then Exit;
with CDS_JB do
begin
Append;
Post;
end;
end;
procedure TfrmSFProduceCaseInputNew.Button2Click(Sender: TObject);
begin
if CDS_Sub.IsEmpty then Exit;
if CDS_JB.IsEmpty then Exit;
if Trim(CDS_JB.fieldbyname('PlanNo').AsString)<>'' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete AD_SFProduce_JBNO where PlanNo='''+Trim(PlanNO.Text)+'''');
sql.Add(' and SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+'''');
sql.Add(' and JBNO='''+Trim(CDS_JB.fieldbyname('JBNO').AsString)+'''');
ExecSQL;
end;
end;
CDS_JB.Delete;
end;
procedure TfrmSFProduceCaseInputNew.Button3Click(Sender: TObject);
var
MaxNo:String;
begin
if CDS_JB.IsEmpty then Exit;
if Trim(PlanNO.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if Trim(CDS_Sub.fieldbyname('SubId').AsString)='' then
begin
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if CDS_JB.Locate('JBNO',null,[])=True then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if CDS_JB.Locate('JBQuantity',null,[])=True then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete AD_SFProduce_JBNO where PlanNo='''+Trim(PlanNO.Text)+'''');
sql.Add(' and SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+'''');
ExecSQL;
end;
with CDS_JB do
begin
First;
while not Eof do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from AD_SFProduce_JBNO where PlanNo='''+Trim(PlanNO.Text)+'''');
sql.Add(' and SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+'''');
sql.Add(' and JBNO='''+Trim(CDS_JB.fieldbyname('JBNO').AsString)+'''');
Open;
if not IsEmpty then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>','<27><>ʾ',0);
Exit;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from AD_SFProduce_JBNO where 1<>1');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('PlanNo').Value:=Trim(PlanNO.Text);
FieldByName('SubId').Value:=Trim(CDS_Sub.fieldbyname('SubId').AsString);
SSetSaveDataCDSNew(ADOQueryCmd,Tv2,CDS_JB,'AD_SFProduce_JBNO',2);
Post;
end;
CDS_JB.Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
end;
procedure TfrmSFProduceCaseInputNew.Tv1CellClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
InitJBGrid();
end;
procedure TfrmSFProduceCaseInputNew.InitJBGrid();
begin
try
ADOQueryJB.DisableControls;
with ADOQueryJB do
begin
Close;
sql.Clear;
sql.Add('select * from AD_SFProduce_JBNO where PlanNO='''+Trim(PlanNO.Text)+'''');
SQL.Add(' and subId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+'''');
Open;
end;
CreateCDS20(ADOQueryJB,CDS_JB);
InitCDSData20(ADOQueryJB,CDS_JB);
finally
ADOQueryJB.EnableControls;
end;
end;
end.