数据库目录

表
序号 | 表名 | 表说明
0 | cap.Published |
0 | cap.Received |
0 | dbo.W_Account | 账户表
0 | dbo.W_AreaInfo | 地址信息配置
0 | dbo.W_Business | 商户表
0 | dbo.W_BusinessAppApi | 商户授权信息
0 | dbo.W_BusinessPush | 商户消息推送
0 | dbo.W_BusinessRealData | 商户实时统计数据
0 | dbo.W_BusinessStatistics | 商户统计
0 | dbo.W_Device | 设备表
0 | dbo.W_DeviceConfig | 设备第三方配置信息
0 | dbo.W_DeviceData | 设备信息
0 | dbo.W_DeviceRealData | 设备实时数据
0 | dbo.W_DeviceResult | 设备测量有关数据
0 | dbo.W_DeviceStatistics | 设备统计
0 | dbo.W_MeasureResult | 更多测量记录
0 | dbo.W_Menu | 菜单
0 | dbo.W_RealData | 账户总计实时数据
0 | dbo.W_Result | 投放记录
0 | dbo.W_ResultExt |
0 | dbo.W_Role | 角色
0 | dbo.W_RoleAuthorize | 角色菜单
0 | dbo.W_SZAddress | 地产区域
0 | dbo.W_SZCollect | 采集点
0 | dbo.W_SZDevice | 苏州设备平台关联的设备信息
0 | dbo.W_WasteType | 垃圾物品分类
存储过程
序号 | 存储过程名称
1 | ClearDayData
2 | Proc_DayData
3 | proc_getthirdpush
4 | Proc_InsertResult


cap.Published

cap.Published 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | bigint |  |  | √ |  |  |  |
2 | Version | nvarchar | 20 |  |  |  |  |  |
3 | Name | nvarchar | 200 |  |  |  |  |  |
4 | Content | nvarchar | -1 |  |  |  | √ |  |
5 | Retries | int |  |  |  |  |  |  |
6 | Added | datetime2 |  |  |  |  |  |  |
7 | ExpiresAt | datetime2 |  |  |  |  | √ |  |
8 | StatusName | nvarchar | 50 |  |  |  |  |  |


cap.Received

cap.Received 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | bigint |  |  | √ |  |  |  |
2 | Version | nvarchar | 20 |  |  |  |  |  |
3 | Name | nvarchar | 200 |  |  |  |  |  |
4 | Group | nvarchar | 200 |  |  |  | √ |  |
5 | Content | nvarchar | -1 |  |  |  | √ |  |
6 | Retries | int |  |  |  |  |  |  |
7 | Added | datetime2 |  |  |  |  |  |  |
8 | ExpiresAt | datetime2 |  |  |  |  | √ |  |
9 | StatusName | nvarchar | 50 |  |  |  |  |  |


dbo.W_Account

dbo.W_Account 账户表 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  |
2 | UserName | varchar | 50 |  |  |  |  |  | 账户
3 | RealName | nvarchar | 100 |  |  |  |  |  | 昵称
4 | Phone | varchar | 50 |  |  |  |  |  | 手机号
5 | Password | varchar | 50 |  |  |  |  |  | 密码
6 | Secret | varchar | 50 |  |  |  |  |  | 密钥
7 | RoleId | uniqueidentifier | 36 |  |  |  |  |  | 角色ID
8 | AccountType | int |  |  |  |  |  |  | 账户类型
9 | BusinessId | uniqueidentifier | 36 |  |  |  |  |  | 客户ID
10 | Status | int |  |  |  |  |  |  | 状态,0-禁用,1-启用
11 | LastVisitIP | varchar | 50 |  |  |  |  |  | 最近访问IP
12 | LastVisitTime | datetime |  |  |  |  | √ |  | 最近访问时间
13 | CreateTime | datetime |  |  |  |  |  |  | 注册时间


dbo.W_AreaInfo

dbo.W_AreaInfo 地址信息配置 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | int |  |  |  |  |  |  |
2 | pid | int |  |  |  |  |  |  |
3 | name | nvarchar | 100 |  |  |  |  |  |
4 | code | varchar | 50 |  |  |  |  |  |
5 | level | int |  |  |  |  |  |  |


