20220505 考勤导入功能优化,新增版本号显示。 考试计划详细页新增单独获取考生姓名接口。优化接口请求方法,请求超时时间设置5秒,防止长期占有程序池连接。
This commit is contained in:
parent
93df6c189c
commit
fce7d98592
|
@ -5,5 +5,4 @@
|
|||
/SGGLPackFile/PackFile/bin
|
||||
/SGGLPackFile
|
||||
/SGGL/FineUIPro.Web/File/Excel/Temp
|
||||
/SGGL/FineUIPro.Web/common
|
||||
/SGGL/FineUIPro.Web/FileUpload/QRCodeFile
|
||||
|
|
|
@ -30,6 +30,7 @@ namespace BLL
|
|||
}
|
||||
}
|
||||
request.Headers.Add("token", "AF17168B-87BD-4GLY-1111-F0A0A1158F9B");
|
||||
request.Timeout = 5000; /// 设置5秒超时
|
||||
if (!string.IsNullOrEmpty(data))
|
||||
{
|
||||
Stream RequestStream = request.GetRequestStream();
|
||||
|
@ -93,6 +94,7 @@ namespace BLL
|
|||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
||||
request.Method = string.IsNullOrEmpty(method) ? "GET" : method;
|
||||
request.ContentType = string.IsNullOrEmpty(contenttype) ? "application/json;charset=utf-8" : contenttype;
|
||||
request.Timeout = 5000; /// 设置5秒超时
|
||||
if (header != null)
|
||||
{
|
||||
foreach (var i in header.Keys)
|
||||
|
@ -161,6 +163,7 @@ namespace BLL
|
|||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
||||
request.Method = string.IsNullOrEmpty(method) ? "GET" : method;
|
||||
request.ContentType = string.IsNullOrEmpty(contenttype) ? "application/json;charset=utf-8" : contenttype;
|
||||
request.Timeout = 5000; /// 设置5秒超时
|
||||
if (header != null)
|
||||
{
|
||||
foreach (var i in header.Keys)
|
||||
|
|
|
@ -56,35 +56,35 @@ namespace BLL
|
|||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
var getDataLists = from x in db.Training_TestPlan
|
||||
where x.TestPlanId == testPlanId
|
||||
select new Model.TestPlanItem
|
||||
{
|
||||
TestPlanId = x.TestPlanId,
|
||||
ProjectId = x.ProjectId,
|
||||
TestPlanCode = x.PlanCode,
|
||||
TestPlanName = x.PlanName,
|
||||
TestPlanManId = x.PlanManId,
|
||||
TestPlanManName = db.Sys_User.First(y => y.UserId == x.TestPlanId).UserName,
|
||||
TestPlanDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.PlanDate),
|
||||
TestStartTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestStartTime),
|
||||
TestEndTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestEndTime),
|
||||
Duration = x.Duration,
|
||||
SValue = x.SValue,
|
||||
MValue = x.MValue,
|
||||
JValue = x.JValue,
|
||||
TotalScore = x.TotalScore ?? 0,
|
||||
QuestionCount = x.QuestionCount ?? 0,
|
||||
TestPalce = x.TestPalce,
|
||||
UnitIds = x.UnitIds,
|
||||
UnitNames = UnitService.getUnitNamesUnitIds(x.UnitIds),
|
||||
WorkPostIds = x.WorkPostIds,
|
||||
WorkPostNames = WorkPostService.getWorkPostNamesWorkPostIds(x.WorkPostIds),
|
||||
States = x.States,
|
||||
QRCodeUrl = x.QRCodeUrl.Replace('\\', '/'),
|
||||
TrainingPlanId = x.PlanId,
|
||||
};
|
||||
return getDataLists.FirstOrDefault();
|
||||
Model.TestPlanItem returnItem = new Model.TestPlanItem();
|
||||
var getTestP = db.Training_TestPlan.FirstOrDefault(x => x.TestPlanId == testPlanId);
|
||||
if (getTestP != null)
|
||||
{
|
||||
returnItem.TestPlanId = getTestP.TestPlanId;
|
||||
returnItem.ProjectId = getTestP.ProjectId;
|
||||
returnItem.TestPlanCode = getTestP.PlanCode;
|
||||
returnItem.TestPlanName = getTestP.PlanName;
|
||||
returnItem.TestPlanManId = getTestP.PlanManId;
|
||||
returnItem.TestPlanManName = UserService.GetUserNameByUserId(getTestP.PlanManId);
|
||||
returnItem.TestPlanDate = string.Format("{0:yyyy-MM-dd HH:mm}", getTestP.PlanDate);
|
||||
returnItem.TestStartTime = string.Format("{0:yyyy-MM-dd HH:mm}", getTestP.TestStartTime);
|
||||
returnItem.TestEndTime = string.Format("{0:yyyy-MM-dd HH:mm}", getTestP.TestEndTime);
|
||||
returnItem.Duration = getTestP.Duration;
|
||||
returnItem.SValue = getTestP.SValue;
|
||||
returnItem.MValue = getTestP.MValue;
|
||||
returnItem.JValue = getTestP.JValue;
|
||||
returnItem.TotalScore = getTestP.TotalScore ?? 0;
|
||||
returnItem.QuestionCount = getTestP.QuestionCount ?? 0;
|
||||
returnItem.TestPalce = getTestP.TestPalce;
|
||||
returnItem.UnitIds = getTestP.UnitIds;
|
||||
returnItem.UnitNames = UnitService.getUnitNamesUnitIds(getTestP.UnitIds);
|
||||
returnItem.WorkPostIds = getTestP.WorkPostIds;
|
||||
returnItem.WorkPostNames = WorkPostService.getWorkPostNamesWorkPostIds(getTestP.WorkPostIds);
|
||||
returnItem.States = getTestP.States;
|
||||
returnItem.QRCodeUrl = getTestP.QRCodeUrl.Replace('\\', '/');
|
||||
returnItem.TrainingPlanId = getTestP.PlanId;
|
||||
}
|
||||
return returnItem;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
|
|
@ -21,6 +21,7 @@ namespace BLL
|
|||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
var getDataLists = (from x in db.Training_TestRecord
|
||||
join y in db.SitePerson_Person on x.TestManId equals y.PersonId
|
||||
where x.TestPlanId == testPlanId
|
||||
orderby x.TestStartTime descending
|
||||
select new Model.TestRecordItem
|
||||
|
@ -29,7 +30,7 @@ namespace BLL
|
|||
ProjectId = x.ProjectId,
|
||||
TestPlanId = x.TestPlanId,
|
||||
TestManId = x.TestManId,
|
||||
TestManName = db.SitePerson_Person.FirstOrDefault(p => p.PersonId == x.TestManId).PersonName,
|
||||
TestManName = y.PersonName,
|
||||
TestStartTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestStartTime),
|
||||
TestEndTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestEndTime),
|
||||
TestScores = x.TestScores ?? 0,
|
||||
|
@ -39,6 +40,25 @@ namespace BLL
|
|||
return getDataLists;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据TestPlanId获取考试人员列表
|
||||
/// </summary>
|
||||
/// <param name="testPlanId"></param>
|
||||
/// <returns>考试人员</returns>
|
||||
public static string getTestRecordTestManByTestPlanId(string testPlanId)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
string name = string.Empty;
|
||||
var getManList = db.Training_TestRecord.Where(x => x.TestPlanId == testPlanId).Select(x => x.TestManId).Distinct();
|
||||
if (getManList.Count() > 0)
|
||||
{
|
||||
name = PersonService.getPersonsPersonIds(getManList.ToList());
|
||||
}
|
||||
return name;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 根据试卷ID获取试卷记录详细
|
||||
|
|
|
@ -197,6 +197,30 @@ namespace BLL
|
|||
return personId;
|
||||
}
|
||||
|
||||
#region 根据多用户ID得到用户名称字符串
|
||||
/// <summary>
|
||||
/// 根据多用户ID得到用户名称字符串
|
||||
/// </summary>
|
||||
/// <param name="bigType"></param>
|
||||
/// <returns></returns>
|
||||
public static string getPersonsPersonIds(List<string> personIds)
|
||||
{
|
||||
string personName = string.Empty;
|
||||
foreach (string id in personIds)
|
||||
{
|
||||
var q = GetPersonNameById(id);
|
||||
if (q != null)
|
||||
{
|
||||
personName += q + ",";
|
||||
}
|
||||
}
|
||||
if (!string.IsNullOrEmpty(personName))
|
||||
{
|
||||
personName = personName.Substring(0, personName.Length - 1); ;
|
||||
}
|
||||
return personName;
|
||||
}
|
||||
#endregion
|
||||
/// <summary>
|
||||
/// 根据UserId主键获取人员信息
|
||||
/// </summary>
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
Funs.RealNameApiUrl = ConfigurationManager.AppSettings["RealNameApiUrl"];
|
||||
Funs.ControlApiUrl = ConfigurationManager.AppSettings["ControlApiUrl"];
|
||||
sysUser = UserService.GetUserByUserId(Const.sysglyId);
|
||||
Funs.SystemVersion = ConfigurationManager.AppSettings["SystemVersion"];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
@ -229,7 +229,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
|
|||
{
|
||||
DateTime inToOutTime = Convert.ToDateTime(col4);
|
||||
}
|
||||
catch (Exception)
|
||||
catch (Exception ex)
|
||||
{
|
||||
result += "第" + (i + 2).ToString() + "行," + "时间" + "," + "[" + col4 + "]错误!" + "|";
|
||||
}
|
||||
|
@ -407,26 +407,39 @@ namespace FineUIPro.Web.HSSE.SitePerson
|
|||
{
|
||||
if (string.IsNullOrEmpty(errorInfos))
|
||||
{
|
||||
int a = viewCheckings.Count();
|
||||
for (int i = 0; i < a; i++)
|
||||
foreach (var item in viewCheckings)
|
||||
{
|
||||
Model.SitePerson_Checking newChecking = new Model.SitePerson_Checking
|
||||
{
|
||||
CheckingId = viewCheckings[i].CheckingId,
|
||||
ProjectId = viewCheckings[i].ProjectId,
|
||||
IdentityCard = viewCheckings[i].IdentityCard,
|
||||
IntoOutTime = viewCheckings[i].IntoOutTime,
|
||||
IntoOut = viewCheckings[i].IntoOut,
|
||||
PersonId = viewCheckings[i].PersonId
|
||||
CheckingId = item.CheckingId,
|
||||
ProjectId = item.ProjectId,
|
||||
IdentityCard = item.IdentityCard,
|
||||
IntoOutTime = item.IntoOutTime,
|
||||
IntoOut = item.IntoOut,
|
||||
PersonId = item.PersonId
|
||||
};
|
||||
BLL.SitePerson_CheckingService.AddPersonInfo(newChecking);
|
||||
}
|
||||
//int a = viewCheckings.Count();
|
||||
//for (int i = 0; i < a; i++)
|
||||
//{
|
||||
// Model.SitePerson_Checking newChecking = new Model.SitePerson_Checking
|
||||
// {
|
||||
// CheckingId = viewCheckings[i].CheckingId,
|
||||
// ProjectId = viewCheckings[i].ProjectId,
|
||||
// IdentityCard = viewCheckings[i].IdentityCard,
|
||||
// IntoOutTime = viewCheckings[i].IntoOutTime,
|
||||
// IntoOut = viewCheckings[i].IntoOut,
|
||||
// PersonId = viewCheckings[i].PersonId
|
||||
// };
|
||||
// BLL.SitePerson_CheckingService.AddPersonInfo(newChecking);
|
||||
//}
|
||||
string rootPath = Server.MapPath("~/");
|
||||
string initFullPath = rootPath + initPath;
|
||||
string filePath = initFullPath + this.hdFileName.Text;
|
||||
if (filePath != string.Empty && System.IO.File.Exists(filePath))
|
||||
{
|
||||
System.IO.File.Delete(filePath);//删除上传的XLS文件
|
||||
File.Delete(filePath);//删除上传的XLS文件
|
||||
}
|
||||
ShowNotify("导入成功!", MessageBoxIcon.Success);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
|
||||
<Items>
|
||||
<f:Label runat="server" ID="lbSystemVersion" Hidden="true" Label="系统版本"></f:Label>
|
||||
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnSave" Icon="SystemSave" runat="server"
|
||||
OnClick="btnSave_Click">
|
||||
|
|
|
@ -41,6 +41,8 @@ namespace FineUIPro.Web.Personal
|
|||
if (this.CurrUser.UserId == Const.hfnbdId)
|
||||
{
|
||||
this.btnCustomQuery.Hidden = false;
|
||||
this.lbSystemVersion.Hidden = false;
|
||||
this.lbSystemVersion.Text = Funs.SystemVersion;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -66,6 +66,15 @@ namespace FineUIPro.Web.Personal {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// lbSystemVersion 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label lbSystemVersion;
|
||||
|
||||
/// <summary>
|
||||
/// btnSave 控件。
|
||||
/// </summary>
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Tree>
|
||||
<TreeNode id="64E43C10-ECA5-4C7D-97C9-670E9F05DC01" Text="材料信息" NavigateUrl="CLGL/Material.aspx">
|
||||
</TreeNode>
|
||||
<TreeNode id="414F9650-37F8-4B20-A2BB-EBBD4F620E49" Text="货架信息" NavigateUrl="CLGL/GoodsShelves.aspx"></TreeNode>
|
||||
<TreeNode id="4B52E7FF-AA04-489B-B0EE-DC31C5C4F45B" Text="施工单位信息" NavigateUrl="CLGL/SubUnit.aspx"></TreeNode>
|
||||
<TreeNode id="43A118BC-0A81-42F1-B008-829D40CFE625" Text="供应商信息" NavigateUrl="CLGL/Supplier.aspx"></TreeNode>
|
||||
<TreeNode id="3C87C9C0-1C22-48A0-A767-9537347F6A7D" Text="合同量单" NavigateUrl="CLGL/ContractQuantitySheet.aspx"></TreeNode>
|
||||
<TreeNode id="94041D2D-ADF5-47CD-8628-11837D32354D" Text="请购单" NavigateUrl="CLGL/PurchaseRequisition.aspx"></TreeNode>
|
||||
<TreeNode id="0E23EC47-4C05-4783-91C1-1ACFE270C4D4" Text="领料单" NavigateUrl="CLGL/MaterialRecord.aspx"></TreeNode>
|
||||
</Tree>
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,353 @@
|
|||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using BLL;
|
||||
|
||||
namespace FineUIPro.Web.common
|
||||
{
|
||||
public partial class mainIV : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
string roleCNs = Request.Params["roleCNs"];
|
||||
string roleCNNames = string.Empty;
|
||||
string unitWorkIds = Request.Params["unitWorkIds"];
|
||||
List<string> cns = Funs.GetStrListByStr(roleCNs, ',');
|
||||
List<string> cnNames = new List<string>();
|
||||
foreach (var cn in cns)
|
||||
{
|
||||
var c = BLL.CNProfessionalService.GetCNProfessional(cn);
|
||||
if (c != null && !cnNames.Contains(c.ProfessionalName))
|
||||
{
|
||||
cnNames.Add(c.ProfessionalName);
|
||||
}
|
||||
}
|
||||
List<string> unitWorkIdList = Funs.GetStrListByStr(unitWorkIds, ',');
|
||||
Model.SGGLDB db = Funs.DB;
|
||||
//未遂事故
|
||||
//var wsAccidentList1 = from x in db.Accident_AccidentPersonRecord
|
||||
// join y in db.Base_AccidentType on x.AccidentTypeId equals y.AccidentTypeId
|
||||
// where y.AccidentTypeName.Contains("未遂") && x.ProjectId == this.CurrUser.LoginProjectId
|
||||
// select x;
|
||||
//var wsAccidentList2 = from x in db.Accident_AccidentReportOther
|
||||
// join y in db.Sys_Const on x.AccidentTypeId equals y.ConstValue
|
||||
// where y.ConstText.Contains("未遂") && x.ProjectId == this.CurrUser.LoginProjectId
|
||||
// select x;
|
||||
var licenses = from x in db.License_LicenseManager where x.ProjectId == this.CurrUser.LoginProjectId && cns.Contains(x.CNProfessionalId) select x;
|
||||
List<Model.License_LicenseManager> newlicenses = new List<Model.License_LicenseManager>();
|
||||
foreach (var item in unitWorkIdList)
|
||||
{
|
||||
newlicenses.AddRange(licenses.Where(x => x.WorkAreaId.Contains(item)));
|
||||
}
|
||||
newlicenses = newlicenses.Distinct().ToList();
|
||||
this.divZY.InnerHtml = (newlicenses.Count()).ToString();
|
||||
//隐患整改
|
||||
var getRectify = db.Check_RectifyNotices.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && cns.Contains(x.CNProfessionalId));
|
||||
List<Model.Check_RectifyNotices> newRectifyNotices = new List<Model.Check_RectifyNotices>();
|
||||
foreach (var item in unitWorkIdList)
|
||||
{
|
||||
newRectifyNotices.AddRange(getRectify.Where(x => x.WorkAreaId.Contains(item)));
|
||||
}
|
||||
newRectifyNotices = newRectifyNotices.Distinct().ToList();
|
||||
this.divYH.InnerHtml = newRectifyNotices.Count().ToString();
|
||||
//安全人工时
|
||||
int wHours = db.SitePerson_PersonInOutNumber.Where(x => x.ProjectId == this.CurrUser.LoginProjectId).Max(x => x.WorkHours) ?? 0;
|
||||
this.divRGS.InnerHtml = wHours.ToString();
|
||||
//教育培训
|
||||
var getTrainRecord = from x in db.EduTrain_TrainRecord where x.ProjectId == this.CurrUser.LoginProjectId && cns.Contains(x.CNProfessionalId) select x;
|
||||
List<Model.EduTrain_TrainRecord> newTrainRecords = new List<Model.EduTrain_TrainRecord>();
|
||||
foreach (var item in unitWorkIdList)
|
||||
{
|
||||
newTrainRecords.AddRange(getTrainRecord.Where(x => x.UnitWorkIds.Contains(item)));
|
||||
}
|
||||
newTrainRecords = newTrainRecords.Distinct().ToList();
|
||||
this.divPX.InnerHtml = newTrainRecords.Count().ToString();
|
||||
//质量问题
|
||||
var checkList = from x in db.Check_CheckControl where x.ProjectId == this.CurrUser.LoginProjectId && cns.Contains(x.CNProfessionalCode) && unitWorkIdList.Contains(x.UnitWorkId) select x;
|
||||
this.divZLWT.InnerHtml = checkList.Count().ToString();
|
||||
//质量共检数据
|
||||
var inspectionManagementDetails = (from x in db.ProcessControl_InspectionManagementDetail
|
||||
join y in db.ProcessControl_InspectionManagement on x.InspectionId equals y.InspectionId
|
||||
where y.ProjectId == this.CurrUser.LoginProjectId && cns.Contains(y.CNProfessionalId) && unitWorkIdList.Contains(x.UnitWorkId)
|
||||
select new { x.InspectionId, y.IsOnceQualified }).Distinct().ToList();
|
||||
this.divZLGJ.InnerHtml = inspectionManagementDetails.Count().ToString();
|
||||
//验收数据
|
||||
this.divYS.InnerHtml = inspectionManagementDetails.Count(x => x.IsOnceQualified == true).ToString();
|
||||
//焊工过期人数统计
|
||||
var welders = from x in db.Comprehensive_InspectionPerson
|
||||
join y in db.Base_Post on x.PostId equals y.PostId
|
||||
where x.ProjectId == this.CurrUser.LoginProjectId && y.PostName == "焊工" && x.ValidityDate < DateTime.Now && cns.Contains(x.CNProfessionalId)
|
||||
select x;
|
||||
List<Model.Comprehensive_InspectionPerson> newWelders = new List<Model.Comprehensive_InspectionPerson>();
|
||||
foreach (var item in unitWorkIdList)
|
||||
{
|
||||
newWelders.AddRange(welders.Where(x => x.UnitWorkId.Contains(item)));
|
||||
}
|
||||
newWelders = newWelders.Distinct().ToList();
|
||||
this.divHG.InnerHtml = newWelders.Count().ToString();
|
||||
//竣工资料
|
||||
this.divJGZL.InnerHtml = inspectionManagementDetails.Count(x => x.IsOnceQualified == true).ToString();
|
||||
//NCR
|
||||
var NCRManagements = from x in db.Comprehensive_NCRManagement where x.ProjectId == this.CurrUser.LoginProjectId && cns.Contains(x.CNProfessionalId) select x;
|
||||
List<Model.Comprehensive_NCRManagement> newNCRManagements = new List<Model.Comprehensive_NCRManagement>();
|
||||
foreach (var item in unitWorkIdList)
|
||||
{
|
||||
newNCRManagements.AddRange(NCRManagements.Where(x => x.UnitWorkId.Contains(item)));
|
||||
}
|
||||
newNCRManagements = newNCRManagements.Distinct().ToList();
|
||||
this.divNCR.InnerHtml = newNCRManagements.Count().ToString();
|
||||
//变更单
|
||||
var designChangeOrders = from x in db.Comprehensive_DesignChangeOrder where x.ProjectId == this.CurrUser.LoginProjectId && cns.Contains(x.CNProfessionalId) select x;
|
||||
List<Model.Comprehensive_DesignChangeOrder> newDesignChangeOrders = new List<Model.Comprehensive_DesignChangeOrder>();
|
||||
foreach (var item in unitWorkIdList)
|
||||
{
|
||||
newDesignChangeOrders.AddRange(designChangeOrders.Where(x => x.UnitWorkId.Contains(item)));
|
||||
}
|
||||
newDesignChangeOrders = newDesignChangeOrders.Distinct().ToList();
|
||||
this.divBG.InnerHtml = newDesignChangeOrders.Count().ToString();
|
||||
//签证
|
||||
var siteVisas = from x in db.Comprehensive_SiteVisaManagement where x.ProjectId == this.CurrUser.LoginProjectId && cns.Contains(x.CNProfessionalId) && unitWorkIdList.Contains(x.UnitWorkId) select x;
|
||||
this.divQZ.InnerHtml = siteVisas.Count().ToString();
|
||||
//材料到货情况
|
||||
string contractQuantitySheetsStr = string.Empty;
|
||||
long projectId = BLL.ProjectService.GetCLProjectCodeByProjectId(this.CurrUser.LoginProjectId);
|
||||
var contractQuantitySheets = from x in Funs.DB.CLGL_ContractQuantitySheet where x.ProjectId == projectId.ToString() && cnNames.Contains(x.Major) select x;
|
||||
if (contractQuantitySheets.Count() > 0)
|
||||
{
|
||||
contractQuantitySheetsStr = "<div class='jd-item'><div class='item jd-title'>序号</div><div class='item jd-title'>材料用途</div><div class='item jd-title'>合同号</div><div class='item jd-title'>专业</div><div class='item jd-title'>材料编码</div><div class='item jd-title'>位号</div><div class='item jd-title'>采购量</div><div class='item jd-title'>装置号</div><div class='item jd-title'>主项号</div><div class='item jd-title'>企业中文名称</div><div class='item jd-title'>备注</div></div>";
|
||||
int i = 1;
|
||||
foreach (var item in contractQuantitySheets)
|
||||
{
|
||||
contractQuantitySheetsStr += "<div class='jd-item'><div class='item'>"
|
||||
+ i + "</div><div class='item'>"
|
||||
+ item.MaterialUse + "</div><div class='item'>"
|
||||
+ item.ContractCode + "</div><div class='item'>"
|
||||
+ item.Major + "</div><div class='item'>"
|
||||
+ item.MaterialCode + "</div><div class='item'>"
|
||||
+ item.TagNo + "</div><div class='item'>"
|
||||
+ item.BuyQuantity + "</div><div class='item'>"
|
||||
+ item.DeviceCode + "</div><div class='item'>"
|
||||
+ item.MainItemCode + "</div><div class='item'>"
|
||||
+ item.UnitName + "</div><div class='item'>"
|
||||
+ item.Remark + "</div></div>";
|
||||
i++;
|
||||
}
|
||||
}
|
||||
this.divGZL.InnerHtml = contractQuantitySheetsStr;
|
||||
this.hdContractQuantitySheets.Value = contractQuantitySheetsStr;
|
||||
//材料出库情况
|
||||
string materialRecordsStr = string.Empty;
|
||||
var materialRecords = from x in db.CLGL_PickMaterialRecord where x.ProjectId == projectId.ToString() && cnNames.Contains(x.Major) select x;
|
||||
if (contractQuantitySheets.Count() > 0)
|
||||
{
|
||||
materialRecordsStr = "<div class='jd-item'><div class='item jd-title'>序号</div><div class='item jd-title'>领料单号</div><div class='item jd-title'>领料时间</div><div class='item jd-title'>领料单位</div><div class='item jd-title'>领料截止时间</div><div class='item jd-title'>专业</div><div class='item jd-title'>材料编码</div><div class='item jd-title'>位号</div><div class='item jd-title'>申领量</div><div class='item jd-title'>批准量</div><div class='item jd-title'>实发量</div><div class='item jd-title'>装置号</div><div class='item jd-title'>主项号</div><div class='item jd-title'>发料备注</div></div>";
|
||||
int i = 1;
|
||||
foreach (var item in materialRecords)
|
||||
{
|
||||
materialRecordsStr += "<div class='jd-item'><div class='item'>"
|
||||
+ i + "</div><div class='item'>"
|
||||
+ item.PickCode + "</div><div class='item'>"
|
||||
+ (item.PickDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.PickDate.Value) : "") + "</div><div class='item'>"
|
||||
+ item.PickUnit + "</div><div class='item'>"
|
||||
+ (item.PickLimitDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.PickLimitDate.Value) : "") + "</div><div class='item'>"
|
||||
+ item.Major + "</div><div class='item'>"
|
||||
+ item.MaterialCode + "</div><div class='item'>"
|
||||
+ item.TagNo + "</div><div class='item'>"
|
||||
+ item.ClaimQuantity + "</div><div class='item'>"
|
||||
+ item.ApproveQuantity + "</div><div class='item'>"
|
||||
+ item.ActualQuantity + "</div><div class='item'>"
|
||||
+ item.DeviceCode + "</div><div class='item'>"
|
||||
+ item.MainItemCode + "</div><div class='item'>"
|
||||
+ item.Remark + "</div></div>";
|
||||
i++;
|
||||
}
|
||||
}
|
||||
this.hdMaterialRecords.Value = materialRecordsStr;
|
||||
}
|
||||
}
|
||||
|
||||
#region 赢得值曲线
|
||||
protected string Two
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "赢得值曲线";
|
||||
var views = (from x in Funs.DB.View_JDGL_ProgressCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Months select x).ToList();
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
Model.SingleSerie s3 = new Model.SingleSerie();
|
||||
Model.SingleSerie s4 = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
List<double> listdata2 = new List<double>();
|
||||
List<double> listdata3 = new List<double>();
|
||||
List<double> listdata4 = new List<double>();
|
||||
for (int i = 0; i < views.Count; i++)
|
||||
{
|
||||
listCategories.Add(views[i].MonthStr);
|
||||
listdata.Add(Convert.ToDouble(views[i].PlanNum));
|
||||
listdata2.Add(Convert.ToDouble(views[i].TotalPlanNum));
|
||||
listdata3.Add(Convert.ToDouble(views[i].RealNum));
|
||||
listdata4.Add(Convert.ToDouble(views[i].TotalRealNum));
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
s3.data = listdata3;
|
||||
s4.data = listdata4;
|
||||
series.Add(s);
|
||||
series.Add(s2);
|
||||
series.Add(s3);
|
||||
series.Add(s4);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.series = series;
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 人力情况
|
||||
protected string Person
|
||||
{
|
||||
get
|
||||
{
|
||||
string roleCNs = Request.Params["roleCNs"];
|
||||
string unitWorkIds = Request.Params["unitWorkIds"];
|
||||
Model.SGGLDB db = Funs.DB;
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
var persons = from x in db.SitePerson_Person where x.ProjectId == this.CurrUser.LoginProjectId && x.IsUsed == true select x;
|
||||
persons = persons.Where(x => roleCNs.Split(',').Contains(x.MainCNProfessionalId));
|
||||
List<Model.SitePerson_Person> newPersons = new List<Model.SitePerson_Person>();
|
||||
if (!string.IsNullOrEmpty(unitWorkIds))
|
||||
{
|
||||
string[] unitWorkIdList = unitWorkIds.Split(',');
|
||||
foreach (var item in unitWorkIdList)
|
||||
{
|
||||
newPersons.AddRange(persons.Where(x => x.WorkAreaId.Contains(item)));
|
||||
}
|
||||
}
|
||||
newPersons = newPersons.Distinct().ToList();
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
//木工
|
||||
listCategories.Add("木工");
|
||||
int workPostCount1 = newPersons.Count(x => x.WorkPostId == Const.WorkPost_Carpentry);
|
||||
listdata.Add(workPostCount1);
|
||||
//钢筋工
|
||||
listCategories.Add("钢筋工");
|
||||
int workPostCount2 = newPersons.Count(x => x.WorkPostId == Const.WorkPost_SteelWorker);
|
||||
listdata.Add(workPostCount2);
|
||||
//瓦工
|
||||
listCategories.Add("瓦工");
|
||||
int workPostCount3 = newPersons.Count(x => x.WorkPostId == Const.WorkPost_Bricklayer);
|
||||
listdata.Add(workPostCount3);
|
||||
//混凝土工
|
||||
listCategories.Add("混凝土工");
|
||||
int workPostCount4 = newPersons.Count(x => x.WorkPostId == Const.WorkPost_ConcreteWorker);
|
||||
listdata.Add(workPostCount4);
|
||||
//钳工
|
||||
listCategories.Add("钳工");
|
||||
int workPostCount5 = newPersons.Count(x => x.WorkPostId == Const.WorkPost_Fitter1 || x.WorkPostId == Const.WorkPost_Fitter2);
|
||||
listdata.Add(workPostCount5);
|
||||
//焊工
|
||||
listCategories.Add("焊工");
|
||||
int workPostCount6 = newPersons.Count(x => x.WorkPostId == Const.WorkPost_Welder1 || x.WorkPostId == Const.WorkPost_Welder2 ||
|
||||
x.WorkPostId == Const.WorkPost_Welder3 || x.WorkPostId == Const.WorkPost_Welder4 || x.WorkPostId == Const.WorkPost_Welder5);
|
||||
listdata.Add(workPostCount6);
|
||||
//铆工
|
||||
listCategories.Add("铆工");
|
||||
int workPostCount7 = newPersons.Count(x => x.WorkPostId == Const.WorkPost_Riveter);
|
||||
listdata.Add(workPostCount7);
|
||||
//管工
|
||||
listCategories.Add("管工");
|
||||
int workPostCount8 = newPersons.Count(x => x.WorkPostId == Const.WorkPost_Foreman);
|
||||
listdata.Add(workPostCount8);
|
||||
//电工
|
||||
listCategories.Add("电工");
|
||||
int workPostCount9 = newPersons.Count(x => x.WorkPostId == Const.WorkPost_Electrician1 || x.WorkPostId == Const.WorkPost_Electrician2
|
||||
|| x.WorkPostId == Const.WorkPost_Electrician3);
|
||||
listdata.Add(workPostCount9);
|
||||
//仪表工
|
||||
listCategories.Add("仪表工");
|
||||
int workPostCount10 = newPersons.Count(x => x.WorkPostId == Const.WorkPost_Instrumentalist);
|
||||
listdata.Add(workPostCount10);
|
||||
//防腐保温工
|
||||
listCategories.Add("防腐保温工");
|
||||
int workPostCount11 = newPersons.Count(x => x.WorkPostId == Const.WorkPost_AnticorrosionWorker);
|
||||
listdata.Add(workPostCount11);
|
||||
//防腐保温工
|
||||
listCategories.Add("管理人员");
|
||||
int workPostCount12 = (from x in newPersons
|
||||
join y in db.Base_WorkPost on x.WorkPostId equals y.WorkPostId
|
||||
where y.PostType == Const.PostType_1
|
||||
select x).Count();
|
||||
listdata.Add(workPostCount12);
|
||||
//其他
|
||||
listCategories.Add("其他");
|
||||
int workPostCount13 = newPersons.Count() - workPostCount1 - workPostCount2 - workPostCount3 - workPostCount4 - workPostCount5 - workPostCount6 - workPostCount7
|
||||
- workPostCount8 - workPostCount9 - workPostCount10 - workPostCount11 - workPostCount12;
|
||||
listdata.Add(workPostCount13);
|
||||
s.data = listdata;
|
||||
series.Add(s);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.title = newPersons.Count().ToString();
|
||||
businessColumn.series = series;
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 关键事项
|
||||
protected string swiper_One
|
||||
{
|
||||
get
|
||||
{
|
||||
string roleCNs = Request.Params["roleCNs"];
|
||||
var getGJSX = (from x in Funs.DB.GJSX
|
||||
join y in Funs.DB.Base_QuestionType on x.QuestionTypeID equals y.QuestionTypeID
|
||||
where x.ProjectId == this.CurrUser.LoginProjectId && x.State != "0" && roleCNs.Split(',').Contains(x.CNProfessional_ID)
|
||||
&& x.User_ReceiveID.Contains(this.CurrUser.UserId)
|
||||
orderby x.CreateDate
|
||||
select new { x.GJSXID, x.Detail, x.CreateDate, x.ProjectId, y.QuestionTypeName }).Distinct().Take(20);
|
||||
string strNoticeHtml = string.Empty;
|
||||
var readIds = from x in Funs.DB.Sys_UserRead where x.UserId == this.CurrUser.UserId select x.DataId;
|
||||
foreach (var item in getGJSX)
|
||||
{
|
||||
string url = "../PZHGL/GJSX/GJSXListEdit.aspx?EditType=Edit&Id=" + item.GJSXID;
|
||||
if (item.QuestionTypeName.Contains("紧急"))
|
||||
{
|
||||
strNoticeHtml += "<li data-id=\"" + url + "\" notice-id=\"" + item.GJSXID + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + item.Detail + "\"><div class=\"flex\" ><div class=\"tit-t flex1\" style=\"color:red;\">" + item.Detail + "</div><div class=\"tit-v\">" + string.Format("{0:yyyy-MM-dd}", item.CreateDate) + "</div></div></div></li>";
|
||||
}
|
||||
else if (item.QuestionTypeName.Contains("重要"))
|
||||
{
|
||||
strNoticeHtml += "<li data-id=\"" + url + "\" notice-id=\"" + item.GJSXID + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + item.Detail + "\"><div class=\"flex\" ><div class=\"tit-t flex1\" style=\"color:yellow;\">" + item.Detail + "</div><div class=\"tit-v\">" + string.Format("{0:yyyy-MM-dd}", item.CreateDate) + "</div></div></div></li>";
|
||||
}
|
||||
else
|
||||
{
|
||||
strNoticeHtml += "<li data-id=\"" + url + "\" notice-id=\"" + item.GJSXID + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + item.Detail + "\"><div class=\"flex\" ><div class=\"tit-t flex1\">" + item.Detail + "</div><div class=\"tit-v\">" + string.Format("{0:yyyy-MM-dd}", item.CreateDate) + "</div></div></div></li>";
|
||||
}
|
||||
}
|
||||
return "<ul class=\"content-ul swiper-wrapper\">" + strNoticeHtml + "</ul>";
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
protected void imgBtn_Click(object sender, EventArgs e)
|
||||
{
|
||||
Model.GJSX gjsx = BLL.GJSXService.GetGJSXById(this.hdNoticeId.Value);
|
||||
if (gjsx != null)
|
||||
{
|
||||
BLL.APIUserService.getSaveUserRead(BLL.Const.GJSXMenuId, gjsx.ProjectId, this.CurrUser.UserId, gjsx.GJSXID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,195 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.common {
|
||||
|
||||
|
||||
public partial class mainIV {
|
||||
|
||||
/// <summary>
|
||||
/// hdNoticeId 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.HiddenField hdNoticeId;
|
||||
|
||||
/// <summary>
|
||||
/// imgBtn 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button imgBtn;
|
||||
|
||||
/// <summary>
|
||||
/// swiper2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl swiper2;
|
||||
|
||||
/// <summary>
|
||||
/// divZY 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divZY;
|
||||
|
||||
/// <summary>
|
||||
/// divYH 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divYH;
|
||||
|
||||
/// <summary>
|
||||
/// divRGS 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divRGS;
|
||||
|
||||
/// <summary>
|
||||
/// divQT 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divQT;
|
||||
|
||||
/// <summary>
|
||||
/// divPX 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divPX;
|
||||
|
||||
/// <summary>
|
||||
/// divZLWT 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divZLWT;
|
||||
|
||||
/// <summary>
|
||||
/// divZLGJ 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divZLGJ;
|
||||
|
||||
/// <summary>
|
||||
/// divYS 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divYS;
|
||||
|
||||
/// <summary>
|
||||
/// divHG 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHG;
|
||||
|
||||
/// <summary>
|
||||
/// divJGZL 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divJGZL;
|
||||
|
||||
/// <summary>
|
||||
/// divNCR 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divNCR;
|
||||
|
||||
/// <summary>
|
||||
/// divBG 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divBG;
|
||||
|
||||
/// <summary>
|
||||
/// divQZ 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divQZ;
|
||||
|
||||
/// <summary>
|
||||
/// divMonth 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divMonth;
|
||||
|
||||
/// <summary>
|
||||
/// divGZL 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divGZL;
|
||||
|
||||
/// <summary>
|
||||
/// hdContractQuantitySheets 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlInputHidden hdContractQuantitySheets;
|
||||
|
||||
/// <summary>
|
||||
/// hdMaterialRecords 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlInputHidden hdMaterialRecords;
|
||||
}
|
||||
}
|
|
@ -30,6 +30,26 @@ namespace WebAPI.Controllers
|
|||
}
|
||||
return responeData;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取考生
|
||||
/// </summary>
|
||||
/// <param name="testPlanId"></param>
|
||||
/// <returns></returns>
|
||||
public Model.ResponeData getTestRecordTestManByTestPlanId(string testPlanId)
|
||||
{
|
||||
var responeData = new Model.ResponeData();
|
||||
try
|
||||
{
|
||||
responeData.data = APITestRecordService.getTestRecordTestManByTestPlanId(testPlanId);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = ex.Message;
|
||||
}
|
||||
return responeData;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 根据试卷ID获取试卷记录详细
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<SiteUrlToLaunchAfterPublish />
|
||||
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
|
||||
<ExcludeApp_Data>False</ExcludeApp_Data>
|
||||
<publishUrl>E:\Package\中化五环\SGGLAPI</publishUrl>
|
||||
<publishUrl>F:\Package\中化五环\SGGLAPI</publishUrl>
|
||||
<DeleteExistingFiles>True</DeleteExistingFiles>
|
||||
<PrecompileBeforePublish>True</PrecompileBeforePublish>
|
||||
<EnableUpdateable>True</EnableUpdateable>
|
||||
|
|
Loading…
Reference in New Issue