unit TEAMSOBSERVEDESKACCOUNTINFO;
interface
uses
Business.System, Business.Model, Business.Data,Business.Forms;
type
TTEAMSOBSERVEDESKACCOUNTINFO = class(TInfo)
DataSetTEAMSDESKACCOUNT: TSQLDataSet;
DataSetPECCANCYMANANGE: TSQLDataSet;
DataSetNOTFINISHMANAGE: TSQLDataSet;
DataSetSKILLMANAGE: TSQLDataSet;
DataSetTEAMSWOKRMAIN: TSQLDataSet;
DataSetTEAMSWOKRPROBLEM: TSQLDataSet;
DataSetTeams: TSQLDataSet;
DataSetQueryScale: TUserDataSet;
FIELD_QueryScale_StartDate: TUserDataField;
FIELD_QueryScale_EndDate: TUserDataField;
FIELD_QueryScale_teams: TUserDataField;
FIELD_QueryScale_PowerSystem: TUserDataField;
FIELD_TEAMSDESKACCOUNT_Recnum: TCalcField;
FIELD_PECCANCYMANANGE_Recnum: TCalcField;
FIELD_NOTFINISHMANAGE_Recnum: TCalcField;
FIELD_SKILLMANAGE_Recnum: TCalcField;
DataSetAccident: TSQLDataSet;
FIELD_Accident_Recnum: TCalcField;
procedure InfoCreate(Sender: TObject);
procedure FIELD_TEAMSDESKACCOUNT_RecnumCalcField(Field: TBizField; var Value: Variant);
procedure FIELD_PECCANCYMANANGE_RecnumCalcField(Field: TBizField; var Value: Variant);
procedure FIELD_NOTFINISHMANAGE_RecnumCalcField(Field: TBizField; var Value: Variant);
procedure FIELD_SKILLMANAGE_RecnumCalcField(Field: TBizField; var Value: Variant);
procedure FIELD_Accident_RecnumCalcField(Field: TBizField; var Value: Variant);
private
procedure OpenTeamsWorkTable(ADataSet : TBizDataSet;AMemberAction : string);
procedure ImportTeamsWorkData; //导入班组现场工作观察数据到工作观察台账
procedure ImportDeskAccountData(AMemberAction : string); //导入班组台账数据到违章等台账
public
procedure GetSYSRUNSECMODELData; //导入班组现场工作观察数据到工作观察台账
procedure GetManageAccount(AMemberAction : string); //导入班组台账数据到违章等台账
end;
implementation
procedure TTEAMSOBSERVEDESKACCOUNTINFO.OpenTeamsWorkTable(ADataSet : TBizDataSet;AMemberAction : string);
var
lTeams : string;
lStart : TDatetime;
lEnd : TDatetime;
lCondition : string;
begin
lTeams := DataSetQueryScale.FieldByName('Teams').AsString;
lStart := DataSetQueryScale.FieldByName('StartDate').AsDateTime;
lEnd := DataSetQueryScale.FieldByName('EndDate').AsDateTime;
lCondition := '1=1';
if lTeams <> '' then
lCondition := lCondition + ' and Teams = '''+ lTeams + '''';
if AMemberAction <> '' then
lCondition := lCondition + ' and MemberAction = '''+ AMemberAction + '''';
if lStart > 0 then
lCondition := lCondition + ' and To_Char(ObserveTime,''yyyymmdd'') >= '+SysUtils.FormatDateTime('yyyymmdd',lStart)+' and To_Char(ObserveTime,''yyyymmdd'') <= '+SysUtils.FormatDateTime('yyyymmdd',lEnd);
ADataSet.Close;
ADataSet.SqlFilter := lCondition;
ADataSet.SqlFiltered := True;
ADataSet.Open;
end;
procedure TTEAMSOBSERVEDESKACCOUNTINFO.ImportTeamsWorkData;
var
lTeams : string;
begin
if not DataSetTEAMSWOKRPROBLEM.Active then DataSetTEAMSWOKRPROBLEM.Open;
DataSetTEAMSWOKRMAIN.First;
while not DataSetTEAMSWOKRMAIN.Eof do
begin
DataSetTEAMSWOKRPROBLEM.First;
while not DataSetTEAMSWOKRPROBLEM.Eof do
begin
lTeams := DataSetTEAMSWOKRPROBLEM.FieldByName('ID').AsString;
if not DataSetTEAMSDESKACCOUNT.Locate('TeamsWorkID',[lTeams],[TLOcateOption.loCaseInsensitive]) then
begin
DataSetTEAMSDESKACCOUNT.Append;
DataSetTEAMSDESKACCOUNT.FieldByName('Teams').Assign(DataSetTEAMSWOKRMAIN.FieldByName('Teams'));
DataSetTEAMSDESKACCOUNT.FieldByName('PowerSystem').Assign(DataSetTEAMSWOKRMAIN.FieldByName('PowerSystem'));
DataSetTEAMSDESKACCOUNT.FieldByName('ByObserve').Assign(DataSetTEAMSWOKRMAIN.FieldByName('ByObserve'));
DataSetTEAMSDESKACCOUNT.FieldByName('ObserveMember').Assign(DataSetTEAMSWOKRMAIN.FieldByName('ObserveMember'));
DataSetTEAMSDESKACCOUNT.FieldByName('ObserveTime').Assign(DataSetTEAMSWOKRMAIN.FieldByName('ObserveTime'));
DataSetTEAMSDESKACCOUNT.FieldByName('YesNo').Assign(DataSetTEAMSWOKRMAIN.FieldByName('YesNo'));
DataSetTEAMSDESKACCOUNT.FieldByName('WorkContent').Assign(DataSetTEAMSWOKRMAIN.FieldByName('WorkContent'));
DataSetTEAMSDESKACCOUNT.FieldByName('Problem').Assign(DataSetTEAMSWOKRPROBLEM.FieldByName('Problem'));
DataSetTEAMSDESKACCOUNT.FieldByName('Speciality').Assign(DataSetTEAMSWOKRPROBLEM.FieldByName('Speciality'));
DataSetTEAMSDESKACCOUNT.FieldByName('TeamsWorkID').Assign(DataSetTEAMSWOKRPROBLEM.FieldByName('ID'));
///////////
DataSetTEAMSDESKACCOUNT.Post;
end;
DataSetTEAMSWOKRPROBLEM.Next;
end;
DataSetTEAMSWOKRMAIN.Next;
end;
end;
procedure TTEAMSOBSERVEDESKACCOUNTINFO.GetSYSRUNSECMODELData;
begin
OpenTeamsWorkTable(DataSetTEAMSWOKRMAIN,'');
OpenTeamsWorkTable(DataSetTEAMSDESKACCOUNT,'');
ImportTeamsWorkData;
end;
procedure TTEAMSOBSERVEDESKACCOUNTINFO.ImportDeskAccountData(AMemberAction : string); //导入班组现场工作观察数据到工作观察台账
var
lTeams : string;
lSqlDataSet : TsqlDataSet;
begin
if AMemberAction='01' then
lSqlDataSet := DataSetPECCANCYMANANGE;
if AMemberAction='02' then
lSqlDataSet := DataSetNOTFINISHMANAGE;
if AMemberAction='03' then
lSqlDataSet := DataSetAccident;
if AMemberAction='04' then
lSqlDataSet := DataSetSKILLMANAGE;
lSqlDataSet.Open;
if not DataSetTEAMSDESKACCOUNT.Active then DataSetTEAMSDESKACCOUNT.Open;
DataSetTEAMSDESKACCOUNT.First;
while not DataSetTEAMSDESKACCOUNT.Eof do
begin
lTeams := DataSetTEAMSDESKACCOUNT.FieldByName('ID').AsString;
// lTime := DataSetTEAMSDESKACCOUNT.FieldByName('ObserveTime').AsDateTime;
if not DataSetTEAMSDESKACCOUNT.Locate('TeamsWorkID',[lTeams],[TLOcateOption.loCaseInsensitive]) then
begin
lSqlDataSet.Append;
lSqlDataSet.FieldByName('Teams').Assign(DataSetTEAMSDESKACCOUNT.FieldByName('Teams'));(停在这里了)
lSqlDataSet.FieldByName('PowerSystem').Assign(DataSetTEAMSDESKACCOUNT.FieldByName('PowerSystem'));
lSqlDataSet.FieldByName('ByObserve').Assign(DataSetTEAMSDESKACCOUNT.FieldByName('ByObserve'));
// DataSetPECCANCYMANANGE.FieldByName('ObserveMember').Assign(DataSetTEAMSDESKACCOUNT.FieldByName('ObserveMember'));
lSqlDataSet.FieldByName('ObserveTime').Assign(DataSetTEAMSDESKACCOUNT.FieldByName('ObserveTime'));
// DataSetPECCANCYMANANGE.FieldByName('YesNo').Assign(DataSetTEAMSDESKACCOUNT.FieldByName('YesNo'));
// DataSetPECCANCYMANANGE.FieldByName('WorkContent').Assign(DataSetTEAMSDESKACCOUNT.FieldByName('WorkContent'));
lSqlDataSet.FieldByName('Problem').Assign(DataSetTEAMSDESKACCOUNT.FieldByName('Problem'));
///////////
lSqlDataSet.Post;
end;
DataSetTEAMSDESKACCOUNT.Next;
end;
end;
procedure TTEAMSOBSERVEDESKACCOUNTINFO.GetManageAccount(AMemberAction : string); //导入班组台账数据到违章等台账
begin
OpenTeamsWorkTable(DataSetTEAMSDESKACCOUNT,AMemberAction);
ImportDeskAccountData(AMemberAction);
end;
procedure TTEAMSOBSERVEDESKACCOUNTINFO.InfoCreate(Sender: TObject);
begin
DataSetQueryScale.Open;
end;
procedure TTEAMSOBSERVEDESKACCOUNTINFO.FIELD_TEAMSDESKACCOUNT_RecnumCalcField(Field: TBizField; var Value: Variant);
begin
Value:=Field.DataSet.RecNo;
end;
procedure TTEAMSOBSERVEDESKACCOUNTINFO.FIELD_PECCANCYMANANGE_RecnumCalcField(Field: TBizField; var Value: Variant);
begin
Value:=Field.DataSet.RecNo;
end;
procedure TTEAMSOBSERVEDESKACCOUNTINFO.FIELD_NOTFINISHMANAGE_RecnumCalcField(Field: TBizField; var Value: Variant);
begin
Value:=Field.DataSet.RecNo;
end;
procedure TTEAMSOBSERVEDESKACCOUNTINFO.FIELD_SKILLMANAGE_RecnumCalcField(Field: TBizField; var Value: Variant);
begin
Value:=Field.DataSet.RecNo;
end;
procedure TTEAMSOBSERVEDESKACCOUNTINFO.FIELD_Accident_RecnumCalcField(Field: TBizField; var Value: Variant);
begin
Value:=Field.DataSet.RecNo;
end;
end.
(InfoBroker.Info as TTEAMSOBSERVEDESKACCOUNTINFO).GetSYSRUNSECMODELData; (用这句调用) |