dbo.W_Business

dbo.W_Business 商户表 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  |
2 | Code | varchar | 100 |  |  |  |  |  | 商户编号
3 | ParentId | uniqueidentifier | 36 |  |  |  |  |  | 上级ID
4 | Name | nvarchar | 100 |  |  |  |  |  | 昵称
5 | Phone | varchar | 20 |  |  |  |  |  | 手机号
6 | Status | int |  |  |  |  |  |  | 状态,0-禁用,1-启用
7 | Remark | nvarchar | 200 |  |  |  |  |  | 商户简介
8 | Province | varchar | 50 |  |  |  |  |  | 省份
9 | City | varchar | 50 |  |  |  |  |  | 城市
10 | Area | varchar | 50 |  |  |  |  |  | 区县
11 | Address | nvarchar | 200 |  |  |  |  |  | 详细地址
12 | CreateTime | datetime |  |  |  |  |  |  | 注册时间


dbo.W_BusinessAppApi

dbo.W_BusinessAppApi 商户授权信息 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  | 商户的BusinessId
2 | PushUrl | varchar | 200 |  |  |  |  |  | 消息推送地址
3 | IPList | varchar | 200 |  |  |  |  |  | IP白名单列表,为空则不限制
4 | AppId | varchar | 50 |  |  |  |  |  |
5 | AppSecret | varchar | 50 |  |  |  |  |  |
6 | Status | int |  |  |  |  |  |  | 状态,0-禁用,1-正常
7 | CreateTime | datetime |  |  |  |  |  |  | 添加时间


dbo.W_BusinessPush

dbo.W_BusinessPush 商户消息推送 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | BusinessId | uniqueidentifier | 36 |  |  |  |  |  |
2 | PushUrl | varchar | 200 |  |  |  |  |  | 推送地址
3 | DevCode | varchar | 50 |  |  |  |  |  | 设备唯一编号
4 | DevName | nvarchar | 100 |  |  |  |  |  | 设备名称
5 | Address | nvarchar | 200 |  |  |  |  |  | 设备地址
6 | Weight | decimal | 18 | 2 |  |  |  |  | 毛重
7 | Tare | decimal | 18 | 2 |  |  |  |  | 皮重
8 | PWeight | decimal | 18 | 2 |  |  |  |  | 净重
9 | Type | nvarchar | 50 |  |  |  |  |  | 垃圾类型
10 | Time | datetime |  |  |  |  |  |  | 测量时间
11 | Cnt | int |  |  |  |  |  |  | 重试推送的次数
12 | CreateTime | datetime |  |  |  |  |  |  | 添加时间


dbo.W_BusinessRealData

dbo.W_BusinessRealData 商户实时统计数据 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  |
2 | BusinessId | uniqueidentifier | 36 |  |  |  |  |  | 商户ID
3 | BusinessCnt | int |  |  |  |  |  |  | 子商户数量
4 | DevCnt | int |  |  |  |  |  |  | 设备台数
5 | TodayDevActiveCnt | int |  |  |  |  |  |  | 今日设备活跃台数
6 | TodayCount | int |  |  |  |  |  |  | 今日投放次数
7 | TodayWeight | decimal | 18 | 2 |  |  |  |  | 今日投放重量
8 | TodayPureWeight | decimal | 18 | 2 |  |  |  |  | 今日净重
9 | TotalCount | int |  |  |  |  |  |  | 累计投放次数
10 | TotalWeight | decimal | 18 | 2 |  |  |  |  | 累计重量
11 | TotalPureWeight | decimal | 18 | 2 |  |  |  |  | 累计净重


dbo.W_BusinessStatistics

dbo.W_BusinessStatistics 商户统计 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | int |  |  | √ | √ |  |  |
2 | BusinessId | uniqueidentifier | 36 |  |  |  |  |  | 商户ID
3 | WasteType | varchar | 50 |  |  |  |  |  | 垃圾类型
4 | DayCount | int |  |  |  |  |  |  | 测量次数
5 | DayWeight | decimal | 18 | 2 |  |  |  |  | 测量重量
6 | DayPureWeight | decimal | 18 | 2 |  |  |  |  | 测量净重
7 | CreateTime | date | 10 | 0 |  |  |  |  |


