Organizasyon Şeması Java Oluşturun

Organizasyon şemaları, farklı roller ve departmanlar arasındaki hiyerarşilerin ve ilişkilerin net bir şekilde temsil edilmesini sağlayarak bir organizasyonun yapısını sunmaya yardımcı olur. Bu blog yazımızda Java’da organizasyon şemasının nasıl oluşturulacağını inceleyeceğiz.

Neden Organizasyon Şeması Oluşturmalısınız?

Açıklık ve İletişim: Organizasyon şemaları bir şirketin yapısının anlaşılmasına yardımcı olarak rol ve sorumlulukların iletilmesini kolaylaştırır.

Verimlilik: Raporlama ilişkilerinin belirlenmesine ve iletişim kanallarının düzenlenmesine yardımcı olurlar.

Kaynak Yönetimi: Grafikler, iş gücü ve konumlarının net bir görünümünü sağlayarak kaynakların etkili bir şekilde yönetilmesine yardımcı olur.

Organizasyon Şeması Oluşturun - Java API Kurulumu

JDK ve Java IDE kurulumu gibi ortamınızı yapılandırarak Java’da organizasyon şemaları oluşturabilirsiniz. Daha sonra, projenizin pom.xml dosyasındaki aşağıdaki yapılandırmaları kullanarak Conholdate.Total for Java kitaplığını yükleyin:

<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.4</version>
<type>pom</type>
</dependency>

Java’da Organizasyon Şemasını Yapın

Aşağıdaki adımları izleyerek Java’da bir organizasyon şeması oluşturabilirsiniz:

  • Diagram sınıfıyla mevcut herhangi bir şablondaki ana şablonları yükleyin.
  • Hiyerarşiyi oluşturmak için değerleri belirtin.
  • Şekilleri ekleyin ve düğümler arasında bağlantılar oluşturun.
  • Kaydetme yöntemini kullanarak çıktı organizasyon şemasını oluşturun.

Aşağıdaki kod parçacığı, Java’da bir kuruluş şemasının nasıl oluşturulacağını gösterir:

