|
@@ -15,6 +15,7 @@ using System.Linq;
|
|
|
using System.Linq.Expressions;
|
|
|
using System.Threading;
|
|
|
using System.Threading.Tasks;
|
|
|
+using wispro.sp.api.Job;
|
|
|
using wispro.sp.api.Services;
|
|
|
using wispro.sp.api.Utility;
|
|
|
using wispro.sp.entity;
|
|
@@ -25,7 +26,7 @@ namespace wispro.sp.api.Controllers
|
|
|
{
|
|
|
[Route("api/[controller]/[action]")]
|
|
|
[ApiController]
|
|
|
- [Authorize]
|
|
|
+
|
|
|
public class PerformanceItemController : ControllerBase
|
|
|
{
|
|
|
spDbContext Context;
|
|
@@ -39,6 +40,7 @@ namespace wispro.sp.api.Controllers
|
|
|
|
|
|
}
|
|
|
|
|
|
+ [Authorize]
|
|
|
public ApiSaveResponse RemoveDBNotFinishDate(int year, int month)
|
|
|
{
|
|
|
ApiSaveResponse ret = new ApiSaveResponse();
|
|
@@ -74,6 +76,7 @@ namespace wispro.sp.api.Controllers
|
|
|
}
|
|
|
|
|
|
|
|
|
+ [Authorize]
|
|
|
public bool IsExist(PerformanceItem item)
|
|
|
{
|
|
|
var results = Context.PerformanceItems.Where<PerformanceItem>(x =>
|
|
@@ -93,6 +96,7 @@ namespace wispro.sp.api.Controllers
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+ [Authorize]
|
|
|
public ApiSaveResponse New(PerformanceItem item)
|
|
|
{
|
|
|
ApiSaveResponse ret = new ApiSaveResponse();
|
|
@@ -251,6 +255,7 @@ namespace wispro.sp.api.Controllers
|
|
|
/// <param name="field">栏位,多个位以|杠隔开</param>
|
|
|
/// <param name="value">栏位值,多个以|杠隔开</param>
|
|
|
/// <returns></returns>
|
|
|
+ [Authorize]
|
|
|
public ApiSaveResponse UpdateFieldValue(int id, string field, string value)
|
|
|
{
|
|
|
ApiSaveResponse ret = new ApiSaveResponse();
|
|
@@ -348,6 +353,7 @@ namespace wispro.sp.api.Controllers
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
+ [Authorize]
|
|
|
public ListApiResponse<PerformanceItem> Query(int pageIndex, int pageSize)
|
|
|
{
|
|
|
ListApiResponse<PerformanceItem> ret = new ListApiResponse<PerformanceItem>();
|
|
@@ -390,6 +396,7 @@ namespace wispro.sp.api.Controllers
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
+ [Authorize]
|
|
|
public PerformanceItem Get(int Id)
|
|
|
{
|
|
|
var results = Context.PerformanceItems
|
|
@@ -430,6 +437,7 @@ namespace wispro.sp.api.Controllers
|
|
|
/// <param name="userid">用户id</param>
|
|
|
/// <param name="type">获取类型;0:处理中;1:所有;4:已归档</param>
|
|
|
/// <returns></returns>
|
|
|
+ [Authorize]
|
|
|
public ListApiResponse<PerformanceItem> GetMyList(int userid, int type, int pageIndex = 1, int pageSize = 10)
|
|
|
{
|
|
|
|
|
@@ -798,7 +806,7 @@ namespace wispro.sp.api.Controllers
|
|
|
return retObj;
|
|
|
|
|
|
}
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public List<string> GetFeedbackString(int itemId)
|
|
|
{
|
|
|
PerformanceItem item = Context.PerformanceItems.FirstOrDefault<PerformanceItem>(p => p.Id == itemId);
|
|
@@ -810,7 +818,7 @@ namespace wispro.sp.api.Controllers
|
|
|
|
|
|
return new List<string>();
|
|
|
}
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public FileProcessTask GetStaticsReport(int Year,int Month)
|
|
|
{
|
|
|
CalMonth calMonth = Context.CalMonths.FirstOrDefault(c => c.Year == Year && c.Month == Month);
|
|
@@ -1058,7 +1066,7 @@ namespace wispro.sp.api.Controllers
|
|
|
_CalJXPoint(calMonth, spDb);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public ApiSaveResponse RefreshBasePoint()
|
|
|
{
|
|
|
System.Threading.Thread t = new Thread(_RefreshBasePoint);
|
|
@@ -1068,7 +1076,7 @@ namespace wispro.sp.api.Controllers
|
|
|
Success = true
|
|
|
};
|
|
|
}
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public void RefreshPoint(PerformanceItem item)
|
|
|
{
|
|
|
//spDbContext spDb = new spDbContext();
|
|
@@ -1115,7 +1123,7 @@ namespace wispro.sp.api.Controllers
|
|
|
|
|
|
return null;
|
|
|
}
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public ApiSaveResponse UpdateOAStaff()
|
|
|
{
|
|
|
string strExcelFile = @"c:\temp\每月绩效统计--中国一次OA授权表.xlsx";
|
|
@@ -1197,7 +1205,7 @@ namespace wispro.sp.api.Controllers
|
|
|
Success = true
|
|
|
};
|
|
|
}
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public ApiSaveResponse RefreshFromIPEasyById(int itemId)
|
|
|
{
|
|
|
var Item = Context.PerformanceItems.Include(p => p.Customer).Include(p => p.ItemStaffs).ThenInclude(p => p.DoPerson).FirstOrDefault(p => p.Id == itemId);
|
|
@@ -1224,6 +1232,7 @@ namespace wispro.sp.api.Controllers
|
|
|
Success = true
|
|
|
};
|
|
|
}
|
|
|
+ [Authorize]
|
|
|
|
|
|
public ApiSaveResponse RefreshFromIPEasy_Batch(int type)
|
|
|
{
|
|
@@ -1234,7 +1243,7 @@ namespace wispro.sp.api.Controllers
|
|
|
Success = true
|
|
|
};
|
|
|
}
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public ApiSaveResponse RefreshFromIPEasy(string CaseNo, string DoItem, string caseStage)
|
|
|
{
|
|
|
var Item = Context.PerformanceItems.Include(p => p.Customer).FirstOrDefault(p => p.CaseNo == CaseNo && p.DoItem == DoItem && p.CaseStage == caseStage);
|
|
@@ -1248,7 +1257,7 @@ namespace wispro.sp.api.Controllers
|
|
|
Success = true
|
|
|
};
|
|
|
}
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public ApiSaveResponse CompareExcel2DB()
|
|
|
{
|
|
|
|
|
@@ -1262,7 +1271,7 @@ namespace wispro.sp.api.Controllers
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public FileProcessTask CurrentData2Excel(int Year,int Month)
|
|
|
{
|
|
|
CalMonth calMonth = Context.CalMonths.FirstOrDefault(c => c.Year == Year && c.Month == Month);
|
|
@@ -1982,7 +1991,7 @@ namespace wispro.sp.api.Controllers
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public List<StaffStatistics> CalItemJX(int itemid)
|
|
|
{
|
|
|
var Item = Context.PerformanceItems.Include(p => p.CalMonth)
|
|
@@ -2118,7 +2127,7 @@ namespace wispro.sp.api.Controllers
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if (itemStaff.PerformancePoint == null)
|
|
|
+ if (itemStaff.PerformancePoint != null)
|
|
|
{
|
|
|
if (isPJFP)
|
|
|
{
|
|
@@ -2292,6 +2301,10 @@ namespace wispro.sp.api.Controllers
|
|
|
|
|
|
if (ss.jxType == "新申请处理" || ss.jxType == "专案处理")
|
|
|
{
|
|
|
+ if(ss.StaffId == 222)
|
|
|
+ {
|
|
|
+ System.Diagnostics.Debug.WriteLine("");
|
|
|
+ }
|
|
|
#region 新申请处理+专案处理
|
|
|
if (!staffXiShu.ContainsKey(ss.StaffId))
|
|
|
{
|
|
@@ -2352,6 +2365,7 @@ namespace wispro.sp.api.Controllers
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
+ [Authorize]
|
|
|
public void CalJXPoint(int year, int month)
|
|
|
{
|
|
|
CalMonth calMonth = Context.CalMonths.Where<CalMonth>(c => c.Month == month && c.Year == year).FirstOrDefault();
|
|
@@ -2400,7 +2414,7 @@ namespace wispro.sp.api.Controllers
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public ProcessTask FinishedCalMonth(int year,int month)
|
|
|
{
|
|
|
CalMonth calMonth = Context.CalMonths.FirstOrDefault(c => c.Year == year && c.Month == month);
|
|
@@ -2506,6 +2520,7 @@ namespace wispro.sp.api.Controllers
|
|
|
/// <param name="year"></param>
|
|
|
/// <param name="month"></param>
|
|
|
/// <returns></returns>
|
|
|
+ [Authorize]
|
|
|
public List<StaffStatistics> CalMyStatistics(int year,int month, int? userid=null)
|
|
|
{
|
|
|
//object retList;
|
|
@@ -2611,6 +2626,7 @@ namespace wispro.sp.api.Controllers
|
|
|
}
|
|
|
|
|
|
[HttpGet,HttpPost]
|
|
|
+ [Authorize]
|
|
|
public FileProcessTask ExportData(QueryFilter queryFilter)
|
|
|
{
|
|
|
var filename = $"{DateTime.Now.ToString("yyyyMMddhhmmss")}-绩效数据下载.xlsx";
|
|
@@ -2787,6 +2803,7 @@ namespace wispro.sp.api.Controllers
|
|
|
}
|
|
|
|
|
|
[HttpPost]
|
|
|
+ [Authorize]
|
|
|
public ListApiResponse<PerformanceItem> QueryFilter(QueryFilter queryFilter)
|
|
|
{
|
|
|
|
|
@@ -2935,7 +2952,7 @@ namespace wispro.sp.api.Controllers
|
|
|
|
|
|
return response;
|
|
|
}
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public ApiSaveResponse AddProjectContents(ProjectContents projectContents)
|
|
|
{
|
|
|
ApiSaveResponse retResponse = new ApiSaveResponse();
|
|
@@ -3012,7 +3029,7 @@ namespace wispro.sp.api.Controllers
|
|
|
|
|
|
return retResponse;
|
|
|
}
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public PerformanceItem GetCaseInfo(string CaseNo)
|
|
|
{
|
|
|
var retObj = Context.PerformanceItems.OrderByDescending(p=>p.CalMonthId).FirstOrDefault<PerformanceItem>(p=>p.CaseNo == CaseNo.Trim());
|
|
@@ -3025,7 +3042,7 @@ namespace wispro.sp.api.Controllers
|
|
|
return retObj;
|
|
|
|
|
|
}
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public PerformanceItem GetItemInfo(string CaseNo, string DoItem)
|
|
|
{
|
|
|
var retObj = Context.PerformanceItems.FirstOrDefault<PerformanceItem>(p => p.CaseNo == CaseNo.Trim() && p.DoItem == DoItem.Trim());
|
|
@@ -3037,7 +3054,7 @@ namespace wispro.sp.api.Controllers
|
|
|
|
|
|
return retObj;
|
|
|
}
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
public PerformanceItem GetItemInfoByCaseStage(string CaseNo, string DoItem,string caseStage,bool UpdateFromIPEasy=true)
|
|
|
{
|
|
|
var retObj = Context.PerformanceItems.Include(p=>p.Customer).FirstOrDefault<PerformanceItem>(p => p.CaseNo == CaseNo.Trim()
|
|
@@ -3203,8 +3220,184 @@ namespace wispro.sp.api.Controllers
|
|
|
return retObj;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ [Authorize]
|
|
|
+ public PerformanceItem GetItemInfoByCaseStage(string CaseNo, List<string> DoItems, string caseStage, bool UpdateFromIPEasy = true)
|
|
|
+ {
|
|
|
+ PerformanceItem retObj = null;
|
|
|
+
|
|
|
+ foreach (var DoItem in DoItems)
|
|
|
+ {
|
|
|
+ retObj = Context.PerformanceItems.Include(p => p.Customer).FirstOrDefault<PerformanceItem>(p => p.CaseNo == CaseNo.Trim()
|
|
|
+ && p.DoItem == DoItem.Trim() && p.CaseStage == caseStage);
|
|
|
+ if(retObj != null)
|
|
|
+ {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (retObj == null || UpdateFromIPEasy)
|
|
|
+ {
|
|
|
+ var temObj = wispro.sp.utility.IPEasyUtility.GetPerformanceRecord(CaseNo, DoItems, caseStage);
|
|
|
+ //var temObj = new Job.UpdateJXDataFromIPEasyJob().GetItemFromIPEasyDB(
|
|
|
+ // new PerformanceItem() { CaseNo = CaseNo, DoItem = DoItem, CaseStage = caseStage },
|
|
|
+ // Context
|
|
|
+ // );// IPEasyUtility.GetPerformanceRecord(CaseNo, DoItem, caseStage);
|
|
|
+
|
|
|
+
|
|
|
+ System.Dynamic.ExpandoObject temExpandoObject = (System.Dynamic.ExpandoObject)temObj;
|
|
|
+
|
|
|
+ retObj = new PerformanceItem();
|
|
|
+ retObj.CaseNo = temObj.CaseNo.ToString();
|
|
|
+ retObj.CaseName = temObj.CaseName.ToString();
|
|
|
+
|
|
|
+ try
|
|
|
+ {
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("ApplicationType") && temObj.ApplicationType != null)
|
|
|
+ retObj.ApplicationType = temObj.ApplicationType.ToString();
|
|
|
+
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("CaseMemo") && temObj.CaseMemo != null)
|
|
|
+ retObj.CaseMemo = temObj.CaseMemo.ToString();
|
|
|
+
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("BusinessType") && temObj.BusinessType != null)
|
|
|
+ retObj.BusinessType = temObj.BusinessType.ToString();
|
|
|
+
|
|
|
+ if (temObj.DoItem != null)
|
|
|
+ retObj.DoItem = temObj.DoItem.ToString();
|
|
|
+
|
|
|
+
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("CaseStage") && temObj.CaseStage != null)
|
|
|
+ retObj.CaseStage = temObj.CaseStage.ToString();
|
|
|
+
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("CaseType") && temObj.CaseType != null)
|
|
|
+ retObj.CaseType = temObj.CaseType.ToString();
|
|
|
+
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("DoItemState") && temObj.DoItemState != null)
|
|
|
+ retObj.DoItemState = temObj.DoItemState.ToString();
|
|
|
+
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("DoItemCoefficient") && temObj.DoItemCoefficient != null)
|
|
|
+ retObj.DoItemCoefficient = temObj.DoItemCoefficient.ToString();
|
|
|
+
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("CaseCoefficient") && temObj.CaseCoefficient != null)
|
|
|
+ retObj.CaseCoefficient = temObj.CaseCoefficient.ToString();
|
|
|
+
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("EntrustingDate") && temObj.EntrustingDate != null)
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrEmpty(temObj.EntrustingDate.ToString()))
|
|
|
+ retObj.EntrustingDate = DateTime.Parse(temObj.EntrustingDate.ToString());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("Country") && temObj.Country != null)
|
|
|
+ {
|
|
|
+ retObj.Country = temObj.Country.ToString();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("InternalDate") && temObj.InternalDate != null)
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrEmpty(temObj.InternalDate.ToString()))
|
|
|
+ retObj.InternalDate = DateTime.Parse(temObj.InternalDate.ToString());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("CustomerLimitDate") && temObj.CustomerLimitDate != null)
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrEmpty(temObj.CustomerLimitDate.ToString()))
|
|
|
+ retObj.CustomerLimitDate = DateTime.Parse(temObj.CustomerLimitDate.ToString());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("ReturnDate") && temObj.ReturnDate != null)
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrEmpty(temObj.ReturnDate.ToString()))
|
|
|
+ retObj.ReturnDate = DateTime.Parse(temObj.ReturnDate.ToString());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("FinalizationDate") && temObj.FinalizationDate != null)
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrEmpty(temObj.FinalizationDate.ToString()))
|
|
|
+ retObj.FinalizationDate = DateTime.Parse(temObj.FinalizationDate.ToString());
|
|
|
+ }
|
|
|
+ if (((IDictionary<String, Object>)temObj).Keys.Contains("FinishedDate") && temObj.FinishedDate != null)
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrEmpty(temObj.FinishedDate.ToString()))
|
|
|
+ retObj.FinishedDate = DateTime.Parse(temObj.FinishedDate.ToString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch { }
|
|
|
+
|
|
|
+ int temWordCount;
|
|
|
+
|
|
|
+ if (temObj.WordCount != null)
|
|
|
+ {
|
|
|
+ if (int.TryParse(temObj.WordCount, out temWordCount))
|
|
|
+ {
|
|
|
+ retObj.WordCount = temWordCount;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ try
|
|
|
+ {
|
|
|
+ if (temObj.CustomerName != null)
|
|
|
+ {
|
|
|
+ string strCustomer = temObj.CustomerName.ToString();
|
|
|
+ retObj.Customer = new Customer() { Name = strCustomer };
|
|
|
+ var temCustomer = Context.Customers.Where(c => c.Name == strCustomer.Trim()).FirstOrDefault();
|
|
|
+ if (temCustomer != null)
|
|
|
+ {
|
|
|
+ retObj.CustomerId = temCustomer.Id;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch { }
|
|
|
+
|
|
|
+ try
|
|
|
+ {
|
|
|
+ if (temObj.Reviewer != null)
|
|
|
+ {
|
|
|
+ string strReViewer = temObj.Reviewer.ToString().Replace("-君龙", "");
|
|
|
+ var temReviewer = Context.Staffs.Where(s => s.Name == strReViewer.Trim()).FirstOrDefault();
|
|
|
+ if (temReviewer != null)
|
|
|
+ {
|
|
|
+ retObj.ReviewerId = temReviewer.Id;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch { }
|
|
|
+
|
|
|
+ try
|
|
|
+ {
|
|
|
+ if (temObj.WorkflowUser != null)
|
|
|
+ {
|
|
|
+ string strWorkflowUser = temObj.WorkflowUser.ToString().Replace("-君龙", "");
|
|
|
+ var temReviewer = Context.Staffs.Where(s => s.Name == strWorkflowUser.Trim()).FirstOrDefault();
|
|
|
+ if (temReviewer != null)
|
|
|
+ {
|
|
|
+ retObj.WorkflowUserId = temReviewer.Id;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch { }
|
|
|
+
|
|
|
+ if (temObj.DoPersons != null)
|
|
|
+ {
|
|
|
+ string DoPersons = temObj.DoPersons.ToString();
|
|
|
+
|
|
|
+ string[] Persons = DoPersons.Split(new char[] { ',' });
|
|
|
+ List<ItemStaff> itemStaffs = new List<ItemStaff>();
|
|
|
+ foreach (var doPerson in Persons)
|
|
|
+ {
|
|
|
+ string strName = doPerson.Replace("-君龙", "");
|
|
|
+ itemStaffs.Add(new ItemStaff() { DoPerson = new Staff() { Name = strName } });
|
|
|
+ }
|
|
|
+ retObj.ItemStaffs = itemStaffs;
|
|
|
+ }
|
|
|
|
|
|
+ }
|
|
|
+
|
|
|
+ return retObj;
|
|
|
+ }
|
|
|
+
|
|
|
+ [Authorize]
|
|
|
public PerformanceItem GetItemInfoByMonthId(string CaseNo, string DoItem, string caseStage,int calMonthId)
|
|
|
{
|
|
|
var retObj = Context.PerformanceItems.Include(p => p.Customer).FirstOrDefault<PerformanceItem>(p => p.CaseNo == CaseNo.Trim()
|
|
@@ -3234,6 +3427,7 @@ namespace wispro.sp.api.Controllers
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ [Authorize]
|
|
|
public bool MovePerformance2ProjectInfo()
|
|
|
{
|
|
|
var response = Context.PerformanceItems.Include(p=>p.ItemStaffs)
|
|
@@ -3756,6 +3950,7 @@ namespace wispro.sp.api.Controllers
|
|
|
/// <param name="quarter">考核季度,取值为1、2、3、4</param>
|
|
|
/// <param name="GradeCode">等级</param>
|
|
|
/// <returns></returns>
|
|
|
+ [Authorize]
|
|
|
public LevelStatisticsResult CalAgentLevel(int year,int quarter,string GradeCode)
|
|
|
{
|
|
|
LevelStatisticsResult result = new LevelStatisticsResult();
|
|
@@ -3834,6 +4029,7 @@ namespace wispro.sp.api.Controllers
|
|
|
/// </summary>
|
|
|
/// <param name="year"></param>
|
|
|
/// <param name="month"></param>
|
|
|
+ [Authorize]
|
|
|
public bool StatisticsLevelCount(int year,int month)
|
|
|
{
|
|
|
try
|
|
@@ -3861,5 +4057,21 @@ namespace wispro.sp.api.Controllers
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
+
|
|
|
+ #region 导入绩效数据
|
|
|
+ /// <summary>
|
|
|
+ /// 从维德系统中下载报表,并导入到绩效数据库中
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dataType">
|
|
|
+ /// 0:每月绩效统计--发客户超过一个月未完成案件
|
|
|
+ /// 1:每月绩效统计--上个月递交完成案件
|
|
|
+ /// 2:每月绩效统计--中国一次OA授权表
|
|
|
+ /// </param>
|
|
|
+ [HttpGet,HttpPost]
|
|
|
+ public void ImportJXData(int dataType)
|
|
|
+ {
|
|
|
+ new ImportReportJob().ImportData(dataType);
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
}
|
|
|
}
|