dbo.W_Device

dbo.W_Device 设备表 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  |
2 | FacEcode | varchar | 50 |  |  |  |  |  | 设备出厂编号
3 | Ecode | varchar | 50 |  |  |  |  |  | 设备编号
4 | DeviceType | int |  |  |  |  |  |  | 设备型号
5 | Name | nvarchar | 100 |  |  |  |  |  | 设备名称
6 | Businessid | uniqueidentifier | 36 |  |  |  |  |  | 所属商户
7 | NetType | int |  |  |  |  |  |  | 联网方式,1-4G,2-Wifi
8 | Province | varchar | 50 |  |  |  |  |  |
9 | City | varchar | 50 |  |  |  |  |  | 城市
10 | Area | varchar | 50 |  |  |  |  |  | 区县
11 | Address | nvarchar | 200 |  |  |  |  |  | 详细地址
12 | Remark | nvarchar | 200 |  |  |  |  |  | 备注
13 | InstallTime | datetime |  |  |  |  | √ |  | 安装到小区的时间
14 | Status | int |  |  |  |  |  |  | 设备状态,0-异常,1-正常
15 | LastHeartTime | datetime |  |  |  |  | √ |  | 最近使用时间
16 | CreateTime | datetime |  |  |  |  |  |  | 注册时间
17 | ActiveTime | datetime |  |  |  |  | √ |  | 设备激活时间
18 | Tare | decimal | 18 | 2 |  |  |  | 0 | 皮重,KG


dbo.W_DeviceConfig

dbo.W_DeviceConfig 设备第三方配置信息 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | DeviceId | uniqueidentifier | 36 |  | √ |  |  |  |
2 | Url | varchar | 200 |  |  |  |  |  | 推送地址,支持http/https
3 | Body | varchar | 100 |  |  |  |  |  | 额外推送信息,推送时固定以body参数传递
4 | CreateTime | datetime |  |  |  |  |  |  | 创建时间


dbo.W_DeviceData

dbo.W_DeviceData 设备信息 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | DeviceId | uniqueidentifier | 36 |  | √ |  |  |  |
2 | ICCID | varchar | 50 |  |  |  |  |  | ICCID
3 | IMEI | varchar | 50 |  |  |  |  |  | IMEI
4 | IMSI | varchar | 50 |  |  |  |  |  | SIM卡IMSI
5 | Longitude | varchar | 50 |  |  |  |  |  | 经度
6 | Latitude | varchar | 50 |  |  |  |  |  | 纬度
7 | LastBeatTime | datetime |  |  |  |  | √ |  | 最近心跳时间
8 | LastStartTime | datetime |  |  |  |  | √ |  | 最近开机时间
9 | Sign | varchar | 100 |  |  |  |  |  | 信号强度
10 | Version | varchar | 50 |  |  |  | √ |  | 设备最新的app版本号


dbo.W_DeviceRealData

dbo.W_DeviceRealData 设备实时数据 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  |
2 | DeviceId | uniqueidentifier | 36 |  |  |  |  |  | 设备ID
3 | BusinessId | uniqueidentifier | 36 |  |  |  |  |  | 商户ID
4 | TodayCount | int |  |  |  |  |  |  | 今日次数
5 | TotalCount | int |  |  |  |  |  |  | 累计次数
6 | TodayWeigth | decimal | 18 | 2 |  |  |  |  | 今日重量
7 | TotalWeight | decimal | 18 | 2 |  |  |  |  | 累计投放重量
8 | TodayPureWeight | decimal | 18 | 2 |  |  | √ | 0 | 今日净重
9 | TotalPureWeight | decimal | 18 | 2 |  |  | √ | 0 | 累计净重


dbo.W_DeviceResult

dbo.W_DeviceResult 设备测量有关数据 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | DeviceId | uniqueidentifier | 36 |  | √ |  |  |  |
2 | LastTrash | varchar | 50 |  |  |  |  |  | 最近使用的垃圾桶编号
3 | LastHeartTime | datetime |  |  |  |  |  |  | 最近使用时间
4 | ResultId | uniqueidentifier | 36 |  |  |  |  |  | 最近的记录ID


dbo.W_DeviceStatistics

