华为云用户手册

  • 请求示例 { "pageStart": 0, "pageSize": 100, "imageLevel": "智能生活馆", "taskScene": "【现场巡检2.0】-智能生活馆", "region": [ "江苏-生活馆" ], "sceneVersion": "1.0", "startDate": "2022-04-14", "endDate": "2023-05-14", "orderBy": 0}
  • 请求参数 参数 类型 是否必填 描述 pageStart int 否 当前页码:从0开始 pageSize int 否 每页数量:默认15条, 最多100条 imageLevel String 是 全球形象等级 region String 否,单选 不选时默认全国 代表处 taskScene String 是 任务场景 sceneVersion String 否 任务场景版本 position String 否 岗位 startDate date 是 开始时间 endDate date 是 结束时间
  • 响应示例 { "status": "200 OK", "msg": "", "data": { "fileId": 7672867, "fileName": "佩戴安全帽.jpg", "childObjectName": null, "filePath": null, "fileSize": 408477, "fileType": "Thumbnails", "hwFileId": null, "fileExt": "jpg", "uploadTime": "2024-04-28T07:59:12.570+00:00", "creationDate": "2024-04-28T07:59:12.590+00:00", "createdBy": 930234, "tenantId": 53955, "uploadUserId": 930234, "deleteFlag": 0, "cryptMode": null, "funcPoint": "qcCheckCollectData", "microCode": "qc-check", "sourceTenantId": 53955, "storageMode": "local", "objectName": null, "entityName": "File", "lastUpdatedBy": 930234, "lastUpdateDate": "2024-04-28T07:59:12.590+00:00", "appName": "file-server", "affectedRows": 1 }, "success": false, "failed": false}
  • 响应参数 参数 类型 描述 status String 状态,failed | success。 msg String 消息。 data Object 响应结果内容data。 data出参 参数 类型 描述 filePath string 文件路口 fileSize Long 文件大小 microCode string 微码 hwFileId long 文件的GUID fileName string 文件名称 fileExt string 文件扩展名 uploadTime long 上传时间 creationDate datetime 创建时间 createdBy string 创建人 uploadUserId long 上传用户ID deleteFlag Integer 删除标识:0未删除,1已删除 entityName string 实体名称 fileId long 文件id lastUpdatedBy string 最后更新人 appName string app名称 affectedRows Int 受影响的行数
  • 请求参数 参数 类型 是否必填 描述 imageLevel String 必选 全球形象等级 region String 可选 代表处 taskScene String 必选 任务场景 sceneVersion String 可选 任务场景版本 position String 可选 岗位 startDate date 必选 开始时间 endDate date 必选 结束时间 pageStart int 可选 当前页码:,从0开始 pageSize int 可选 每页数量:默认15条,最多100条 queryFlag int 可选 0:降序;1:升序。默认降序
  • 响应示例 { "errorMessage": "成功", "result": { "data": [ { "detail": [ { "score": 100, "storeName": "华为智能生活馆 贵阳华润万象汇" }, { "score": 100, "storeName": "华为智能生活馆 西安大唐西市城" }, { "score": 100, "storeName": "华为智能生活馆 潍坊谷德广场" }, { "score": 100, "storeName": "华为智能生活馆 大同星茂汇" }, { "score": 100, "storeName": "华为智能生活馆 合肥旭辉Cmall" } ] } ], "pos": 0, "totalCount": 15 }, "stateCode": "0"}
  • 响应参数 参数 类型 描述 stateCode String 响应状态码: 0-成功 其他-失败 errorMessage String 响应描述 result Object 响应结果内容data、分页数据 result出参: 参数 类型 描述 exception String 接口调用异常日志 identificationProcess String 识别过程 intelligentEvaType Integer 智能评审类型 1:图片智能评审 2:人员资质审核 itemId Long 该图片所对应的检查项ID lastReview String 是否为最后一次智能评审 markedPhotoId Long 智能评审标记后的图片ID oprateType Integer 操作类型:1-保存;2-提交 photoId String 智能评审图片ID picPassMk String 智能评审结果是否通过 taskId Long 该图片所对应的任务ID
  • 响应示例 { "errorMessage": null, "result": [ { "exception": "警示牌:没有识别到该对象!,", "identificationProcess": null, "intelligentEvaType": 1, "itemId": 5067203, "lastReview": "Y", "markedPhotoId": "5010365", "oprateType": 2, "photoId": "5010365", "picPassMk": "N", "picResult": "N", "taskId": 5001444 } ], "stateCode": "0"}
  • 请求示例 { "hwFileId": "01e72fe0-43b0-4b84-a843-d5c0b75d1e7e", "uploadId": "08d4d65b-0d8b-406f-892f-1dcac0908047", "funcPoint": "trainingCourseVideo", "fileName": "video.mp4", "totalChunks": 1, "fileSize": 9602614}
  • 响应示例 { "status": "success", "msg": null, "data": { "filePath": null, "fileSize": 9602614, "microCode": "training-server", "fileName": "video.mp4", "storageMode": "local", "objectName": null, "fileExt": "mp4", "hwFileId": null, "uploadTime": "2024-04-18T07:46:03.680+00:00", "creationDate": "2024-04-18T07:46:03.717+00:00", "createdBy": 930234, "tenantId": 53955, "uploadUserId": 930234, "deleteFlag": 0, "cryptMode": null, "funcPoint": "trainingCourseVideo", "sourceTenantId": 53955, "entityName": "File", "fileId": 7671701, "lastUpdatedBy": 930234, "lastUpdateDate": "2024-04-18T07:46:03.717+00:00", "appName": "file-server", "affectedRows": 1, "childObjectName": null }, "success": true, "failed": false}
  • 响应参数 参数 类型 描述 status String 状态,failed | success。 msg String 消息。 data Object 响应结果内容data。 data出参 字段名 数据类型 字段名称 filepath string 文件路口 fileSize Long 文件大小 microCode string 微码 fileName string 文件名称 storageMode string 存储模式 objectName string 对象名称 fileExt string 文件扩展名 hwFileId long 文件的GUID uploadTime long 上传时间 creationDate datetime 创建时间 createdBy string 创建人 tenantId long 租户ID uploadUserId long 上传用户ID deleteFlag Integer 删除标识:0未删除,1已删除 cryptMode String 加密模式 funcPoint String 功能点 entityName string 实体名称 fileId long 文件id lastUpdatedBy string 最后更新人 appName string app名称 affectedRows Int 受影响的行数 childObjectName string 子对象名称
  • 请求参数 参数 类型 是否必填 描述 pageStart int 可选 当前页码:从0开始 pageSize int 可选 每页数量:默认15条, 最多100条 imageLevel String 必选 全球形象等级 region String 可选,单选 不选时默认全国 代表处 taskScene String 必选 任务场景 sceneVersion String 可选 任务场景版本 position String 可选 岗位 startDate date 必选 开始时间 endDate date 必选 结束时间
  • 响应示例 { "stateCode": "0", "errorMessage": "成功", "result": { "pos": 0, "totalCount": 16, "data": [ { "kcpOverallDeduct": null, "itemOverallRate": "98%", "kcpDetail": [ { "itemQualifiedNum": 42, "kcpDeductRate": null, "kcpQualifiedRate": "100%", "deductPoints": null, "kcpName": "EHS相关", "itemUnqualifiedNum": 42, "itemDetail": [ { "itemName": "口罩酒精", "qualifiedNum": 51, "qualifiedRate": "94.44%" }, { "itemName": "急救箱", "qualifiedNum": 51, "qualifiedRate": "100.00%" }, { "itemName": "消防安全", "qualifiedNum": 54, "qualifiedRate": "100.00%" }, { "itemName": "消防安全通道", "qualifiedNum": 53, "qualifiedRate": "100.00%" }, { "itemName": "灭火器", "qualifiedNum": 55, "qualifiedRate": "100.00%" }, { "itemName": "灭火器副本", "qualifiedNum": 1, "qualifiedRate": "100.00%" }, { "itemName": "用电安全", "qualifiedNum": 53, "qualifiedRate": "100.00%" } ] } ] } ] }}
  • 请求示例 { "name": "场景模版20240621", "version": "1.0.0", "data": { "sceneList": [ "5006334" ], "taskSchedule": true, "taskDemo": true, "issueConfig": true }, "tags": [ "学科", "save" ]}
  • 响应示例 { "stateCode": "0", "errorMessage": null, "result": { "data": [ { "signId": 23433, "tenantId": 50568, "tenantName": null, "projectNo": "172725599443750568", "projectName": "打卡", "signSiteCode": "打卡", "signSiteName": "打卡", "signUserId": "74427", "signTimestamp": 1727406647273, "signDate": "2024-09-27T03:10:47.000+00:00", "signLocation": "科技二路", "signDistanceToSite": "59", "signAddress": null, "signDistanceToTask": null, "photoFileList": null, "signNote": null, "signForceHenceFlag": "N", "forceFenceFlag": "N", "createName": "xjx", "outsideFlag": null, "signPhotoModelList": [ { "appName": "lite-isdp-server", "createdBy": 74427, "createName": "xjx", "creationDate": "2024-09-27T03:00:42.000+00:00", "creationTimestamp": 1727406647385, "deleteFlag": 0, "entityName": "signPhoto", "lastUpdateDate": "2024-09-27T03:00:42.000+00:00", "lastUpdatedBy": 74427, "lastUpdateName": "xjx", "lastUpdateTimestamp": 1727406647690, "photoId": 17550515, "signId": 23433, "signPhotoId": 1011, "status": null, "tenantId": 50568, "tenantName": null, "waterMarkId": 17550516, "waterMarkInfo": "", "waterMarkKey": "" } ], "taskName": null, "subTaskName": null, "procedureName": null, "waterMarkId": "17550516", "identityComparisonResult": null, "taskClock": null }, { "signId": 23430, "tenantId": 50568, "tenantName": null, "projectNo": "172725599443750568", "projectName": "打卡", "signSiteCode": "打卡", "signSiteName": "打卡", "signUserId": "74427", "signTimestamp": 1727404701577, "signDate": "2024-09-27T02:38:22.000+00:00", "signLocation": "", "signDistanceToSite": "12455891", "signAddress": null, "signDistanceToTask": null, "photoFileList": null, "signNote": null, "signForceHenceFlag": "N", "forceFenceFlag": "Y", "createName": "xjx", "outsideFlag": null, "signPhotoModelList": [], "taskName": null, "subTaskName": null, "procedureName": null, "waterMarkId": null, "identityComparisonResult": null, "taskClock": null }, { "signId": 23429, "tenantId": 50568, "tenantName": null, "projectNo": "172725599443750568", "projectName": "打卡", "signSiteCode": "打卡", "signSiteName": "打卡", "signUserId": "74427", "signTimestamp": 1727404698271, "signDate": "2024-09-27T02:38:18.000+00:00", "signLocation": "", "signDistanceToSite": "12455891", "signAddress": null, "signDistanceToTask": null, "photoFileList": null, "signNote": null, "signForceHenceFlag": "N", "forceFenceFlag": "Y", "createName": "xjx", "outsideFlag": null, "signPhotoModelList": [], "taskName": null, "subTaskName": null, "procedureName": null, "waterMarkId": null, "identityComparisonResult": null, "taskClock": null } ], "pos": 0, "total_count": 3, "entityName": null, "totalCount": 3 }}
  • 请求示例 { "locationCode": "打卡", "projectCode": "172725599443750568", "userAccount": "15038709978", "beginTime": "1727366400000", "endTime": "1727539199000", "outsideFlag": "N", "page": { "start": 0, "count": 20 }}
  • 请求参数 参数 类型 是否必填 描述 locationCode String 否 作业对象编码 projectCode String 否 项目编码 userAccount String 否 人员账号 beginTime String 否 打卡开始时间 endTime String 否 打卡结束时间 outsideFlag String 否 是否强制围栏 page 是 { "start":0, "count":20 }
  • 请求示例 { "submitterAccount": "18829266016", "taskList": [ { "subTaskList": [ { "subTaskId": 5031792, "kcpList": [ { "kcpName": "kcp1", "itemList": [ { "outputList": [ { "outputName": "字符", "value": "测试采集字段" } ], "itemName": "Item1" } ] } ] }, { "subTaskId": 5031793, "kcpList": [ { "kcpName": "kcp1", "itemList": [ { "outputList": [ { "outputName": "字符", "value": "测试采集字段" } ], "itemName": "Item1" } ] } ] } ], "taskId": 5085068 } ], "type": "1", "dataSource": "appcube"}
  • 具体步骤 发送“POST https://ISDP+ Endpoint/oauth2/oauth/rest_token”。 Token认证,具体操作请参考认证鉴权。 ISDP+ Endpoint,请参见API接口中API的描述。 在Request Header中增加“Authorization”和“Content-type”。 Content-Type:消息体的类型(格式),请参见API接口中API的描述。 Authorization:ISDP+ Token。Token也就是步骤1调用ISDP+ Token接口的响应值“access_token”和“token_type”的组合(token_type access_token)。 在Request Body中传入参数样例: POST https://xxx.com/openapi/v1/openSceneTask/createTaskAuthorization: bearer XXXXXXXXXXXXXXContent-Type: application/json{ "taskQueries": [ { "customerTaskId": "95599", "taskName": "客服工单001号", "signSiteName": "XX省XX市", "sceneName": "质量模板测试", "assignedUserType": "1", "assignedUser": "13600000001", "supplierName": "测试", "beginTimestamp": "20220228", "endTimestamp": "20220228", "taskRemark": "故障描述", "taskExtendList": "", "address":"故障地址名称", "customerName":"用户姓名" } ]} 返回如下响应,表示新增任务成功。响应消息样例如下: { "stateCode": "0", "errorMessage": null, "result": [ { "status": "0", "message": "保存成功", "customerTaskId": "95599", "taskId": 131129 } ]} 若请求失败,则会返回错误码及对应的错误信息说明,详细错误码信息请参考错误码。
  • 请求消息头 附加请求头字段,如指定的URL和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表3。 表3 公共请求消息头 消息头名称 描述 是否必选 Content-Type 消息体的类型(格式),HTTP协议中设定的一个参数,用于标识返回的内容用什么格式去解析。 消息体的类型请参见API接口中API的说明。 是 Authorization ISDP+的Token,调用ISDP+的API要用到的访问令牌,在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 当前示例中API功能为 获取Token ,因此调用该接口时,不用填写本字段。 否 对于获取ISDP+ Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://isdpcloud-beta.xxx.huawei.com/oauth2/oauth/rest_tokenContent-Type: application/json
  • 请求URL 请求URL由如下部分组成。 {URL-scheme}://{Endpoint}/{resource-path}?{query-string} 表1 请求URL 参数 说明 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器 域名 或IP。 resource-path 资源路径,即API访问路径。从具体API的URL模块获取,例如“获取ISDP+Token”API的resource-path为“/oauth2/oauth/rest_token”。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取ISDP+的Token,“/oauth2/oauth/rest_token”为资源路径,假设ISDP+测试环境域名为“isdpcloud-beta.xxx.huawei.com”,URL拼接起来如下所示。 https://isdpcloud-beta.xxx.huawei.com/oauth2/oauth/rest_token
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取ISDP+ Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。 将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中***********为应用ID,xxxxxxxxxx为应用令牌,获取方法请参见创建应用。 POST https://isdpcloud-beta.xxx.huawei.com/oauth2/oauth/rest_tokenContent-Type: application/json{ "client_id": "isdp-xxxx-openapi", "client_secret": "isdp-xxxx-openapi", "grant_type": "password", "username": "**********", "password": "xxxxxxxxxx"}
  • 发起请求 到这里为止这个请求需要的内容就具备齐全了,您可以使用Postman或直接编写代码等方式发送请求调用API。 对于获取ISDP+ Token接口,返回的响应消息体中“access_token”和“token_type”就是组成ISDP+ Token的值。有了Token之后,您就可以使用Token认证调用其他ISDP+ OpenAPI。 ISDP+ Token=“token_type access_token”(注意两个字段之间有空格)。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 表2 HTTP请求方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取ISDP+ Token的URL部分,您可以看到其请求方法为“POST”,则其请求为: POST https://isdpcloud-beta.xxx.huawei.com/oauth2/oauth/rest_token
  • 响应示例 { "stateCode": "0", "errorMessage": null, "result": { "data": [ { "adminOrganizationCode": "830;21494", "adminOrganizationName": "XXXX总公司;XX111", "createdBy": 153169, "createName": "lyl", "creationTimestamp": 1615432302612, "fromSceneId": 4059, "isApplyApprove": 0, "isNewVersion": 0, "lastUpdatedBy": 153169, "lastUpdateName": "lyl", "lastUpdateTimestamp": 1615448819406, "reviewProcessId": null, "reviewProcessName": null, "sceneCode": "PS20210311111142612", "sceneId": 4073, "sceneLicense": null, "sceneMode": null, "sceneName": "0311测试-003", "sceneRemark": "", "sceneStatus": 0, "sceneType": 2, "sourceSceneId": 4059, "version": "1.1" }, { "adminOrganizationCode": "830;21494", "adminOrganizationName": "XXXX总公司;XX111", "createdBy": 153169, "createName": "lyl", "creationTimestamp": 1615443237758, "fromSceneId": 4080, "isApplyApprove": 0, "isNewVersion": 0, "lastUpdatedBy": 153169, "lastUpdateName": "lyl", "lastUpdateTimestamp": 1615448808878, "reviewProcessId": null, "reviewProcessName": null, "sceneCode": "PS20210311141357758", "sceneId": 4084, "sceneLicense": null, "sceneMode": null, "sceneName": "0311测试-005", "sceneRemark": "", "sceneStatus": 1, "sceneType": 2, "sourceSceneId": 4080, "version": "1.1" } ], "pos": 0, "total_count": 2, "entityName": null }}
  • 响应示例 { "access_token": "*****************", "token_type": "bearer", "expires_in": 359, "scope": "all", "plat_user": { "userId": 107027, "userNo": "XXXXXXXXXXX", "userName": "test", "userType": "API", "phone": null, "tenantId": 50222, "status": "0", "deleteFlag": 0, "pwdUpdateDate": "2022-03-17T02:35:04.000+00:00", "userExtendMap": { "clientId": "isdp-xxxx-openapi" }, "password": null, "salt": null, "currentLoginType": "password" }}
  • 认证鉴权 ISDP+提供的OpenAPI接口都需要通过认证之后才可以访问。认证方式为:在请求消息头上设置“Authorization”。 Token在计算机系统中代表令牌(临时)的意思,拥有Token代表拥有某种权限。Token认证是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用ISDP+ Token接口获取,请求body,如下所示,其中***********为应用ID,xxxxxxxxxx为应用令牌。 POST https://isdpcloud-beta.xxx.huawei.com/oauth2/oauth/rest_tokenContent-Type: application/json{ "client_id": "isdp-xxxx-openapi", "client_secret": "isdp-xxxx-openapi", "grant_type": "password", "username": "**********", "password": "xxxxxxxxxx"} 对于获取ISDP+ Token接口,返回的响应消息体中“access_token”和“token_type”就是组成ISDP+ Token的值。 ISDP+ Token=“token_type access_token”(注意两个字段之间有空格)。 获取Token后,再调用其他接口时,您需要在请求消息头中添加“Authorization”,其值即为Token,如下所示。 POST https://isdpcloud-beta.xxx.huawei.com/openapi/v1/openSceneTask/createTaskAuthorization: bearer XXXXXXXXXXXXXXContent-Type: application/json 父主题: 接口调用方法
  • 请求示例 { "sceneName": "掘锚机日常电气检修标准作业流程", "adminOrganization": "1001", "sceneMode": 3, "taskSceneExtendFieldList": [ { "fieldName": "流程编号", "fieldDefaultValue": "SHPM-12-A02020201-0001", "stage": 1 }, { "fieldName": "配件", "fieldDefaultValue": "", "stage": 1 }, { "fieldName": "材料", "fieldDefaultValue": "棉纱(0.2Kg)、防锈油(1桶)、清洗剂(1瓶)。", "stage": 1 }, { "fieldName": "相关事故案例", "fieldDefaultValue": "", "stage": 1 }, { "fieldName": "工具", "fieldDefaultValue": "万用表(1块)、兆欧表(1块)、一字改锥6X200mm(1把)、十字改锥6X200mm(1把),克丝钳(1把)、便携式甲烷检测报警仪(1部)、8寸活动扳手(1把)、公制内六角扳手(1套)、验电器(1部)、放电绳(1根)、接地线(1根)等。", "stage": 1 }, { "fieldName": "重要危险源", "fieldDefaultValue": "1)顶、帮支护不完好,片帮,造成人员伤害。2)未检查瓦斯浓度或瓦斯浓度超限禁止送电。3)未检查瓦斯浓度或瓦斯浓度超限禁止送电。", "stage": 1 }, { "fieldName": "使用频率", "fieldDefaultValue": "高", "stage": 1 } ], "taskSceneModeList": [ { "sceneModeName": "停机、停电", "description": "1)掘锚机停止运行;2)掘锚机控制开关手把打到零位。", "templateName": "测试openApi导入模板" } ], "templateInfoList": [ { "templateName": "测试openApi导入模板", "kcpList": [ { "children": [ { "name": "启动掘锚机", "operationGuide": "【危险源及风险】1)启动前未预警,造成人员伤害;2)启动掘锚机前,未确认周围无人员作业,造成人员伤害。\n【风险值】12\n【风险等级】中等\n【管控措施】设备启动前需发出预警信号,确保设备周边无人时方可启动。", "qualityStandard": "运行正常。", "issueType": "掘锚工艺#工器具不完好或有缺陷,造成事故", "severity": 1, "outputList": [ { "outputType": "文本", "outputName": "备注" }, { "outputType": "图片", "outputName": "图片" } ] } ] } ] } ]}
  • 相关接口 接口名称 调用说明 获取Token 调用该接口获取到Token,再调用其他接口时,需要在请求消息头中添加“Authorization”,其值即为Token。 查询任务场景 新增时为防止重复可先进行任务场景的查询,也可以在新增后使用确保新增成功 删除任务场景 新增后如需要删除可使用删除任务场景接口 新增问题类别(API名称:createIssueConfig) 提前预配置好“问题类别” 任务扩展属性列表查询 扩展属性配置中,需提前配置好,可使用该接口查询 查询(上/下级)组织信息(API名称:findPagedOrgListWithDirection) 提前传入“组织单元编码”可使用该接口查询
  • URL 请求方式 HTTPS地址 服务架构 消息体类型 POST https://isdp+域名/openapi/v1/openTaskScene/createTaskScene OpenAPI application/json 调用流程: 因为任务场景的前置依赖数据较多,成功调用此API需要提前预配置如下信息: 1、 任务管理列表,扩展属性配置中,提前配置好“租户的全局扩展属性”。“任务场景”中写入的“扩展属性”,必须是已配置好的全局扩展属性。 2、 ISDP租户管理员设置,扩展属性配置中,预配置:通用检查作业下,配置“业务类型=作业”; 3、 问题类别配置中,提前预配置好“问题类别”,如创建“问题大类=掘锚工艺”下的问题子类;便于采集模板中,每个条目对应预置的问题类别(调“问题类别创建”API,建好问题类别) 4、 入参中的“组织单元”需要传“组织单元编码”。
共99354条