修改 业务模型\系统空间\系统功能\组织机构\组织机构资源库\新建 中的代码
加红字部分
function TCREATEORG.CheckInvalid: Boolean;
var
lOrgUnit: TOrgUnit;
lID, lMsg: String;
lNode: TObjectNode;
lBizURL: TBizURL;
begin
Result := False;
DataSetOrgan.DisableControls;
lBizURL := TBizURL.Create;
try
DataSetOrgan.First;
while not DataSetOrgan.Eof do
begin
lID := DataSetOrgan.FieldByName('FID').AsString;
lNode := nil;
lOrgUnit := nil;
if not TCommonFunc.CheckIDInvalid(lID) then
begin
jsDialogs.ShowError('ID值不符合规则,只能数字、英文字母或是下划线', 'ID无效');
Exit;
end;
if TCommonFunc.CheckNameInvalid(DataSetOrgan.FieldByName('FDisplayName').AsString) then
exit;
lMsg := '';
case DataSetOrgan.Tag of
1, 2: begin
lOrgUnit := OrgSys.OrgSystem.FindUnit(lID, '', '');
lMsg := '与机构、部门或工作组“%s[%s]”ID冲突,不能新建';
end;
3: begin
lOrgUnit := OrgSys.OrgSystem.FindUnit('', lID, '');
lMsg := '与岗位“%s[%s”]的ID冲突,不能新建此岗位';
end;
4: begin
lOrgUnit := OrgSys.OrgSystem.FindUnit('', '', lID);
lMsg := '与人员“%s[%s]”ID冲突,不能新建此人员';
if SysUtils.SameText(lID, 'system') then
begin
jsDialogs.ShowError('人员ID不能是“System”', '错误');
exit;
end;
end;
5: begin
lOrgUnit := OrgSys.OrgSystem.FindUnit(lID, '', '');
lMsg := '与机构、部门或工作组“%s[%s]”ID冲突,不能新建此工作组';
end;
else begin
try
lBizURL.URL := 'Org:\Position\' + lID;
lNode := BizTree.BizTreeStructure.FindNodeByBizURL(lBizURL);
lMsg := '新建文件夹与文件夹“%s”ID冲突,不能新建此文件夹';
except
end;
end;
end;
if Assigned(lOrgUnit) then
begin
jsDialogs.ShowError(SysUtils.Format(lMsg, [lOrgUnit.ID, lOrgUnit.DisplayName]), '错误');
exit;
end;
if Assigned(lNode) then
begin
jsDialogs.ShowError(SysUtils.Format(lMsg, [lNode.DisplayName]), '错误');
exit;
end;
if assigned(DataSetOrgan.FieldByName('你的扩展字段ID')) then
begin
if DataSetOrgan.FieldByName('你的扩展字段ID').isnull then
begin
jsDialogs.ShowError('sadfsa','错误');
exit;
end;
end;
DataSetOrgan.next;
end;
Result := True;
finally
lBizURL.Free;
DataSetOrgan.EnableControls;
end;
end; |