dbo.W_DeviceStatistics 设备统计 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | int |  |  | √ | √ |  |  |
2 | Businessid | uniqueidentifier | 36 |  |  |  |  |  | 商户ID
3 | DevId | uniqueidentifier | 36 |  |  |  |  |  | 设备ID
4 | DayCount | int |  |  |  |  |  |  | 测量次数
5 | DayWeight | decimal | 18 | 2 |  |  |  |  | 测量重量
6 | DayPureWeight | decimal | 18 | 2 |  |  |  |  | 测量净重
7 | WasteType | varchar | 50 |  |  |  |  |  | 垃圾类型
8 | CreateTime | date | 10 | 0 |  |  |  |  | 日期


dbo.W_MeasureResult

dbo.W_MeasureResult 更多测量记录 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | ResultId | uniqueidentifier | 36 |  | √ |  |  |  | 记录ID
2 | WasteSType | nvarchar | 100 |  |  |  |  |  | 物品小类
3 | Price | decimal | 18 | 2 |  |  |  |  | 价格
4 | Amount | decimal | 18 | 2 |  |  |  |  | 金额
5 | OpUser | nvarchar | 100 |  |  |  |  |  | 操作员
6 | UUID | varchar | 50 |  |  |  |  |  | 唯一消息ID


dbo.W_Menu

dbo.W_Menu 菜单 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  |
2 | ParentId | uniqueidentifier | 36 |  |  |  |  |  | 父ID
3 | Name | nvarchar | 50 |  |  |  |  |  | 名称
4 | Icon | varchar | 50 |  |  |  |  |  | 图标
5 | UrlAddress | varchar | 200 |  |  |  |  |  | 链接
6 | SortCode | int |  |  |  |  |  |  | 排序
7 | Status | int |  |  |  |  |  |  | 状态
8 | CreateTime | datetime |  |  |  |  |  |  | 创建时间


dbo.W_RealData

dbo.W_RealData 账户总计实时数据 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  |
2 | BusinessCnt | int |  |  |  |  |  |  | 商户数量
3 | DevCnt | int |  |  |  |  |  |  | 设备总数
4 | TodayDevActiveCnt | int |  |  |  |  |  |  | 今日活跃设备台数
5 | TodayCount | int |  |  |  |  |  |  | 今日投放次数
6 | TodayWeight | decimal | 18 | 2 |  |  |  |  | 今日投放重量
7 | TodayPureWeight | decimal | 18 | 2 |  |  |  |  | 今日净重
8 | TotalCount | int |  |  |  |  |  |  | 累计投放次数
9 | TotalWeight | decimal | 18 | 2 |  |  |  |  | 累计重量
10 | TotalPureWeight | decimal | 18 | 2 |  |  |  |  | 累计净重


dbo.W_Result

dbo.W_Result 投放记录 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  |
2 | DeviceId | uniqueidentifier | 36 |  |  |  |  |  | 设备ID
3 | BusinessId | uniqueidentifier | 36 |  |  |  |  |  | 设备所属商户
4 | WasteType | varchar | 50 |  |  |  |  |  | 物品分类
5 | Tare | decimal | 18 | 2 |  |  |  |  | 皮重,单位KG
6 | GrossWeight | decimal | 18 | 2 |  |  |  |  | 毛重
7 | NetWeight | decimal | 18 | 2 |  |  |  |  | 净重
8 | Registration | nvarchar | 200 |  |  |  |  |  | 车牌号
9 | CreateTime | datetime |  |  |  |  |  |  | 上报时间


dbo.W_ResultExt

dbo.W_ResultExt 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  |
2 | ResultId | uniqueidentifier | 36 |  |  |  |  |  | 记录ID
3 | Status | int |  |  |  |  |  |  | 状态,0-成功,1-失败
4 | CreateTime | datetime |  |  |  |  |  |  | 创建时间


dbo.W_Role

dbo.W_Role 角色 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  |
2 | Name | nvarchar | 50 |  |  |  |  |  | 角色名称
3 | EnCode | varchar | 50 |  |  |  |  |  | 角色编码
4 | Remark | nvarchar | 200 |  |  |  |  |  | 备注
5 | CreateTime | datetime |  |  |  |  |  |  | 创建时间


