using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using Forks.JsonRpc.Client;
|
|
using Forks.JsonRpc.Client.Data;
|
|
using Forks.Utils.IO;
|
|
|
|
namespace ClientForWEDS {
|
|
public static class RpcHelper {
|
|
private static bool _isInit;
|
|
public static string Insert(List<Form1.AttLog> logList, string ip) {
|
|
var logName = "RpcLog" + DateTime.Today.ToString("yyyyMMdd") + ".txt";
|
|
|
|
var path = Application.StartupPath + "\\log\\" + logName ;
|
|
var resultStr = "";
|
|
if (!FS.DirectoryExists(path))
|
|
FS.CreateDirectory(Path.GetDirectoryName(path));
|
|
using (var textWriter = new StreamWriter(path, true, Encoding.UTF8)) {
|
|
textWriter.WriteLine("{0} :客户端开始发送数据:------------------------------------", DateTime.Now);
|
|
try {
|
|
if (!_isInit) {
|
|
var url = ConfigUtil.ERPURL;
|
|
//var url = "http://localhost:2100/MainSystem/";
|
|
RpcFacade.Init(url, "AttendClientV2.0");
|
|
_isInit = true;
|
|
}
|
|
var username = ConfigUtil.UserName;// "system"
|
|
var strPwd = ConfigUtil.Password;
|
|
RpcFacade.Login(username, strPwd);
|
|
var dmos = new List<RpcObject>();
|
|
foreach (var detail in logList) {
|
|
|
|
var dmo = new RpcObject("/CutUp/Attendance/BO/AttendanceRecord");
|
|
dmo.Set("Time", detail.DateTime);
|
|
dmo.Set("EmployeeID", detail.ID);
|
|
dmos.Add(dmo);
|
|
}
|
|
RpcFacade.Call<object>("/CutUp/Attendance/Rpcs/AttendanceRpc/Insert2", dmos.ToArray(), ip);
|
|
textWriter.WriteLine(dmos.Count() + "条考勤记录上传成功,考勤机IP:" + ip);
|
|
} catch (Exception e) {
|
|
textWriter.WriteLine("内部错误:" + e.Message);
|
|
resultStr = e.Message;
|
|
} finally {
|
|
RpcFacade.Logout();
|
|
}
|
|
}
|
|
return resultStr;
|
|
}
|
|
|
|
}
|
|
}
|