diff --git a/Src/Dlhis.Basic/appsettings.Development.json b/Src/Dlhis.Basic/appsettings.Development.json
index 7b943fd9..7d904fe7 100644
--- a/Src/Dlhis.Basic/appsettings.Development.json
+++ b/Src/Dlhis.Basic/appsettings.Development.json
@@ -13,6 +13,15 @@
"Url": "http://localhost:5002/api/gainfos/face?token=",
"Limit": 7200
},
+ "SqlSugarOptions": {
+ "DefaultConnectionString": "server=192.168.199.124;port=3306;userid=root;password=dlhis123;database=yikatong;charset=utf8mb4;",
+ "SlaveConnectionString": [],
+ "FaceConnectionString": "server=192.168.199.124;port=3306;userid=root;password=dlhis123;database=face;charset=utf8mb4;",
+ "Timeout": 30,
+ "SlowSqlTime": 1,
+ "EnableSqlLog": true,
+ "Generate": true
+ },
"SwaggerOptions": {
"Enable": true,
"Authority": "https://yikatong.isawesome.cn/oauth2",
diff --git a/Src/Dlhis.Entity/Basic/Entity/WerkEntity.cs b/Src/Dlhis.Entity/Basic/Entity/WerkEntity.cs
index 6b6a7b76..d3142388 100644
--- a/Src/Dlhis.Entity/Basic/Entity/WerkEntity.cs
+++ b/Src/Dlhis.Entity/Basic/Entity/WerkEntity.cs
@@ -9,6 +9,7 @@ public class WerkEntity : SugarBaseEntity
///
/// 人事范围
///
+ [SugarColumn(UniqueGroupNameList = new[] { "idx_Werk_Werk" })]
public string Werk { get; set; }
///
diff --git a/Src/Dlhis.ScheduledTask/SyncSapInfo/Job/SyncOriginCardInfoJob.cs b/Src/Dlhis.ScheduledTask/SyncSapInfo/Job/SyncOriginCardInfoJob.cs
index 4587d2bc..f5b0c667 100644
--- a/Src/Dlhis.ScheduledTask/SyncSapInfo/Job/SyncOriginCardInfoJob.cs
+++ b/Src/Dlhis.ScheduledTask/SyncSapInfo/Job/SyncOriginCardInfoJob.cs
@@ -61,18 +61,21 @@ public class SyncOriginCardInfoJob
}).Where(x => x.ZWORKCODE.IsPresent()).ToList();
var ids = requests.Select(x => x.Id).ToList();
- var r = await _jinkoJIPService.UploadAttendancesAsync(requests);
- if (r.OLX == "0")
+ if (ids.Any())
{
- await _dbContext.Updateable()
- .SetColumns(x => x.Sync == true)
- .SetColumns(x => x.ModifiedTime == DateTime.Now)
- .Where(x => ids.Contains(x.Id))
- .ExecuteCommandAsync();
- }
- else
- {
- throw new Exception(r.OMS);
+ var r = await _jinkoJIPService.UploadAttendancesAsync(requests);
+ if (r.OLX == "0")
+ {
+ await _dbContext.Updateable()
+ .SetColumns(x => x.Sync == true)
+ .SetColumns(x => x.ModifiedTime == DateTime.Now)
+ .Where(x => ids.Contains(x.Id))
+ .ExecuteCommandAsync();
+ }
+ else
+ {
+ throw new Exception(r.OMS);
+ }
}
}
catch (Exception ex)
diff --git a/Src/Dlhis.ScheduledTask/SyncSapInfo/Services/Implements/JinkoJIPService.cs b/Src/Dlhis.ScheduledTask/SyncSapInfo/Services/Implements/JinkoJIPService.cs
index ed00b0eb..e50bf97b 100644
--- a/Src/Dlhis.ScheduledTask/SyncSapInfo/Services/Implements/JinkoJIPService.cs
+++ b/Src/Dlhis.ScheduledTask/SyncSapInfo/Services/Implements/JinkoJIPService.cs
@@ -12,26 +12,49 @@ public class JinkoJIPService : IJinkoJIPService
{
private readonly IHttpClientFactory _httpClientFactory;
private readonly ILogger _logger;
+ private readonly IConfiguration _configuration;
- public JinkoJIPService(IHttpClientFactory httpClientFactory, ILogger logger)
+ public JinkoJIPService(IHttpClientFactory httpClientFactory, ILogger logger, IConfiguration configuration)
{
_httpClientFactory = httpClientFactory;
_logger = logger;
+ _configuration = configuration;
}
-
private HttpClient GetHttpClient()
{
var httpClient = _httpClientFactory.CreateClient();
- //httpClient.BaseAddress = new Uri("");
+ httpClient.BaseAddress = new Uri(_configuration.GetSection("Jinko:Jip:BaseUrl").Value);
//httpClient.Timeout = TimeSpan.FromMinutes(10);
- var key = "FACE-7409WIBX";
- var secret = "be0a4b88-cd80-4509-b9b9-865205d0d3d8";
+ var key = _configuration.GetSection("Jinko:Jip:Key").Value;
+ var secret = _configuration.GetSection("Jinko:Jip:Secret").Value;
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", IssueJwt(key, secret, 5));
return httpClient;
}
+ public async Task UploadAttendancesAsync(List requests)
+ {
+ var body = new
+ {
+ T_DATA = requests,
+ };
+
+ var json = body.ToJson();
+
+ //_logger.LogInformation("上传考勤记录请求:{json}", json);
+
+ var content = new StringContent(json, Encoding.UTF8, "application/json");
+ var response = await GetHttpClient().PostAsync("/JIP/HCM/HCM_SWIPE_DATA_SAVE", content);
+ var responseJson = await response.Content.ReadAsStringAsync();
+
+ _logger.LogInformation("上传考勤记录响应:{json}", responseJson);
+
+ var r = responseJson.ToObject();
+ return r;
+ }
+
+
private static string IssueJwt(string jwtKey, string jwtSecret, int mins)
{
@@ -60,25 +83,4 @@ public class JinkoJIPService : IJinkoJIPService
var securityToken = jwtHandler.CreateToken(descriptor);
return jwtHandler.WriteToken(securityToken);
}
-
- public async Task UploadAttendancesAsync(List requests)
- {
- var body = new
- {
- T_DATA = requests,
- };
-
- var json = body.ToJson();
-
- _logger.LogInformation("上传考勤记录请求:{json}", json);
-
- var content = new StringContent(json, Encoding.UTF8, "application/json");
- var response = await GetHttpClient().PostAsync("http://172.16.202.34:8000/JIP/HCM/HCM_SWIPE_DATA_SAVE", content);
- var responseJson = await response.Content.ReadAsStringAsync();
-
- _logger.LogInformation("上传考勤记录响应:{json}", responseJson);
-
- var r = responseJson.ToObject();
- return r;
- }
}
diff --git a/Src/Dlhis.ScheduledTask/SyncSapInfo/SyncOptions.cs b/Src/Dlhis.ScheduledTask/SyncSapInfo/SyncOptions.cs
deleted file mode 100644
index 6936dd88..00000000
--- a/Src/Dlhis.ScheduledTask/SyncSapInfo/SyncOptions.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-using Kurisu.Core.ConfigurableOptions.Attributes;
-
-
-namespace Dlhis.ScheduledTask.SyncSapInfo;
-
-[Configuration]
-public class SyncOptions
-{
- public string ServerUrl { get; private set; }
-
- public string UserName { get; private set; }
-
- public string Password { get; private set; }
-
- public string SyncTime { get; private set; }
-
- public int AttendanceUploadInterval { get; private set; }
-
- public string AttendanceUploadUrl { get; private set; }
-
- public string DlhisDatabase { get; private set; }
-
- public DateTime BeginSyncDate { get; private set; }
-
- public string EHRWebServiceUserName { get; set; }
- public string EHRWebServicePassword { get; set; }
- public string EHRInsertRecordApiUrl { get; set; }
- public string EHRDeleteRecordApiUrl { get; set; }
-
- public string EHRSavePhotoApiUrl { get; set; }
-
-
- ///
- /// 获取员工卡片信息RESUT地址
- ///
- public string EHR_GET_WORK_CARD_INFOApiUrl { get; set; }
-
- ///
- /// REST账号
- ///
- public string RestUserName { get; set; }
-
- ///
- /// REST密码
- ///
- public string RestPassword { get; set; }
-
-
- private static int SafeParseInt(string value, int defaultValue = 0)
- {
- if (int.TryParse(value, out int i))
- {
- return i;
- }
- return defaultValue;
- }
-
- private static bool SafeParseBoolean(string value, bool defaultValue = false)
- {
- if (bool.TryParse(value, out var b))
- {
- return b;
- }
- return defaultValue;
- }
-
- private static DateTime SafeParseDate(string value, DateTime defaultValue)
- {
- if (DateTime.TryParse(value, out var b))
- {
- return b;
- }
- return defaultValue;
- }
-}
diff --git a/Src/Dlhis.ScheduledTask/appsettings.json b/Src/Dlhis.ScheduledTask/appsettings.json
index 2fe0bba9..1bc1a466 100644
--- a/Src/Dlhis.ScheduledTask/appsettings.json
+++ b/Src/Dlhis.ScheduledTask/appsettings.json
@@ -47,13 +47,12 @@
"ClientSecret": "123456"
}
},
- "SyncOptions": {
- "ServerUrl": "http://172.16.7.58:8125",
- "UserName": "admin_ws",
- "Password": "jinkohr@2017",
- "SyncTime": "00:00",
- "AttendanceUploadInterval": "30",
- "BeginSyncDate": "2020-5-1"
+ "JinkoOptions": {
+ "Jip": {
+ "BaseUrl": "http://172.16.202.34:8000",
+ "Key": "FACE-7409WIBX",
+ "Secret": "be0a4b88-cd80-4509-b9b9-865205d0d3d8"
+ }
},
"RedisOptions": {
"ConnectionString": "192.168.199.30:30115,defaultDatabase:1,password=dlhis123"