dbo.W_RoleAuthorize

dbo.W_RoleAuthorize 角色菜单 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  |
2 | RoleId | uniqueidentifier | 36 |  |  |  |  |  | 角色ID
3 | MenuId | uniqueidentifier | 36 |  |  |  |  |  | 菜单ID
4 | CreateTime | datetime |  |  |  |  |  |  | 创建时间


dbo.W_SZAddress

dbo.W_SZAddress 地产区域 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  |
2 | AdId | varchar | 50 |  |  |  |  |  | 地产区域ID
3 | Code | varchar | 50 |  |  |  |  |  | 地产区域代码
4 | Name | nvarchar | 100 |  |  |  |  |  | 名称
5 | Addr | nvarchar | 300 |  |  |  |  |  | 地址
6 | City | varchar | 50 |  |  |  |  |  |
7 | Area | varchar | 50 |  |  |  |  |  |
8 | Street | varchar | 50 |  |  |  |  |  |
9 | CreateTime | datetime |  |  |  |  |  |  | 创建时间


dbo.W_SZCollect

dbo.W_SZCollect 采集点 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  |
2 | CoId | varchar | 50 |  |  |  |  |  | 采集点ID
3 | EstateId | varchar | 50 |  |  |  |  |  | 地产区域ID
4 | Code | varchar | 50 |  |  |  |  |  | 编码
5 | Name | nvarchar | 200 |  |  |  |  |  | 名称
6 | Addr | nvarchar | 300 |  |  |  |  |  | 地点
7 | CreateTime | datetime |  |  |  |  |  |  | 创建时间


dbo.W_SZDevice

dbo.W_SZDevice 苏州设备平台关联的设备信息 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | DeviceId | uniqueidentifier | 36 |  | √ |  |  |  | 自有平台设备ID
2 | SecretHash | varchar | 50 |  |  |  |  |  | secretHash值
3 | DevId | varchar | 50 |  |  |  |  |  | 设备平台对应的ID
4 | Secret | varchar | 50 |  |  |  |  |  | secret值


dbo.W_WasteType

dbo.W_WasteType 垃圾物品分类 返回目录
序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
1 | Id | uniqueidentifier | 36 |  | √ |  |  |  |
2 | Code | varchar | 20 |  |  |  |  |  | 物品编码
3 | Name | nvarchar | 100 |  |  |  |  |  | 物品名称
4 | Status | int |  |  |  |  |  |  | 状态,0-禁用,1-启用
5 | CreateTime | datetime |  |  |  |  |  |  | 添加时间


ClearDayData

-- =============================================
-- Author:		liuzl
-- Create date: 2021-05-19
-- Description:	清理昨天的数据
-- =============================================
CREATE PROCEDURE [dbo].[ClearDayData]
AS
BEGIN
    --清理设备昨天重量
    UPDATE dbo.W_DeviceRealData SET TodayCount=0,TodayWeigth=0,TodayPureWeight=0

    --清理商户昨天数据
    UPDATE dbo.W_BusinessRealData SET TodayDevActiveCnt=0,TodayCount=0,TodayWeight=0,TodayPureWeight=0

    --清理总体昨天数据
    UPDATE dbo.W_RealData SET TodayDevActiveCnt=0,TodayCount=0,TodayWeight=0,TodayPureWeight=0
END


Proc_DayData

-- =============================================
-- Author:		liuzl
-- Create date: 2021-05-24
-- Description:	统计每日数据
-- test:exec Proc_DayData
-- =============================================
CREATE PROCEDURE [dbo].[Proc_DayData]
AS
BEGIN
    SET NOCOUNT ON;
    DECLARE @time DATETIME,@endtime DATETIME
    set @time=dateadd(d,-1,CONVERT(char(10),GetDate(),120))
    SET @endtime=DATEADD(d,1,@time)

    DELETE FROM dbo.W_DeviceStatistics WHERE CreateTime=@time

    INSERT INTO dbo.W_DeviceStatistics
    (
        Businessid,
        DevId,
        DayCount,
        DayWeight,
        DayPureWeight,
        WasteType,
        CreateTime
    )
    SELECT BusinessId,DeviceId,COUNT(id),SUM(GrossWeight),SUM(NetWeight),WasteType,@time FROM dbo.W_Result
    WHERE CreateTime>=@time AND CreateTime<@endtime
    GROUP BY DeviceId,BusinessId,WasteType

    DELETE FROM dbo.W_BusinessStatistics WHERE CreateTime=@time

    INSERT INTO dbo.W_BusinessStatistics
    (
        BusinessId,
        WasteType,
        DayCount,
        DayWeight,
        DayPureWeight,
        CreateTime
    )
    SELECT BusinessId,WasteType,COUNT(id),SUM(GrossWeight),SUM(NetWeight),@time FROM dbo.W_Result
    WHERE CreateTime>=@time AND CreateTime<@endtime
    GROUP BY BusinessId,WasteType
