ایجاد نمودار سازمانی جاوا

نمودارهای سازمانی به ارائه ساختار یک سازمان کمک می کند و نمایش واضحی از سلسله مراتب و روابط بین نقش ها و بخش های مختلف ارائه می دهد. در این پست وبلاگ نحوه ایجاد نمودار سازمانی در جاوا را بررسی خواهیم کرد.

چرا یک نمودار سازمانی ایجاد کنیم؟

وضوح و ارتباطات: نمودارهای سازمانی به درک ساختار یک شرکت کمک می کند و ارتباط بین نقش ها و مسئولیت ها را آسان تر می کند.

کارایی: آنها به شناسایی روابط گزارش دهی و ساده کردن کانال های ارتباطی کمک می کنند.

مدیریت منابع: نمودارها با ارائه دید روشنی از نیروی کار و موقعیت آنها به مدیریت موثر منابع کمک می کنند.

ایجاد نمودار سازمانی - نصب API جاوا

شما می توانید نمودارهای سازمانی را در جاوا با پیکربندی محیط خود مانند نصب JDK و Java IDE ایجاد کنید. سپس، کتابخانه Conholdate.Total for Java را با استفاده از تنظیمات زیر در فایل pom.xml پروژه خود نصب کنید:

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

ایجاد نمودار سازمانی در جاوا

با دنبال کردن مراحل زیر می توانید یک نمودار سازمانی در جاوا ایجاد کنید:

  • Masters را از هر قالب موجود با کلاس Diagram بارگیری کنید.
  • مقادیری را برای ساخت سلسله مراتب مشخص کنید.
  • اشکال را وارد کنید و بین گره ها ارتباط ایجاد کنید.
  • نمودار سازمانی خروجی را با استفاده از روش ذخیره ارائه دهید.

قطعه کد زیر نحوه ایجاد نمودار سازمانی در جاوا را نشان می دهد:

// بارگذاری اصلی از هر نمودار، استنسیل یا الگوی موجود
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;
// مقادیر را برای ساخت سلسله مراتب تعریف کنید
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" });
// برای نگاشت نام رشته به id شکل بلند، یک Hashtable تعریف کنید
Hashtable shapeIdMap = new Hashtable();
// یک نمودار جدید ایجاد کنید
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // یک شکل مستطیل جدید اضافه کنید
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // ویژگی های شکل جدید را تنظیم کنید
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// ایجاد ارتباط بین گره ها
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);
    }
}

//طرح خودکار نمودار CompactTree
LayoutOptions compactTreeOptions = new LayoutOptions();
compactTreeOptions.setLayoutStyle(LayoutStyle.COMPACT_TREE);
compactTreeOptions.setDirection(LayoutDirection.DOWN_THEN_RIGHT);
compactTreeOptions.setEnlargePage(false);

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

// ذخیره نمودار
diagram.save("DrawCompactTreeChart_java.vsdx", SaveFileFormat.VSDX);

با استفاده از جاوا نمودار سازمانی را در قالب فلوچارت ایجاد کنید

شما می توانید نمودارهای سازمانی را در سبک های مختلف از جمله سبک فلوچارت ایجاد کنید. لطفا مراحل زیر را دنبال کنید تا نیازهای خود را برآورده کنید:

  • Masters را از شابلون موجود بارگیری کنید.
  • اتصال دهنده ها و گره های سازمان را اضافه کنید.
  • طرح بندی نمودار را مشخص کنید و نمودار خروجی را بنویسید.

کد نمونه زیر نحوه ایجاد نمودار سازمانی در قالب فلوچارت با استفاده از جاوا را نشان می دهد:

// بارگذاری اصلی از هر نمودار، استنسیل یا الگوی موجود
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;
// مقادیر را برای ساخت سلسله مراتب تعریف کنید
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" });
// برای نگاشت نام رشته به id شکل بلند، یک Hashtable تعریف کنید
Hashtable shapeIdMap = new Hashtable();
// یک نمودار جدید ایجاد کنید
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // یک شکل مستطیل جدید اضافه کنید
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // ویژگی های شکل جدید را تنظیم کنید
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// ایجاد ارتباط بین گره ها
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);
    }
}

//طرح بندی خودکار فلوچارت
LayoutOptions flowChartOptions = new LayoutOptions();
flowChartOptions.setLayoutStyle(LayoutStyle.FLOW_CHART);
flowChartOptions.setDirection(LayoutDirection.TOP_TO_BOTTOM);
flowChartOptions.setEnlargePage(true);

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

// ذخیره نمودار
diagram.save("DrawFlowChart_java.vsdx", SaveFileFormat.VSDX);

سفارشی سازی نمودارهای سازمانی

می توانید نمودار سازمانی را با تنظیم طرح، رنگ ها و برچسب ها مطابق با نیازهای سازمانی خود سفارشی کنید. برای یافتن بهترین نمایندگی برای سازمان خود می توانید گزینه های مختلفی را آزمایش کنید.

مجوز ارزیابی رایگان

شما می توانید برای ارزیابی API ها بدون هیچ گونه محدودیت ارزیابی، یک [مجوز موقت رایگان] درخواست کنید.

جمع بندی

ایجاد یک نمودار سازمانی در جاوا با دنبال کردن این مقاله یک فرآیند ساده است. با استفاده از APIهای مورد بحث، می توانید به راحتی ساختار سازمان خود را تجسم و سفارشی کنید زیرا نمودارهای سازمانی ابزارهای ارزشمندی برای افزایش ارتباطات، کارایی و مدیریت منابع در هر سازمان هستند. اگر می‌خواهید در مورد هر یک از نگرانی‌های خود صحبت کنید، لطفاً برای ما در [ انجمن 3 بنویسید.

سوالات متداول

آیا می توانم نمودار سازمانی را در یک برنامه وب ادغام کنم؟

بله، می توانید ایجاد نمودار سازمانی را در یک برنامه وب ادغام کنید.

آیا امکان صادرات نمودار سازمانی به فرمت های دیگر وجود دارد؟

بله، شما می توانید نمودار سازمانی را به فرمت های مختلف مانند PDF، PNG یا SVG بر اساس نیاز خود صادر کنید.

همچنین ببینید