diff --git a/WeiCloud.Fusion/AlarmService/Alarm.Application/Alarm.Application.csproj b/WeiCloud.Fusion/AlarmService/Alarm.Application/Alarm.Application.csproj
index b234dd2..8c42f53 100644
--- a/WeiCloud.Fusion/AlarmService/Alarm.Application/Alarm.Application.csproj
+++ b/WeiCloud.Fusion/AlarmService/Alarm.Application/Alarm.Application.csproj
@@ -7,8 +7,12 @@
-
-
+
+
+
+
+
+
diff --git a/WeiCloud.Fusion/AspireApp/Manage.AppHost.AppHost/AppHost.cs b/WeiCloud.Fusion/AspireApp/Manage.AppHost.AppHost/AppHost.cs
index 6e0bce7..6290bda 100644
--- a/WeiCloud.Fusion/AspireApp/Manage.AppHost.AppHost/AppHost.cs
+++ b/WeiCloud.Fusion/AspireApp/Manage.AppHost.AppHost/AppHost.cs
@@ -5,10 +5,12 @@ var apiService = builder.AddProject("apiserv
var videoapi = builder.AddProject("videoapi");
var alarmapi = builder.AddProject("alarmapi");
+var thirdpartyapi = builder.AddProject("thirdpartyapi");
builder.AddProject("webfrontend")
.WithReference(videoapi)
.WithReference(alarmapi)
+ .WithReference(thirdpartyapi)
.WithExternalHttpEndpoints()
.WithHttpHealthCheck("/health")
diff --git a/WeiCloud.Fusion/AspireApp/Manage.AppHost.AppHost/Manage.AppHost.AppHost.csproj b/WeiCloud.Fusion/AspireApp/Manage.AppHost.AppHost/Manage.AppHost.AppHost.csproj
index 716dcc0..8498e6c 100644
--- a/WeiCloud.Fusion/AspireApp/Manage.AppHost.AppHost/Manage.AppHost.AppHost.csproj
+++ b/WeiCloud.Fusion/AspireApp/Manage.AppHost.AppHost/Manage.AppHost.AppHost.csproj
@@ -13,6 +13,7 @@
+
diff --git a/WeiCloud.Fusion/WeiCloud.Core/BaseModels/ApiResult.cs b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/BaseModels/ApiResult.cs
similarity index 96%
rename from WeiCloud.Fusion/WeiCloud.Core/BaseModels/ApiResult.cs
rename to WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/BaseModels/ApiResult.cs
index c7a80b6..e085d3d 100644
--- a/WeiCloud.Fusion/WeiCloud.Core/BaseModels/ApiResult.cs
+++ b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/BaseModels/ApiResult.cs
@@ -1,4 +1,4 @@
-namespace WeiCloud.Core.BaseModels
+namespace Common.Shared.Application.BaseModels
{
public class ApiResult
{
diff --git a/WeiCloud.Fusion/WeiCloud.Core/BaseModels/LoggerWarp.cs b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/BaseModels/LoggerWarp.cs
similarity index 95%
rename from WeiCloud.Fusion/WeiCloud.Core/BaseModels/LoggerWarp.cs
rename to WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/BaseModels/LoggerWarp.cs
index 08370f4..cb1f52d 100644
--- a/WeiCloud.Fusion/WeiCloud.Core/BaseModels/LoggerWarp.cs
+++ b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/BaseModels/LoggerWarp.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
-namespace WeiCloud.Core.BaseModels
+namespace Common.Shared.Application.BaseModels
{
public class LoggerWarp
{
diff --git a/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/BaseModels/SafeEnum.cs b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/BaseModels/SafeEnum.cs
new file mode 100644
index 0000000..f2c5993
--- /dev/null
+++ b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/BaseModels/SafeEnum.cs
@@ -0,0 +1,46 @@
+using System.ComponentModel;
+
+namespace Common.Shared.Application.BaseModels
+{
+ ///
+ /// 获取事后分析警情指标请求实体中日期类型的枚举
+ ///
+ public enum QueryTimeEnum
+ {
+ ///
+ /// 按日
+ ///
+ [Description("按日")]
+ Daily = 1,
+
+ ///
+ /// 按月
+ ///
+ [Description("按月")]
+ Monthly = 2,
+
+ ///
+ /// 按年
+ ///
+ [Description("按年")]
+ Yearly = 3,
+
+ ///
+ /// 自定义
+ ///
+ [Description("自定义")]
+ Custom = 0,
+
+ ///
+ /// 小时
+ ///
+ [Description("小时")]
+ Hours = 5,
+
+ ///
+ /// 周
+ ///
+ [Description("周")]
+ Week = 6,
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/DaHua/ReadMe.md b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/DaHua/ReadMe.md
new file mode 100644
index 0000000..62760b0
--- /dev/null
+++ b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/DaHua/ReadMe.md
@@ -0,0 +1,2 @@
+# 这是大华公司的ICC平台,涉及到的请求和响应DTO类
+https://open-icc.dahuatech.com/#/home
\ No newline at end of file
diff --git a/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/ReadMe.md b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/ReadMe.md
new file mode 100644
index 0000000..b088746
--- /dev/null
+++ b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/ReadMe.md
@@ -0,0 +1 @@
+*这是安消项目下的请求和响应DTO文件夹,这里不需要根据某个第三方来切割,后续可以根据项目来切割不同的文件夹*
\ No newline at end of file
diff --git a/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/RequestDto/SunPalaceBoardReqDto.cs b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/RequestDto/SunPalaceBoardReqDto.cs
new file mode 100644
index 0000000..3e36f2b
--- /dev/null
+++ b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/RequestDto/SunPalaceBoardReqDto.cs
@@ -0,0 +1,23 @@
+using Common.Shared.Application.BaseModels;
+
+namespace Common.Shared.Application.SafetyFirePro.RequestDto
+{
+ ///
+ /// 查询基类
+ ///
+ public class SecSituationQueryDto
+ {
+ ///
+ /// 查询时间
+ ///
+ public int? QueryTimeType { get; set; } = (int)QueryTimeEnum.Daily;
+
+ public DateTime? StartTime { get; set; }
+ public DateTime? EndTime { get; set; }
+
+ ///
+ /// 项目id
+ ///
+ public long? ProjectId { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/ResponseDto/SunPalaceBoardResDto.cs b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/ResponseDto/SunPalaceBoardResDto.cs
new file mode 100644
index 0000000..742e725
--- /dev/null
+++ b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/ResponseDto/SunPalaceBoardResDto.cs
@@ -0,0 +1,242 @@
+using System.Text.Json.Serialization;
+
+namespace Common.Shared.Application.SafetyFirePro.ResponseDto
+{
+ #region 太阳宫看板-综合安全态势返回体
+
+ ///
+ /// 第三方风险点数据
+ ///
+ public class DangerRiskAreaResDto
+ {
+ ///
+ /// 获得单位风险点汇总数据
+ ///
+ [JsonPropertyName("existingRisks")]
+ public List? ProductionRiskStats { get; set; }
+
+ ///
+ /// 隐患数据
+ ///
+ public List? DangerInfos { get; set; }
+ }
+
+ ///
+ /// 生产风险识别
+ ///
+ public class ProductionRiskStatsResDto
+ {
+ ///
+ /// 风险名称(如 "重大风险")
+ ///
+ [JsonPropertyName("name")]
+ public string Name { get; set; } //
+
+ ///
+ /// 风险数量
+ ///
+ [JsonPropertyName("count")]
+ public int Count { get; set; } //
+
+ ///
+ /// 颜色编码(如 "#ff0000")
+ ///
+ [JsonPropertyName("color")]
+ public string Color { get; set; } //
+ }
+
+ ///
+ /// 安全隐患信息列表
+ ///
+ public class DangerInfo
+ {
+ ///
+ /// 隐患状态
+ ///
+ public string? Status { get; set; } //隐患状态:0待核查,1待整改,2待验收,3待排查
+
+ ///
+ /// 隐患状态数量
+ ///
+ public int StatusCount { get; set; } = 0;
+
+ ///
+ /// 隐患等级数量
+ ///
+ public int DangerLevelCount { get; set; } = 0;
+ }
+
+ #endregion 太阳宫看板-综合安全态势返回体
+
+ #region 太阳宫看板-设备设施态势返回体
+
+ ///
+ /// 资产仪表盘
+ ///
+ public class AssetOverviewResDto
+ {
+ ///
+ /// 排序
+ ///
+ public int OrderBy { get; set; } = 1;
+
+ ///
+ /// 资产名字
+ ///
+ public string Name { get; set; } = default!;
+
+ ///
+ /// 资产总数
+ ///
+ public double TotalAssetCount { get; set; }
+
+ ///
+ /// 所有百分比的
+ ///
+ public double? TotalAssetCountGrowthRate { get; set; }
+
+ /////
+ ///// 总资产数
+ /////
+ //public int TotalAssetCount { get; set; }
+
+ /////
+ ///// 总资产数较上月增长百分比(如 5.2 表示增长 5.2%)
+ /////
+ //public double TotalAssetCountGrowthRate { get; set; }
+
+ /////
+ ///// 总资产价值(单位:万元)
+ /////
+ //public double TotalAssetValue { get; set; }
+
+ /////
+ ///// 总资产价值较上月增长百分比
+ /////
+ //public decimal TotalAssetValueGrowthRate { get; set; }
+
+ /////
+ ///// 资产盘点进度(如 0.92 表示 92%)
+ /////
+ //public decimal InventoryProgressRate { get; set; }
+
+ /////
+ ///// 资产分布楼层数
+ /////
+ //public int AssetFloorCoverage { get; set; }
+
+ /////
+ ///// 在保资产数量
+ /////
+ //public int InsuredAssetCount { get; set; }
+
+ /////
+ ///// 在保资产较上月减少百分比(如 -2.1 表示减少 2.1%)
+ /////
+ //public decimal InsuredAssetChangeRate { get; set; }
+
+ /////
+ ///// 待维修资产数量
+ /////
+ //public int RepairPendingAssetCount { get; set; }
+
+ /////
+ ///// 待维修资产较上月增长百分比
+ /////
+ //public decimal RepairPendingGrowthRate { get; set; }
+
+ /////
+ ///// 本月折旧金额(单位:元)
+ /////
+ //public decimal DepreciationThisMonth { get; set; }
+
+ /////
+ ///// 折旧金额较上月增长百分比
+ /////
+ //public decimal DepreciationGrowthRate { get; set; }
+
+ /////
+ ///// 今日报警数量(待处理)
+ /////
+ //public int TodayAlarmCount { get; set; }
+ }
+
+ ///
+ /// 资产类型统计返回体
+ ///
+ public class AssetTypeResDto
+ {
+ ///
+ /// 类型名
+ ///
+ public string AssetType { get; set; } = default!;
+
+ ///
+ /// 数量
+ ///
+ public int AssetCount { get; set; } = 0;
+ }
+
+ ///
+ /// 折旧率对比
+ ///
+ public class AvgDepreciationResDto
+ {
+ ///
+ /// 设备名
+ ///
+ public string DeviceName { get; set; } = default!;
+
+ ///
+ /// 折旧率
+ ///
+ public double TotalAssetCount
+ {
+ get; set;
+ }
+ }
+
+ ///
+ /// 资产报警分析
+ ///
+ public class AssetAlarmTrendResDto
+ {
+ ///
+ /// 资产名字
+ ///
+ public string? AssetName { get; set; }
+
+ ///
+ /// 月份
+ ///
+ public int Monthly { get; set; }
+
+ ///
+ /// 资产数量
+ ///
+ public int AssetCount { get; set; } = 0;
+ }
+
+ ///
+ /// 合规证件预警
+ ///
+ public class IdCardAlarmResDto
+ {
+ ///
+ /// 证件名称
+ ///
+ public string CardName { get; set; } = default!;
+
+ ///
+ /// 有效期
+ ///
+ public DateTime ValidityPeriod { get; set; } = default!;
+
+ ///
+ /// 剩余天数
+ ///
+ public int RemainingDays { get; set; } = 0;
+ }
+
+ #endregion 太阳宫看板-设备设施态势返回体
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/Common.SharedService/Common.Shared.DomainService/MqttClient/MQTTClient.cs b/WeiCloud.Fusion/Common.SharedService/Common.Shared.DomainService/MqttClient/MQTTClient.cs
index 6890e0d..fd0d462 100644
--- a/WeiCloud.Fusion/Common.SharedService/Common.Shared.DomainService/MqttClient/MQTTClient.cs
+++ b/WeiCloud.Fusion/Common.SharedService/Common.Shared.DomainService/MqttClient/MQTTClient.cs
@@ -1,8 +1,8 @@
-using Microsoft.Extensions.Logging;
+using Common.Shared.Application.BaseModels;
+using Microsoft.Extensions.Logging;
using MQTTnet;
using MQTTnet.Client;
using MQTTnet.Protocol;
-using WeiCloud.Core.BaseModels;
namespace Common.Shared.DomainService
{
diff --git a/WeiCloud.Fusion/ParkingLotService/ParkLotInfoService/ParkingLotDataService.cs b/WeiCloud.Fusion/ParkingLotService/ParkLotInfoService/ParkingLotDataService.cs
index ce10510..b594916 100644
--- a/WeiCloud.Fusion/ParkingLotService/ParkLotInfoService/ParkingLotDataService.cs
+++ b/WeiCloud.Fusion/ParkingLotService/ParkLotInfoService/ParkingLotDataService.cs
@@ -1,33 +1,21 @@
-using Microsoft.AspNetCore.Components;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
-using MongoDB.Bson;
-using Newtonsoft.Json.Serialization;
using Newtonsoft.Json;
+using Newtonsoft.Json.Serialization;
+using ParkingLotEntity.DB;
using ParkingLotEntity.ParkingLotModelDto;
using ParkingLotEntity.ParkingLotModelDto.BaseModels;
using ParkingLotEntity.ParkingLotModels;
+using Pipelines.Sockets.Unofficial.Arenas;
+using System.Net.NetworkInformation;
+using System.Text;
+using System.Text.Encodings.Web;
using System.Text.Json;
using WeiCloud.Core;
-using WeiCloud.Utils.EncodeTools;
-using WeiCloudAPP.Core;
-using NewLife.Serialization;
-using WeiCloud.Utils.Common;
-using Microsoft.Extensions.Configuration;
-using System.Net.Http;
-using System.Text.Encodings.Web;
-using System.Text;
-using System.Net.NetworkInformation;
-using NPOI.SS.UserModel;
-using ParkingLotEntity.DB;
-using NewLife.Reflection;
using WeiCloud.Utils;
-using static QRCoder.PayloadGenerator;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
-using Pipelines.Sockets.Unofficial.Arenas;
-using System.Threading;
-using Microsoft.EntityFrameworkCore;
-using NewLife.IP;
-
+using WeiCloud.Utils.Common;
+using WeiCloud.Utils.EncodeTools;
namespace ParkLotInfoService
{
@@ -39,11 +27,14 @@ namespace ParkLotInfoService
private readonly IDictionaryService _dictionaryService;
private readonly IConfiguration _configuration;
private readonly string liFangkey = "cmVmb3JtZXJyZWZvcm1lcg==";
+
private JsonSerializerSettings settings = new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
+
private readonly IHttpClientFactory _httpClientFactory;
+
public ParkingLotDataService(ILogger logger, WeiCloudFusionContext context, IConfiguration configuration, IHttpClientFactory httpClientFactory, WeiCloudDbAxyjptContext dBContext, IDictionaryService dictionaryService)
{
_logger = logger;
@@ -53,7 +44,9 @@ namespace ParkLotInfoService
_dBContext = dBContext;
_dictionaryService = dictionaryService;
}
+
#region 停车场
+
///
/// 上传停车场信息
///
@@ -63,7 +56,7 @@ namespace ParkLotInfoService
{
ApiResult result = new ApiResult() { Code = RequestBackStatuEnum.success.Value, Msg = "接口请求成功" };
//ParkingAccessRecordDto dto=new ParkingAccessRecordDto();
- long projectId = 0;
+ long projectId = 0;
try
{
var projectIdStr = _configuration["PorjectId"];
@@ -90,8 +83,8 @@ namespace ParkLotInfoService
_logger.LogError(ex, $"PostParkingLots 上传停车场信息失败:{ex.Message}");
}
return result;
-
}
+
///
/// 获取停车场信息
///
@@ -123,7 +116,6 @@ namespace ParkLotInfoService
return result;
}
result.Data = model;
-
}
catch (Exception ex)
{
@@ -133,6 +125,7 @@ namespace ParkLotInfoService
}
return result;
}
+
///
/// 获取立方接口数据
///
@@ -141,7 +134,6 @@ namespace ParkLotInfoService
///
private async Task GetLifangData(string apiName, object parmJson)
{
-
string resStr = string.Empty;
//立方,目前只能本地测试
var url = _configuration["ThirdApi:LifangParkLotApiAddress"] + apiName;
@@ -157,33 +149,34 @@ namespace ParkLotInfoService
var content = new StringContent(json, Encoding.UTF8, "application/json");
//_ = Task.Run(async () =>
//{
- try
- {
- var httpResponse = client.PostAsync(url, content);
- var response = await httpResponse;
- if (response.IsSuccessStatusCode)
- {
- resStr = await response.Content.ReadAsStringAsync();
- }
- // 处理响应...
- }
- catch (TaskCanceledException)
- {
- _logger.LogError(this.GetType().FullName + " PostSearchResult", string.Format("抛出了异常信息: 请求超时,但主进程不受影响;"));
- //Console.WriteLine("请求超时,但主进程不受影响");
- }
- catch (Exception ex)
+ try
+ {
+ var httpResponse = client.PostAsync(url, content);
+ var response = await httpResponse;
+ if (response.IsSuccessStatusCode)
{
- _logger.LogError(this.GetType().FullName + " PostSearchResult", string.Format("抛出了异常信息: 请求超时,请求失败;{0}", ex.Message));
+ resStr = await response.Content.ReadAsStringAsync();
}
- // });
+ // 处理响应...
+ }
+ catch (TaskCanceledException)
+ {
+ _logger.LogError(this.GetType().FullName + " PostSearchResult", string.Format("抛出了异常信息: 请求超时,但主进程不受影响;"));
+ //Console.WriteLine("请求超时,但主进程不受影响");
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(this.GetType().FullName + " PostSearchResult", string.Format("抛出了异常信息: 请求超时,请求失败;{0}", ex.Message));
+ }
+ // });
return resStr;
}
+
public async Task> GetIpPing()
{
ApiResult result = new ApiResult() { Code = RequestBackStatuEnum.success.Value, Msg = "接口请求成功!" };
- int timeout = 1000; // 超时时间(毫秒)
+ int timeout = 1000; // 超时时间(毫秒)
try
{
//立方停车场摄像头
@@ -196,9 +189,9 @@ namespace ParkLotInfoService
}
var ptIpsLabel = ips.Select(d => new { Ip = d, LabelCode = "太阳宫车场识别仪Ip_" + d }).ToList();
//识别仪ip所在的识别仪设备
- var pthings =await _dBContext.PtThingMapLabels.Where(a => ptIpsLabel.Select(b => b.LabelCode).Contains(a.LabelCode)).ToListAsync();
+ var pthings = await _dBContext.PtThingMapLabels.Where(a => ptIpsLabel.Select(b => b.LabelCode).Contains(a.LabelCode)).ToListAsync();
//所有识别仪状态点位
- var statePtthings =await _dBContext.PtThings.Where(a => pthings.Select(b => b.ThingId).Contains(a.ParentId) && a.ParamCode == "AX_ChannelState").ToListAsync();
+ var statePtthings = await _dBContext.PtThings.Where(a => pthings.Select(b => b.ThingId).Contains(a.ParentId) && a.ParamCode == "AX_ChannelState").ToListAsync();
foreach (var item in ptIpsLabel)
{
//识别仪状态 0关闭 1开启
@@ -221,7 +214,6 @@ namespace ParkLotInfoService
state = 1;
//Console.WriteLine($"来自 {reply.Address} 的回复: 字节={reply.Buffer.Length} 时间={reply.RoundtripTime}ms TTL={reply.Options?.Ttl ?? 0}");
}
-
}
//redis中更新识别仪状态
RealDataOnlyValueBo real = new RealDataOnlyValueBo() { Id = stateId.GetValueOrDefault(), Realvalue = state.ToString(), Updatetime = DateTime.Now };
@@ -240,8 +232,11 @@ namespace ParkLotInfoService
}
return result;
}
- #endregion
+
+ #endregion 停车场
+
#region 门禁
+
///
/// 提交门禁状态记录
///
@@ -254,16 +249,16 @@ namespace ParkLotInfoService
try
{
//项目id
- string proStr = _configuration["PorjectId"];
+ string proStr = _configuration["PorjectId"];
if (!string.IsNullOrEmpty(proStr))
{
projectId = long.Parse(proStr);
}
-
- DoorStateRecord door = new DoorStateRecord() { Id = UidGenerator.Uid(),DoorId = dto.doorId, State =(short) dto.typeId, StateTime =DateTime.Parse(dto.date) , DoorName = dto.doorName, StateDesc = dto.typeName,CreateTime = DateTime.Now , ProjectId = projectId };
+
+ DoorStateRecord door = new DoorStateRecord() { Id = UidGenerator.Uid(), DoorId = dto.doorId, State = (short)dto.typeId, StateTime = DateTime.Parse(dto.date), DoorName = dto.doorName, StateDesc = dto.typeName, CreateTime = DateTime.Now, ProjectId = projectId };
_context.DoorStateRecords.Add(door);
- _logger.LogError(this.GetType().FullName + " PostDoorControlRecord 入库前", string.Format("入库请求;{0}",_context.DoorStateRecords.Count()));
- var res= await _context.SaveChangesAsync();
+ _logger.LogError(this.GetType().FullName + " PostDoorControlRecord 入库前", string.Format("入库请求;{0}", _context.DoorStateRecords.Count()));
+ var res = await _context.SaveChangesAsync();
if (res > 0)
{
_logger.LogError(this.GetType().FullName + " PostDoorControlRecord 入库后", string.Format("入库成功息: 请求超时,请求失败;{0}", door.Id));
@@ -272,7 +267,7 @@ namespace ParkLotInfoService
result.Suc = 200;
}
else
- {
+ {
result.Ret = "FAIL";
result.Suc = 2005;
}
@@ -282,8 +277,8 @@ namespace ParkLotInfoService
_logger.LogError(this.GetType().FullName + " PostDoorControlRecord 保存记录--", string.Format("抛出了异常信息: 请求超时,请求失败;{0}", ex.Message));
}
return result;
-
}
+
///
/// 门禁设备状态
///
@@ -303,30 +298,30 @@ namespace ParkLotInfoService
}
//门禁的设备状态写入redis
//找出所有的门禁设备
- var data=await _dBContext.PtThings.ToListAsync();
- var eqPthings=await _dBContext.PtThings.Where(a => a.ParamCode == "AccessControl").Select(d=>d.Id).ToListAsync();
+ var data = await _dBContext.PtThings.ToListAsync();
+ var eqPthings = await _dBContext.PtThings.Where(a => a.ParamCode == "AccessControl").Select(d => d.Id).ToListAsync();
if (eqPthings == null || eqPthings.Count == 0)
{ return result; }
-
- var doorlocks =await _dBContext.PtThingMapLabels.Where(m => eqPthings.Contains(m.ThingId)&& m.LabelCode.Contains("安消门禁Id_")).Select(d=> new { Id = d.ThingId, DeciveId = int.Parse(d.LabelCode.Substring(d.LabelCode.LastIndexOf("_") + 1)) }).ToListAsync();
+
+ var doorlocks = await _dBContext.PtThingMapLabels.Where(m => eqPthings.Contains(m.ThingId) && m.LabelCode.Contains("安消门禁Id_")).Select(d => new { Id = d.ThingId, DeciveId = int.Parse(d.LabelCode.Substring(d.LabelCode.LastIndexOf("_") + 1)) }).ToListAsync();
if (doorlocks == null || doorlocks.Count == 0)
- {
+ {
return result;
}
if (doorlocks == null || doorlocks.Count == 0)
- {
+ {
return result;
}
//找出当前订阅推送的门禁id对应的设备
- var doorLock=doorlocks.Where(a => a.DeciveId == dto.deviceld).FirstOrDefault();
+ var doorLock = doorlocks.Where(a => a.DeciveId == dto.deviceld).FirstOrDefault();
if (doorLock == null)
{
return result;
}
//找出当前门禁的状态点位
- var realId=_dBContext.PtThings.Where(a =>a.ParentId== doorLock.Id && a.ParamCode == "AX_AcessState").FirstOrDefault()?.Id;
- if (realId==0)
+ var realId = _dBContext.PtThings.Where(a => a.ParentId == doorLock.Id && a.ParamCode == "AX_AcessState").FirstOrDefault()?.Id;
+ if (realId == 0)
{
return result;
}
@@ -339,8 +334,8 @@ namespace ParkLotInfoService
_logger.LogError(this.GetType().FullName + " PostDoorControlRecord", string.Format("抛出了异常信息: 请求超时,请求失败;{0}", ex.Message));
}
return result;
-
}
+
///
/// 门禁远程控制
///
@@ -354,8 +349,8 @@ namespace ParkLotInfoService
string api = $"custom/v1/sendCommand?doorId={doorId}&command={command}";
try
{
- string token =await GetLifangDoorLockToken();
- var str = await GetLifangDoorLockPostData(api, null,token);
+ string token = await GetLifangDoorLockToken();
+ var str = await GetLifangDoorLockPostData(api, null, token);
if (string.IsNullOrEmpty(str))
{
result.Code = RequestBackStatuEnum.diy.Value;
@@ -409,7 +404,7 @@ namespace ParkLotInfoService
//var client = _httpClientFactory.CreateClient();
- client.Timeout = TimeSpan.FromMinutes(1);//设置超时时间
+ client.Timeout = TimeSpan.FromMinutes(1);//设置超时时间
try
{
var response = await client.GetAsync(apiUrl);
@@ -437,13 +432,14 @@ namespace ParkLotInfoService
}
return token;
}
+
///
/// 门禁调用立方接口信息
///
///
///
///
- private async Task GetLifangDoorLockPostData(string apiName, object parmJson,string token)
+ private async Task GetLifangDoorLockPostData(string apiName, object parmJson, string token)
{
string json = string.Empty;
////获取token
@@ -499,18 +495,19 @@ namespace ParkLotInfoService
}
return resStr;
}
+
///
/// 调用订阅接口
///
///
///
///
-
+
///
- public async Task> PushLifangDoorData(string tppic, string address,string token)
+ public async Task> PushLifangDoorData(string tppic, string address, string token)
{
- ApiResult result = new ApiResult() { Code=RequestBackStatuEnum.success.Value,Msg="接口请求成功!"};
- TokenDto resDto = new TokenDto() { Ret= "SUCESS",Suc= 200 };
+ ApiResult result = new ApiResult() { Code = RequestBackStatuEnum.success.Value, Msg = "接口请求成功!" };
+ TokenDto resDto = new TokenDto() { Ret = "SUCESS", Suc = 200 };
int expire = 0;
try
{
@@ -526,7 +523,7 @@ namespace ParkLotInfoService
return result;
}
PushDoorDto dto = new PushDoorDto() { uuid = uuid, expire = expire, address = address, topic = tppic };
- var res = await GetLifangDoorLockPostData(api, dto,token);
+ var res = await GetLifangDoorLockPostData(api, dto, token);
if (string.IsNullOrEmpty(res))
{
result.Code = RequestBackStatuEnum.fail.Value;
@@ -538,17 +535,17 @@ namespace ParkLotInfoService
{
result.Code = RequestBackStatuEnum.diy.Value;
result.Msg = "下空失败!";
-
}
result.Data = resModel;
}
catch (Exception ex)
{
- _logger.LogError(this.GetType().FullName + " PushLifangDoorData ", string.Format("抛出了异常信息:{0}",ex));
+ _logger.LogError(this.GetType().FullName + " PushLifangDoorData ", string.Format("抛出了异常信息:{0}", ex));
}
-
- return result;
+
+ return result;
}
+
//public async Task> PushLifangDoorRecord(string tppic, string address)
//{
// try
@@ -560,6 +557,7 @@ namespace ParkLotInfoService
// _logger.LogError(this.GetType().FullName + " PushLifangDoorRecord ", string.Format("抛出了异常信息:{0}", ex));
// }
//}
- #endregion
+
+ #endregion 门禁
}
-}
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Controllers/PuTianSuYuan/SunPalaceBoardFacilityController.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Controllers/PuTianSuYuan/SunPalaceBoardFacilityController.cs
new file mode 100644
index 0000000..cdede40
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Controllers/PuTianSuYuan/SunPalaceBoardFacilityController.cs
@@ -0,0 +1,46 @@
+using Common.Shared.Application.SafetyFirePro.RequestDto;
+using Common.Shared.Application.SafetyFirePro.ResponseDto;
+using Microsoft.AspNetCore.Mvc;
+using ThirdPartyServices.DomainService.PuTianSuYuan;
+
+namespace ThirdPartyServices.API.Controllers.PuTianSuYuan
+{
+ ///
+ /// 用于太阳宫看板的设备设施态势-普天溯源公司接口
+ ///
+ [Route("api/[controller]/[action]")]
+ [ApiController]
+ public class SunPalaceBoardFacilityController : ControllerBase
+ {
+ private readonly ILogger _logger;
+
+ private readonly ISunPalaceBoardFacilityService _sunPalaceBoardFacilityService;
+
+ public SunPalaceBoardFacilityController(ILogger logger, ISunPalaceBoardFacilityService sunPalaceBoardFacilityService)
+ {
+ _logger = logger;
+ _sunPalaceBoardFacilityService = sunPalaceBoardFacilityService;
+ }
+
+ ///
+ /// 资产仪表盘数据-智慧建筑的看板上使用
+ ///
+ ///
+ ///
+ [HttpPost("assetList")]
+ public async Task> GetAssetDashboardEchart(SecSituationQueryDto dto)
+ {
+ return await _sunPalaceBoardFacilityService.GetAssetDashboardEchart(dto);
+ }
+
+ ///
+ /// 资产类型-智慧建筑的看板上使用
+ ///
+ ///
+ [HttpPost("assetType")]
+ public async Task> GetAssetTypeEchart(SecSituationQueryDto dto)
+ {
+ return await _sunPalaceBoardFacilityService.GetAssetTypeEchart(dto);
+ }
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Controllers/ShenZhouShengAn/SunPalaceBoardSafetyController.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Controllers/ShenZhouShengAn/SunPalaceBoardSafetyController.cs
new file mode 100644
index 0000000..fc33414
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Controllers/ShenZhouShengAn/SunPalaceBoardSafetyController.cs
@@ -0,0 +1,35 @@
+using Common.Shared.Application.SafetyFirePro.ResponseDto;
+using Microsoft.AspNetCore.Mvc;
+using ThirdPartyServices.DomainService.ShenZhouShengAn;
+
+namespace ThirdPartyServices.API.Controllers.ShenZhouShengAn
+{
+ ///
+ /// 用于太阳宫看板的综合安全态势模块-神州晟安公司接口
+ ///
+ [Route("api/[controller]/[action]")]
+ [ApiController]
+ public class SunPalaceBoardSafetyController : ControllerBase
+ {
+ private readonly ILogger _logger;
+
+ private readonly ISunPalaceBoardSafetyService _secSituationService;
+
+ public SunPalaceBoardSafetyController(ILogger logger, ISunPalaceBoardSafetyService secSituationService)
+ {
+ _logger = logger;
+ _secSituationService = secSituationService;
+ }
+
+ ///
+ /// 生产风险识别(盾安云数据)智慧建筑的看板上使用
+ ///
+ ///
+ ///
+ [HttpGet("productionRisk")]
+ public async Task GetProductionRiskEchart()
+ {
+ return await _secSituationService.GetProductionRiskEchart();
+ }
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Infrastructure/AutoMapperProfile.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Infrastructure/AutoMapperProfile.cs
new file mode 100644
index 0000000..43f5e04
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Infrastructure/AutoMapperProfile.cs
@@ -0,0 +1,17 @@
+using AutoMapper;
+
+namespace ThirdPartyServices.API.Infrastructure
+{
+ ///
+ /// AutoMapper
+ ///
+ public class AutoMapperProfile : Profile
+ {
+ ///
+ /// 캯
+ ///
+ public AutoMapperProfile()
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Infrastructure/ConfigureAutofac.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Infrastructure/ConfigureAutofac.cs
new file mode 100644
index 0000000..cfb8821
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Infrastructure/ConfigureAutofac.cs
@@ -0,0 +1,31 @@
+using Autofac;
+using System.Reflection;
+
+namespace ThirdPartyServices.API.Infrastructure
+{
+ ///
+ /// autofac
+ ///
+ public class ConfigureAutofac : Autofac.Module
+ {
+ ///
+ ///
+ ///
+ ///
+ protected override void Load(ContainerBuilder builder)
+ {
+ //Assembly assemblysServices1 = Assembly.Load("WeiCloud.Core");
+ //builder.RegisterAssemblyTypes(assemblysServices1).Where(t => t.Namespace != "" && t.Namespace != null && t.Name.EndsWith("Service") && t.Namespace.StartsWith("WeiCloud.Core"))
+ // .AsImplementedInterfaces()
+ // .InstancePerLifetimeScope().PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies);
+
+ var assemblysServices = Assembly.Load("ThirdPartyServices.DomainService");
+ builder.RegisterAssemblyTypes(assemblysServices)
+ .Where(x => x.Name.EndsWith("Service"))
+ .AsImplementedInterfaces()
+ .InstancePerLifetimeScope().PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies);
+
+ // builder.RegisterType(typeof(GrainFactory)).PropertiesAutowired().InstancePerLifetimeScope();
+ }
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/NLog.config b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/NLog.config
new file mode 100644
index 0000000..55c5da9
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/NLog.config
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Program.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Program.cs
index e1b8a7c..b8f3507 100644
--- a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Program.cs
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Program.cs
@@ -1,27 +1,128 @@
+using Autofac;
+using Autofac.Extensions.DependencyInjection;
+using Common.Shared.Application.Core;
+using Microsoft.OpenApi.Models;
+using NLog;
+using NLog.Extensions.Logging;
+using NLog.Web;
+using System.Reflection;
+using ThirdPartyServices.API.Infrastructure;
+
namespace ThirdPartyServices.API
{
public class Program
{
public static void Main(string[] args)
{
- var builder = WebApplication.CreateBuilder(args);
+ var logger = NLog.LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger();
+ logger.Debug("init main");
+ try
+ {
+ var builder = WebApplication.CreateBuilder(args);
+
+ builder.Services.AddHttpContextAccessor();
+ builder.Services.AddHttpClient();
+ builder.Services.AddControllers();
+ builder.Services.AddSingleton(builder.Configuration);
+
+ #region Cors
+
+ var isconfig = builder.Configuration.GetSection("IdentityClientConfig").Get();
+ builder.Services.AddCors(options =>
+ {
+ options.AddPolicy("_myAllowSpecificOrigins",
+ builder =>
+ {
+ builder
+ //.WithOrigins(isconfig.CorsOrigins) //Դʹöŷָ
+ .AllowAnyOrigin() //ԴʱAPIã
+ .AllowAnyHeader()
+ .AllowAnyMethod()
+ .AllowCredentials()
+ .SetIsOriginAllowed((h) => true);//ΪSignalrӵ
+ });
+ });
+
+ #endregion Cors
+
+ #region SwaggerUI
+
+ builder.Services.AddEndpointsApiExplorer();
+ builder.Services.AddSwaggerGen(c =>
+ {
+ c.SwaggerDoc("v1.0", new OpenApiInfo
+ {
+ Version = "v1.0",
+ Title = "WeiCloud.IoT",//
+ Description = "һ廯ƽ̨",
+ Contact = new OpenApiContact
+ {
+ Name = "hi7t",
+ Email = "",
+ Url = null
+ }
+ });
+ //c.OperationFilter();
+ var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
+ var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
+ c.IncludeXmlComments(xmlPath, true);
+ c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
+ });
+
+ #endregion SwaggerUI
+
+ builder.Services.AddLogging(m => { m.AddNLog(); });
+
+ #region Autofac
- // Add services to the container.
+ builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory())
+ .ConfigureContainer(builder =>
+ {
+ builder.RegisterModule(new ConfigureAutofac());
+ });
- builder.Services.AddControllers();
+ #endregion Autofac
- var app = builder.Build();
+ // ȫĬС
+ builder.WebHost.ConfigureKestrel(options =>
+ {
+ options.Limits.MaxRequestBodySize = 200 * 1024 * 1024; // Ĭ 200MB
+ });
- // Configure the HTTP request pipeline.
+ var app = builder.Build();
- app.UseHttpsRedirection();
+ if (app.Environment.IsDevelopment())
+ {
+ app.UseSwagger();
+ app.UseSwaggerUI(c =>
+ {
+ c.SwaggerEndpoint("/swagger/v1.0/swagger.json", "WeiCloud.IoT-v1.0");
+ });
+ }
- app.UseAuthorization();
+ // app.UseHttpsRedirection();
+ // app.UseAuthorization();
- app.MapControllers();
+ app.MapControllers();
+ app.MapGet("/healthz", () => Results.Ok("OK"));
- app.Run();
+ // Startup ʵ
+ var startup = new Startup(builder.Configuration);
+ startup.Configure(app, app.Environment, builder.Configuration);
+ app.Run();
+ }
+ catch (Exception exception)
+ {
+ // NLog: catch setup errors
+ logger.Error(exception, "Stopped program because of exception");
+ throw;
+ }
+ finally
+ {
+ // Ensure to flush and stop internal timers/threads before application-exit (Avoid segmentation fault on Linux)
+ NLog.LogManager.Shutdown();
+ }
}
}
-}
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Properties/launchSettings.json b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Properties/launchSettings.json
index 6d05fc1..628c0ac 100644
--- a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Properties/launchSettings.json
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Properties/launchSettings.json
@@ -13,7 +13,7 @@
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
- "launchUrl": "weatherforecast",
+ "launchUrl": "swagger",
"applicationUrl": "http://localhost:5053",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
@@ -23,7 +23,7 @@
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
- "launchUrl": "weatherforecast",
+ "launchUrl": "swagger",
"applicationUrl": "https://localhost:7195;http://localhost:5053",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
@@ -32,10 +32,10 @@
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
- "launchUrl": "weatherforecast",
+ "launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
-}
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Startup.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Startup.cs
new file mode 100644
index 0000000..62a87b9
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Startup.cs
@@ -0,0 +1,19 @@
+using WeiCloud.Utils.Common;
+
+namespace ThirdPartyServices.API
+{
+ public class Startup
+ {
+ public Startup(IConfiguration configuration)
+ {
+ Configuration = configuration;
+ }
+
+ public IConfiguration Configuration { get; }
+
+ public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IConfiguration configuration)
+ {
+ ServiceLocator.Instance = app.ApplicationServices;
+ }
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/ThirdPartyServices.API.csproj b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/ThirdPartyServices.API.csproj
index ad9cab4..7ad1732 100644
--- a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/ThirdPartyServices.API.csproj
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/ThirdPartyServices.API.csproj
@@ -4,12 +4,23 @@
net8.0
enable
enable
+ True
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/appsettings.json b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/appsettings.json
index 10f68b8..d8ef202 100644
--- a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/appsettings.json
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/appsettings.json
@@ -5,5 +5,17 @@
"Microsoft.AspNetCore": "Warning"
}
},
+ //太阳宫大屏的第三方配置
+ "ThirdParty": {
+ "AssetWeb": {
+ "ServiceUrl": "http://123.56.129.171:8280/services/AssetWeb.asmx",
+ "TimeoutSeconds": "30",
+ "MaxMsgSize": "10485760", // 10 MB
+ "BasicAuthUser": "",
+ "BasicAuthPassword": "",
+ "TokenHeader": ""
+ },
+ "SzdunanCode": "123456"
+ },
"AllowedHosts": "*"
-}
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.Application/ShenZhouShengAn/RequestDto/ThirdPartyProviderQueryDto.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.Application/ShenZhouShengAn/RequestDto/ThirdPartyProviderQueryDto.cs
new file mode 100644
index 0000000..45a1209
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.Application/ShenZhouShengAn/RequestDto/ThirdPartyProviderQueryDto.cs
@@ -0,0 +1,68 @@
+using System.Text.Json;
+using System.Text.Json.Serialization;
+
+//盾安云第三方请求接口的参数
+namespace ThirdPartyServices.Application.ShenZhouShengAn.RequestDto
+{
+ ///
+ /// 用户信息参数
+ ///
+ public class LoginUsersConfiguration
+ {
+ [JsonPropertyName("uid")]
+ public int Uid { get; set; }
+
+ [JsonPropertyName("ubpid")]
+ public int Ubpid { get; set; }
+
+ [JsonPropertyName("id")]
+ public int UserId { get; set; }
+ }
+
+ ///
+ /// 单位风险点汇总数据
+ ///
+ public class RiskAreaQueryDto
+ {
+ ///
+ /// 单位id
+ ///
+ public int Branch_Id { get; set; } = 0;
+
+ ///
+ /// Ubpid
+ ///
+ public int Ubpid { get; set; } = 0;
+
+ ///
+ /// Uid
+ ///
+ public int Uid { get; set; } = 0;
+ }
+
+ ///
+ /// 条件组合查询隐患数据
+ ///
+ public class DangerInfoQueryDto
+ {
+ public int? Ubpid { get; set; }
+
+ ///
+ /// /隐患状态:0待核查,1待整改,2待验收,3治理完毕,4不是隐患
+ ///
+ public string Status { get; set; }
+
+ ///
+ /// 第三方定义的隐患等级2一般隐患,3重大隐患
+ ///
+ public string? Result { get; set; }
+
+ public int? Page { get; set; }
+
+ public int? Branch_id { get; set; }
+
+ public string? Start_time { get; set; }
+
+ public string? End_time { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.Application/ShenZhouShengAn/ResponseDto/ThirdPartyProviderResDto.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.Application/ShenZhouShengAn/ResponseDto/ThirdPartyProviderResDto.cs
new file mode 100644
index 0000000..0a1da98
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.Application/ShenZhouShengAn/ResponseDto/ThirdPartyProviderResDto.cs
@@ -0,0 +1,38 @@
+//第三方返回数据
+using System.Text.Json.Serialization;
+
+namespace ThirdPartyServices.Application.ShenZhouShengAn.ResponseDto
+{
+ ///
+ /// 返回token模型
+ ///
+ public class LoginTokenDto
+ {
+ public string? Token { get; set; }
+ }
+
+ ///
+ /// 用户单位信息参数
+ ///
+ public class BranchResDto
+ {
+ [JsonPropertyName("branch_permissions_ids")]
+ public int[] BranchPermissionIds { get; set; }
+ }
+
+ ///
+ /// 用于第三方请求的结果
+ ///
+ ///
+ public class HttpClientResult
+ {
+ [JsonPropertyName("code")]
+ public string Code { get; set; }
+
+ [JsonPropertyName("message")]
+ public string Message { get; set; }
+
+ [JsonPropertyName("data")]
+ public T Data { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.Application/ThirdPartyServices.Application.csproj b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.Application/ThirdPartyServices.Application.csproj
index 47eabbf..c814c41 100644
--- a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.Application/ThirdPartyServices.Application.csproj
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.Application/ThirdPartyServices.Application.csproj
@@ -9,7 +9,12 @@
-
+
+
+
+
+
+
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/AssetWebClientService.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/AssetWebClientService.cs
new file mode 100644
index 0000000..61a5a51
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/AssetWebClientService.cs
@@ -0,0 +1,2472 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,并在以下条件下丢失:
+// 代码重新生成。
+//
+//------------------------------------------------------------------------------
+
+namespace ThirdPartyServices.DomainService.PuTianSuYuan
+{
+
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ServiceModel.ServiceContractAttribute(Namespace="http://service.webservice.fits.ptsy.com/", ConfigurationName="ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService")]
+ public interface StatisticsService
+ {
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ System.Threading.Tasks.Task assetCountAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetCount request);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetDepartStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthPutIn))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthOutReceive))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCount))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPriceResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPrice))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTypeStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetAwaitRepair))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventoryResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventory))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetClean))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCount))]
+ System.Threading.Tasks.Task assetCleanAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetClean1 request);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetDepartStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthPutIn))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthOutReceive))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCount))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPriceResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPrice))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTypeStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetAwaitRepair))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventoryResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventory))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetClean))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCount))]
+ System.Threading.Tasks.Task assetInventoryAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetInventory1 request);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetDepartStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthPutIn))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthOutReceive))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCount))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPriceResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPrice))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTypeStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetAwaitRepair))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventoryResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventory))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetClean))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCount))]
+ System.Threading.Tasks.Task assetAwaitRepairAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetAwaitRepair1 request);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetDepartStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthPutIn))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthOutReceive))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCount))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPriceResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPrice))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTypeStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetAwaitRepair))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventoryResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventory))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetClean))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCount))]
+ System.Threading.Tasks.Task assetTypeStatisticsAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetTypeStatistics1 request);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetDepartStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthPutIn))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthOutReceive))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCount))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPriceResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPrice))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTypeStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetAwaitRepair))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventoryResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventory))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetClean))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCount))]
+ System.Threading.Tasks.Task assetTotalPriceAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetTotalPrice1 request);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetDepartStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthPutIn))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthOutReceive))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCount))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPriceResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPrice))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTypeStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetAwaitRepair))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventoryResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventory))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetClean))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCount))]
+ System.Threading.Tasks.Task assetLdleCountAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetLdleCount1 request);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetDepartStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthPutIn))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthOutReceive))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCount))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPriceResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPrice))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTypeStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetAwaitRepair))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventoryResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventory))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetClean))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCount))]
+ System.Threading.Tasks.Task assetMonthOutReceiveAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetMonthOutReceive1 request);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetDepartStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthPutIn))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthOutReceive))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCount))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPriceResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPrice))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTypeStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetAwaitRepair))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventoryResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventory))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetClean))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCount))]
+ System.Threading.Tasks.Task todayAlarmAsync(ThirdPartyServices.DomainService.PuTianSuYuan.todayAlarm1 request);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetDepartStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthPutIn))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthOutReceive))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCount))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPriceResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPrice))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTypeStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetAwaitRepair))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventoryResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventory))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetClean))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCount))]
+ System.Threading.Tasks.Task assetPostionAlarmAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetPostionAlarm1 request);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetDepartStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthPutIn))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthOutReceive))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCount))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPriceResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPrice))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTypeStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetAwaitRepair))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventoryResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventory))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetClean))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCount))]
+ System.Threading.Tasks.Task assetMonthPutInAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetMonthPutIn1 request);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetDepartStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthPutIn))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetPostionAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarmResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(todayAlarm))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetMonthOutReceive))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetLdleCount))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPriceResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTotalPrice))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetTypeStatistics))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetAwaitRepair))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventoryResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetInventory))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetClean))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCountResponse))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(assetCount))]
+ System.Threading.Tasks.Task assetDepartStatisticsAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetDepartStatistics1 request);
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetCount", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetCount
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string startTime;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string endTime;
+
+ public assetCount()
+ {
+ }
+
+ public assetCount(string startTime, string endTime)
+ {
+ this.startTime = startTime;
+ this.endTime = endTime;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetCountResponse", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetCountResponse
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public int @return;
+
+ public assetCountResponse()
+ {
+ }
+
+ public assetCountResponse(int @return)
+ {
+ this.@return = @return;
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class overhaulRecordStatistics
+ {
+
+ private int countField;
+
+ private bool countFieldSpecified;
+
+ private string typeField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public int count
+ {
+ get
+ {
+ return this.countField;
+ }
+ set
+ {
+ this.countField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool countSpecified
+ {
+ get
+ {
+ return this.countFieldSpecified;
+ }
+ set
+ {
+ this.countFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
+ public string type
+ {
+ get
+ {
+ return this.typeField;
+ }
+ set
+ {
+ this.typeField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetDepartStatistics
+ {
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetMonthPutIn
+ {
+
+ private string startTimeField;
+
+ private string endTimeField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public string startTime
+ {
+ get
+ {
+ return this.startTimeField;
+ }
+ set
+ {
+ this.startTimeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
+ public string endTime
+ {
+ get
+ {
+ return this.endTimeField;
+ }
+ set
+ {
+ this.endTimeField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetPostionAlarmResponse
+ {
+
+ private int returnField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public int @return
+ {
+ get
+ {
+ return this.returnField;
+ }
+ set
+ {
+ this.returnField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetPostionAlarm
+ {
+
+ private string startTimeField;
+
+ private string endTimeField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public string startTime
+ {
+ get
+ {
+ return this.startTimeField;
+ }
+ set
+ {
+ this.startTimeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
+ public string endTime
+ {
+ get
+ {
+ return this.endTimeField;
+ }
+ set
+ {
+ this.endTimeField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class todayAlarmResponse
+ {
+
+ private int returnField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public int @return
+ {
+ get
+ {
+ return this.returnField;
+ }
+ set
+ {
+ this.returnField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class todayAlarm
+ {
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetUsageMonthStatistics
+ {
+
+ private int countField;
+
+ private bool countFieldSpecified;
+
+ private string monthField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public int count
+ {
+ get
+ {
+ return this.countField;
+ }
+ set
+ {
+ this.countField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool countSpecified
+ {
+ get
+ {
+ return this.countFieldSpecified;
+ }
+ set
+ {
+ this.countFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
+ public string month
+ {
+ get
+ {
+ return this.monthField;
+ }
+ set
+ {
+ this.monthField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetMonthOutReceive
+ {
+
+ private string startTimeField;
+
+ private string endTimeField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public string startTime
+ {
+ get
+ {
+ return this.startTimeField;
+ }
+ set
+ {
+ this.startTimeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
+ public string endTime
+ {
+ get
+ {
+ return this.endTimeField;
+ }
+ set
+ {
+ this.endTimeField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetLdleCountResponse
+ {
+
+ private int returnField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public int @return
+ {
+ get
+ {
+ return this.returnField;
+ }
+ set
+ {
+ this.returnField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetLdleCount
+ {
+
+ private string startTimeField;
+
+ private string endTimeField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public string startTime
+ {
+ get
+ {
+ return this.startTimeField;
+ }
+ set
+ {
+ this.startTimeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
+ public string endTime
+ {
+ get
+ {
+ return this.endTimeField;
+ }
+ set
+ {
+ this.endTimeField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetTotalPriceResponse
+ {
+
+ private double returnField;
+
+ private bool returnFieldSpecified;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public double @return
+ {
+ get
+ {
+ return this.returnField;
+ }
+ set
+ {
+ this.returnField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool returnSpecified
+ {
+ get
+ {
+ return this.returnFieldSpecified;
+ }
+ set
+ {
+ this.returnFieldSpecified = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetTotalPrice
+ {
+
+ private string startTimeField;
+
+ private string endTimeField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public string startTime
+ {
+ get
+ {
+ return this.startTimeField;
+ }
+ set
+ {
+ this.startTimeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
+ public string endTime
+ {
+ get
+ {
+ return this.endTimeField;
+ }
+ set
+ {
+ this.endTimeField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetStatistics
+ {
+
+ private int countField;
+
+ private bool countFieldSpecified;
+
+ private string nameField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public int count
+ {
+ get
+ {
+ return this.countField;
+ }
+ set
+ {
+ this.countField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool countSpecified
+ {
+ get
+ {
+ return this.countFieldSpecified;
+ }
+ set
+ {
+ this.countFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
+ public string name
+ {
+ get
+ {
+ return this.nameField;
+ }
+ set
+ {
+ this.nameField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetTypeStatistics
+ {
+
+ private string startTimeField;
+
+ private string endTimeField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public string startTime
+ {
+ get
+ {
+ return this.startTimeField;
+ }
+ set
+ {
+ this.startTimeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
+ public string endTime
+ {
+ get
+ {
+ return this.endTimeField;
+ }
+ set
+ {
+ this.endTimeField = value;
+ }
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(baseData))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(asset))]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class tableField
+ {
+
+ private string[] tidsField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute("tids", Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=true, Order=0)]
+ public string[] tids
+ {
+ get
+ {
+ return this.tidsField;
+ }
+ set
+ {
+ this.tidsField = value;
+ }
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(asset))]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class baseData : tableField
+ {
+
+ private int currentPageField;
+
+ private bool currentPageFieldSpecified;
+
+ private int pageSizeField;
+
+ private bool pageSizeFieldSpecified;
+
+ private int userIdField;
+
+ private bool userIdFieldSpecified;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public int currentPage
+ {
+ get
+ {
+ return this.currentPageField;
+ }
+ set
+ {
+ this.currentPageField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool currentPageSpecified
+ {
+ get
+ {
+ return this.currentPageFieldSpecified;
+ }
+ set
+ {
+ this.currentPageFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
+ public int pageSize
+ {
+ get
+ {
+ return this.pageSizeField;
+ }
+ set
+ {
+ this.pageSizeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool pageSizeSpecified
+ {
+ get
+ {
+ return this.pageSizeFieldSpecified;
+ }
+ set
+ {
+ this.pageSizeFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=2)]
+ public int userId
+ {
+ get
+ {
+ return this.userIdField;
+ }
+ set
+ {
+ this.userIdField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool userIdSpecified
+ {
+ get
+ {
+ return this.userIdFieldSpecified;
+ }
+ set
+ {
+ this.userIdFieldSpecified = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class asset : baseData
+ {
+
+ private int applyForDepartIdField;
+
+ private bool applyForDepartIdFieldSpecified;
+
+ private int applyForUserIdField;
+
+ private bool applyForUserIdFieldSpecified;
+
+ private System.DateTime createdTimeField;
+
+ private bool createdTimeFieldSpecified;
+
+ private int departIdField;
+
+ private bool departIdFieldSpecified;
+
+ private int deviceIdField;
+
+ private bool deviceIdFieldSpecified;
+
+ private int disposeDepartIdField;
+
+ private bool disposeDepartIdFieldSpecified;
+
+ private int disposeUserIdField;
+
+ private bool disposeUserIdFieldSpecified;
+
+ private int idField;
+
+ private bool idFieldSpecified;
+
+ private string imageIdField;
+
+ private string locationField;
+
+ private string moneyField;
+
+ private string nameField;
+
+ private string receiptsField;
+
+ private int receiveField;
+
+ private bool receiveFieldSpecified;
+
+ private string seriaNumberField;
+
+ private string sourceField;
+
+ private int statusField;
+
+ private bool statusFieldSpecified;
+
+ private int typeField;
+
+ private bool typeFieldSpecified;
+
+ private string unitField;
+
+ private System.DateTime updatedTimeField;
+
+ private bool updatedTimeFieldSpecified;
+
+ private int useDepartIdField;
+
+ private bool useDepartIdFieldSpecified;
+
+ private int useUserIdField;
+
+ private bool useUserIdFieldSpecified;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public int applyForDepartId
+ {
+ get
+ {
+ return this.applyForDepartIdField;
+ }
+ set
+ {
+ this.applyForDepartIdField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool applyForDepartIdSpecified
+ {
+ get
+ {
+ return this.applyForDepartIdFieldSpecified;
+ }
+ set
+ {
+ this.applyForDepartIdFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
+ public int applyForUserId
+ {
+ get
+ {
+ return this.applyForUserIdField;
+ }
+ set
+ {
+ this.applyForUserIdField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool applyForUserIdSpecified
+ {
+ get
+ {
+ return this.applyForUserIdFieldSpecified;
+ }
+ set
+ {
+ this.applyForUserIdFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=2)]
+ public System.DateTime createdTime
+ {
+ get
+ {
+ return this.createdTimeField;
+ }
+ set
+ {
+ this.createdTimeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool createdTimeSpecified
+ {
+ get
+ {
+ return this.createdTimeFieldSpecified;
+ }
+ set
+ {
+ this.createdTimeFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=3)]
+ public int departId
+ {
+ get
+ {
+ return this.departIdField;
+ }
+ set
+ {
+ this.departIdField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool departIdSpecified
+ {
+ get
+ {
+ return this.departIdFieldSpecified;
+ }
+ set
+ {
+ this.departIdFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=4)]
+ public int deviceId
+ {
+ get
+ {
+ return this.deviceIdField;
+ }
+ set
+ {
+ this.deviceIdField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool deviceIdSpecified
+ {
+ get
+ {
+ return this.deviceIdFieldSpecified;
+ }
+ set
+ {
+ this.deviceIdFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=5)]
+ public int disposeDepartId
+ {
+ get
+ {
+ return this.disposeDepartIdField;
+ }
+ set
+ {
+ this.disposeDepartIdField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool disposeDepartIdSpecified
+ {
+ get
+ {
+ return this.disposeDepartIdFieldSpecified;
+ }
+ set
+ {
+ this.disposeDepartIdFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=6)]
+ public int disposeUserId
+ {
+ get
+ {
+ return this.disposeUserIdField;
+ }
+ set
+ {
+ this.disposeUserIdField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool disposeUserIdSpecified
+ {
+ get
+ {
+ return this.disposeUserIdFieldSpecified;
+ }
+ set
+ {
+ this.disposeUserIdFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=7)]
+ public int id
+ {
+ get
+ {
+ return this.idField;
+ }
+ set
+ {
+ this.idField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool idSpecified
+ {
+ get
+ {
+ return this.idFieldSpecified;
+ }
+ set
+ {
+ this.idFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=8)]
+ public string imageId
+ {
+ get
+ {
+ return this.imageIdField;
+ }
+ set
+ {
+ this.imageIdField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=9)]
+ public string location
+ {
+ get
+ {
+ return this.locationField;
+ }
+ set
+ {
+ this.locationField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=10)]
+ public string money
+ {
+ get
+ {
+ return this.moneyField;
+ }
+ set
+ {
+ this.moneyField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=11)]
+ public string name
+ {
+ get
+ {
+ return this.nameField;
+ }
+ set
+ {
+ this.nameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=12)]
+ public string receipts
+ {
+ get
+ {
+ return this.receiptsField;
+ }
+ set
+ {
+ this.receiptsField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=13)]
+ public int receive
+ {
+ get
+ {
+ return this.receiveField;
+ }
+ set
+ {
+ this.receiveField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool receiveSpecified
+ {
+ get
+ {
+ return this.receiveFieldSpecified;
+ }
+ set
+ {
+ this.receiveFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=14)]
+ public string seriaNumber
+ {
+ get
+ {
+ return this.seriaNumberField;
+ }
+ set
+ {
+ this.seriaNumberField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=15)]
+ public string source
+ {
+ get
+ {
+ return this.sourceField;
+ }
+ set
+ {
+ this.sourceField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=16)]
+ public int status
+ {
+ get
+ {
+ return this.statusField;
+ }
+ set
+ {
+ this.statusField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool statusSpecified
+ {
+ get
+ {
+ return this.statusFieldSpecified;
+ }
+ set
+ {
+ this.statusFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=17)]
+ public int type
+ {
+ get
+ {
+ return this.typeField;
+ }
+ set
+ {
+ this.typeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool typeSpecified
+ {
+ get
+ {
+ return this.typeFieldSpecified;
+ }
+ set
+ {
+ this.typeFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=18)]
+ public string unit
+ {
+ get
+ {
+ return this.unitField;
+ }
+ set
+ {
+ this.unitField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=19)]
+ public System.DateTime updatedTime
+ {
+ get
+ {
+ return this.updatedTimeField;
+ }
+ set
+ {
+ this.updatedTimeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool updatedTimeSpecified
+ {
+ get
+ {
+ return this.updatedTimeFieldSpecified;
+ }
+ set
+ {
+ this.updatedTimeFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=20)]
+ public int useDepartId
+ {
+ get
+ {
+ return this.useDepartIdField;
+ }
+ set
+ {
+ this.useDepartIdField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool useDepartIdSpecified
+ {
+ get
+ {
+ return this.useDepartIdFieldSpecified;
+ }
+ set
+ {
+ this.useDepartIdFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=21)]
+ public int useUserId
+ {
+ get
+ {
+ return this.useUserIdField;
+ }
+ set
+ {
+ this.useUserIdField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool useUserIdSpecified
+ {
+ get
+ {
+ return this.useUserIdFieldSpecified;
+ }
+ set
+ {
+ this.useUserIdFieldSpecified = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetAwaitRepair
+ {
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetInventoryResponse
+ {
+
+ private assetInventoryResponseEntry[] _returnField;
+
+ ///
+ [System.Xml.Serialization.XmlArrayAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ [System.Xml.Serialization.XmlArrayItemAttribute("entry", Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)]
+ public assetInventoryResponseEntry[] _return
+ {
+ get
+ {
+ return this._returnField;
+ }
+ set
+ {
+ this._returnField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetInventoryResponseEntry
+ {
+
+ private object keyField;
+
+ private object valueField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public object key
+ {
+ get
+ {
+ return this.keyField;
+ }
+ set
+ {
+ this.keyField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
+ public object value
+ {
+ get
+ {
+ return this.valueField;
+ }
+ set
+ {
+ this.valueField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetInventory
+ {
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetClean
+ {
+
+ private string startTimeField;
+
+ private string endTimeField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public string startTime
+ {
+ get
+ {
+ return this.startTimeField;
+ }
+ set
+ {
+ this.startTimeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
+ public string endTime
+ {
+ get
+ {
+ return this.endTimeField;
+ }
+ set
+ {
+ this.endTimeField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetCountResponse1
+ {
+
+ private int returnField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public int @return
+ {
+ get
+ {
+ return this.returnField;
+ }
+ set
+ {
+ this.returnField = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.webservice.fits.ptsy.com/")]
+ public partial class assetCount1
+ {
+
+ private string startTimeField;
+
+ private string endTimeField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
+ public string startTime
+ {
+ get
+ {
+ return this.startTimeField;
+ }
+ set
+ {
+ this.startTimeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
+ public string endTime
+ {
+ get
+ {
+ return this.endTimeField;
+ }
+ set
+ {
+ this.endTimeField = value;
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetClean", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetClean1
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string startTime;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string endTime;
+
+ public assetClean1()
+ {
+ }
+
+ public assetClean1(string startTime, string endTime)
+ {
+ this.startTime = startTime;
+ this.endTime = endTime;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetCleanResponse", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetCleanResponse
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public ThirdPartyServices.DomainService.PuTianSuYuan.overhaulRecordStatistics[] @return;
+
+ public assetCleanResponse()
+ {
+ }
+
+ public assetCleanResponse(ThirdPartyServices.DomainService.PuTianSuYuan.overhaulRecordStatistics[] @return)
+ {
+ this.@return = @return;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetInventory", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetInventory1
+ {
+
+ public assetInventory1()
+ {
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetInventoryResponse", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetInventoryResponse1
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlArrayAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ [System.Xml.Serialization.XmlArrayItemAttribute("entry", Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)]
+ public ThirdPartyServices.DomainService.PuTianSuYuan.assetInventoryResponseEntry[] _return;
+
+ public assetInventoryResponse1()
+ {
+ }
+
+ public assetInventoryResponse1(ThirdPartyServices.DomainService.PuTianSuYuan.assetInventoryResponseEntry[] _return)
+ {
+ this._return = _return;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetAwaitRepair", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetAwaitRepair1
+ {
+
+ public assetAwaitRepair1()
+ {
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetAwaitRepairResponse", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetAwaitRepairResponse
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public ThirdPartyServices.DomainService.PuTianSuYuan.asset[] @return;
+
+ public assetAwaitRepairResponse()
+ {
+ }
+
+ public assetAwaitRepairResponse(ThirdPartyServices.DomainService.PuTianSuYuan.asset[] @return)
+ {
+ this.@return = @return;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetTypeStatistics", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetTypeStatistics1
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string startTime;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string endTime;
+
+ public assetTypeStatistics1()
+ {
+ }
+
+ public assetTypeStatistics1(string startTime, string endTime)
+ {
+ this.startTime = startTime;
+ this.endTime = endTime;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetTypeStatisticsResponse", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetTypeStatisticsResponse
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public ThirdPartyServices.DomainService.PuTianSuYuan.assetStatistics[] @return;
+
+ public assetTypeStatisticsResponse()
+ {
+ }
+
+ public assetTypeStatisticsResponse(ThirdPartyServices.DomainService.PuTianSuYuan.assetStatistics[] @return)
+ {
+ this.@return = @return;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetTotalPrice", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetTotalPrice1
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string startTime;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string endTime;
+
+ public assetTotalPrice1()
+ {
+ }
+
+ public assetTotalPrice1(string startTime, string endTime)
+ {
+ this.startTime = startTime;
+ this.endTime = endTime;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetTotalPriceResponse", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetTotalPriceResponse1
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public double @return;
+
+ public assetTotalPriceResponse1()
+ {
+ }
+
+ public assetTotalPriceResponse1(double @return)
+ {
+ this.@return = @return;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetLdleCount", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetLdleCount1
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string startTime;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string endTime;
+
+ public assetLdleCount1()
+ {
+ }
+
+ public assetLdleCount1(string startTime, string endTime)
+ {
+ this.startTime = startTime;
+ this.endTime = endTime;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetLdleCountResponse", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetLdleCountResponse1
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public int @return;
+
+ public assetLdleCountResponse1()
+ {
+ }
+
+ public assetLdleCountResponse1(int @return)
+ {
+ this.@return = @return;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetMonthOutReceive", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetMonthOutReceive1
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string startTime;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string endTime;
+
+ public assetMonthOutReceive1()
+ {
+ }
+
+ public assetMonthOutReceive1(string startTime, string endTime)
+ {
+ this.startTime = startTime;
+ this.endTime = endTime;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetMonthOutReceiveResponse", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetMonthOutReceiveResponse
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public ThirdPartyServices.DomainService.PuTianSuYuan.assetUsageMonthStatistics[] @return;
+
+ public assetMonthOutReceiveResponse()
+ {
+ }
+
+ public assetMonthOutReceiveResponse(ThirdPartyServices.DomainService.PuTianSuYuan.assetUsageMonthStatistics[] @return)
+ {
+ this.@return = @return;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="todayAlarm", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class todayAlarm1
+ {
+
+ public todayAlarm1()
+ {
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="todayAlarmResponse", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class todayAlarmResponse1
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public int @return;
+
+ public todayAlarmResponse1()
+ {
+ }
+
+ public todayAlarmResponse1(int @return)
+ {
+ this.@return = @return;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetPostionAlarm", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetPostionAlarm1
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string startTime;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string endTime;
+
+ public assetPostionAlarm1()
+ {
+ }
+
+ public assetPostionAlarm1(string startTime, string endTime)
+ {
+ this.startTime = startTime;
+ this.endTime = endTime;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetPostionAlarmResponse", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetPostionAlarmResponse1
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public int @return;
+
+ public assetPostionAlarmResponse1()
+ {
+ }
+
+ public assetPostionAlarmResponse1(int @return)
+ {
+ this.@return = @return;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetMonthPutIn", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetMonthPutIn1
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string startTime;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public string endTime;
+
+ public assetMonthPutIn1()
+ {
+ }
+
+ public assetMonthPutIn1(string startTime, string endTime)
+ {
+ this.startTime = startTime;
+ this.endTime = endTime;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetMonthPutInResponse", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetMonthPutInResponse
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public ThirdPartyServices.DomainService.PuTianSuYuan.assetUsageMonthStatistics[] @return;
+
+ public assetMonthPutInResponse()
+ {
+ }
+
+ public assetMonthPutInResponse(ThirdPartyServices.DomainService.PuTianSuYuan.assetUsageMonthStatistics[] @return)
+ {
+ this.@return = @return;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetDepartStatistics", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetDepartStatistics1
+ {
+
+ public assetDepartStatistics1()
+ {
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="assetDepartStatisticsResponse", WrapperNamespace="http://service.webservice.fits.ptsy.com/", IsWrapped=true)]
+ public partial class assetDepartStatisticsResponse
+ {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://service.webservice.fits.ptsy.com/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
+ public ThirdPartyServices.DomainService.PuTianSuYuan.assetStatistics[] @return;
+
+ public assetDepartStatisticsResponse()
+ {
+ }
+
+ public assetDepartStatisticsResponse(ThirdPartyServices.DomainService.PuTianSuYuan.assetStatistics[] @return)
+ {
+ this.@return = @return;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ public interface StatisticsServiceChannel : ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService, System.ServiceModel.IClientChannel
+ {
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "8.0.0")]
+ public partial class StatisticsServiceClient : System.ServiceModel.ClientBase, ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService
+ {
+
+ ///
+ /// 实现此分部方法,配置服务终结点。
+ ///
+ /// 要配置的终结点
+ /// 客户端凭据
+ static partial void ConfigureEndpoint(System.ServiceModel.Description.ServiceEndpoint serviceEndpoint, System.ServiceModel.Description.ClientCredentials clientCredentials);
+
+ public StatisticsServiceClient() :
+ base(StatisticsServiceClient.GetDefaultBinding(), StatisticsServiceClient.GetDefaultEndpointAddress())
+ {
+ this.Endpoint.Name = EndpointConfiguration.StatisticsImplPort.ToString();
+ ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
+ }
+
+ public StatisticsServiceClient(EndpointConfiguration endpointConfiguration) :
+ base(StatisticsServiceClient.GetBindingForEndpoint(endpointConfiguration), StatisticsServiceClient.GetEndpointAddress(endpointConfiguration))
+ {
+ this.Endpoint.Name = endpointConfiguration.ToString();
+ ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
+ }
+
+ public StatisticsServiceClient(EndpointConfiguration endpointConfiguration, string remoteAddress) :
+ base(StatisticsServiceClient.GetBindingForEndpoint(endpointConfiguration), new System.ServiceModel.EndpointAddress(remoteAddress))
+ {
+ this.Endpoint.Name = endpointConfiguration.ToString();
+ ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
+ }
+
+ public StatisticsServiceClient(EndpointConfiguration endpointConfiguration, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(StatisticsServiceClient.GetBindingForEndpoint(endpointConfiguration), remoteAddress)
+ {
+ this.Endpoint.Name = endpointConfiguration.ToString();
+ ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
+ }
+
+ public StatisticsServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(binding, remoteAddress)
+ {
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ System.Threading.Tasks.Task ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService.assetCountAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetCount request)
+ {
+ return base.Channel.assetCountAsync(request);
+ }
+
+ public System.Threading.Tasks.Task assetCountAsync(string startTime, string endTime)
+ {
+ ThirdPartyServices.DomainService.PuTianSuYuan.assetCount inValue = new ThirdPartyServices.DomainService.PuTianSuYuan.assetCount();
+ inValue.startTime = startTime;
+ inValue.endTime = endTime;
+ return ((ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService)(this)).assetCountAsync(inValue);
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ System.Threading.Tasks.Task ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService.assetCleanAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetClean1 request)
+ {
+ return base.Channel.assetCleanAsync(request);
+ }
+
+ public System.Threading.Tasks.Task assetCleanAsync(string startTime, string endTime)
+ {
+ ThirdPartyServices.DomainService.PuTianSuYuan.assetClean1 inValue = new ThirdPartyServices.DomainService.PuTianSuYuan.assetClean1();
+ inValue.startTime = startTime;
+ inValue.endTime = endTime;
+ return ((ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService)(this)).assetCleanAsync(inValue);
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ System.Threading.Tasks.Task ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService.assetInventoryAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetInventory1 request)
+ {
+ return base.Channel.assetInventoryAsync(request);
+ }
+
+ public System.Threading.Tasks.Task assetInventoryAsync()
+ {
+ ThirdPartyServices.DomainService.PuTianSuYuan.assetInventory1 inValue = new ThirdPartyServices.DomainService.PuTianSuYuan.assetInventory1();
+ return ((ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService)(this)).assetInventoryAsync(inValue);
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ System.Threading.Tasks.Task ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService.assetAwaitRepairAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetAwaitRepair1 request)
+ {
+ return base.Channel.assetAwaitRepairAsync(request);
+ }
+
+ public System.Threading.Tasks.Task assetAwaitRepairAsync()
+ {
+ ThirdPartyServices.DomainService.PuTianSuYuan.assetAwaitRepair1 inValue = new ThirdPartyServices.DomainService.PuTianSuYuan.assetAwaitRepair1();
+ return ((ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService)(this)).assetAwaitRepairAsync(inValue);
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ System.Threading.Tasks.Task ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService.assetTypeStatisticsAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetTypeStatistics1 request)
+ {
+ return base.Channel.assetTypeStatisticsAsync(request);
+ }
+
+ public System.Threading.Tasks.Task assetTypeStatisticsAsync(string startTime, string endTime)
+ {
+ ThirdPartyServices.DomainService.PuTianSuYuan.assetTypeStatistics1 inValue = new ThirdPartyServices.DomainService.PuTianSuYuan.assetTypeStatistics1();
+ inValue.startTime = startTime;
+ inValue.endTime = endTime;
+ return ((ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService)(this)).assetTypeStatisticsAsync(inValue);
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ System.Threading.Tasks.Task ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService.assetTotalPriceAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetTotalPrice1 request)
+ {
+ return base.Channel.assetTotalPriceAsync(request);
+ }
+
+ public System.Threading.Tasks.Task assetTotalPriceAsync(string startTime, string endTime)
+ {
+ ThirdPartyServices.DomainService.PuTianSuYuan.assetTotalPrice1 inValue = new ThirdPartyServices.DomainService.PuTianSuYuan.assetTotalPrice1();
+ inValue.startTime = startTime;
+ inValue.endTime = endTime;
+ return ((ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService)(this)).assetTotalPriceAsync(inValue);
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ System.Threading.Tasks.Task ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService.assetLdleCountAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetLdleCount1 request)
+ {
+ return base.Channel.assetLdleCountAsync(request);
+ }
+
+ public System.Threading.Tasks.Task assetLdleCountAsync(string startTime, string endTime)
+ {
+ ThirdPartyServices.DomainService.PuTianSuYuan.assetLdleCount1 inValue = new ThirdPartyServices.DomainService.PuTianSuYuan.assetLdleCount1();
+ inValue.startTime = startTime;
+ inValue.endTime = endTime;
+ return ((ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService)(this)).assetLdleCountAsync(inValue);
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ System.Threading.Tasks.Task ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService.assetMonthOutReceiveAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetMonthOutReceive1 request)
+ {
+ return base.Channel.assetMonthOutReceiveAsync(request);
+ }
+
+ public System.Threading.Tasks.Task assetMonthOutReceiveAsync(string startTime, string endTime)
+ {
+ ThirdPartyServices.DomainService.PuTianSuYuan.assetMonthOutReceive1 inValue = new ThirdPartyServices.DomainService.PuTianSuYuan.assetMonthOutReceive1();
+ inValue.startTime = startTime;
+ inValue.endTime = endTime;
+ return ((ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService)(this)).assetMonthOutReceiveAsync(inValue);
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ System.Threading.Tasks.Task ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService.todayAlarmAsync(ThirdPartyServices.DomainService.PuTianSuYuan.todayAlarm1 request)
+ {
+ return base.Channel.todayAlarmAsync(request);
+ }
+
+ public System.Threading.Tasks.Task todayAlarmAsync()
+ {
+ ThirdPartyServices.DomainService.PuTianSuYuan.todayAlarm1 inValue = new ThirdPartyServices.DomainService.PuTianSuYuan.todayAlarm1();
+ return ((ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService)(this)).todayAlarmAsync(inValue);
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ System.Threading.Tasks.Task ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService.assetPostionAlarmAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetPostionAlarm1 request)
+ {
+ return base.Channel.assetPostionAlarmAsync(request);
+ }
+
+ public System.Threading.Tasks.Task assetPostionAlarmAsync(string startTime, string endTime)
+ {
+ ThirdPartyServices.DomainService.PuTianSuYuan.assetPostionAlarm1 inValue = new ThirdPartyServices.DomainService.PuTianSuYuan.assetPostionAlarm1();
+ inValue.startTime = startTime;
+ inValue.endTime = endTime;
+ return ((ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService)(this)).assetPostionAlarmAsync(inValue);
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ System.Threading.Tasks.Task ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService.assetMonthPutInAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetMonthPutIn1 request)
+ {
+ return base.Channel.assetMonthPutInAsync(request);
+ }
+
+ public System.Threading.Tasks.Task assetMonthPutInAsync(string startTime, string endTime)
+ {
+ ThirdPartyServices.DomainService.PuTianSuYuan.assetMonthPutIn1 inValue = new ThirdPartyServices.DomainService.PuTianSuYuan.assetMonthPutIn1();
+ inValue.startTime = startTime;
+ inValue.endTime = endTime;
+ return ((ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService)(this)).assetMonthPutInAsync(inValue);
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ System.Threading.Tasks.Task ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService.assetDepartStatisticsAsync(ThirdPartyServices.DomainService.PuTianSuYuan.assetDepartStatistics1 request)
+ {
+ return base.Channel.assetDepartStatisticsAsync(request);
+ }
+
+ public System.Threading.Tasks.Task assetDepartStatisticsAsync()
+ {
+ ThirdPartyServices.DomainService.PuTianSuYuan.assetDepartStatistics1 inValue = new ThirdPartyServices.DomainService.PuTianSuYuan.assetDepartStatistics1();
+ return ((ThirdPartyServices.DomainService.PuTianSuYuan.StatisticsService)(this)).assetDepartStatisticsAsync(inValue);
+ }
+
+ public virtual System.Threading.Tasks.Task OpenAsync()
+ {
+ return System.Threading.Tasks.Task.Factory.FromAsync(((System.ServiceModel.ICommunicationObject)(this)).BeginOpen(null, null), new System.Action(((System.ServiceModel.ICommunicationObject)(this)).EndOpen));
+ }
+
+ #if !NET6_0_OR_GREATER
+ public virtual System.Threading.Tasks.Task CloseAsync()
+ {
+ return System.Threading.Tasks.Task.Factory.FromAsync(((System.ServiceModel.ICommunicationObject)(this)).BeginClose(null, null), new System.Action(((System.ServiceModel.ICommunicationObject)(this)).EndClose));
+ }
+ #endif
+
+ private static System.ServiceModel.Channels.Binding GetBindingForEndpoint(EndpointConfiguration endpointConfiguration)
+ {
+ if ((endpointConfiguration == EndpointConfiguration.StatisticsImplPort))
+ {
+ System.ServiceModel.BasicHttpBinding result = new System.ServiceModel.BasicHttpBinding();
+ result.MaxBufferSize = int.MaxValue;
+ result.ReaderQuotas = System.Xml.XmlDictionaryReaderQuotas.Max;
+ result.MaxReceivedMessageSize = int.MaxValue;
+ result.AllowCookies = true;
+ return result;
+ }
+ throw new System.InvalidOperationException(string.Format("找不到名称为“{0}”的终结点。", endpointConfiguration));
+ }
+
+ private static System.ServiceModel.EndpointAddress GetEndpointAddress(EndpointConfiguration endpointConfiguration)
+ {
+ if ((endpointConfiguration == EndpointConfiguration.StatisticsImplPort))
+ {
+ return new System.ServiceModel.EndpointAddress("http://123.56.129.171:8280/services/AssetWeb.asmx");
+ }
+ throw new System.InvalidOperationException(string.Format("找不到名称为“{0}”的终结点。", endpointConfiguration));
+ }
+
+ private static System.ServiceModel.Channels.Binding GetDefaultBinding()
+ {
+ return StatisticsServiceClient.GetBindingForEndpoint(EndpointConfiguration.StatisticsImplPort);
+ }
+
+ private static System.ServiceModel.EndpointAddress GetDefaultEndpointAddress()
+ {
+ return StatisticsServiceClient.GetEndpointAddress(EndpointConfiguration.StatisticsImplPort);
+ }
+
+ public enum EndpointConfiguration
+ {
+
+ StatisticsImplPort,
+ }
+ }
+}
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/AssetWebContextService.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/AssetWebContextService.cs
new file mode 100644
index 0000000..d95939a
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/AssetWebContextService.cs
@@ -0,0 +1,93 @@
+using Microsoft.Extensions.Configuration;
+using System.ServiceModel;
+using System.ServiceModel.Channels;
+using System.Xml;
+
+namespace ThirdPartyServices.DomainService.PuTianSuYuan
+{
+ //生成代码命令(需安装 dotnet-svcutil 工具):
+ // dotnet-svcutil http://123.56.129.171:8280/services/AssetWeb.asmx?wsdl `
+ //--targetFramework net8.0 `
+ //--outputFile ServiceProxies\AssetWebClientService.cs `
+ //--namespace "*,ThirdPartyServices.DomainService.PuTianSuYuan" `
+ //--noTypeReuse `
+ //--serializer XmlSerializer
+
+ public sealed class AssetWebContextService : IAssetWebService
+ {
+ public StatisticsServiceClient Client { get; }
+
+ private readonly string? _tokenHeader;
+ private readonly IConfiguration _cfg;
+
+ public AssetWebContextService(IConfiguration configuration)
+ {
+ _cfg = configuration;
+
+ // ① 读取配置(全部字符串,按需转 int/TimeSpan)
+ var prefix = "ThirdParty:AssetWeb:";
+ var serviceUrl = _cfg[$"{prefix}ServiceUrl"]
+ ?? throw new InvalidOperationException("ServiceUrl 缺失");
+ var timeoutSecStr = _cfg[$"{prefix}TimeoutSeconds"] ?? "30";
+ var maxMsgStr = _cfg[$"{prefix}MaxMsgSize"] ?? "10485760";
+
+ // ② 绑定
+ var binding = new BasicHttpBinding(
+ serviceUrl.StartsWith("https", StringComparison.OrdinalIgnoreCase)
+ ? BasicHttpSecurityMode.Transport
+ : BasicHttpSecurityMode.None)
+ {
+ MaxReceivedMessageSize = int.Parse(maxMsgStr),
+ ReaderQuotas = XmlDictionaryReaderQuotas.Max,
+ SendTimeout = TimeSpan.FromSeconds(int.Parse(timeoutSecStr)),
+ ReceiveTimeout = TimeSpan.FromSeconds(int.Parse(timeoutSecStr))
+ };
+
+ // ③ 端点 & 客户端
+ var endpoint = new EndpointAddress(serviceUrl);
+ Client = new StatisticsServiceClient(binding, endpoint);
+
+ // ④ BasicAuth(可无)
+ var user = _cfg[$"{prefix}BasicAuthUser"];
+ var pwd = _cfg[$"{prefix}BasicAuthPassword"];
+ if (!string.IsNullOrWhiteSpace(user) && !string.IsNullOrWhiteSpace(pwd))
+ {
+ Client.ClientCredentials.UserName.UserName = user;
+ Client.ClientCredentials.UserName.Password = pwd;
+ }
+
+ // ⑤ Token Header(可无)
+ _tokenHeader = _cfg[$"{prefix}TokenHeader"];
+ }
+
+ /// 如需自定义 Token Header 调用,用此包装;否则直接调 Client 方法。
+ public async Task WithTokenAsync(Func> func)
+ {
+ if (string.IsNullOrEmpty(_tokenHeader))
+ return await func();
+
+ using var scope = new OperationContextScope(Client.InnerChannel);
+ var hdr = MessageHeader.CreateHeader(
+ "SessionToken",
+ "http://service.webservice.fits.ptsy.com/",
+ _tokenHeader);
+ OperationContext.Current!.OutgoingMessageHeaders.Add(hdr);
+
+ return await func();
+ }
+
+ public async ValueTask DisposeAsync()
+ {
+ try
+ {
+ if (Client.State == CommunicationState.Faulted)
+ Client.Abort();
+ else if (Client.State != CommunicationState.Closed)
+ Client.Close();
+ }
+ catch { Client.Abort(); }
+
+ await ValueTask.CompletedTask;
+ }
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/IAssetWebService.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/IAssetWebService.cs
new file mode 100644
index 0000000..7794bce
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/IAssetWebService.cs
@@ -0,0 +1,7 @@
+namespace ThirdPartyServices.DomainService.PuTianSuYuan
+{
+ public interface IAssetWebService : IAsyncDisposable
+ {
+ StatisticsServiceClient Client { get; }
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/ISunPalaceBoardFacilityService.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/ISunPalaceBoardFacilityService.cs
new file mode 100644
index 0000000..7529172
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/ISunPalaceBoardFacilityService.cs
@@ -0,0 +1,12 @@
+using Common.Shared.Application.SafetyFirePro.RequestDto;
+using Common.Shared.Application.SafetyFirePro.ResponseDto;
+
+namespace ThirdPartyServices.DomainService.PuTianSuYuan
+{
+ public interface ISunPalaceBoardFacilityService
+ {
+ Task> GetAssetDashboardEchart(SecSituationQueryDto dto);
+
+ Task> GetAssetTypeEchart(SecSituationQueryDto dto);
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/SunPalaceBoardFacilityService.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/SunPalaceBoardFacilityService.cs
new file mode 100644
index 0000000..749f00a
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuTianSuYuan/SunPalaceBoardFacilityService.cs
@@ -0,0 +1,196 @@
+using Common.Shared.Application.BaseModels;
+using Common.Shared.Application.SafetyFirePro.RequestDto;
+using Common.Shared.Application.SafetyFirePro.ResponseDto;
+using Microsoft.Extensions.Logging;
+
+namespace ThirdPartyServices.DomainService.PuTianSuYuan
+{
+ public class SunPalaceBoardFacilityService : ISunPalaceBoardFacilityService
+ {
+ private readonly ILogger _logger;
+
+ private readonly IAssetWebService _assetWebService;
+
+ public SunPalaceBoardFacilityService(ILogger logger, IAssetWebService assetWebService)
+ {
+ _logger = logger;
+ _assetWebService = assetWebService;
+ }
+
+ public async Task> GetAssetDashboardEchart(SecSituationQueryDto dto)
+ {
+ List result = [];
+
+ DateTime start = DateTime.Now;
+ DateTime end = DateTime.Now;
+
+ ////时间范围
+
+ switch (dto.QueryTimeType)
+ {
+ case (int)QueryTimeEnum.Custom:
+
+ start = dto.StartTime.Value;
+ end = dto.EndTime.Value;
+ break;
+
+ case (int)QueryTimeEnum.Monthly:
+ // 本月从 1号 00:00 到现在
+ start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1);
+ break;
+
+ default:
+ return result;
+ }
+ try
+ {
+ List resDtos = [];
+ //总资产数
+
+ var assetCount = await _assetWebService.Client.assetCountAsync(null, null);
+ AssetOverviewResDto assetOverviewRes = new()
+ {
+ TotalAssetCount = assetCount.@return,
+ OrderBy = 1,
+ Name = "总资产数",
+ TotalAssetCountGrowthRate = 5.2
+ };
+ resDtos.Add(assetOverviewRes);
+
+ //总资产价值
+ var assetTotalPrice = await _assetWebService.Client.assetTotalPriceAsync(null, null);
+ AssetOverviewResDto assetPriceRes = new AssetOverviewResDto
+ {
+ TotalAssetCount = assetTotalPrice.@return,
+ OrderBy = 2,
+ Name = "总资产价值",
+ TotalAssetCountGrowthRate = 0.052
+ };
+ resDtos.Add(assetPriceRes);
+
+ //资产盘点
+ AssetOverviewResDto assetReviewRes = new AssetOverviewResDto
+ {
+ TotalAssetCount = 0.92,
+ OrderBy = 3,
+ Name = "资产盘点",
+ };
+ resDtos.Add(assetReviewRes);
+
+ //资产分布
+ AssetOverviewResDto assetDistributeRes = new AssetOverviewResDto
+ {
+ TotalAssetCount = 6,
+ OrderBy = 4,
+ Name = "资产分布",
+ };
+ resDtos.Add(assetDistributeRes);
+
+ //在保资产
+ AssetOverviewResDto assetInRes = new AssetOverviewResDto
+ {
+ TotalAssetCount = 876,
+ OrderBy = 5,
+ Name = "在保资产",
+ TotalAssetCountGrowthRate = 0.021
+ };
+ resDtos.Add(assetInRes);
+
+ //待维修资产
+ var awaitRepair = await _assetWebService.Client.assetAwaitRepairAsync();
+ AssetOverviewResDto assetRepairRes = new AssetOverviewResDto
+ {
+ TotalAssetCount = awaitRepair.@return != null ? awaitRepair.@return.Length : 0,
+ OrderBy = 6,
+ Name = "待维修资产",
+ TotalAssetCountGrowthRate = 0.083
+ };
+ resDtos.Add(assetRepairRes);
+
+ //本月折旧
+ AssetOverviewResDto assetDepreciationRes = new AssetOverviewResDto
+ {
+ TotalAssetCount = 245678.5,
+ OrderBy = 7,
+ Name = "本月折旧",
+ TotalAssetCountGrowthRate = 0.035
+ };
+ resDtos.Add(assetDepreciationRes);
+
+ //今日报警
+ var todayAlarm = await _assetWebService.Client.todayAlarmAsync();
+
+ AssetOverviewResDto assetAlarmRes = new AssetOverviewResDto
+ {
+ TotalAssetCount = todayAlarm.@return,
+ OrderBy = 8,
+ Name = "今日报警",
+ };
+ resDtos.Add(assetAlarmRes);
+
+ result = resDtos;
+ return result;
+ }
+ catch (Exception ex)
+ {
+ _logger.LogWarning(ex, "GetAssetDashboardEchart接口出错");
+ }
+ return result;
+ }
+
+ ///
+ /// 资产类型图
+ ///
+ ///
+ ///
+ public async Task> GetAssetTypeEchart(SecSituationQueryDto dto)
+ {
+ List result = [];
+
+ DateTime start = DateTime.Now;
+ DateTime end = DateTime.Now;
+
+ ////时间范围
+
+ switch (dto.QueryTimeType)
+ {
+ case (int)QueryTimeEnum.Custom:
+
+ start = dto.StartTime.Value;
+ end = dto.EndTime.Value;
+ break;
+
+ case (int)QueryTimeEnum.Monthly:
+ // 本月从 1号 00:00 到现在
+ start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1);
+ break;
+
+ default:
+ return result;
+ }
+ try
+ {
+ List assetTypes = [];
+ var assetType = await _assetWebService.Client.assetTypeStatisticsAsync("", "");
+
+ if (assetType?.@return != null && assetType.@return.Length > 0)
+ {
+ foreach (var item in assetType.@return)
+ {
+ assetTypes.Add(new AssetTypeResDto
+ {
+ AssetType = item.name,
+ AssetCount = item.count,
+ });
+ }
+ }
+ result = assetTypes;
+ }
+ catch (Exception ex)
+ {
+ _logger.LogWarning(ex, "GetAssetTypeEchart接口出错");
+ }
+ return result;
+ }
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/ShenZhouShengAn/ISunPalaceBoardSafetyService.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/ShenZhouShengAn/ISunPalaceBoardSafetyService.cs
new file mode 100644
index 0000000..2d41352
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/ShenZhouShengAn/ISunPalaceBoardSafetyService.cs
@@ -0,0 +1,16 @@
+using Common.Shared.Application.BaseModels;
+using Common.Shared.Application.SafetyFirePro.ResponseDto;
+
+namespace ThirdPartyServices.DomainService.ShenZhouShengAn
+{
+ public interface ISunPalaceBoardSafetyService
+ {
+ //Task>> GetHiddenDangerTrend(SecSituationQueryDto dto);
+
+ //Task>> GetIdCardAlarmEchart();
+
+ Task GetProductionRiskEchart();
+
+ //Task> GetUnAlarmInfoList(AlarmEventEchartQueryDto dto);
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/ShenZhouShengAn/IThirdPartyProviderService.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/ShenZhouShengAn/IThirdPartyProviderService.cs
new file mode 100644
index 0000000..8a30412
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/ShenZhouShengAn/IThirdPartyProviderService.cs
@@ -0,0 +1,39 @@
+//盾安云第三方请求接口
+using ThirdPartyServices.Application.ShenZhouShengAn.RequestDto;
+using ThirdPartyServices.Application.ShenZhouShengAn.ResponseDto;
+
+namespace ThirdPartyServices.DomainService.ShenZhouShengAn
+{
+ ///
+ /// 获取第三方登录的Token服务接口
+ ///
+ public interface IThirdPartyProviderService
+ {
+ ///
+ /// 获取token,
+ ///
+ ///
+ ///
+ Task GetTokenAsync(string userCode);
+
+ Task> GetUserConfiguration(string token);
+
+ Task> GetBranchPermissions(string token, int ubpid);
+
+ ///
+ /// 请求第三方接口
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ Task SendAndParseAsync(string url, string? token, TRequest payload,
+ HttpMethod method);
+
+ Task SendJsonAsync(string url, string? token, TRequest payload,
+ HttpMethod method);
+
+ Task SendAndParseAsync(string url, string? token, HttpMethod method);
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/ShenZhouShengAn/SunPalaceBoardSafetyService.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/ShenZhouShengAn/SunPalaceBoardSafetyService.cs
new file mode 100644
index 0000000..ce27ada
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/ShenZhouShengAn/SunPalaceBoardSafetyService.cs
@@ -0,0 +1,127 @@
+using Common.Shared.Application.SafetyFirePro.ResponseDto;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.Logging;
+using Newtonsoft.Json.Linq;
+using ThirdPartyServices.Application.ShenZhouShengAn.RequestDto;
+using ThirdPartyServices.Application.ShenZhouShengAn.ResponseDto;
+
+namespace ThirdPartyServices.DomainService.ShenZhouShengAn
+{
+ public class SunPalaceBoardSafetyService : ISunPalaceBoardSafetyService
+ {
+ private readonly IThirdPartyProviderService _tokenProviderService;
+ private readonly ILogger _logger;
+ private readonly IConfiguration _configuration;
+
+ public SunPalaceBoardSafetyService(IThirdPartyProviderService thirdPartyProviderService, ILogger logger, IConfiguration configuration)
+ {
+ _tokenProviderService = thirdPartyProviderService;
+ _logger = logger;
+ _configuration = configuration;
+ }
+
+ ///
+ /// 生产风险识别(盾安云数据)-智慧建筑的看板上使用
+ ///
+ ///
+ ///
+ public async Task GetProductionRiskEchart()
+ {
+ var result = new DangerRiskAreaResDto()
+ {
+ DangerInfos = new List(),
+ ProductionRiskStats = new List()
+ };
+ try
+ {
+ //获取token
+ var token = await _tokenProviderService.GetTokenAsync(_configuration["ThirdParty:SzdunanCode"]!);
+ if (string.IsNullOrWhiteSpace(token))
+ {
+ _logger.LogWarning("GetProductionRiskEchart接口获取token失败");
+ return result;
+ }
+
+ //获取用户配置
+ HttpClientResult loginUsers = await _tokenProviderService.GetUserConfiguration(token);
+ if (loginUsers.Code == "Error")
+ {
+ _logger.LogWarning("GetProductionRiskEchart接口获取用户配置失败");
+ return result;
+ }
+
+ //获取单位信息
+ HttpClientResult branchs = await _tokenProviderService.GetBranchPermissions(token, loginUsers.Data.Uid);
+ if (branchs.Code == "Error")
+ {
+ _logger.LogWarning("GetProductionRiskEchart接口获取单位信息失败");
+
+ return result;
+ }
+
+ //生产风险识别
+
+ HttpClientResult riskResult = await _tokenProviderService.SendAndParseAsync>(
+ "https://zrh.szdunan.cn/v1/api/home/risk/index", token,
+ new RiskAreaQueryDto
+ {
+ Branch_Id = branchs.Data.BranchPermissionIds[0],
+ Ubpid = loginUsers.Data.Ubpid,
+ Uid = loginUsers.Data.Uid
+ }, HttpMethod.Post);
+
+ result.ProductionRiskStats = riskResult.Data.ProductionRiskStats;
+
+ //获取隐患信息
+ string[] dangerStatus = ["0", "1", "2",]; //0-待核查,1-待整改,2-待验收
+ int[] dangerLevel = [3]; //2一般隐患,3重大隐患。目前只要重大隐患,如果要查询一般隐患,可以将2添加到数组中
+ List dangerInfoList = [];
+ DangerInfo dangerInfo = new DangerInfo();
+
+ var tasks = new List>();
+
+ foreach (string status in dangerStatus)
+ {
+ tasks.Add(Task.Run(async () =>
+ {
+ var info = new DangerInfo { Status = status };
+
+ // 1. 查该状态下的总数
+ string jsonResult = await _tokenProviderService.SendJsonAsync("https://zrh.szdunan.cn/v1/api/danger/ledger/dangerInfo/new", token, new DangerInfoQueryDto { Ubpid = loginUsers.Data.Ubpid, Status = status }, HttpMethod.Post);
+
+ var jObj = JObject.Parse(jsonResult);
+ int total = jObj["data"]?["total"]?.Value() ?? 0;
+ info.StatusCount = total;
+
+ //// 2. 查该状态 + 等级下的总数(只要一个等级的话可以直接取)
+ //jsonResult = await _tokenProviderService.SendJsonAsync("https://zrh.szdunan.cn/v1/api/danger/ledger/dangerInfo/new", token, new DangerInfoQueryDto { Ubpid = loginUsers.Data.Ubpid, Status = status, Result = "3" }, HttpMethod.Post);
+
+ //jObj = JObject.Parse(jsonResult);
+ //int levelTotal = jObj["data"]?["total"]?.Value() ?? 0;
+ //info.DangerLevelCount = levelTotal;
+
+ return info;
+ }));
+ }
+
+ dangerInfoList = [.. (await Task.WhenAll(tasks))];
+ //3.待排查
+ DateTime startTime = new DateTime(DateTime.Today.Year, 1, 1);
+ dangerInfo = new DangerInfo();
+ var jsonBranch = await _tokenProviderService.SendJsonAsync("https://zrh.szdunan.cn/v1/api/danger/task/index_branch", token, new DangerInfoQueryDto { Status = "0", Branch_id = branchs.Data.BranchPermissionIds[0], Start_time = startTime.ToString("yyyy-MM-dd HH:mm:ss"), End_time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }, HttpMethod.Post);
+ var jObj = JObject.Parse(jsonBranch);
+ int total = jObj["data"]?["total"]?.Value() ?? 0;
+ dangerInfo.StatusCount = total;
+ dangerInfo.Status = "3"; //待排查
+ dangerInfoList.Add(dangerInfo);
+
+ result.DangerInfos = dangerInfoList;
+ }
+ catch (Exception ex)
+ {
+ _logger.LogWarning(ex, "GetProductionRiskEchart接口出错");
+ }
+ return result;
+ }
+ }
+}
\ No newline at end of file
diff --git a/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/ShenZhouShengAn/ThirdPartyProviderService.cs b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/ShenZhouShengAn/ThirdPartyProviderService.cs
new file mode 100644
index 0000000..21fa02a
--- /dev/null
+++ b/WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/ShenZhouShengAn/ThirdPartyProviderService.cs
@@ -0,0 +1,170 @@
+using Microsoft.Extensions.Logging;
+using System.Net.Http.Headers;
+using System.Net.Http.Json;
+using System.Text.Json;
+using ThirdPartyServices.Application.ShenZhouShengAn.RequestDto;
+using ThirdPartyServices.Application.ShenZhouShengAn.ResponseDto;
+
+namespace ThirdPartyServices.DomainService.ShenZhouShengAn
+{
+ ///
+ /// 盾安云服务
+ ///
+ public class ThirdPartyProviderService : IThirdPartyProviderService
+ {
+ // private readonly HttpClient _httpClient;
+ private readonly ILogger _logger;
+
+ private static string? _cachedToken;
+ private static DateTime _tokenExpiry = DateTime.MinValue;
+
+ public ThirdPartyProviderService(HttpClient httpClient, ILogger logger)
+ {
+ // _httpClient = httpClient;
+ _logger = logger;
+ }
+
+ ///
+ /// 开发测试的时候,忽略证书
+ ///
+ private static readonly HttpClient _httpClient = new(new HttpClientHandler
+ {
+ ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator,
+ });
+
+ ///
+ /// 获取登录tonken
+ ///
+ ///
+ ///
+ public async Task GetTokenAsync(string userCode)
+ {
+ if (!string.IsNullOrEmpty(_cachedToken) && _tokenExpiry > DateTime.Now)
+ return _cachedToken;
+
+ try
+ {
+ var loginRes = await _httpClient.PostAsJsonAsync("https://zrh.szdunan.cn/v1/api/zrh/login", new { code = userCode });
+ if (!loginRes.IsSuccessStatusCode) return null;
+
+ var loginData = await loginRes.Content.ReadFromJsonAsync>();
+ if (loginData?.Code != "Success") return null;
+
+ _cachedToken = loginData.Data.Token;
+ _tokenExpiry = DateTime.Now.AddMinutes(55); // 假设 token 有效期 1 小时,提前5分钟过期
+
+ return _cachedToken;
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "获取盾安云 token 失败");
+ return null;
+ }
+ }
+
+ ///
+ /// 获取用户配置
+ ///
+ ///
+ ///
+ public async Task> GetUserConfiguration(string token)
+ {
+ HttpClientResult result = new HttpClientResult() { Code = "Success", Message = "请求成功" };
+
+ result = await SendAndParseAsync>(
+ "https://zrh.szdunan.cn/v1/api/users",
+ token,
+ HttpMethod.Post);
+
+ return result;
+ }
+
+ ///
+ /// 获取用户单位信息参数
+ ///
+ ///
+ ///
+ ///
+ public async Task> GetBranchPermissions(string token, int ubpid)
+ {
+ HttpClientResult result = new HttpClientResult() { Code = "Success", Message = "请求成功" };
+
+ result = await SendAndParseAsync>(
+ "https://zrh.szdunan.cn/v1/api/branch/index_no_check_branch",
+ token,
+ ubpid,
+ HttpMethod.Post);
+
+ return result;
+ }
+
+ ///
+ /// 请求第三方API,发送JSON数据,不支持get和delete方法
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task SendJsonAsync(string url, string? token, TRequest? payload, HttpMethod method)
+ {
+ using var request = new HttpRequestMessage(method, url);
+ if (!string.IsNullOrWhiteSpace(token))
+ {
+ request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);
+ }
+ // 写入 JSON 请求体(POST、PUT、PATCH 等适用)
+ if (payload != null && method != HttpMethod.Get)
+ {
+ request.Content = JsonContent.Create(payload); // 使用 System.Net.Http.Json
+ }
+
+ var response = await _httpClient.SendAsync(request);
+
+ if (!response.IsSuccessStatusCode)
+ {
+ var error = await response.Content.ReadAsStringAsync();
+ throw new Exception($"请求失败:{response.StatusCode}, 内容:{error}");
+ }
+
+ return await response.Content.ReadAsStringAsync();
+ }
+
+ ///
+ /// 返回强类型
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task SendAndParseAsync(
+ string url,
+ string? token,
+ TRequest? payload,
+ HttpMethod method)
+ {
+ var json = await SendJsonAsync(url, token, payload, method);
+
+ return JsonSerializer.Deserialize(json);
+ }
+
+ ///
+ /// 重载
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public Task SendAndParseAsync(
+ string url,
+ string? token,
+ HttpMethod method)
+ {
+ return SendAndParseAsync