chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,214 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Script.Services;
|
||||
using System.Web.Services;
|
||||
using Wellan.Common;
|
||||
using Wellan.Data;
|
||||
|
||||
/// <summary>
|
||||
/// wmBpsn 的摘要描述
|
||||
/// </summary>
|
||||
[WebService(Namespace = "http://tempuri.org/")]
|
||||
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
|
||||
[ScriptService]
|
||||
public class wmBpsn : System.Web.Services.WebService
|
||||
{
|
||||
|
||||
public wmBpsn()
|
||||
{
|
||||
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("zh-TW");
|
||||
ci.DateTimeFormat.Calendar = new System.Globalization.TaiwanCalendar();
|
||||
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
|
||||
}
|
||||
|
||||
private WQuery GetQuery()
|
||||
{
|
||||
string ConnectionConfigName = WConfig.GetConnectionConfigName();
|
||||
WConnectionString.ConnectionConfigFile = WConfig.GetConnectionConfig();
|
||||
string ConnectionString = WConnectionString.GetConnectionString(ConnectionConfigName);
|
||||
string ConnectionType = WConnectionString.GetConnectionType(ConnectionConfigName);
|
||||
return new WQuery(ConnectionType, ConnectionString);
|
||||
}
|
||||
|
||||
private GetDataResponse CheckInput(RPSBItem prev, RPSBSaveItem saveRecord)
|
||||
{
|
||||
var result = 0;
|
||||
var message = "";
|
||||
|
||||
if (!saveRecord.IsValid)
|
||||
{
|
||||
result = -1;
|
||||
message = saveRecord.Message;
|
||||
}
|
||||
else if (prev != null)
|
||||
{
|
||||
if (saveRecord.RPDAT_DATE < prev.RPDAT)
|
||||
{
|
||||
result = -1;
|
||||
message = "異動日期不可小於前一筆的異動日期";
|
||||
}
|
||||
else if (prev.OnBoard && saveRecord.OnBoard)
|
||||
{
|
||||
result = -1;
|
||||
message = "異動類別不合理(連續兩個在職)";
|
||||
}
|
||||
else if (prev.OffBoard && !prev.Quit && saveRecord.OffBoard && !saveRecord.Quit)
|
||||
{
|
||||
result = -1;
|
||||
message = "異動類別不合理(連續兩個留職停薪)";
|
||||
}
|
||||
else if (prev.Quit && saveRecord.Quit)
|
||||
{
|
||||
result = -1;
|
||||
message = "異動類別不合理(連續兩個離職)";
|
||||
}
|
||||
else if (prev.Quit && saveRecord.OffBoard && !saveRecord.Quit)
|
||||
{
|
||||
result = -1;
|
||||
message = "異動類別不合理(離職後留職停薪)";
|
||||
}
|
||||
else if (prev.OffBoard && saveRecord.DeptChange)
|
||||
{
|
||||
result = -1;
|
||||
message = "異動類別不合理(不在職時部門調動)";
|
||||
}
|
||||
}
|
||||
|
||||
if (result == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
return new GetDataResponse()
|
||||
{
|
||||
Result = -1,
|
||||
Data = null,
|
||||
Message = message
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
[WebMethod(EnableSession = true)]
|
||||
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]
|
||||
public GetDataResponse GetRPSBList(string rpeno)
|
||||
{
|
||||
var query = GetQuery();
|
||||
var dao = new RpsbDAC(query);
|
||||
var d = dao.Select(rpeno);
|
||||
return new GetDataResponse()
|
||||
{
|
||||
Result = 0,
|
||||
Data = Newtonsoft.Json.JsonConvert.SerializeObject(d)
|
||||
};
|
||||
}
|
||||
|
||||
[WebMethod(EnableSession = true)]
|
||||
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
|
||||
public GetDataResponse AddRPSB(string record)
|
||||
{
|
||||
var saveRecord = Newtonsoft.Json.JsonConvert.DeserializeObject<RPSBSaveItem>(record);
|
||||
if (!saveRecord.IsValid)
|
||||
{
|
||||
return new GetDataResponse()
|
||||
{
|
||||
Result = -1,
|
||||
Data = null,
|
||||
Message = saveRecord.Message
|
||||
};
|
||||
}
|
||||
|
||||
var query = GetQuery();
|
||||
var dao = new RpsbDAC(query);
|
||||
var rpitm = dao.NextRPITM(saveRecord.RPENO);
|
||||
var prev = dao.SelectLast(saveRecord.RPENO, 0);
|
||||
|
||||
var checkResult = CheckInput(prev, saveRecord);
|
||||
if (checkResult != null)
|
||||
{
|
||||
return checkResult;
|
||||
}
|
||||
|
||||
var newRecord = new RPSBItem()
|
||||
{
|
||||
RPENO = saveRecord.RPENO,
|
||||
RPITM = rpitm,
|
||||
RPCLS = saveRecord.RPCLS,
|
||||
RPDAT = saveRecord.RPDAT_DATE,
|
||||
RPODT = saveRecord.DeptChange ? dao.PrevRPDPT(saveRecord.RPENO, rpitm) : "",
|
||||
RPDPT = saveRecord.RPDPT,
|
||||
RPDOC = saveRecord.RPDOC
|
||||
};
|
||||
|
||||
var d = dao.InsertOne(newRecord);
|
||||
return new GetDataResponse()
|
||||
{
|
||||
Result = d ? 0 : -1,
|
||||
Data = d.ToString()
|
||||
};
|
||||
}
|
||||
|
||||
[WebMethod(EnableSession = true)]
|
||||
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
|
||||
public GetDataResponse UpdateRPSB(string record)
|
||||
{
|
||||
var saveRecord = Newtonsoft.Json.JsonConvert.DeserializeObject<RPSBSaveItem>(record);
|
||||
var query = GetQuery();
|
||||
var dao = new RpsbDAC(query);
|
||||
var prev = dao.SelectLast(saveRecord.RPENO, saveRecord.RPITM);
|
||||
|
||||
var checkResult = CheckInput(prev, saveRecord);
|
||||
if (checkResult != null)
|
||||
{
|
||||
return checkResult;
|
||||
}
|
||||
|
||||
var updateRecord = new RPSBItem()
|
||||
{
|
||||
RPENO = saveRecord.RPENO,
|
||||
RPITM = saveRecord.RPITM,
|
||||
RPCLS = saveRecord.RPCLS,
|
||||
RPDAT = saveRecord.RPDAT_DATE,
|
||||
RPODT = saveRecord.DeptChange ? dao.PrevRPDPT(saveRecord.RPENO, saveRecord.RPITM) : "",
|
||||
RPDPT = saveRecord.RPDPT,
|
||||
RPDOC = saveRecord.RPDOC
|
||||
};
|
||||
|
||||
var d = dao.UpdateOne(updateRecord);
|
||||
return new GetDataResponse()
|
||||
{
|
||||
Result = d ? 0 : -1,
|
||||
Data = d.ToString()
|
||||
};
|
||||
}
|
||||
|
||||
[WebMethod(EnableSession = true)]
|
||||
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
|
||||
public GetDataResponse DeleteRPSB(string rpeno, int rpitm)
|
||||
{
|
||||
var query = GetQuery();
|
||||
var dao = new RpsbDAC(query);
|
||||
var d = dao.DeleteOne(rpeno, rpitm);
|
||||
return new GetDataResponse()
|
||||
{
|
||||
Result = d ? 0 : -1,
|
||||
Data = d.ToString()
|
||||
};
|
||||
}
|
||||
|
||||
[WebMethod(EnableSession = true)]
|
||||
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]
|
||||
public GetDataResponse GetRASNList(string bpeno)
|
||||
{
|
||||
var query = GetQuery();
|
||||
var dao = new RasnDAC(query);
|
||||
var d = dao.SelectHistoryByEmployee(bpeno);
|
||||
return new GetDataResponse()
|
||||
{
|
||||
Result = 0,
|
||||
Data = Newtonsoft.Json.JsonConvert.SerializeObject(d)
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user