END


proc_getthirdpush

-- =============================================
-- Author:		liuzl
-- Create date: 2021-06-02
-- Description:	获取推送给第三方的消息列表
-- =============================================
CREATE PROCEDURE [dbo].[proc_getthirdpush]
AS
BEGIN
    SET NOCOUNT ON;
    IF NOT EXISTS(SELECT 1 FROM dbo.W_BusinessPush)
        RETURN;

    DECLARE @table TABLE(
     BusinessId UNIQUEIDENTIFIER,
        PushUrl VARCHAR(200),
        DevCode VARCHAR(50),
        DevName nvarchar(100),
        Address nvarchar(200),
        Weight decimal(18, 2),
        Tare decimal(18, 2),
        PWeight decimal(18, 2),
        Type nvarchar(50),
        Time datetime,
        cnt INT,
        CreateTime datetime
    )

    begin tran pushdata

    DELETE FROM dbo.W_BusinessPush OUTPUT Deleted.* INTO @table
    WHERE CreateTime IN (SELECT TOP 10 CreateTime FROM dbo.W_BusinessPush ORDER BY CreateTime ASC)

    SELECT * FROM @table

    COMMIT TRAN pushdata
END


Proc_InsertResult

-- =============================================
-- Author:		liuzl
-- Create date: 2021-05-17
-- Description:	增加测量记录
-- =============================================
CREATE PROCEDURE [dbo].[Proc_InsertResult]
    -- Add the parameters for the stored procedure here
    @deviceid UNIQUEIDENTIFIER,--设备ID
    @businessid UNIQUEIDENTIFIER,--商户ID
    @resultid UNIQUEIDENTIFIER,--记录ID
    @imei varchar(50),--IMEI
    @iccid varchar(50),--ICCID
    @imsi VARCHAR(50),--IMSI
    @time DATETIME,--测量时间
    @latitude VARCHAR(50),--经度
    @longitude VARCHAR(50),--纬度
    @sign VARCHAR(50)='',--信号
    @city VARCHAR(50),--设备地区
    @area VARCHAR(50),--垃圾桶编号
    @wastetype VARCHAR(50),--垃圾类型
    @weigth DECIMAL(18,2), --体重,单位为KG
    @isheart BIT, --是否为心跳包,1-是,0-否
    @tare DECIMAL(18,2)=0, --皮重,KG
    @isfrist BIT=0 --是否为今天第一次活跃,0-否,1-是
