




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
工業管理軟件Api接口和調度功能開發案例實訓指導書
一、實訓目的
本課程的教學目的是讓學生掌握工業管理軟件Api接口和調度功能的開發流程和關鍵技術。
從系統的需求分析出發,了解到開發需要實現和滿足的實際業務功能點:根據功能點的業務需求。
使用VisualStudio2019及以上開發工具對其進行開發實現,然后在功能中進行測試,完成Api接口和調
度功能的開發實現及效果驗證。
通過綜合實訓幫助學生全面牢固地掌握教學內容、培養學生的實踐動手能力,提高學生綜合運用專
業知識和專業技能解決實際問題的能力,強化課堂教學與實踐教學相結合,鍛煉學生的職業能力。
二、實訓準備
1、掌握C#編程開發技能。
2、了解工業管理軟件的基礎開發。
3、事先要能夠根據實訓工程源代碼,配置環境,搭建項目工程。
4、安裝好實訓開發環境,下載實訓工程源代碼。
5、Api接口和調度功能的開發依賴于采購訂單,需要先完成采購訂單功能的開發實現。
三、實訓環境
Windows10或以上操作系統(不能是Windows11家庭版)、VisualStudio2019或以上開發工具安裝、
數據庫可以選擇SqIServer數捱庫(安裝VS時將VS自帶的SqlServer安裝上,就可以不用單獨安裝
SqIServer的數據庫)或者Oracle數據庫(安裝ODAC、安裝Oracle客戶端、安裝PLSQL)、安裝
EAP.Modelfirst>VS中導入代碼片段。
四、實訓步驟
任務描述
本實訓讓學生體驗Api接口和調度功能的開發過程。通過本指導書展開詳細的開發步驟。
>任務:Api接口和調度功能
實現邏輯包括:
1.Api接口:
■傳入參數:傳入參數:開始時間和結束時間(不可為空),頁數(可為空,為空查第
一頁),頁數據量(可為空,為空查所有);
■接口實現邏輯:傳入的開始時間和結束時間去跟采購日期進行匹配,開始時間〈=采
購日期〈=結束時間,根據頁數和頁數據量將滿足條件的訂單和對應訂單明細的數據
返回;
■接口返回值說明:
?訂單包含的字段內容:訂單號、采購三期、訂單總金額、訂單狀態、備注;
?訂單明細包含的字段內容:產品編碼、產品名稱、采購價、銷售價、采購數量、
總金額、備注;
■接口完成后需要編寫接口卡。
2.調度任務功能:
■調度任務執行邏輯:根據頁數和頁數據量查詢采購信息,查詢數據按采購時間的升
序進行排序,通過調度定時去更改采購訂單的狀態,狀態變更的條件:
?訂單對應所有訂單明細的入庫數量為0,采購訂單的狀態變更為新建:
?訂單對應所有訂單明細的0〈入庫數量(采購數量,采購訂單的狀態變更為部分
接收:
?訂單對應所有訂單明細的入庫數量=采購數量,采購訂單的狀態變更為全部接收;
■調度參數:頁數、頁數據量,調度任務未配置頁數和頁數量,提示頁數和頁數據量
必須配置;
■調度任務必須記錄日志信息。
Api開放接I」效果:
SMOMAPI開放平臺
圖1-1Api開放接口效果
調度任務實現效果:
圖1-2調度任務效果
詳細開發步驟
1.Api接口和調度功能開發環境配置介紹
1)Api接口服務使用的是SIE.WebApiHost,要進行Api接口的調試測試,需要先將實現接口的服
務端工程添加依賴到SIE.WebApiHost,如我是在SETest工程實現的接口,需要先將該工程引
用到SIE.WebApiHost,并配置對應工程的數據庫連接。
Of<fevTe4tComroBer.esOdeiOetWTeuxsOrdetTeiUsPUfOrdc<WifoxiOrde*TctC8ttolkf,>U
?IQ-<x$)/4pp4ett??9?/?cnQJIQb-SOJ在
"ftptser".
nfo,:tru?.ClSMOMDemaVMtU4?l.■
?DModule(
-忌0@3
?r*:?$?.Lof.LotVSt-actoryMwtFSIELo,.?的HMtAp4MoM
:"UllaIJLIMJJAJSWW.■令Comett?d
.jpProperty
,”(?W!
4「:B
,?舊?了
ds-:30.?■■基
43
3mtlg*:(
,?:B
Xaae:Mst?r.>?’二乙一工程依賴
Conn^tionStrini":Seurc?=<U€alDe)\M6SgUx>c?lDB.AttachWiUMW=D:\gj?a\\DeHO\\SlKMDwo.V9.KJ.b?<
.DCD.91.Bdf.Iatetrat?dS?curityTrw;ls?rld4O0.91二、.ME
Happ^Htmq?>cn_____________
)*Ccr49u?4lionx?
?:(nDoeJAt
?XMW?:'I門r■二>*HoaWrvkext
"C<xm?ti(mStrin<-:-DataS4urce-(LocalD8)\\MS$aU4K?lD8.AttachWileM?-D:\\Pr?j?ctV.De)IO\\SM(?DM.¥9.IWApp.DataX砧k)94<Mixoafi9
.DtW.91.adf.latesr*tedS^uritnTn?e;Vi<rld*0CM0.9l*??"Pvogtm
DataSqlClient*.,*工程數jg庫連接配as?籍W^ApiSurtupxi
?星WeMKent
?BWp<lien<
Mae":*te?t,
Conn^tiofiStnnc*:Scarce*<LocalD8)\'JBSQUocalD8;AttachlfcFiWProjtct\\DDIO\.SMCMD??o.V9.]\\App.D?ta\
\DE?.9Ladf.lntecr?t?dS?curity=Trw;Vt<rI<J=€€M0.9二
FroviderXaM*:vSyste<Data.SqlClieat*
圖1-3SIE.WebApiHost添加Api接口對應工程依賴和數據庫配置
2)調度功能:
調度平臺使用的數據庫連接是hangfire,如果調試工程沒有添加hangfire的數據庫連接,需要先添加
上。
?m尸京gm>
*4ev.isMactmtBnabled*:tee.
23?FwOeveloper.ScnptiOir*:1>:\\VS_B?rkSp^<\\SMM\'JCttC?r<\\€or<\\SIB.?eb\\Scnpti\
34??!?.<pc!O\?14M
2S三'MlBdhpCS^etton*:(
2c占、xe?:(
27I'Fi】心tEion":a.txe".
28I*":**pplicAtion'?K*
:false.
51"DbMitrationKlstory\
S2?CormectionStriM*:Sourc?=(Uc?He)\\JBSqiLoe>lDB.AttacMbFil^n?=l>:\\ProJ<ct\\DtW\\S1IOIt.[W?.V9.l\VAppJku\
sdf.ZAt?grat?dS?curlty?True.lt*rld*DBK)_9l".
53I-Provider^Me':*$TsteB.Data.SqlCheat*
'X??”:一八"二
ConnectlonStriM*:'Data$0^33.]0"\163000^:08/八*(^£644]^???:0:\\P0"t'、\De?X\5WN.Dt?>.V9.八\AppJkr\?
\ttW_91.adf.IntegratedSecurityTrue.l??rId?DD?_9l,
'Provf“XM>”:vSystMLDAXA.
h*nsfir?:(
)??:?MMVe*
,CornetlonStrlftt-:'DataSource-lUxaHO)\\X$SQU<K?lD8;AttMfattFilenaM>(>:\\Proj<€t\\IOO\\SMOM.tW?>.V9.八\gjtau>
K?_91m”rN?S^uritr=Tru?.lt^Id=DD?_9l*
?ProvdrX":3yitm.Data.S^lCliMt9
圖1-4調度連接字符串配置
調試工程需要依賴調度平臺相關dll
/家3WebClient
>令ConnectedServices
/tProperties
>二PublishProfiles
⑹launchSettings.json
D等wwwroot
/跖依賴項
/“包
>。Microsoft.AspNetCore.SignalR.Protocols.h
°SIE.Alert.Job(9.1.21)
>的SIE.Messages(9.1.21)
>0SIE.MQ(9.1.21)
>0SIE.ORM.MappingColumn(9.1.21)
>,SIE.Queue(9.1.21)
>0SIE.Script(9.1.21)
0SIE.Session.Redis(9.1.21)
>0SIE.SimpleListReport(9.1.21)
>0SIE.Web.Alert(9.1.21)
°SIE.Web.Dashboard(9.1.21)
>,SIE.Web.Diagnostics(9.1.21)
>0SIE.Web.Localization(9.1.21)
>0SIE.Web.Mda(9.1.21)
0SIE.Web.Print(9.1.21)
>0SIE.Web.RBAC(9.1.21)
6SIE.Web.ReportServerCore(9.1.21)
>°SIE.Web.ReportServerCore.Mvc(9.1.21)
6SIE.Web.Schedule(9.1.21)|
>0SIE.Web.Senders(9.1.21)
>0Topshelf(4.2.1)
圖1-5調試工程依賴調度的程序集
調度平臺的表如果使用的是SQLSERVER的數據庫,是可以直接使用平臺的升級數據庫功能進行表的生
成;如果使用的是oracle的數據庫,則需要使用腳本在數據庫中執行,腳本如下。
也
Install.sql
圖1-6調度平臺oracle數據庫腳本
以上是做Api接口和調度功能要提前檢查和配置的開發環境,環境準備好后,接下來就進入到Api
接口和調度功能的開發實現了。
2.Api接口的功能開發
1)Api接口返回值訂單明細類的定義。
PurOrderlnfo.es+XOrderTestController.Api.es
回SIE.Test^I^SIE.Test.OrderTests.PurOrderlnfo?JI^PurOrderDe
45///我購訂單明細信息
46「,產二_一^需要聲明序列化
47[Serializable]
48publicclassPurOrderDetai1Info
49
50〃/<summary>產品編科|
1個引用
53publicstringProductCode(get:set;}
54
55|///<summary>產品名稱|
i個引用
58publicstringProductName{get:set:)
59
60III<summary>采購價
1個引用~
63publicdecinalPurchasePrice{get:set:}
64
65|/〃<summary>銷售價I一?類的屬性
1個引用~
68publicdecinalSellingPrice{get;set;}
69
70/〃<summary)采購數同
】個引用
73publicdecinalPurchaseQty{get:set:)
74
75|///<summary>總金額|
1個引用~
78publicdecinalTotalAmount{get:set;}
79
80III<summary>
1個引用~
83publicstringRemark(get;set;}
84
85
圖1-7Api接口返回值訂單明細類的定義
2)Api接口返回值采購訂單信息類的定義。
PurOrderlnfo.esOrderTestController.Api.es
回SIE.Test-I^SIE.Test.OrderTests.PurOrderDetaillnfo■SellingPrice
4
-namespaceSIE.Test.OrderTests
6(_____
:|/〃〈summary〉采購訂單信息
[Serializable]—'標記序列化特性
3個劇用
publicclassPurOrderlnfo
(
:///<summary>
///訂單號
///</sunrnary>
publicstringCrderNo{get;set;}
s
-[summary〉采購日期|
-1個引用~~
-publicDatelinePurchaseDate{get;set;}
21-
22
23E-E|/〃Csunmary〉訂單總金鬻
-1個引用
-
26publicdecimalTotalAmount{get;set;}訂單信息返回
27E
28.〈stimmary〉仃單狀態|值屬性定義
1個51周~
31publicintOrderStatus{get;set;}
32
由
33-V”〈summary)爸可
-1個引用
-
36-publicstringFemark{get;set;}
37s
38|/〃〈sunnary〉il?單明細|
2個引用~
41publicList<PurOrderDetailInfo>PurOrderDetaillnfos{get;set;}
42
圖1-8Api接口返回值訂單類的定義
3)在SIE.Test工程的OrderTests文件夾卜定義一個控制器,區分方法的控制器。
KfOdfvtnloxtOr4?rT*fKontroll?<^fa.Cf?X
BSIfleu
?naoespaceSILTest.OrderTests
央媾HJMSi推ilk
——一聲明為部分類
public|1:Ji]].“Ord
?<?Ofde<TonWrc*
圖1-9接口控制器的定義
4)訂單控制器類聲明為部分類。
?]%$CT“t?(MwTe<0OdtrTttfCoiwolw?]@JOfgHoQ%b-SO、?#"
S!B.AUrt.
iff萬—WBKtny
usingSILCooBcm.Coafigs:
uslntSIE.CoMon.Xu^MrRul?s;
usingSILDOMU.
usincSILOoMin.Validation.
uslnsSILTett.AlertPlust,
USlXlfSIB.Test.Helper;
utin(SIE.Test.0r4erTest*.C?cifits;
usinfSystM;
usingSyitmCollections.C?>*nc;
utintSyttM.Linq.
naae^ac*SIE.Test.OrderTests
一?需要將訂單的控制器類也聲明為部分類,否則會報港
publicdlelasiOr4erTeitControl!?r:DosaicCoatroller
publicvirtualstrideG?tOrderXoO
vareettfig=Co0fi<S?rvic?.C?tConfit(fwvOrd?rX<CenngOvtyp*of?OrdafT”t));
if(eeofig??trailIconfit-Ordex*(o??null)
thnwncUM&H<mE“eUonr未找fOJ承軟與矍瞋取■,訪。代現招配1T110KO):
return'\Service.UsolveCW^rRu!?Coetroller>0
.G?fi?rateSecBtnt(confit-Or^?r^o!d.I)
.HrstOrDefMltO:
>C?OfdevTe?'Pnnub4tf{t
圖1-10訂單控制器類聲明為部分類
5)獲取采購訂單信息的Api接口的實現
?□Tea
?SIE.Tttt.Ord?rT?stt
,QTeM
,@SILTwt
<swmry>
國體1M?
尼所訂艱心1依II控制》?
</八—iry)?DAlerts
?OApi
publicpartialclassOrderTestController(XdMinController?QApiModeK
?OCommon
?OControlton
///負取緊WHJ通信息,ODMM
///</su?Birr>?ODbM9fatiom
〃/graana?--5tftrtTi>e'
采中訂供開知時?□DHMU
<p*raaMB二、ndTiae"果明ij/p"r?a>
??OEmptoyeet
—Api接口開放標記?OEXAM
LApSS*TTic?(我取灰啊“甲41g>J
.DHdpec
:retura:ApxReturn(?女蜘ifListPurOrderInfo>")J——?接口返回值說明
?Olt?wTMU
21icSrtuadLi八PurOrd—kCIjtPUrOr&rLisMiADiPar-KyUK上開如時間")]DateTiaettaxtTiw.【ApiParineSr(?桌購給量?□A>b
r?DAteTlMendTise.PartUrU貝數.為中仔品PMtXiabtr.3HPAT?K”《‘我歐MM?%'fr"。■曰OrdefTm
向ff")Jmt?pageSixe)gmui業刖?DContig
接口返回類型接口參數?C?Ordc?CeS燈ertc
v<r?H?rInfos=ne?Li?t<ForOrd*-Info>()?C?OfdevUMPrkiubtext
?€■OrM初K,
returnorderInfos:?€■OrdefTestcs
?C?Ofd**TtttConUofl?f.Ap?x^
BC?OrMIcKoca必rc
圖1-11獲取訂單Api接匚實現
6)Api接口方法體的邏輯實現
OrderTestControllerJKpi.cs*X
▼1%SIE?TestQrderTests?OrderTestController
publicvirtualList<PurOrderInfo>GetPirOrderList([ApiParaaBter("采購開始時間")]DatelinestartTiroe,[ApiParaaeter("茶用結束時間")]
DateTimeendTime,[ApiParameter("頁姿,為空查第一頁")]int?pageNumber,[ApiParameter("頁數據數量,為主查所有")]int?pageSize)
varorderinfos■newList<PurOrderlnfo>0;
varpaginginfo■ne?PaginglnfoO
(
PageNusber=pageNumber.HasValue?pageNuaber.Value:1,
PageSize=pageSize.HasValue?pageSize.Value:int.MaxValue-1.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業園區的物業管理及服務創新
- 3工程變更管理制度
- 7s標準化管理制度
- 標準體系建設管理制度
- 樹脂庫房安全管理制度
- 校區消毒日常管理制度
- 校園出租場地管理制度
- 校園存儲衣物管理制度
- 校園店鋪人員管理制度
- 校園洪澇安全管理制度
- 2024年注冊會計師考試《會計》真題及答案解析
- 南通市啟東市醫療衛生單位招聘事業編制人員考試真題2024
- 2024-2025學年度人教版二年級數學下學期期末試卷(含答案)
- 北京限額以下小型工程安全生產管理規范解讀
- 2024金融算力基礎設施發展報告
- 國際壓力性損傷-潰瘍預防和治療臨床指南(2025年版)解讀課件
- GB/T 27060-2025合格評定良好實踐指南
- 煤礦質量標準化建設實施方案
- 作物栽培學知到課后答案智慧樹章節測試答案2025年春中國農業大學
- 甘肅蘭州歷年中考語文文言文閱讀試題36篇(含答案與翻譯)(截至2024年)
- 2025年執業藥師繼續教育試題題庫和參考答案(完整版)
評論
0/150
提交評論