中国国旗 中国智造
中国国旗 中国智造

JOYZL SCADA Server

组织类接口

URL /actions/people/*

PKG com.joyzl.scada.client.people.*

组织类接口
模块接口用途权限
PeopleCompanyQuery获取企业信息NONE
PeopleCompanyUpdate修改企业信息ADMINISTRATOR
PeopleZoneSelect获取多个区域SYATEM
PeopleZoneCreate新建区域ADMINISTRATOR
PeopleZoneUpdate修改区域ADMINISTRATOR
PeopleZoneMove移动区域ADMINISTRATOR
PeopleZoneDelete删除区域ADMINISTRATOR
PeopleUserLogin用户登录NONE
PeopleUserQuery获取当前用户NONE
PeopleUserSelect获取多个用户ADMINISTRATOR
PeopleUserCreate新建用户ADMINISTRATOR
PeopleUserUnique检查用户唯一性ADMINISTRATOR
PeopleUserUpdate修改用户EMPLOYEE
PeopleUserEnable启用或禁用用户ADMINISTRATOR
PeopleUserMove移动用户ADMINISTRATOR
PeopleUserReset修改或重置用户密码EMPLOYEE
PeopleUserDelete删除用户ADMINISTRATOR
PeopleShiftSelect获取多个轮值SYATEM
PeopleShiftUnique校验轮值时间SYATEM
PeopleShiftCreate新建轮值ADMINISTRATOR
PeopleShiftUpdate修改轮值ADMINISTRATOR
PeopleShiftDelete删除轮值ADMINISTRATOR

企业

获取企业信息(CompanyQuery)

URL /actions/people/CompanyQuery

PKG com.joyzl.scada.client.people.CompanyQuery

获取当前 服务端(JOYZL SCADA Server) 运行实例所属的企业简要信息。 每个部署运行的服务端实例仅对应唯一的企业简要信息。

请求示例
{
	// 没有任何参数
}
响应示例
{
	"Company": {
		// 唯一标识
		"Id": 8086122311712769,
		// 别名简称
		"Alias": "月球开发",
		// 组织全称
		"Name": "中国月球开发有限公司",
		// 注册代码
		"License": "0987654321234567890",
		// 所在地址
		"Address": "重庆市",
		// 联系电话
		"Phone": "13883062895",
		// 创建时间
		"Created": "2025-08-24 17:31:58",
		// 更新时间
		"Updated": "2025-08-24 17:32:49"
	},
	// 响应状态码
	"Status": 2
}

修改企业信息(CompanyUpdate)

URL /actions/people/CompanyUpdate

PKG com.joyzl.scada.client.people.CompanyUpdate

更新当前 JOYZL SCADA Server 运行实例所属的企业简要信息。 请求此接口须事先通过 获取企业信息(CompanyQuery) 接口获取企业简要信息的唯一标识(必要参数)。

请求示例
{
	// 唯一标识(必要)
	"Id": 8086122311712769,
	// 组织全称(必要)
	"Name": "中国月球开发有限公司",
	// 别名简称(必要)
	"Alias": "月球开发",
	// 注册代码(可选)
	"License": "0987654321234567890",
	// 所在地址(可选)
	"Address": "重庆市",
	// 联系电话(可选)
	"Phone": "13883062895"
}
响应示例
{
	"Id": 8086122311712769,
	"Name": "中国月球开发有限公司",
	"Alias": "月球开发",
	"License": "0987654321234567890",
	"Address": "重庆市",
	"Phone": "13883062895",

	// 更新时间
	"Updated": "2025-08-24 17:32:49",
	// 响应状态码
	"Status": 2
}

区域

获取多个区域(ZoneSelect)

URL /actions/people/ZoneSelect

PKG com.joyzl.scada.client.people.ZoneSelect

请求此接口,如果缺省所有参数,可获取当前登录用户可见的所有区域; 如果指定父级区域参数(可选),可仅获取隶属的子区域; 如果指定区域位于用户所在区域之外,请求将被拒绝。

请求示例
{
	// 父区域标识(可选)
	"ParentId": 6892096922199862
}
响应示例
{
	"ParentId": 6892096922199862,
	"Zones": [
		{
			// 区域标识
			"Id": 6113037622706180,
			// 父级标识
			"ParentId": 3649748250656771,
			// 区域名称
			"Name": "A车间",
			// 类型字符串
			"Type": "WORKSHOP",
			// 创建时间
			"Created": "2025-08-24 17:33:10",
			// 更新时间
			"Updated": "2025-08-24 17:33:10"
		},
		{
			"Id": 3649748250656771,
			"ParentId": 0,
			"Name": "主厂区",
			"Type": "PLANT",
			"Created": "2025-08-24 17:32:58",
			"Updated": "2025-08-24 17:32:58"
		},
		...
	],
	// 响应状态码
	"Status": 2
}

响应的区域集合(Zones 数组)不保证区域间的顺序, 区域通过父级字段(ParentId)标识区域间的层级结构, 其值为上级区域的标识(Id), 父级字段为零(ParentId:0)的区域表示隶属于企业, 既无更上一级区域。

提示: 区域结构属于更新频率极低的数据,在系统部署实施完成之后不会经常变化; 客户端通常仅需要在用户登录后获取一次即可,然后将其缓存本地复用。

新建区域(ZoneCreate)

URL /actions/people/ZoneCreate

PKG com.joyzl.scada.client.people.ZoneCreate

新建区域时可指定类型(Type)字符串, 值可由客户端或用户任意指定, 通常用于区分区域的性质, 以协助客户端正确的展示区域视图。

区域类型常用以下单词:CAMPUS(校区)、BUILDING(楼栋)、UNIT(单元)、FLOOR(楼层)、ROOM(室); PARK(园区)、PLANT(厂区)、WORKSHOP (车间)、LINE(产线)。

请求示例
{
	// 父级标识(可选)
	"ParentId": 3649748250656771,
	// 区域名称(必要)
	"Name": "通机生产5线",
	// 类型字符串(可选)
	"Type": "LINE"
}
响应示例
{
	"ParentId": 3649748250656771,
	"Name": "通机生产5线",
	"Type": "LINE",

	// 区域标识
	"Id": 6892182275093661,
	// 创建时间
	"Created": "2023-08-09 16:45:48",
	// 响应状态码
	"Status": 2
}

修改区域(ZoneUpdate)

URL /actions/people/ZoneUpdate

PKG com.joyzl.scada.client.people.ZoneUpdate

通过区域标识(Id)修改区域的常规字段值。 区域的层级关系调整须通过 移动区域(ZoneMove) 接口实现。

请求示例
{
	// 区域标识(必要)
	"Id":6892182275093661,
	// 区域名称(必要)
	"Name":"通机生产线5",
	// 类型字符串(可选)
	"Type":"LINE"
}
响应示例
{
	"Id":6892182275093661,
	"Name":"通机生产线5",
	"Type":"LINE"

	// 更新时间
	"Updated": "2023-08-09 16:57:52",
	// 响应状态码
	"Status": 2
}

移动区域(ZoneMove)

URL /actions/people/ZoneMove

PKG com.joyzl.scada.client.people.ZoneMove

父级区域标识(ParentId)表示当前区域要移动的目标父区域, 若将其指定为零(0),则表示置为根区域; 不能将父级标识(ParentId)指定为当前区域的子区域, 这将导致循环关联错误。

请求示例
{
	// 区域标识(必要)
	"Id": 6892179848987342,
	// 父级标识(必要)
	"ParentId": 6892179848953340
}
响应示例
{
	"Id": 6892179848987342,
	"ParentId": 6892179848953340,
	
	// 更新时间
	"Updated": "2025-08-24 17:33:10",
	// 响应状态码
	"Status": 2
}

删除区域(ZoneDelete)

URL /actions/people/ZoneDelete

PKG com.joyzl.scada.client.people.ZoneDelete

删除区域时,隶属于当前区域的子区域以及用户、设备、定时器、表计、装备和轮值均会被一并删除, 并且无法恢复。

请求示例
{
	// 区域标识(必要)
	"Id": 6892179848987342
}
响应示例
{
	"Id": 6892179848987342,

	// 响应状态码
	"Status": 2
}

用户

用户角色(RoleType)
  • NONE(0) 无
  • SERVO(1) 边缘端
  • SYATEM(2) 系统
  • EMPLOYEE(3) 员工
  • ADMINISTRATOR(9) 管理员

用户登录(UserLogin)

URL /actions/people/UserLogin

PKG com.joyzl.scada.client.people.UserLogin

登录用户名称(Username)可以是用户的手机号(Mobile)、编号(Number)和电子邮件(Email), 这些信息均可用于鉴别用户的唯一性。登录密码(Password)加密方式由服务端配置决定, 支持多种摘要算法(Digest)例如 SHA-256 ,客户端应将用户密码根据指定的算法计算摘要 hex(Digest("password"));若未配置则使用明文密码。

当系统首次启动且尚未配置任何用户账户时,客户端可通过任意用户名和密码登录成功; 服务端在检测到系统中不存在任何用户账户时,将根据本次登录信息自动创建一个临时用户。 临时用户不具备唯一标识,也不会被保存,注销或过期既失效, 客户端在此情况下应向使用者明确提示: 需立即创建正式的管理员账户,以确保系统的正常管理与安全使用。

请求示例
{
	// 用户名称(必要)
	"Username": "username",
	// 登录密码(必要)
	"Password": "password"
}
响应示例
{
	// 企业简要信息
	"Company": {
		"Id": 8086122311712769,
		"Alias": "月球开发",
		"Name": "中国月球开发有限公司",
		"License": "0987654321234567890",
		"Phone": "13883062895",
		"Address": "重庆市",
		"Created": "2025-08-24 17:31:58",
		"Updated": "2025-08-24 17:32:49"
	},
	// 当前用户
	"User": {
		// 用户标识
		"Id": 4087715192635394,
		// 区域标识
		"ZoneId": 0,
		// 用户姓名
		"Name": "小陈",
		// 用户编号
		"Number": "10001",
		// 电子邮件
		"Email": "xc@joyzl.com",
		// 手机号码
		"Mobile": "13883062895",
		// 用户角色
		"Role": {
			"value": 9,
			"name": "ADMINISTRATOR",
			"text": "管理员"
		},
		// 启用状态
		"Enable": true,
		// 创建时间
		"Created": "2025-08-24 17:16:53",
		// 更新时间
		"Updated": "2025-08-24 17:16:58"
	},
	// 响应状态码
	"Status": 2
}

获取当前用户(UserQuery)

URL /actions/people/UserQuery

PKG com.joyzl.scada.client.people.UserQuery

此接口用于获取当前已登录(即稍早前登录且会话未过期)的用户信息, 网页端可通过未失效的令牌(Token)恢复之前登录的用户信息。

请求示例
{
	// 没有任何参数						
}
响应示例
{
	// 与用户登录接口返回相同
}

获取多个用户(UserSelect)

URL /actions/people/UserSelect

PKG com.joyzl.scada.client.people.UserSelect

此接口可获取所有区域和指定区域的已创建用户, 可见范围取决于当前登录用户所在的区域, 无法获取超出其可见范围的用户数据。

请求此接口,如果缺省所有参数,可获取当前登录用户可见的所有用户; 如果指定区域参数(可选),可获取指定区域的用户; 如果指定区域位于用户所在区域之外,请求将被拒绝。

请求示例
{
	// 区域标识(可选)
	"ZoneId":6892182275093661
}
响应示例
{
	"ZoneId": 6892182275093661,
	
	// 用户集合
	"Users": [
		{
			"Id": 4087715192635394,
			"ZoneId": 0,
			"Name": "小陈",
			"Number": "10001",
			"Email": "xc@joyzl.com",
			"Mobile": "13883062895",
			"Role": {
				"value": 9,
				"name": "ADMINISTRATOR",
				"text": "管理员"
			},
			"Enable": true,
			"Created": "2025-08-24 17:16:53",
			"Updated": "2025-08-24 17:16:58"
		},
		...
	],
	// 响应状态码
	"Status": 2
}

新建用户(UserCreate)

URL /actions/people/UserCreate

PKG com.joyzl.scada.client.people.UserCreate

创建新用户时必须指定可鉴别用户的手机号(Mobile)、编号(Number)和电子邮件(Email)之一, 如果区域标识(ZoneId)为零(0)则表示全局用户。 在请求创建新用户之前应通过 用户唯一性校验(UserUnique) 接口, 验证手机号(Mobile)、编号(Number)和电子邮件(Email) 是否已存在。

注意: 首次创建的用户账号必须为管理员角色, 否则系统将缺失具备用户管理与角色分配权限的管理员账号, 这将导致真正的“管理员”被阻挡在系统之外, 之后无法执行必要的管理操作。

请求示例
{
	// 区域标识(必要)
	"ZoneId": 0,
	// 用户姓名(必要)
	"Name": "小陈",
	// 登录密码(必要)
	"Password": "XXXXXXXXXX",
	// 用户编号(可选)
	"Number": "10001",
	// 电子邮件(可选)
	"Email": "xc@joyzl.com",
	// 电话号码(可选)
	"Mobile": "13883062895",
	// 用户角色(可选)
	"Role": 3
}
响应示例
{
	"ZoneId": 0,
	"Name": "小陈",
	"Number": "10001",
	"Email": "xc@joyzl.com",
	"Mobile": "13883062895",
	"Role": 3,

	// 用户标识
	"Id": 6892182278299069,
	// 创建时间
	"Created": "2023-08-09 17:39:14",
	// 响应状态码
	"Status": 2
}

检查用户唯一性(UserUnique)

URL /actions/people/UserUnique

PKG com.joyzl.scada.client.people.UserUnique

检查用户的验证手机号(Mobile)、编号(Number)和电子邮件(Email)是否可用, 既未被其它账户占用。 可选的用户标识(Id)用以指示正在验证已存在的用户, 以排除该用户自身的信息。

请求示例
{
	// 用户标识(可选)
	"Id":6892182278299069,
	// 鉴别内容(必须)
	"Key":"xc@joyzl.com"
}
响应示例
{
	"Id":6892182278299069,
	"Key":"xc@joyzl.com",

	// 可用状态
	"Available": true,
	// 响应状态码
	"Status": 2
}

修改用户(UserUpdate)

URL /actions/people/UserUpdate

PKG com.joyzl.scada.client.people.UserUpdate

通过用户标识(Id)修改用户的常规字段值。 用户所属的区域调整须通过 移动用户(UserMove) 接口实现; 用户的启用或禁用须通过 启用或禁用用户(UserEnable) 接口实现; 用户的密码修改须通过 重置用户密码(UserReset) 接口实现。

请求示例
{
	// 用户标识(必要)
	"Id":6892182362899172,
	// 用户姓名(必要)
	"Name": "小陈",
	// 用户编号(可选)
	"Number": "1001",
	// 手机号码(可选)
	"Mobile": "13883062895",
	// 电子邮件(可选)
	"Email": "931661600@qq.com"
}
响应示例
{
	"Id":6892182362899172,
	"Name": "小陈",
	"Number": "1001",
	"Mobile": "13883062895",
	"Email": "931661600@qq.com",

	// 更新时间
	"Updated": "2023-08-09 16:57:52",
	// 响应状态码
	"Status": 2
}

启用或禁用用户(UserEnable)

URL /actions/people/UserEnable

PKG com.joyzl.scada.client.people.UserEnable

被禁用的用户不能在任何端登录系统。

请求示例
{
	// 用户标识(必要)
	"Id": 6892182278299069,
	// 可用状态(必要)
	"Enable": false
}
响应示例
{
	"Id": 6892182278299069,
	"Enable": false,

	// 更新时间
	"Updated": "2023-08-09 16:57:52",
	// 响应状态码
	"Status": 2
}

移动用户(UserMove)

URL /actions/people/UserMove

PKG com.joyzl.scada.client.people.UserMove

移动用户到指定的区域,用户只能访问所在区域(含子区域)的数据。

请求示例
{
	// 用户标识(必要)
	"Id": 6892182278299069,
	// 区域标识(必要)
	"ZoneId": 6892179848953340
}
响应示例
{
	"Id": 6892182278299069,
	"ZoneId": 6892179848953340,

	// 更新时间
	"Updated": "2023-08-09 16:57:52",
	// 响应状态码
	"Status": 2
}

修改或重置用户密码(UserReset)

URL /actions/people/UserReset

PKG com.joyzl.scada.client.people.UserReset

用户标识(Id)为当前用户时,可修改当前用户登录密码,同时须校验旧密码; 如果用户标识(Id)为其它用户,则可重置其它用户密码,此时可省略旧密码, 但要求当前登录用户具有管理员角色,并拥有有效管理权限范围。

请求示例
{
	// 用户标识(必要)
	"Id": 6892182278299069,
	// 新密码(必要)
	"NewPassword": "XXXXXXXXXX",
	// 旧密码(可选)
	"OldPassword": "XXXXXXXXXX"
}
响应示例
{
	"Id": 6892182278299069,

	// 响应状态码
	"Status": 2
}

删除用户(UserDelete)

URL /actions/people/UserDelete

PKG com.joyzl.scada.client.people.UserDelete

请求示例
{
	// 用户标识(必要)
	"Id": 6892182278299069
}
响应示例
{
	"Id": 6892182278299069,

	// 响应状态码
	"Status": 2
}

轮值

轮值表示工厂车间的上下班时间, 装备将根据设定的轮值时间记录每个时间段的产量。 装备将按所在区域及父区域匹配轮值,直至企业级全局轮值。 如果未配置任何轮值,装备将不会自动记录产量。

工厂可以将轮值时间段与实际工作时间对应, 也可以将实际工作时间拆分为多个更小的轮值。 更小的轮值有助于记录小段时间的产量, 如果工厂实施了每小时报工制度,可以与此对应。

获取多个轮值(ShiftSelect)

URL /actions/people/ShiftSelect

PKG com.joyzl.scada.client.people.ShiftSelect

获取全部或指定区域的轮值,可见范围取决于用户所在的区域。 缺省所有参数时,返回当前用户可见范围的所有轮值; 指定区域标识(ZoneId)参数时,仅返回指定区域(不含子区域)的轮值。

请求示例
{
	// 区域标识(可选)
	"ZoneId": 6953015064092456
}
响应示例
{
	"ZoneId": 6953015064092456,

	// 轮值集合
	"Shifts": [
		{
			// 轮值标识
			"Id": 6892189876541566,
			// 区域标识
			"ZoneId": 6892182769831190,
			// 轮值名称
			"Name": 白班",
			// 开始时间
			"Begin": 10:15:00",
			// 结束时间
			"End	": 11:15:00",
			// 创建时间
			"Created": "2025-08-26 10:15:00",
			// 更新时间
			"Updated": "2025-08-26 11:15:00"
		}
		…
	],
	// 响应状态码
	"Status":2
}

校验轮值时间(ShiftUnique)

URL /actions/people/ShiftUnique

PKG com.joyzl.scada.client.people.ShiftUnique

多个轮值之间的时间不能重叠,在创建或修改前应先校验轮值时间是否可用。 指定轮值标识(Id)参数时,将排除指定轮值的时段。

请求示例
{
	// 轮值标识(可选)
	"Id":6926833763504759,
	// 开始时间(必要)
	"Begin":"08:00:00",
	// 结束时间(必要)
	"End":"18:00:00"
}
响应示例
{
	"Id":6926833763504759,
	"Begin":"08:00:00",
	"End":"18:00:00",

	// 可用状态
    "Available": false,
	// 响应状态码
    "Status": 2
}

新建轮值(ShiftCreate)

URL /actions/people/ShiftCreate

PKG com.joyzl.scada.client.people.ShiftCreate

轮值可位于企业或任意区域,位于企业的轮值即为全局轮值, 位于区域的轮值仅作用于所属区域和子区域, 既各个区域(厂区)可以采用不同的轮值时间。

请求示例
{
	// 区域标识(可选)
	"ZoneId":0,
	// 轮值名称(必要)
	"Name":"早中班",
	// 开始时间(必要)
	"Begin":"08:00:00",
	// 结束时间(必要)
	"End":"18:00:00"
}
响应示例
{
	"ZoneId":0,
	"Name":"早中班",
	"Begin":"08:00:00",
	"End":"18:00:00",

	// 轮值标识
	"Id":6926833763504759,
	// 创建时间
	"Created": "2022-12-13 19:54:53",
	// 响应状态码
	"Status":2
}

修改轮值(ShiftUpdate)

URL /actions/people/ShiftUpdate

PKG com.joyzl.scada.client.people.ShiftUpdate

通过轮值标识(Id)修改轮值的常规字段值。 由于轮值的特殊性没有提供移动区域的操作。

请求示例
{
	// 轮值标识(必要)
	"Id":238253447937797,
	// 轮值名称(必要)
	"Name":"早中班",
	// 开始时间(必要)
	"Begin":"08:00:00",
	// 结束时间(必要)
	"End":"18:00:00",
}
响应示例
{
	"Id":238253447937797,
	"Name":"早中班",
	"Begin":"08:00:00",
	"End":"18:00:00",

	// 更新时间
	"Updated": "2023-08-14 11:12:47",
	// 响应状态码
	"Status":2,
}

删除轮值(ShiftDelete)

URL /actions/people/ShiftDelete

PKG com.joyzl.scada.client.people.ShiftDelete

删除轮值后,装备和表计将不在记录此时间段的产量和能耗。 已记录的时段产量不会受到影响。

请求示例
{
	// 轮值标识(必要)
	"Id":6926833763504759
}
响应示例
{
	"Id":6926833763504759,

	// 响应状态码
	"Status":2
}
技术支持
电话 JOYZL SCADA 电话 QQ JOYZL SCADA QQ 微信 JOYZL SCADA 微信
技术支持
电话 JOYZL SCADA 电话
QQ JOYZL SCADA QQ 微信 JOYZL SCADA 微信