AS
BEGIN
DECLARE @deviceactivecnt INT =0,--设备活跃次数
@devcnt INT =0, --设备台数
@devprovince NVARCHAR(100),--设备省份
@devcity NVARCHAR(100), --设备城市
@devarea NVARCHAR(100),--设备地区
@devaddress NVARCHAR(200),--设备地址
@devname NVARCHAR(100),--设备名称
@devcode VARCHAR(50),--设备编号
@laststartime DATETIME =NULL,--最新连接时间
@businesscnt INT=0 --子商户数量

    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    -- Insert statements for procedure here
    IF @isheart=1
    BEGIN
        --更新设备数据
        IF NOT EXISTS(SELECT 1 FROM dbo.W_DeviceData WHERE DeviceId=@deviceid)
        BEGIN
            INSERT INTO dbo.W_DeviceData
            (DeviceId,ICCID,IMEI,IMSI,Longitude,Latitude,LastBeatTime,LastStartTime,[Sign])
            VALUES(@deviceid,@iccid,@imei,@imsi,@longitude,@latitude,GETDATE(),NULL,'')
        END
        ELSE
        BEGIN
            UPDATE dbo.W_DeviceData SET LastBeatTime=GETDATE(),Longitude=@longitude,Latitude=@latitude WHERE DeviceId=@deviceid
        END
    END
    ELSE
    BEGIN
        IF @weigth<=0 AND LEN(@city)<=0
        BEGIN
            SET @laststartime=GETDATE()
        END
        --更新设备数据
        IF NOT EXISTS(SELECT 1 FROM dbo.W_DeviceData WHERE DeviceId=@deviceid)
        BEGIN
            INSERT INTO dbo.W_DeviceData
            (DeviceId,ICCID,IMEI,IMSI,Longitude,Latitude,LastBeatTime,LastStartTime,[Sign])
            VALUES(@deviceid,@iccid,@imei,@imsi,@longitude,@latitude,GETDATE(),@laststartime,@sign)
        END
        ELSE
        BEGIN
            IF @laststartime IS NOT NULL
            BEGIN
                UPDATE dbo.W_DeviceData SET ICCID=@iccid,IMEI=@imei,IMSI=@imsi,[Sign]=@sign,LastStartTime=@laststartime WHERE DeviceId=@deviceid
            END
            ELSE
            BEGIN
                UPDATE dbo.W_DeviceData SET ICCID=@iccid,IMEI=@imei,IMSI=@imsi,[Sign]=@sign WHERE DeviceId=@deviceid
            END
        END
        IF(@weigth>0)
        BEGIN
            IF @area IS NULL
                SET @area=''
            --更新设备最新测量时间
            UPDATE dbo.W_Device SET LastHeartTime=GETDATE() WHERE id=@deviceid
            --更新实时统计数据
            IF NOT EXISTS(SELECT 1 FROM dbo.W_DeviceRealData WHERE DeviceId=@deviceid AND BusinessId=@businessid)
            BEGIN
                INSERT INTO dbo.W_DeviceRealData
                (Id,DeviceId,BusinessId,TodayCount,TotalCount,TodayWeigth,TotalWeight,TodayPureWeight,TotalPureWeight)
                VALUES(@resultid,@deviceid,@businessid,1,1,@weigth,@weigth,@weigth-@tare,@weigth-@tare)
            END
            ELSE
            BEGIN
                UPDATE dbo.W_DeviceRealData SET TodayCount=TodayCount+1,TotalCount=TotalCount+1,TodayWeigth=TodayWeigth+@weigth,TotalWeight=TotalWeight+@weigth,
                TodayPureWeight=TodayPureWeight+@weigth-@tare,TotalPureWeight=TotalPureWeight+@weigth-@tare
                WHERE DeviceId=@deviceid AND BusinessId=@businessid
            END
            IF @isfrist=1
            BEGIN
                SET @deviceactivecnt=1
            END
            --更新客户实时统计数据
            IF @businessid !='00000000-0000-0000-0000-000000000000'
            BEGIN
                IF EXISTS(SELECT 1 FROM dbo.W_BusinessRealData WHERE BusinessId=@businessid)
                BEGIN
                    UPDATE dbo.W_BusinessRealData SET TodayCount=TodayCount+1,TodayDevActiveCnt=TodayDevActiveCnt+@deviceactivecnt,TodayWeight=TodayWeight+@weigth,
                    TodayPureWeight=TodayPureWeight+@weigth-@tare,TotalCount=TotalCount+1,TotalWeight=TotalWeight+@weigth,TotalPureWeight=TotalPureWeight+@weigth-@tare
                    WHERE BusinessId=@businessid
                END
                ELSE
                BEGIN
                    SELECT @devcnt=COUNT(*) FROM dbo.W_Device WHERE Businessid=@businessid
                    SELECT @businesscnt=COUNT(*) FROM dbo.W_Business WHERE ParentId=@businessid
                    INSERT INTO dbo.W_BusinessRealData
                    (
                        Id,
                        BusinessId,
                        BusinessCnt,
                        DevCnt,
                        TodayDevActiveCnt,
                        TodayCount,
                        TodayWeight,
                        TodayPureWeight,
                        TotalCount,
                        TotalWeight,
                        TotalPureWeight
                    )
                    VALUES(@resultid,@businessid,@businesscnt,@devcnt,@deviceactivecnt,1,@weigth,@weigth-@tare,1,@weigth,@weigth-@tare)
                END
            END
            --更新总体实时统计
            IF EXISTS(SELECT 1 FROM dbo.W_RealData)
            BEGIN
                UPDATE dbo.W_RealData SET TodayDevActiveCnt=TodayDevActiveCnt+@deviceactivecnt,TodayCount=TodayCount+1,TodayWeight=TodayWeight+@weigth,
                TodayPureWeight=TodayPureWeight+@weigth-@tare,TotalCount=TotalCount+1,TotalWeight=TotalWeight+@weigth,TotalPureWeight=TotalPureWeight+@weigth-@tare
            END
            ELSE
            BEGIN
                SELECT @devcnt=COUNT(*) FROM dbo.W_Device
                SELECT @businesscnt=COUNT(*) FROM dbo.W_Business
                INSERT INTO dbo.W_RealData
                (
                    Id,
                    BusinessCnt,
                    DevCnt,
                    TodayDevActiveCnt,
                    TodayCount,
                    TodayWeight,
                    TodayPureWeight,
                    TotalCount,
                    TotalWeight,
                    TotalPureWeight
                )
                VALUES(@resultid,@businesscnt,@devcnt,@deviceactivecnt,1,@weigth,@weigth-@tare,1,@weigth,@weigth-@tare)
            END
            --增加测量记录
            IF NOT EXISTS(SELECT 1 FROM dbo.W_Result WHERE id= @resultid)
            BEGIN
                    INSERT INTO dbo.W_Result
                    (Id,DeviceId,BusinessId,WasteType,Tare,GrossWeight,NetWeight,Registration,CreateTime
                    )
                    VALUES(@resultid,@deviceid,@businessid,@wastetype,@tare,@weigth,@weigth-@tare,@area,@time)
            END

            --更新最近使用的记录信息
            IF EXISTS(SELECT 1 FROM dbo.W_DeviceResult WHERE DeviceId=@deviceid)
            BEGIN
                UPDATE dbo.W_DeviceResult SET LastTrash=@area,LastHeartTime=@time,ResultId=@resultid WHERE DeviceId=@deviceid
            END
            ELSE
            BEGIN
                INSERT INTO dbo.W_DeviceResult
                (
                    DeviceId,
                    LastTrash,
                    LastHeartTime,
                    ResultId
                )
                VALUES
                (   @deviceid,      -- DeviceId - uniqueidentifier
                    @area,        -- LastTrash - varchar(50)
                    @time, -- LastHeartTime - datetime
                    @resultid       -- ResultId - uniqueidentifier
                    )
            END
            --增加第三方推送记录
            --IF EXISTS(SELECT 1 FROM dbo.W_BusinessAppApi WHERE id=@businessid)
            --BEGIN
            --	SELECT @devprovince=Province,@devcity=City,@devarea=Area,@devaddress=[Address],@devcode=Ecode,@devname=[Name] FROM dbo.W_Device WHERE id=@deviceid

            --	SELECT @devprovince=[name] FROM dbo.W_AreaInfo WHERE code=@devprovince

            --	SELECT @devcity=[name] FROM dbo.W_AreaInfo WHERE code=@devcity

            --	SELECT @devarea=[name] FROM dbo.W_AreaInfo WHERE code=@devarea

            --	SET @devaddress = @devprovince+''+@devcity+''+@devarea+''+@devaddress

            --	INSERT INTO dbo.W_BusinessPush
            --	(
            --	    BusinessId,
            --	    PushUrl,
            --	    DevCode,
            --	    DevName,
            --	    Address,
            --	    Weight,
            --	    Tare,
            --	    PWeight,
            --	    Type,
            --		cnt,
            --	    Time,
            --	    CreateTime
            --	)
            --	SELECT id,PushUrl,@devcode,@devname,@devaddress,@weigth,@tare,@weigth-@tare,@wastetype,0,@time,GETDATE() FROM dbo.W_BusinessAppApi WHERE id=@businessid
            --END
        END
    END
END