vdcasino
betexper
imajbet
perabet
casinomaxi
ilbet
Go to previous topic
Go to next topic
آخرين ارسال 02 آبان 1396 01:09 ب.ظ توسط ghorbi
تولید ساختار فایل XML اعضا جهت فراخوانی اطلاعات دانشجویان در نرم افزار سیدا(دانشگاه آزاد)
�15 پاسخ
مرتب:
مولف پيغام ها
کاربر پیشرفته
کاربر پیشرفته

--
28 آذر 1392 10:24 ق.ظ

     پس از بررسی های انجام شده بر روی Database مربوط به آموزش در واحدهای دانشگاه آزاد، در واحدهایی که از نرم افزار SIDA (سیدا) استفاده می کنند، می توان از Query زیر در SQL جهت اخذ خروجی XML استفاده نمود:

     

    use [Amozesh]

    go

    SELECT 

           'P' as 'Category'

          ,'S' as 'OrgActKind'

          ,replace(replace([Amozesh].[dbo].[fsf].[stcode],'m',''),'b','') as MemberNum

          ,replace(replace([Amozesh].[dbo].[fsf].[stcode],'m',''),'b','') as BarCode

          ,replace(replace([Amozesh].[dbo].[fsf].[stcode],'m',''),'b','') as StudentNum

          ,[family] as Name

          ,[name] as FirstName

          ,[namep] as FatherName

          ,[idd] as GenNote

          ,[idd_meli] as NationNum

          ,(case When Rtrim(ltrim([idd_meli])) = '' Then Null

            else

            [idd_meli]

            End) as Pass        

          ,(case [sex] When 1 then 'M'

                       When 2 then 'F'

            End ) as Sex

          ,addressd  as 'Address'

          ,tel as PhoneNum

          ,magh as Grade

          ,idresh as Course

          ,'13920101' as MStartDate  -- جهت تاریخ شروع عضویت

          ,(case [code_posti] when '' then null

                              when null then null

                              else ('کد پستی: ' + code_posti)

    end) as AddrNote 

          ,magh  as DefaultP      

      FROM [fsf] inner join fsf2 on [Amozesh].[dbo].[fsf].[stcode]  = [Amozesh].[dbo].[fsf2].[stcode]  

      where (idvazkol = 1 or idvazkol = 2) -- جهت دانشجویان فعال

    --  and [Amozesh].[dbo].[fsf].[stcode] like '93%' -- جهت دانشجویان مربوط به سال و ترم ورودی

    FOR XML raw('Member'),ROOT('Members')

     

    نکته: نام Database یا (پایگاه داده) (که با رنگ سبز در ابتدای Query مشخص شده است) می تواند در واحدهای دانشگاه آزاد های مختلف، متفاوت باشد.

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

    نکته: موارد مشخص شده با رنگ صورتی، توضیحات مربوط به مقدار فیلد و روش استخراج آن می باشد.

    نکته: روش ذکر شده تنها زمانی کاربرد دارد که زیرساخت ها و جداول پایه سیستم امانت، مشابه تعاریف مورد نظر در نرم افزار سیدا باشد. به عنوان مثال، کد های رشته های مشخص شده در نرم افزار امانت مشابه کد های مشخص شده در نرم افزار سیدا باشد. فهرستی از فیلدهای مورد نظر به شرح زیر می باشد:

    • کد مقطع: استفاده شده در "کد مقطع تحصیلی" و "نوع خدمات عضویت"
    • کد رشته: استفاده شده در "کد رشته تحصیلی"
    کاربر باتجربه
    کاربر باتجربه

    --
    28 آذر 1392 10:46 ق.ظ
    با تشکر از آقای قربی

    مطلب خیلی خوب بود. فقط چند نکته برای یادآوری:

    1. ممکن است معنی بعضی از فیلدها بسته به نوع عضو متفاوت باشند. این مطلب در سیدا باید بررسی شود.

    2. فایل وارده ما می‌تواند شامل جداول پایه هم باشد که برای کنترل‌های دقیق‌تر جهت رفع نگرانی‌های به حق ذکر شده در انتهای پست شما می‌تواند مفید باشد. هر چند تولید آنها کار ساده‌ای نیست.

    اگر مطلب دیگری هم به نظرم آمد در همین پست ذکر خواهم کرد.

    موفق باشید.
    کاربر باتجربه
    کاربر باتجربه

    --
    05 دی 1392 11:37 ق.ظ

    با تشکر از آقای قربی بخاطر این Query که مورد استقبال 99% مراکز قرار میگیرد
    لازم بذکر است که اکثر مراکز اصلا نمیتوانند خروجی XML از SQL بگیرند

    کاربر باتجربه
    کاربر باتجربه

    --
    05 دی 1392 04:37 ب.ظ
    با تشکر از آقای ملائی‌نژاد

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

    لطفا بیشتر توضیح دهید.

    موفق باشید.
    کاربر باتجربه
    کاربر باتجربه

    --
    05 دی 1392 07:14 ب.ظ

    با تشکر از آقای نجفی
    منظورم اینست که اکثر اوقات شاهد بودیم که دانش تولید فایل XML را از طریق SQL ندارند و بیشتر از ما درخواست دارند که امکان فراخوانی فایل Excel را فراهم کنیم

    کاربر باتجربه
    کاربر باتجربه

    --
    23 دی 1392 10:04 ق.ظ

     با تشکر از آقای قربی

     
    به جهت مستند شدن فرایند تبدیل اطلاعات اعضا از سیدا چند سوال و ابهام وجود دارد که با پاسخ شما روشن خواهد شد:
     
    1- در این روش فقط اعضای دانشجو منتقل می شوند. در مورد اعضای دیگر مانند کارمندان و هیات علمی چه راهی پیشنهاد می شود؟
     
    2- دانشجویان فعال در این روش به چه معنی است؟ آیا منظور دانشجویانی هستند که تسویه حساب نکرده اند؟
     
    3- ظاهرا در این حالت، تمام دانشجویان اعم از اعضای معتبر و غیرمعتبر وارد سیستم می شود. در مورد شناسایی و غیرفعال کردن (یا حذف) اعضای غیر معتبر چه راهکاری وجود دارد؟
     
    4- جدول رشته ها (Course ) آیا برای تمام واحدها با یک استاندارد واحد و مشابه تعریف شده است یا این که در هر واحد باید ابتدا جدول رشته های خاص آن مرکز را در جداول پایه تعریف کنیم؟
     
    5- آیا انواع خدمات عضویت نیز برای تمام واحدها استاندار واحدی است یا این که در این مورد هم باید برای هر مرکز خدمات عضویت مخصوص به آن مرکز را تعریف کنیم؟
     
    با سپاس مجدد
     
    کاربر پیشرفته
    کاربر پیشرفته

    --
    23 دی 1392 10:14 ق.ظ

    با تشکر از آقای تاریوردی 
    پاسخ سوالات شما به ترتیب زیر بیان می گردد: 
    1. در نرم افزار سیدا تنها اطلاعات دانشجویان ثبت و نگهداری می شود، بنابراین اطلاعات کارمندان و هیات علمی در خروجی سیدا قرار ندارد. در صورت نیاز به فراخوانی اطلاعات می بایست اطلاعات کارمندان و هیات علمی نیز در قالب XML و با اطلاعات فیلد های مربوطه، در سیستم فراخوانی گردد. 
    2. در نرم افزار سیدا، فیلدی تحت عنوان "idvazkol" وجود دارد که مقدار 1 و 2 برای آن، شامل تمام دانشجویانی می شود که فارغ التحصیل نشده اند. 
    3. در صورتی که در نرم افزار قبلی بتوان از شماره دانشجویی اعضای تسویه حساب شده خروجی گرفت(حتی TEXT)، می توان توسط یک Query اعضا تسویه حساب نموده را در نرم افزار امانت با اطلاعات سیدا نیز مشخص نمود. در صورتی که اطلاعات تسویه حساب اعضا نیز وجود نداشته باشد که هیچ کاری نمی توان انجام داد. 
    4. تا آنجا که بنده اطلاع دارم، کد رشته ها در تمام دانشگاه هایی که از سیدا استفاده می کنند برابر است. ولی هر مرکز بسته به نیاز و رشته واحد بومی خودش از این رشته ها استفاده می کند. بنابراین می توان از ورود رشته بدون استفاده به نرم افزار جلوگیری نمود. البته حذف رشته های فاقد استفاده، بعد از فراخوانی اطلاعات اعضا منطقی تر میباشد. 
    5. در رابطه با مقطع تحصیلی و خدمات عضویت نیز، رفتار مشابه مورد 4 می باشد. البته در رابطه با مورد های 4 و 5 هنوز نیاز به تجربه و زمان داریم تا بتوانیم مطمئن تصمیم گیری نماییم. 

    در هر صورت ممکن است بنا به درخواست واحد های دانشگاه آزاد، امکانی در نرم افزار سیدا فراهم شود که بتوان خروجی مستقیم جهت فراخوانی در نرم افزار امانت را توسط برنامه نویسان نرم افزار سیدا پیاده سازی نمود. البته این مورد با مسئولان مربوطه در دانشگاه های مختلف در میان گذاشته شده است و ممکن است در آینده ای نزدیک به یکپارچگی در این سیستم (سیدا) برسیم.

    کاربر پیشرفته
    کاربر پیشرفته

    --
    19 مهر 1395 12:12 ب.ظ
    در ادامه مباحث مطرح شده:

    جهت اسفاده از کلمه عبور در فایل XML، مقدار کدملی عضو، در فیلد Pass قرار می‌گیرد:


          ,[idd_meli] as Pass

    کاربر پیشرفته
    کاربر پیشرفته

    --
    01 آبان 1395 02:35 ب.ظ

    با سلام مجدد

       طی درخواست بسیاری از دوستان و کاربران واحدهای دانشگاه آزاد اسلامی، مبنی بر انتقال تصاویر دانشجویان از سیستم آموزش به سیستم کتابخانه، Query مورد نظر تهیه گردید که در پست بعد خدمتتان ارائه میگردد:


    کاربر پیشرفته
    کاربر پیشرفته

    --
    01 آبان 1395 02:35 ب.ظ

    use [Amozesh]
    go
    SELECT  1 AS Tag, 0 AS Parent,
           'P' as 'Member!1!Category'
          ,'S' as 'Member!1!OrgActKind'
          ,replace(replace([Amozesh].[dbo].[fsf].[stcode],'m',''),'b','') as 'Member!1!MemberNum'
          ,replace(replace([Amozesh].[dbo].[fsf].[stcode],'m',''),'b','') as 'Member!1!BarCode'
          ,replace(replace([Amozesh].[dbo].[fsf].[stcode],'m',''),'b','') as 'Member!1!StudentNum'
          ,[Amozesh].[dbo].[mobile].[mobile] as 'Member!1!SmsNo'
          ,replace([Amozesh].[dbo].[fsf2].[date_tav],'/','') as 'Member!1!BirthDate'
          ,[family] as 'Member!1!Name'
          ,[name] as 'Member!1!FirstName'
          ,[namep] as 'Member!1!FatherName'
          ,[idd] as 'Member!1!GenNote'
          ,[idd_meli] as 'Member!1!NationNum'
          ,(case When Rtrim(ltrim([idd_meli])) = '' Then Null  else   [idd_meli]  End) as 'Member!1!Pass'
          ,(case [sex] When 1 then 'M' When 2 then 'F' End ) as 'Member!1!Sex' ,addressd  as 'Member!1!Address'
          ,tel as 'Member!1!PhoneNum'
          ,magh as 'Member!1!Grade'
          ,idresh as 'Member!1!Course'
          ,'13920101' as 'Member!1!MStartDate'  -- جهت تاریخ شروع عضویت
          ,(case [code_posti] when '' then null when null then null else ('کد پستی: ' + code_posti) end) as 'Member!1!AddrNote'
          ,magh  as 'Member!1!DefaultP'
          ,replace(replace([Amozesh].[dbo].[fsf].[stcode],'m',''),'b','') AS [Member!1!Key], NULL AS [Photo!2!!CDATA]
    FROM [amozesh].[dbo].[fsf] inner join fsf2 on [Amozesh].[dbo].[fsf].[stcode]  = [Amozesh].[dbo].[fsf2].[stcode]  
    inner join [amozesh].[dbo].[mobile] on [Amozesh].[dbo].[mobile].[stcode]  = [Amozesh].[dbo].[fsf].[stcode]  
          where ([Amozesh].[dbo].[fsf].[idvazkol] = 1 or [Amozesh].[dbo].[fsf].[idvazkol] = 2) -- جهت دانشجویان فعال
          -- and ([Amozesh].[dbo].[fsf].[stcode] like '95%') -- جهت دانشجویان مربوط به سال و ترم ورودی
    UNION ALL
    SELECT 
    2,
    1,
    null as 'Member!1!Category', --1
    null as 'Member!1!OrgActKind',
    null as 'Member!1!MemberNum',
    null as 'Member!1!BarCode',
    null as 'Member!1!StudentNum',
    null as 'Member!1!SmsNo',
    null as 'Member!1!BirthDate' ,
    null as 'Member!1!Name',
    null as 'Member!1!FirstName',
    null as 'Member!1!FatherName',
    null as 'Member!1!GenNote',
    null as 'Member!1!NationNum',
    null as 'Member!1!Pass',
    null as 'Member!1!Sex',
    null as 'Member!1!Address',
    null as 'Member!1!PhoneNum',
    null as 'Member!1!Grade', --15
    null as 'Member!1!Course',
    null as 'Member!1!MStartDate', --17
    null as 'Member!1!AddrNote',
    null as 'Member!1!DefaultP' ,

    replace(replace([amozpic].[dbo].[stuimage].[stcode],'m',''),'b','') AS [Member!1!Key],

    [amozpic].[dbo].[stuimage].[stu_pic] AS [Photo!2!!CDATA]
    FROM [amozpic].[dbo].[stuimage]
    where ([amozpic].[dbo].[stuimage].[stcode] like '96%')
    order by [Member!1!Key] , Parent 
    FOR XML EXPLICIT, BINARY BASE64,ROOT('Members')
    کاربر پیشرفته
    کاربر پیشرفته

    --
    01 آبان 1395 02:54 ب.ظ

    همچنین فایل از نوع txt به پیوست همین پست قرار گرفته است که دوستان می توانند از آن استفاده نمایند.

    در انتها از زحمات همکار گرامی جناب آقای علی‌نژاد نیز که در تهیه این Query بسیار زحمت کشیدند، قدرانی می‌شود.

     

    با سپاس

    (قربی)

    پيوست ها
    کاربر پیشرفته
    کاربر پیشرفته

    --
    05 آبان 1395 11:45 ق.ظ

    با درود

    با توجه به سوالات متعدد دوستان و استفاده‌کنندگان محترم مراحل فراخوانی فایل XML به شرح زیر بیان می‌گردد:

    ابتدا از طریق منوی اعضا، گزینه "فراخوانی اطلاعات اعضا" را انتخاب نمایید. سپس از طریق منوی بالا به ترتیب مراحل زیر طی نمایید:

    1. فراخوانی فایل XML اخذ شده از SQL: جهت معرفی فایل XML مورد نظر مورد استفاده قرار می‌گیرد.
    2. کنترل نامتناقض بودن اطلاعات فایل ورودی: این گزینه اطلاعات موجود در فایل XML را مورد بررسی قرار می‌دهد و در صورت وجود مغایرت (خالی بودن برخی فیلدها، عدم وجود کد رشته، کد مقطع تحصیلی و ...) کاربر را با پیغام مناسب مطلع می‌سازد.
    3. کنترل نامتناقض بودن اطلاعات فایل وارده با اطلاعات موجود در سیستم: این گزینه اطلاعات موجود در فایل XML را با اطلاعات موجود در نرم‌افزار، مورد بررسی قرار می‌دهد و در صورت وجود مغایرت (تکراری بودن عضو و ...) کاربر را با پیغام مناسب مطلع می‌سازد.
    4. نمایش اطلاعات متناقض: از این گزینه جهت مشاهده اطلاعات متناقض استفاده می‌شود. لازم به ذکر است این گزینه دو وضعیتی می‌باشد. بطور مثال با کلیک اول، فهرست را فیلتر نموده و اطلاعات متناقض را نمایش می‌دهد و با کلیک دوم، مجددا تمام اطلاعات فایل وارده را نشان می‌دهد.
    5. حذف کلیه اطلاعات متناقض: در حالتی که گزینه "نمایش اطلاعات متناقض" فعال باشد(کلیک اول) ، از این گزینه جهت حذف اطلاعات متناقض استفاده می‌شود تا کاربر بتواند اطلاعات صحیح را وارد سیستم نماید.
    6. فراخوانی اطلاعات به سیستم: از این گزینه جهت ذخیره اطلاعات نامتناقض در سیستم استفاده می‌شود.

    با سپاس

    پيوست ها
    کاربر پیشرفته
    کاربر پیشرفته

    --
    30 مهر 1396 05:26 ب.ظ

    با سلام مجدد

    Query مربوط به اخذ تصاویر، با توجه به درخواست برخی واحدها مبنی بر درج تاریخ تولد و شماره موبایل اصلاح گردید. تغییرات انجام شده بصورت رنگی مشخص شده است.


    با سپاس

    (قربی)

    کاربر باتجربه
    کاربر باتجربه

    --
    01 آبان 1396 08:51 ق.ظ
    تشکر فراوان از همکاری دوستانه شما
    کاربر باتجربه
    کاربر باتجربه

    --
    01 آبان 1396 10:53 ق.ظ
    بنده هم به سهم خودم از این همکاری صمیمانه و بزرگواری آقای قربی تشکر می کنم.
    کاربر پیشرفته
    کاربر پیشرفته

    --
    02 آبان 1396 01:09 ب.ظ
    ممنون از شما دوستان عزیز


    ---