// Mevcut herhangi bir diyagramdan, kalıptan veya şablondan ana kalıpları yükleyin
String visioStencil = "Basic Shapes.vss";
String rectangleMaster = "Rectangle";
String connectorMaster = "Dynamic connector";
int pageNumber = 0;
double width = 1;
double height = 1;
double pinX = 4.25;
double pinY = 9.5;
// Hiyerarşiyi oluşturmak için değerleri tanımlayın
List<String> listPos = Arrays.asList(new String[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" });
// Dize adını uzun şekil kimliğiyle eşlemek için bir Hashtable tanımlayın
Hashtable shapeIdMap = new Hashtable();
// Yeni bir diyagram oluştur
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // Yeni bir dikdörtgen şekli ekleme
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Yeni şeklin özelliklerini ayarlama
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// Düğümler arasında bağlantılar oluşturun
for (String orgName : listPos)
{
    int lastColon = orgName.lastIndexOf(':');
    if(lastColon > 0)
    {
        String parendName = orgName.substring(0, lastColon);
        long shapeId = (long)shapeIdMap.get(orgName);
        long parentId = (long)shapeIdMap.get(parendName);
        Shape connector1 = new Shape();
        long connecter1Id = diagram.addShape(connector1, connectorMaster, pageNumber);
        diagram.getPages().get(pageNumber).connectShapesViaConnector(parentId, ConnectionPointPlace.RIGHT,
            shapeId, ConnectionPointPlace.LEFT, connecter1Id);
    }
}

//otomatik düzen CompactTree şeması
LayoutOptions compactTreeOptions = new LayoutOptions();
compactTreeOptions.setLayoutStyle(LayoutStyle.COMPACT_TREE);
compactTreeOptions.setDirection(LayoutDirection.DOWN_THEN_RIGHT);
compactTreeOptions.setEnlargePage(false);

diagram.getPages().get(pageNumber).layout(compactTreeOptions);

// Diyagramı kaydet
diagram.save("DrawCompactTreeChart_java.vsdx", SaveFileFormat.VSDX);

Java kullanarak Akış Şeması Formatında Organizasyon Şeması Oluşturun

Akış şeması stili de dahil olmak üzere farklı stillerde organizasyon şemaları oluşturabilirsiniz. Gereksinimlerinizi karşılamak için lütfen aşağıdaki adımları izleyin:

  • Ana kalıpları mevcut kalıptan yükleyin.
  • Organizasyon bağlayıcılarını ve düğümlerini ekleyin.
  • Grafiğin düzenini belirtin ve çıktı diyagramını yazın.

Aşağıdaki örnek kod, Java kullanarak akış şeması biçiminde organizasyon şemasının nasıl oluşturulacağını gösterir:

// Mevcut herhangi bir diyagramdan, kalıptan veya şablondan ana kalıpları yükleyin
String visioStencil = "Basic Shapes.vss";
String rectangleMaster = "Rectangle";
String connectorMaster = "Dynamic connector";
int pageNumber = 0;
double width = 1;
double height = 1;
double pinX = 4.25;
double pinY = 9.5;
// Hiyerarşiyi oluşturmak için değerleri tanımlayın
List<String> listPos = Arrays.asList(new String[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" });
// Dize adını uzun şekil kimliğiyle eşlemek için bir Hashtable tanımlayın
Hashtable shapeIdMap = new Hashtable();
// Yeni bir diyagram oluştur
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // Yeni bir dikdörtgen şekli ekleme
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Yeni şeklin özelliklerini ayarlama
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// Düğümler arasında bağlantılar oluşturun
for (String orgName : listPos)
{
    int lastColon = orgName.lastIndexOf(':');
    if(lastColon > 0)
    {
        String parendName = orgName.substring(0, lastColon);
        long shapeId = (long)shapeIdMap.get(orgName);
        long parentId = (long)shapeIdMap.get(parendName);
        Shape connector1 = new Shape();
        long connecter1Id = diagram.addShape(connector1, connectorMaster, pageNumber);
        diagram.getPages().get(pageNumber).connectShapesViaConnector(parentId, ConnectionPointPlace.RIGHT,
            shapeId, ConnectionPointPlace.LEFT, connecter1Id);
    }
}

//otomatik düzen Akış Şeması
LayoutOptions flowChartOptions = new LayoutOptions();
flowChartOptions.setLayoutStyle(LayoutStyle.FLOW_CHART);
flowChartOptions.setDirection(LayoutDirection.TOP_TO_BOTTOM);
flowChartOptions.setEnlargePage(true);

diagram.getPages().get(pageNumber).layout(flowChartOptions);

// Diyagramı kaydet
diagram.save("DrawFlowChart_java.vsdx", SaveFileFormat.VSDX);

Organizasyon Şemalarını Özelleştirme

Düzeni, renkleri ve etiketleri kuruluşunuzun ihtiyaçlarınıza uyacak şekilde ayarlayarak kuruluş şemasını özelleştirebilirsiniz. Kuruluşunuz için en iyi temsili bulmak amacıyla farklı seçenekleri deneyebilirsiniz.

Ücretsiz Değerlendirme Lisansı

API’leri herhangi bir değerlendirme sınırlaması olmaksızın değerlendirmek için ücretsiz geçici lisans talep edebilirsiniz.

Özetliyor

Java’da bir organizasyon şeması oluşturmak, bu makaleyi takip ederek basit bir işlemdir. Organizasyon şemaları herhangi bir organizasyon içerisinde iletişimi, verimliliği ve kaynak yönetimini geliştirmek için değerli araçlar olduğundan, tartışılan API’lerden yararlanarak organizasyonunuzun yapısını kolayca görselleştirebilir ve özelleştirebilirsiniz. Endişelerinizden herhangi birini tartışmak isterseniz, lütfen bize forum adresinden yazın.

SSS

Organizasyon şemasını bir web uygulamasına entegre edebilir miyim?

Evet, organizasyon şeması oluşturmayı bir web uygulamasına entegre edebilirsiniz.

Organizasyon şemasını diğer formatlara aktarmak mümkün müdür?

Evet, organizasyon şemasını ihtiyaçlarınıza göre PDF, PNG veya SVG gibi çeşitli formatlara aktarabilirsiniz.

Ayrıca bakınız