fix:移成达培训
This commit is contained in:
parent
64ee6e8635
commit
8f471923bf
|
@ -0,0 +1,38 @@
|
|||
alter table dbo.Training_TestPlan add TrainTypeId nvarchar(50);
|
||||
go
|
||||
|
||||
|
||||
alter TABLE [dbo].[Training_CompanyTrainingItem]add
|
||||
[TestTrainingIds] [nvarchar](max) NULL ;
|
||||
|
||||
alter TABLE [dbo].[Training_CompanyTrainingItem]add
|
||||
[LearningTime] [int] NULL ;
|
||||
|
||||
alter TABLE [dbo].[Training_CompanyTrainingItem]add
|
||||
[Durations] [float](53) NULL ;
|
||||
|
||||
alter TABLE [dbo].[Training_TestRecord]add
|
||||
[CompanyTrainingItemId] [nvarchar](50) NULL ;
|
||||
|
||||
update sys_menu set IsUsed=0 where menuid='EF99E038-5A12-4E02-B925-6671F9AE16CA';
|
||||
update sys_menu set IsUsed=0 where menuid='10736CAC-A343-4D73-9D03-E6A3D1909A7B';
|
||||
update sys_menu set IsUsed=0 where menuid='6C314522-AF62-4476-893E-5F42C09C3077';
|
||||
update sys_menu set menuname='Åàѵ¼Ç¼¹ÜÀí' where menuid='1182E353-FAB9-4DB1-A1EC-F41A00892128';
|
||||
insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
values('ACF2CAB1-CE56-4CED-B252-692558F9E36F','Åàѵ¼Ç¼','HSSE/EduTrain/Trainingrecords.aspx',50,'6A0506EB-05CE-4BB3-9BA9-866389F01E1C','Menu_HSSE',0,1,1);
|
||||
go
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -476,73 +476,159 @@ namespace BLL
|
|||
/// <param name="workPostIds">培训岗位ID</param>
|
||||
/// <param name="trainTypeId">培训类型ID</param>
|
||||
/// <returns></returns>
|
||||
public static List<Model.PersonItem> getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId)
|
||||
public static List<Model.PersonItem> getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string departIds, string trainTypeId,string InTime,string strParam)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
DateTime inDateTime=DateTime.Now;
|
||||
if (!string.IsNullOrEmpty(InTime)&&!"null".Equals(InTime))
|
||||
{
|
||||
inDateTime = DateTime.Parse(InTime);
|
||||
}
|
||||
|
||||
List<string> unitIdList = Funs.GetStrListByStr(unitIds, ',');
|
||||
var getPersons = from x in db.View_SitePerson_Person
|
||||
where x.ProjectId == projectId && unitIdList.Contains(x.UnitId) && x.IsUsed == true
|
||||
var getPersons = (from x in db.View_SitePerson_Person
|
||||
where x.ProjectId == projectId && unitIdList.Contains(x.UnitId) && x.IsUsed == true &&(string.IsNullOrEmpty(strParam)||x.PersonName.Contains(strParam)) && (string.IsNullOrEmpty(InTime) || x.InTime < inDateTime)
|
||||
&& x.InTime <= DateTime.Now && (!x.OutTime.HasValue || x.OutTime >= DateTime.Now)
|
||||
select new Model.PersonItem
|
||||
{
|
||||
PersonId = x.PersonId,
|
||||
CardNo = x.CardNo,
|
||||
PersonName = x.PersonName,
|
||||
SexName = x.SexName,
|
||||
IdentityCard = x.IdentityCard,
|
||||
Address = x.Address,
|
||||
ProjectId = x.ProjectId,
|
||||
ProjectCode = x.ProjectCode,
|
||||
ProjectName = x.ProjectName,
|
||||
UnitId = x.UnitId,
|
||||
UnitCode = x.UnitCode,
|
||||
UnitName = x.UnitName,
|
||||
TeamGroupId = x.TeamGroupId,
|
||||
TeamGroupName = x.TeamGroupName,
|
||||
WorkPostId = x.WorkPostId,
|
||||
WorkPostName = x.WorkPostName,
|
||||
InTime = string.Format("{0:yyyy-MM-dd}", x.InTime),
|
||||
OutTime = string.Format("{0:yyyy-MM-dd}", x.OutTime),
|
||||
OutResult = x.OutResult,
|
||||
Telephone = x.Telephone,
|
||||
PhotoUrl = x.PhotoUrl,
|
||||
DepartName = x.DepartName,
|
||||
};
|
||||
{
|
||||
PersonId = x.PersonId,
|
||||
CardNo = x.CardNo,
|
||||
PersonName = x.PersonName,
|
||||
SexName = x.SexName,
|
||||
IdentityCard = x.IdentityCard,
|
||||
Address = x.Address,
|
||||
ProjectId = x.ProjectId,
|
||||
ProjectCode = x.ProjectCode,
|
||||
ProjectName = x.ProjectName,
|
||||
UnitId = x.UnitId,
|
||||
UnitCode = x.UnitCode,
|
||||
UnitName = x.UnitName,
|
||||
TeamGroupId = x.TeamGroupId,
|
||||
TeamGroupName = x.TeamGroupName,
|
||||
WorkPostId = x.WorkPostId,
|
||||
WorkPostName = x.WorkPostName,
|
||||
InTime = string.Format("{0:yyyy-MM-dd}", x.InTime),
|
||||
OutTime = string.Format("{0:yyyy-MM-dd}", x.OutTime),
|
||||
OutResult = x.OutResult,
|
||||
Telephone = x.Telephone,
|
||||
PhotoUrl = x.PhotoUrl,
|
||||
DepartName = x.DepartName,
|
||||
}).ToList();
|
||||
|
||||
|
||||
|
||||
|
||||
if (!string.IsNullOrEmpty(workPostIds))
|
||||
{
|
||||
List<string> workPostIdList = Funs.GetStrListByStr(workPostIds, ',');
|
||||
getPersons = getPersons.Where(x => workPostIdList.Contains(x.WorkPostId));
|
||||
getPersons = getPersons.Where(x => workPostIdList.Contains(x.WorkPostId)).ToList();
|
||||
}
|
||||
if (!string.IsNullOrEmpty(trainTypeId) &&trainTypeId == Const.SpecialSafeTrainId)//专项安全培训
|
||||
{
|
||||
var ids = db.Base_WorkPost.Where(x => x.PostType == "2").Select(x => x.WorkPostId).ToList();
|
||||
getPersons = getPersons.Where(x => ids.Contains(x.WorkPostId)).ToList();
|
||||
}
|
||||
|
||||
List<Model.PersonItem> getTrainPersonList = new List<Model.PersonItem>();
|
||||
var getTrainType = TrainTypeService.GetTrainTypeById(trainTypeId);
|
||||
if (getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat == false))
|
||||
{
|
||||
foreach (var item in getPersons)
|
||||
{
|
||||
var getTrainPersonIdList1 = (from x in db.EduTrain_TrainRecordDetail
|
||||
join y in db.EduTrain_TrainRecord on x.TrainingId equals y.TrainingId
|
||||
where y.ProjectId == projectId && y.TrainTypeId == trainTypeId && x.CheckResult == true && x.PersonId == item.PersonId
|
||||
select x).FirstOrDefault();
|
||||
if (getTrainPersonIdList1 == null)
|
||||
{
|
||||
var getTrainPersonIdList2 = (from x in db.Training_Task
|
||||
join y in db.Training_Plan on x.PlanId equals y.PlanId
|
||||
where y.ProjectId == projectId && y.TrainTypeId == trainTypeId && y.States != "3" && x.UserId == item.PersonId
|
||||
select x).FirstOrDefault();
|
||||
if (getTrainPersonIdList2 == null)
|
||||
{
|
||||
getTrainPersonList.Add(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
return getTrainPersonList;
|
||||
}
|
||||
else
|
||||
{
|
||||
return getPersons.ToList();
|
||||
}
|
||||
if (getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat.Value == false))
|
||||
{
|
||||
int score = 80;
|
||||
var sysTestRule = db.Sys_TestRule.FirstOrDefault();
|
||||
if (sysTestRule != null)
|
||||
{
|
||||
if (sysTestRule.PassingScore > 0)
|
||||
{
|
||||
score = sysTestRule.PassingScore;
|
||||
}
|
||||
}
|
||||
foreach (var item in getPersons)
|
||||
{
|
||||
var getTrainPersonIdList3 = (from x in db.Training_TestRecord
|
||||
join y in db.Training_TestPlan on x.TestPlanId equals y.TestPlanId
|
||||
where y.ProjectId == projectId && y.TrainTypeId == trainTypeId && y.States != "3" && x.TestManId == item.PersonId
|
||||
where x.TestScores > score
|
||||
select x).FirstOrDefault();
|
||||
if (getTrainPersonIdList3 != null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
var getTrainPersonIdList1 = (from x in db.EduTrain_TrainRecordDetail
|
||||
join y in db.EduTrain_TrainRecord on x.TrainingId equals y.TrainingId
|
||||
where y.ProjectId == projectId && y.TrainTypeId == trainTypeId && x.CheckResult == true && x.PersonId == item.PersonId
|
||||
select x).FirstOrDefault();
|
||||
if (getTrainPersonIdList1 == null)
|
||||
{
|
||||
var getTrainPersonIdList2 = (from x in db.Training_Task
|
||||
join y in db.Training_Plan on x.PlanId equals y.PlanId
|
||||
where y.ProjectId == projectId && y.TrainTypeId == trainTypeId && y.States != "3" && x.UserId == item.PersonId
|
||||
|
||||
select x).FirstOrDefault();
|
||||
if (getTrainPersonIdList2 == null)
|
||||
{
|
||||
getTrainPersonList.Add(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
return getTrainPersonList;
|
||||
}
|
||||
else if (getTrainType != null && getTrainType.IsRepeat.HasValue && getTrainType.IsRepeat.Value == true)//重复的 过滤人员
|
||||
{
|
||||
foreach (var item in getPersons)
|
||||
{
|
||||
//int score = 80;
|
||||
//var sysTestRule = db.Sys_TestRule.FirstOrDefault();
|
||||
//if (sysTestRule != null)
|
||||
//{
|
||||
// if (sysTestRule.PassingScore > 0)
|
||||
// {
|
||||
// score = sysTestRule.PassingScore;
|
||||
// }
|
||||
//}
|
||||
//var getTrainPersonIdList2 = (from x in db.Training_TestRecord
|
||||
// join y in db.Training_TestPlan on x.TestPlanId equals y.TestPlanId
|
||||
// where y.ProjectId == projectId && y.TrainTypeId == trainTypeId && y.States != "3" && x.TestManId == item.PersonId
|
||||
// where x.TestScores > score
|
||||
// select x).FirstOrDefault();
|
||||
//if (getTrainPersonIdList2 != null)
|
||||
//{
|
||||
// continue;
|
||||
//}
|
||||
getTrainPersonList.Add(item);
|
||||
}
|
||||
return getTrainPersonList;
|
||||
}
|
||||
//else if (getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat == false))//重复的 过滤人员
|
||||
//{
|
||||
// int score = 80;
|
||||
// var sysTestRule = db.Sys_TestRule.FirstOrDefault();
|
||||
// if (sysTestRule != null)
|
||||
// {
|
||||
// if (sysTestRule.PassingScore > 0)
|
||||
// {
|
||||
// score = sysTestRule.PassingScore;
|
||||
// }
|
||||
// }
|
||||
// foreach (var item in getPersons)
|
||||
// {
|
||||
|
||||
// var getTrainPersonIdList2 = (from x in db.Training_TestRecord
|
||||
// join y in db.Training_TestPlan on x.TestPlanId equals y.TestPlanId
|
||||
// where y.ProjectId == projectId && y.TrainTypeId == trainTypeId && y.States != "3" && x.TestManId == item.PersonId
|
||||
// where x.TestScores > score
|
||||
// select x).FirstOrDefault();
|
||||
// if (getTrainPersonIdList2 != null)
|
||||
// {
|
||||
// continue;
|
||||
// }
|
||||
// getTrainPersonList.Add(item);
|
||||
// }
|
||||
// return getTrainPersonList;
|
||||
//}
|
||||
else
|
||||
{
|
||||
return getPersons.ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
|
|
@ -6233,6 +6233,10 @@ namespace BLL
|
|||
public const string InterFaceSetMenuId = "FFD221D7-AE05-447F-8727-80058A04F401";
|
||||
public const string InterFaceTaskMenuId = "FFD221D7-AE05-447F-8727-80058A04F402";
|
||||
public const string IFLogListMenuId = "FFD221D7-AE05-447F-8727-80058A04F404";
|
||||
/// <summary>
|
||||
/// 专项安全培训 id
|
||||
/// </summary>
|
||||
public static string SpecialSafeTrainId = "0e7fdf78-eaa0-4d00-a60b-490040bbea18";
|
||||
#endregion
|
||||
|
||||
#region 数据同步状态
|
||||
|
|
|
@ -1875,6 +1875,7 @@
|
|||
<Content Include="HSSE\EduTrain\PlanEdit.aspx" />
|
||||
<Content Include="HSSE\EduTrain\TaskNotice.aspx" />
|
||||
<Content Include="HSSE\EduTrain\TaskNoticeEdit.aspx" />
|
||||
<Content Include="HSSE\EduTrain\Trainingrecords.aspx" />
|
||||
<Content Include="HSSE\EduTrain\TrainTestRecordEdit.aspx" />
|
||||
<Content Include="HSSE\EduTrain\CompanyTraining.aspx" />
|
||||
<Content Include="HSSE\EduTrain\CompanyTrainingItemSave.aspx" />
|
||||
|
@ -12733,6 +12734,8 @@
|
|||
<Compile Include="HSSE\EduTrain\TaskNoticeEdit.aspx.designer.cs">
|
||||
<DependentUpon>TaskNoticeEdit.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="HSSE\EduTrain\Trainingrecords.aspx.cs" />
|
||||
<Compile Include="HSSE\EduTrain\Trainingrecords.aspx.designer.cs" />
|
||||
<Compile Include="HSSE\EduTrain\TrainTestRecordEdit.aspx.cs">
|
||||
<DependentUpon>TrainTestRecordEdit.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
@ -19573,7 +19576,7 @@
|
|||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
|
|
|
@ -124,11 +124,11 @@
|
|||
</f:Panel>
|
||||
<f:Window ID="Window1" Title="类别" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="true"
|
||||
Width="600px" Height="400px">
|
||||
Width="700px" Height="600px">
|
||||
</f:Window>
|
||||
<f:Window ID="Window2" Title="详情" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" OnClose="Window2_Close" IsModal="true"
|
||||
Width="600px" Height="400px">
|
||||
Width="700px" Height="600px">
|
||||
</f:Window>
|
||||
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
|
||||
|
|
|
@ -39,6 +39,25 @@
|
|||
</f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:NumberBox ID="txtLearningTime" Label="时长(分钟)" runat="server" DecimalPrecision="0" NoDecimal="true" NoNegative="true" ></f:NumberBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DropDownBox runat="server" ID="ddTestTraining" Label="考试题库" EnableMultiSelect="true" CustomData="true">
|
||||
<PopPanel>
|
||||
<f:Tree ID="treeTestTraining" ShowHeader="false" Hidden="true" runat="server" EnableCheckBox="true" CascadeCheck="true">
|
||||
|
||||
</f:Tree>
|
||||
</PopPanel>
|
||||
<Listeners>
|
||||
<f:Listener Event="poppanelshow" Handler="onPopPanelShow" />
|
||||
</Listeners>
|
||||
</f:DropDownBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
|
||||
|
@ -67,4 +86,46 @@
|
|||
</f:Window>
|
||||
</form>
|
||||
</body>
|
||||
<script>
|
||||
var ddTestTraining = '<%= ddTestTraining.ClientID %>';
|
||||
var treeTestTraining = '<%= treeTestTraining.ClientID %>';
|
||||
|
||||
function onPopPanelShow(event) {
|
||||
var nodes = this.getValue();
|
||||
|
||||
F.noEvent(function () {
|
||||
// 第二个参数true:是否递归调用子节点
|
||||
F(treeTestTraining).checkNodes(nodes, true);
|
||||
|
||||
// 启用树控件的级联选择时,确保把树控件的选中值全部同步到下拉框
|
||||
syncToDropDownBox();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// 将树控件的选中值同步到下拉框
|
||||
function syncToDropDownBox() {
|
||||
var values = [], texts = [];
|
||||
var checkedNodes = F(treeTestTraining).getCheckedNodes(true);
|
||||
$.each(checkedNodes, function (index, node) {
|
||||
debugger;
|
||||
values.push(node.id);
|
||||
texts.push(node.text);
|
||||
});
|
||||
|
||||
F(ddTestTraining).setValue(values, texts);
|
||||
}
|
||||
|
||||
F.ready(function () {
|
||||
|
||||
F(treeTestTraining).on('nodecheck', function (event, nodeId, checked) {
|
||||
// 加个延迟,等待复选框的级联选择完成
|
||||
window.setTimeout(function () {
|
||||
syncToDropDownBox();
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
</html>
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
using System.Linq;
|
||||
using Model;
|
||||
using BLL;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.Office.Interop.Excel;
|
||||
|
||||
namespace FineUIPro.Web.HSSE.EduTrain
|
||||
{
|
||||
|
@ -46,7 +48,7 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
{
|
||||
this.GetButtonPower();
|
||||
btnClose.OnClientClick = ActiveWindow.GetHideReference();
|
||||
|
||||
BoundTree(treeTestTraining.Nodes, "0");
|
||||
this.CompanyTrainingItemId = Request.QueryString["CompanyTrainingItemId"];
|
||||
this.CompanyTrainingId = Request.QueryString["CompanyTrainingId"];
|
||||
if (!string.IsNullOrEmpty(this.CompanyTrainingItemId))
|
||||
|
@ -59,6 +61,25 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
txtCompanyTrainingItemName.Text = q.CompanyTrainingItemName;
|
||||
txtCompileMan.Text = q.CompileMan;
|
||||
hdCompileMan.Text = q.CompileMan;
|
||||
if (!string.IsNullOrEmpty(q.TestTrainingIds))
|
||||
{
|
||||
ddTestTraining.Values = q.TestTrainingIds.Split(',');
|
||||
string text = "";
|
||||
var trains = Funs.DB.Training_TestTraining.ToList();
|
||||
foreach (var ids in ddTestTraining.Values)
|
||||
{
|
||||
var t = trains.FirstOrDefault(x => x.TrainingId == ids);
|
||||
if (t != null)
|
||||
{
|
||||
text += "[" + t.TrainingCode + "]" + t.TrainingName + ",";
|
||||
}
|
||||
}
|
||||
ddTestTraining.Text = text.TrimEnd(new char[] { ',' });
|
||||
}
|
||||
if (q.LearningTime.HasValue)
|
||||
{
|
||||
txtLearningTime.Text = (q.LearningTime.Value/60).ToString();
|
||||
}
|
||||
if (q.CompileDate != null)
|
||||
{
|
||||
txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", q.CompileDate);
|
||||
|
@ -77,10 +98,49 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
private List<Model.Training_TestTraining> GetNewTraining(string parentId)
|
||||
{
|
||||
return (from x in Funs.DB.Training_TestTraining
|
||||
where x.SupTrainingId == parentId
|
||||
orderby x.TrainingCode
|
||||
select x).ToList();
|
||||
}
|
||||
private void BoundTree(TreeNodeCollection nodes, string parentId)
|
||||
{
|
||||
var dt = GetNewTraining(parentId);
|
||||
if (dt.Count() > 0)
|
||||
{
|
||||
TreeNode tn = null;
|
||||
foreach (var dr in dt)
|
||||
{
|
||||
string name = dr.TrainingName;
|
||||
if (!string.IsNullOrEmpty(dr.TrainingCode))
|
||||
{
|
||||
name = "[" + dr.TrainingCode + "]" + dr.TrainingName;
|
||||
}
|
||||
tn = new TreeNode
|
||||
{
|
||||
|
||||
Text = name,
|
||||
NodeID = dr.TrainingId,
|
||||
EnableClickEvent = true,
|
||||
ToolTip = dr.TrainingName
|
||||
};
|
||||
nodes.Add(tn);
|
||||
///是否存在下级节点
|
||||
var sup = Funs.DB.Training_TestTraining.FirstOrDefault(x => x.SupTrainingId == tn.NodeID);
|
||||
if (sup != null)
|
||||
{
|
||||
BoundTree(tn.Nodes, tn.NodeID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#region 保存
|
||||
/// <summary>
|
||||
/// 保存数据
|
||||
|
@ -93,6 +153,14 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
CompanyTrainingItemName = this.txtCompanyTrainingItemName.Text.Trim(),
|
||||
CompileMan = hdCompileMan.Text.Trim()
|
||||
};
|
||||
if (ddTestTraining.Values != null && ddTestTraining.Values.Length > 0)
|
||||
{
|
||||
newCompanyTrainItem.TestTrainingIds = string.Join(",", ddTestTraining.Values);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(txtLearningTime.Text))
|
||||
{
|
||||
newCompanyTrainItem.LearningTime = int.Parse(txtLearningTime.Text)*60;
|
||||
}
|
||||
if (!string.IsNullOrEmpty(txtCompileDate.Text.Trim()))
|
||||
{
|
||||
newCompanyTrainItem.CompileDate = Convert.ToDateTime(txtCompileDate.Text.Trim());
|
||||
|
|
|
@ -7,11 +7,13 @@
|
|||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.HSSE.EduTrain {
|
||||
|
||||
|
||||
public partial class CompanyTrainingItemSave {
|
||||
|
||||
namespace FineUIPro.Web.HSSE.EduTrain
|
||||
{
|
||||
|
||||
|
||||
public partial class CompanyTrainingItemSave
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
|
@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
|
@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
|
@ -38,7 +40,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Form SimpleForm1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtCompanyTrainingItemCode 控件。
|
||||
/// </summary>
|
||||
|
@ -47,7 +49,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtCompanyTrainingItemCode;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtCompanyTrainingItemName 控件。
|
||||
/// </summary>
|
||||
|
@ -56,7 +58,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtCompanyTrainingItemName;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtCompileMan 控件。
|
||||
/// </summary>
|
||||
|
@ -65,7 +67,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtCompileMan;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtCompileDate 控件。
|
||||
/// </summary>
|
||||
|
@ -74,7 +76,34 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtCompileDate;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtLearningTime 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtLearningTime;
|
||||
|
||||
/// <summary>
|
||||
/// ddTestTraining 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownBox ddTestTraining;
|
||||
|
||||
/// <summary>
|
||||
/// treeTestTraining 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tree treeTestTraining;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
|
@ -83,7 +112,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// lbTemp 控件。
|
||||
/// </summary>
|
||||
|
@ -92,7 +121,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label lbTemp;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnAttachUrl 控件。
|
||||
/// </summary>
|
||||
|
@ -101,7 +130,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnAttachUrl;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
|
@ -110,7 +139,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnSave 控件。
|
||||
/// </summary>
|
||||
|
@ -119,7 +148,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSave;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnClose 控件。
|
||||
/// </summary>
|
||||
|
@ -128,7 +157,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnClose;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// hdCompileMan 控件。
|
||||
/// </summary>
|
||||
|
@ -137,7 +166,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.HiddenField hdCompileMan;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// WindowAtt 控件。
|
||||
/// </summary>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>编辑专项检查</title>
|
||||
<link href="~/res/css/common.css" rel="stylesheet" type="text/css" />
|
||||
<link href="~/res/css/common.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<style type="text/css">
|
||||
.labcenter
|
||||
|
@ -33,24 +33,33 @@
|
|||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtPlanCode" runat="server" Label="编号" Required="true" ShowRedStar="true">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="txtPlanName" runat="server" Label="标题" Required="true" ShowRedStar="true">
|
||||
</f:TextBox>
|
||||
<f:DropDownList ID="drpTrainType" runat="server" Label="培训类型" Required="true" ShowRedStar="true" AutoPostBack="true" OnSelectedIndexChanged="drpTrainType_SelectedIndexChanged"
|
||||
EnableEdit="true">
|
||||
</f:DropDownList>
|
||||
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DropDownList ID="drpTrainType" runat="server" Label="培训类型" Required="true" ShowRedStar="true" AutoPostBack="true" OnSelectedIndexChanged="drpTrainType_SelectedIndexChanged"
|
||||
EnableEdit="true">
|
||||
</f:DropDownList>
|
||||
<f:DropDownList ID="drpTrainLevel" runat="server" Label="培训级别" Required="true" ShowRedStar="true"
|
||||
EnableEdit="true">
|
||||
</f:DropDownList>
|
||||
<f:TextBox ID="txtTrainContent" runat="server" Label="培训内容" Required="true" ShowRedStar="true">
|
||||
</f:TextBox>
|
||||
</f:DropDownList>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
|
||||
<f:TextBox ID="txtTrainContent" runat="server" Label="培训内容" Required="true" ShowRedStar="true">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
|
||||
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd HH:mm" Label="培训日期" ShowTime="true" Required="true" ShowRedStar="true" ID="dpTrainStartDate" EnableEdit="false">
|
||||
</f:DatePicker>
|
||||
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd HH:mm" Label="培训日期" ShowTime="true" Required="true" ShowRedStar="true" ID="dpTrainEndDate" EnableEdit="false">
|
||||
|
|
|
@ -64,8 +64,9 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
if (trainingPlan != null)
|
||||
{
|
||||
|
||||
this.txtPlanName.Text = trainingPlan.PlanName;
|
||||
this.txtTrainContent.Text = trainingPlan.TrainContent;
|
||||
this.txtPlanCode.Text = trainingPlan.PlanCode;
|
||||
this.txtPlanName.Text = trainingPlan.PlanName;
|
||||
this.txtTrainContent.Text = trainingPlan.TrainContent;
|
||||
this.txtTeachMan.Text = trainingPlan.TeachMan;
|
||||
if (trainingPlan.TeachHour.HasValue)
|
||||
this.txtTeachHour.Text = trainingPlan.TeachHour.Value.ToString("0.##");
|
||||
|
@ -90,7 +91,7 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
{
|
||||
dpCompanyTraining.SelectedValueArray = planItem;
|
||||
}
|
||||
var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(this.CurrUser.LoginProjectId, trainingPlan.UnitIds, trainingPlan.WorkPostId, trainingPlan.TrainTypeId).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
|
||||
var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(this.CurrUser.LoginProjectId, trainingPlan.UnitIds, trainingPlan.WorkPostId,"", trainingPlan.TrainTypeId,"","").OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
|
||||
dpSysUser.DataTextField = "PersonName";
|
||||
dpSysUser.DataValueField = "PersonId";
|
||||
dpSysUser.DataSource = getDataList;
|
||||
|
@ -102,7 +103,12 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
dpSysUser.SelectedValueArray = userids;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
string code = ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId).ProjectCode + "-";
|
||||
txtPlanCode.Text = BLL.SQLHelper.RunProcNewId("SpGetNewCode5ByProjectId", "dbo.Training_Plan", "PlanCode", this.CurrUser.LoginProjectId, code);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
@ -259,8 +265,9 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
|
||||
Model.Training_Plan trainingPlan = new Model.Training_Plan();
|
||||
trainingPlan.ProjectId = this.CurrUser.LoginProjectId;
|
||||
trainingPlan.PlanName = this.txtPlanName.Text;
|
||||
trainingPlan.TrainContent = this.txtTrainContent.Text;
|
||||
trainingPlan.PlanName = this.txtPlanName.Text;
|
||||
trainingPlan.PlanCode = this.txtPlanCode.Text;
|
||||
trainingPlan.TrainContent = this.txtTrainContent.Text;
|
||||
trainingPlan.TeachMan = this.txtTeachMan.Text;
|
||||
trainingPlan.TeachHour =decimal.Parse( this.txtTeachHour.Text);
|
||||
trainingPlan.TrainStartDate = this.dpTrainStartDate.SelectedDate;
|
||||
|
@ -280,7 +287,10 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
}
|
||||
if (string.IsNullOrEmpty(PlanId))
|
||||
{
|
||||
trainingPlan.PlanCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectTrainingPlanMenuId, CurrUser.LoginProjectId, CurrUser.UnitId);
|
||||
//string code = ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId).ProjectCode + "-";
|
||||
//trainingPlan.PlanCode = BLL.SQLHelper.RunProcNewId("SpGetNewCode5ByProjectId", "dbo.Training_Plan", "PlanCode", this.CurrUser.LoginProjectId, code);
|
||||
|
||||
//trainingPlan.PlanCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectTrainingPlanMenuId, CurrUser.LoginProjectId, CurrUser.UnitId);
|
||||
trainingPlan.PlanId = SQLHelper.GetNewID();
|
||||
TrainingPlanService.AddPlan(trainingPlan);
|
||||
CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(Const.ProjectTrainingPlanMenuId, trainingPlan.ProjectId, null, trainingPlan.PlanId, trainingPlan.DesignerDate);
|
||||
|
@ -431,7 +441,7 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
dpSysUser.Items.Clear();
|
||||
string unitIds=string.Join(",",dpUnit.SelectedValue);
|
||||
string workPostIds = string.Join(",", dpWorkPost.SelectedValue);
|
||||
var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(this.CurrUser.LoginProjectId, unitIds, workPostIds, drpTrainType.SelectedValue).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
|
||||
var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(this.CurrUser.LoginProjectId, unitIds, workPostIds,"", drpTrainType.SelectedValue,"","").OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
|
||||
dpSysUser.DataTextField = "PersonName";
|
||||
dpSysUser.DataValueField = "PersonId";
|
||||
dpSysUser.DataSource = getDataList;
|
||||
|
|
|
@ -41,6 +41,15 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Form SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// txtPlanCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtPlanCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtPlanName 控件。
|
||||
/// </summary>
|
||||
|
|
|
@ -39,11 +39,11 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
/// </summary>
|
||||
private void BindGrid()
|
||||
{
|
||||
string strSql = @"SELECT Task.TaskId,Task.PlanId,Task.UserId,Task.TaskDate,(CASE Task.States WHEN '0' THEN '未响应' WHEN '1' THEN '已响应' WHEN '2' THEN '已完成' ELSE '' END) AS States,Plans.PlanName,Person.PersonName"
|
||||
+ @" FROM dbo.Training_Task AS Task "
|
||||
+ @" LEFT JOIN dbo.Training_Plan AS Plans ON Plans.PlanId=Task.PlanId"
|
||||
+ @" LEFT JOIN dbo.SitePerson_Person AS Person ON Person.PersonId = Task.UserId "
|
||||
+ @" WHERE Task.ProjectId='" + this.CurrUser.LoginProjectId + "'";
|
||||
string strSql = @"SELECT Task.TaskId,Task.PlanId,Task.UserId,Task.TaskDate,(CASE Task.States WHEN '0' THEN '未响应' WHEN '1' THEN '已响应' WHEN '2' THEN '已完成' ELSE '' END) AS States,Plans.PlanName,Person.PersonName
|
||||
FROM dbo.Training_Task AS Task
|
||||
LEFT JOIN dbo.Training_Plan AS Plans ON Plans.PlanId=Task.PlanId
|
||||
LEFT JOIN dbo.SitePerson_Person AS Person ON Person.PersonId = Task.UserId
|
||||
WHERE Task.ProjectId='" + this.CurrUser.LoginProjectId + "'";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
if (!string.IsNullOrEmpty(this.txtName.Text.Trim()))
|
||||
{
|
||||
|
|
|
@ -23,10 +23,10 @@
|
|||
<Columns>
|
||||
<f:RowNumberField ColumnID="rbNumber" HeaderText="序号" Width="50px" HeaderTextAlign="Center"
|
||||
TextAlign="Center" />
|
||||
<f:RenderField Width="120px" ColumnID="TrainingCode" DataField="TrainingCode"
|
||||
<f:RenderField Width="120px" ColumnID="TrainingCode" DataField="TrainingCode" Hidden="true"
|
||||
FieldType="String" HeaderText="类型编号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="120px" ColumnID="TrainingName" DataField="TrainingName"
|
||||
<f:RenderField Width="120px" ColumnID="TrainingName" DataField="TrainingName" Hidden="true"
|
||||
FieldType="String" HeaderText="教材类型" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="TrainingItemCode" DataField="TrainingItemCode"
|
||||
|
@ -38,6 +38,27 @@
|
|||
<%--<f:RenderField Width="350px" ColumnID="Summary" DataField="Summary" FieldType="String"
|
||||
HeaderText="教材内容" HeaderTextAlign="Center" TextAlign="Left" ExpandUnusedSpace="true">
|
||||
</f:RenderField>--%>
|
||||
<%-- <f:RenderField Width="200px" ColumnID="LearnTime" DataField="LearnTime" FieldType="String"
|
||||
HeaderText="教材时长(分钟)" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>--%>
|
||||
<f:TemplateField ColumnID="tfLearnTime" Width="350px" HeaderText="教材时长(分钟)" HeaderTextAlign="Center"
|
||||
TextAlign="left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblLearnTime" runat="server" Text='<%# ConvertTime(Eval("LearnTime")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
|
||||
<f:TemplateField ColumnID="tfVideoProgress" Width="200px" HeaderText="学习时长(分钟)" HeaderTextAlign="Center"
|
||||
TextAlign="left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblVideoProgress" runat="server" Text='<%# ConvertTime(Eval("VideoProgress")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
|
||||
|
||||
<%-- <f:RenderField Width="200px" ColumnID="VideoProgress" DataField="VideoProgress" FieldType="String"
|
||||
HeaderText="学习时长(分钟)" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>--%>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
|
|
|
@ -96,39 +96,16 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
/// </summary>
|
||||
private void BindGrid()
|
||||
{
|
||||
var task = BLL.TrainingTaskService.GetTaskById(this.TaskId);
|
||||
if (task != null)
|
||||
{
|
||||
string strSql = @"SELECT PlanItem.PlanItemId,PlanItem.PlanId,PlanItem.TrainingEduId,Training.TrainingCode,Training.TrainingId,Training.TrainingName
|
||||
,TrainingItem.TrainingItemId,TrainingItem.TrainingItemCode,TrainingItem.TrainingItemName
|
||||
FROM Training_PlanItem AS PlanItem
|
||||
LEFT JOIN Training_TrainingItem AS TrainingItem ON PlanItem.TrainingEduItemId =TrainingItem.TrainingItemId
|
||||
LEFT JOIN Training_Training AS Training ON TrainingItem.TrainingId =Training.TrainingId
|
||||
WHERE PlanItem.TrainingEduItemId is not null and PlanItem.PlanId=@PlanId
|
||||
union all
|
||||
SELECT PlanItem.PlanItemId,PlanItem.PlanId,PlanItem.TrainingEduId,Training.CompanyTrainingCode,Training.CompanyTrainingId,Training.CompanyTrainingName
|
||||
,TrainingItem.CompanyTrainingItemId,TrainingItem.CompanyTrainingItemCode,TrainingItem.CompanyTrainingItemName
|
||||
FROM Training_PlanItem AS PlanItem
|
||||
LEFT JOIN Training_CompanyTrainingItem AS TrainingItem ON PlanItem.CompanyTrainingId =TrainingItem.CompanyTrainingId
|
||||
LEFT JOIN Training_CompanyTraining AS Training ON TrainingItem.CompanyTrainingId =Training.CompanyTrainingId
|
||||
WHERE PlanItem.CompanyTrainingId is not null and PlanItem.PlanId=@PlanId";
|
||||
|
||||
string strSql = @"select TrainingItemId,d.TrainingCode,c.TrainingId,d.TrainingName, b.[TrainingItemCode],b.[TrainingItemName],b.LearnTime,b.VideoProgress,b.[AttachUrl], c.TrainingItemCode,c.TrainingItemName from
|
||||
[dbo].[Training_Task] a
|
||||
left join [dbo].[Training_TaskItem] b on a.[TaskId]=b.[TaskId]
|
||||
left join Training_TrainingItem c on b.TrainingItemCode=c.TrainingItemCode
|
||||
LEFT JOIN Training_Training AS d ON c.TrainingId =d.TrainingId
|
||||
where b.[TaskId] = @TaskId ";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@PlanId", task.PlanId));
|
||||
//var user = BLL.UserService.GetUserByUserId(task.UserId);
|
||||
//if (user != null && !string.IsNullOrEmpty(user.InstallationId))
|
||||
//{
|
||||
// List<string> installs = Funs.GetStrListByStr(user.InstallationId, ',');
|
||||
// if (installs.Count > 0)
|
||||
// {
|
||||
// int i = 0;
|
||||
// foreach (var item in installs)
|
||||
// {
|
||||
// strSql += " AND (TrainingEduItem.InstallationIds LIKE @InstallationId" + i.ToString() + " OR TrainingEduItem.InstallationIds IS NULL)";
|
||||
// listStr.Add(new SqlParameter("@InstallationId" + i.ToString(), item));
|
||||
// i++;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
listStr.Add(new SqlParameter("@TaskId", this.TaskId));
|
||||
|
||||
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
|
@ -136,7 +113,7 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
var table = this.GetPagedDataTable(Grid1, tb);
|
||||
Grid1.DataSource = table;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
@ -174,5 +151,30 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TaskRecordView.aspx?TrainingEduItemId={0}", Grid1.SelectedRowID, "编辑 - ")));
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 格式化字符串
|
||||
/// <summary>
|
||||
/// 获取单位名称
|
||||
/// </summary>
|
||||
/// <param name="unitIds"></param>
|
||||
/// <returns></returns>
|
||||
protected string ConvertTime(object time)
|
||||
{
|
||||
string hours = "0";
|
||||
if (time != null)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(time.ToString()))
|
||||
{
|
||||
return (Convert.ToInt32(time) / 60).ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
return hours;
|
||||
}
|
||||
|
||||
}
|
||||
return hours;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -7,11 +7,13 @@
|
|||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.HSSE.EduTrain {
|
||||
|
||||
|
||||
public partial class TaskView {
|
||||
|
||||
namespace FineUIPro.Web.HSSE.EduTrain
|
||||
{
|
||||
|
||||
|
||||
public partial class TaskView
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
|
@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
|
@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
|
@ -38,7 +40,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Form SimpleForm1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
|
@ -47,7 +49,25 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// lblLearnTime 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblLearnTime;
|
||||
|
||||
/// <summary>
|
||||
/// lblVideoProgress 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblVideoProgress;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator1 控件。
|
||||
/// </summary>
|
||||
|
@ -56,7 +76,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarText1 控件。
|
||||
/// </summary>
|
||||
|
@ -65,7 +85,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarText ToolbarText1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ddlPageSize 控件。
|
||||
/// </summary>
|
||||
|
@ -74,7 +94,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList ddlPageSize;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Window1 控件。
|
||||
/// </summary>
|
||||
|
@ -83,7 +103,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Menu1 控件。
|
||||
/// </summary>
|
||||
|
@ -92,7 +112,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Menu Menu1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnMenuView 控件。
|
||||
/// </summary>
|
||||
|
|
|
@ -29,13 +29,13 @@
|
|||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="考试记录" EnableCollapse="true"
|
||||
runat="server" BoxFlex="1" DataKeyNames="TestRecordId" EnableColumnLines="true" DataIDField="TestRecordId" AllowSorting="true"
|
||||
SortField="TestStartTime" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true" ForceFit="true"
|
||||
IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" Position="Top" runat="server">
|
||||
<Items>
|
||||
<f:TextBox ID="txtName" runat="server" Label="查询" EmptyText="输入查询条件" AutoPostBack="true"
|
||||
OnTextChanged="TextBox_TextChanged" Width="180px" LabelWidth="60px" LabelAlign="Right">
|
||||
<f:TextBox ID="txtName" runat="server" Label="查询" EmptyText="输入姓名、公司名称、考试计划名称或培训名称" AutoPostBack="true"
|
||||
OnTextChanged="TextBox_TextChanged" Width="400px" LabelWidth="60px" LabelAlign="Right">
|
||||
</f:TextBox>
|
||||
<f:NumberBox runat="server" ID="txtMinScores" Label="分值范围" AutoPostBack="true" NoNegative="true"
|
||||
OnTextChanged="TextBox_TextChanged" Width="180px" LabelWidth="80px" LabelAlign="Right">
|
||||
|
@ -55,7 +55,7 @@
|
|||
<f:CheckBox runat="server" Label="时间空" ID="ckIsNULL" AutoPostBack="true"
|
||||
OnCheckedChanged="IsTemp_CheckedChanged" LabelWidth="70px" Width="80px">
|
||||
</f:CheckBox>
|
||||
<f:Label runat="server" Text="红色表示分数低于80分。" CssClass="LabelColor"></f:Label>
|
||||
<f:Label runat="server" ID="lbPassScore" Text="红色表示分数低于80分。" CssClass="LabelColor"></f:Label>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnOut" OnClick="btnMenuOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
|
||||
EnableAjax="false" DisableControlBeforePostBack="false">
|
||||
|
|
|
@ -5,6 +5,7 @@ using System.Collections.Generic;
|
|||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
namespace FineUIPro.Web.HSSE.EduTrain
|
||||
{
|
||||
|
@ -24,7 +25,24 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
|
||||
GetButtonPower();
|
||||
|
||||
var sysTestRule = Funs.DB.Sys_TestRule.FirstOrDefault();
|
||||
if (sysTestRule != null)
|
||||
{
|
||||
if (sysTestRule.PassingScore > 0)
|
||||
{
|
||||
this.lbPassScore.Text = "红色表示分数低于" + sysTestRule.PassingScore.ToString() + "分。";
|
||||
}
|
||||
else
|
||||
{
|
||||
this.lbPassScore.Text = "红色表示分数低于80分。";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.lbPassScore.Text = "红色表示分数低于80分。";
|
||||
|
||||
|
||||
}
|
||||
|
||||
///更新没有结束时间且超时的考试记录
|
||||
GetDataService.UpdateTestPlanStates();
|
||||
|
@ -56,11 +74,11 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
+ @" LEFT JOIN dbo.Training_TestTraining AS Training ON Training.TrainingId = TestRecord.TestType"
|
||||
+ @" LEFT JOIN dbo.SitePerson_Person AS Person ON Person.PersonId = TestRecord.TestManId "
|
||||
+ @" LEFT JOIN dbo.Base_Unit AS Unit ON Person.UnitId=Unit.UnitId"
|
||||
+ @" WHERE (isFiled IS NULL OR isFiled = 0) and TestRecord.ProjectId = '" + this.CurrUser.LoginProjectId+"'";
|
||||
+ @" WHERE TestRecord.TestStartTime is not null and (isFiled IS NULL OR isFiled = 0) and TestRecord.ProjectId = '" + this.CurrUser.LoginProjectId+"'";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
if (!string.IsNullOrEmpty(this.txtName.Text.Trim()))
|
||||
{
|
||||
strSql += " AND (Person.PersonName LIKE @name OR TestPlan.PlanName LIKE @name OR Training.TrainingName LIKE @name)";
|
||||
strSql += " AND (Person.PersonName LIKE @name OR TestPlan.PlanName LIKE @name OR Training.TrainingName LIKE @name OR Unit.UnitName like @name)";
|
||||
listStr.Add(new SqlParameter("@name", "%" + this.txtName.Text.Trim() + "%"));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(this.txtMinScores.Text.Trim()))
|
||||
|
|
|
@ -7,11 +7,13 @@
|
|||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.HSSE.EduTrain {
|
||||
|
||||
|
||||
public partial class TestRecord {
|
||||
|
||||
namespace FineUIPro.Web.HSSE.EduTrain
|
||||
{
|
||||
|
||||
|
||||
public partial class TestRecord
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
|
@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
|
@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
|
@ -38,7 +40,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
|
@ -47,7 +49,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
|
@ -56,7 +58,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtName 控件。
|
||||
/// </summary>
|
||||
|
@ -65,7 +67,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtName;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtMinScores 控件。
|
||||
/// </summary>
|
||||
|
@ -74,7 +76,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtMinScores;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtMaxScores 控件。
|
||||
/// </summary>
|
||||
|
@ -83,7 +85,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtMaxScores;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// IsTemp 控件。
|
||||
/// </summary>
|
||||
|
@ -92,7 +94,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.CheckBox IsTemp;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtStartDate 控件。
|
||||
/// </summary>
|
||||
|
@ -101,7 +103,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtStartDate;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtEndDate 控件。
|
||||
/// </summary>
|
||||
|
@ -110,7 +112,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtEndDate;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ckIsNULL 控件。
|
||||
/// </summary>
|
||||
|
@ -119,7 +121,16 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.CheckBox ckIsNULL;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// lbPassScore 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label lbPassScore;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
|
@ -128,7 +139,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnOut 控件。
|
||||
/// </summary>
|
||||
|
@ -137,7 +148,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// labNumber 控件。
|
||||
/// </summary>
|
||||
|
@ -146,7 +157,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label labNumber;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator1 控件。
|
||||
/// </summary>
|
||||
|
@ -155,7 +166,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarText1 控件。
|
||||
/// </summary>
|
||||
|
@ -164,7 +175,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarText ToolbarText1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ddlPageSize 控件。
|
||||
/// </summary>
|
||||
|
@ -173,7 +184,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList ddlPageSize;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Window1 控件。
|
||||
/// </summary>
|
||||
|
@ -182,7 +193,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Menu1 控件。
|
||||
/// </summary>
|
||||
|
@ -191,7 +202,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Menu Menu1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnMenuView 控件。
|
||||
/// </summary>
|
||||
|
@ -200,7 +211,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.MenuButton btnMenuView;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnPrinter 控件。
|
||||
/// </summary>
|
||||
|
@ -209,7 +220,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.MenuButton btnPrinter;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnMenuDelete 控件。
|
||||
/// </summary>
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
<f:TextBox ID="txtName" runat="server" Label="查询" EmptyText="输入查询条件" AutoPostBack="true"
|
||||
OnTextChanged="TextBox_TextChanged" Width="350px" LabelWidth="80px" LabelAlign="Right">
|
||||
</f:TextBox>
|
||||
|
||||
<f:CheckBox ID="cbNoPass" Text="<70"></f:CheckBox>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
</Items>
|
||||
|
@ -50,8 +52,8 @@
|
|||
<f:RenderField Width="120px" ColumnID="TestCount" DataField="TestCount" SortField="TestCount"
|
||||
HeaderText="参加次数" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="120px" ColumnID="TestQualifyCount" DataField="TestQualifyCount" SortField="TestQualifyCount"
|
||||
HeaderText="60分以上" HeaderTextAlign="Center" TextAlign="Left">
|
||||
<f:RenderField Width="120px" ID="TestQualifyCount" ColumnID="TestQualifyCount" DataField="TestQualifyCount" SortField="TestQualifyCount"
|
||||
HeaderText="70分以上" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
using BLL;
|
||||
using Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
|
||||
namespace FineUIPro.Web.HSSE.EduTrain
|
||||
{
|
||||
|
@ -20,6 +22,13 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
{
|
||||
Funs.DropDownPageSize(this.ddlPageSize);
|
||||
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
|
||||
var sysTestRule = Funs.DB.Sys_TestRule.FirstOrDefault();
|
||||
var passingScore = "60";
|
||||
if (sysTestRule != null)
|
||||
{
|
||||
passingScore = sysTestRule.PassingScore.ToString();
|
||||
}
|
||||
TestQualifyCount.HeaderText = passingScore + "分以上";
|
||||
// 绑定表格
|
||||
this.BindGrid();
|
||||
}
|
||||
|
@ -37,6 +46,12 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
/// </summary>
|
||||
private void BindGrid()
|
||||
{
|
||||
var sysTestRule = Funs.DB.Sys_TestRule.FirstOrDefault();
|
||||
var passingScore = "60";
|
||||
if (sysTestRule != null)
|
||||
{
|
||||
passingScore = sysTestRule.PassingScore.ToString();
|
||||
}
|
||||
string strSql = @"SELECT PersonId,CardNo,PersonName,person.UnitId,Unit.UnitCode,Unit.UnitName,person.DepartId,Depart.DepartCode,Depart.DepartName"
|
||||
+ @",WorkPostName,ISNULL(TestCount,0) AS TestCount,ISNULL(TestQualifyCount,0) AS TestQualifyCount "
|
||||
+ @" FROM SitePerson_Person AS person "
|
||||
|
@ -45,7 +60,7 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
+ @" LEFT JOIN Base_Depart AS Depart ON person.DepartId=Depart.DepartId"
|
||||
+ @" LEFT JOIN (SELECT COUNT(TestRecordId) AS TestCount,TestManId FROM Training_TestRecord GROUP BY TestManId) AS TestCount"
|
||||
+ @" ON person.PersonId=TestCount.TestManId"
|
||||
+ @" LEFT JOIN (SELECT COUNT(TestRecordId) AS TestQualifyCount,TestManId FROM Training_TestRecord WHERE TestScores>= 60 GROUP BY TestManId) AS TestQualifyCount"
|
||||
+ @" LEFT JOIN (SELECT COUNT(TestRecordId) AS TestQualifyCount,TestManId FROM Training_TestRecord WHERE TestScores>= "+ passingScore + " GROUP BY TestManId) AS TestQualifyCount"
|
||||
+ @" ON person.PersonId=TestQualifyCount.TestManId"
|
||||
+ @" WHERE PersonId <> '" + BLL.Const.sysglyId + "' and person.projectid='" + this.CurrUser.LoginProjectId + "'";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
|
@ -54,7 +69,11 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
strSql += " AND (PersonName LIKE @name OR CardNo LIKE @name OR Unit.UnitName LIKE @name OR Depart.DepartName LIKE @name OR WorkPostName LIKE @name)";
|
||||
listStr.Add(new SqlParameter("@name", "%" + this.txtName.Text.Trim() + "%"));
|
||||
}
|
||||
if (cbNoPass.Checked)
|
||||
{
|
||||
strSql += " AND TestScores < "+ passingScore;
|
||||
|
||||
}
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
Grid1.RecordCount = tb.Rows.Count;
|
||||
|
|
|
@ -7,11 +7,13 @@
|
|||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.HSSE.EduTrain {
|
||||
|
||||
|
||||
public partial class TestStatistics {
|
||||
|
||||
namespace FineUIPro.Web.HSSE.EduTrain
|
||||
{
|
||||
|
||||
|
||||
public partial class TestStatistics
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
|
@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
|
@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
|
@ -38,7 +40,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
|
@ -47,7 +49,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
|
@ -56,7 +58,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtName 控件。
|
||||
/// </summary>
|
||||
|
@ -65,7 +67,16 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtName;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// cbNoPass 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.CheckBox cbNoPass;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
|
@ -74,7 +85,16 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// TestQualifyCount 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.RenderField TestQualifyCount;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator1 控件。
|
||||
/// </summary>
|
||||
|
@ -83,7 +103,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarText1 控件。
|
||||
/// </summary>
|
||||
|
@ -92,7 +112,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarText ToolbarText1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ddlPageSize 控件。
|
||||
/// </summary>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TrainRecord.aspx.cs" Inherits="FineUIPro.Web.HSSE.EduTrain.TrainRecord" %>
|
||||
|
||||
<%@ Register Src="~/Controls/UnitProjectTControl.ascx" TagName="UnitProjectTControl" TagPrefix="uc1" %>
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
|
@ -9,113 +10,124 @@
|
|||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
|
||||
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
|
||||
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
|
||||
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="培训记录" EnableCollapse="true"
|
||||
runat="server" BoxFlex="1" DataKeyNames="TrainingId" EnableColumnLines="true" DataIDField="TrainingId" AllowSorting="true"
|
||||
SortField="TrainingCode" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true" ForceFit="true"
|
||||
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick"
|
||||
EnableTextSelection="True" EnableSummary="true" SummaryPosition="Flow">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
|
||||
<Items>
|
||||
<f:DropDownList ID="drpUnitId" runat="server" Label="单位" AutoPostBack="true" OnSelectedIndexChanged="Text_TextChanged"
|
||||
LabelAlign="Right" LabelWidth="50px" Width="260px">
|
||||
</f:DropDownList>
|
||||
<f:DropDownList ID="drpTrainType" runat="server" Label="培训类别" Width="210px" LabelWidth="80px" LabelAlign="Right"
|
||||
AutoPostBack="true" OnSelectedIndexChanged="Text_TextChanged">
|
||||
</f:DropDownList>
|
||||
<f:DropDownList ID="drpTrainLevel" runat="server" Label="培训级别" Width="180px" LabelWidth="80px" LabelAlign="Right"
|
||||
AutoPostBack="true" OnSelectedIndexChanged="Text_TextChanged">
|
||||
</f:DropDownList>
|
||||
<f:DatePicker ID="txtStartDate" runat="server" Label="日期" Width="160px" LabelWidth="60px" LabelAlign="Right"
|
||||
AutoPostBack="true" OnTextChanged="Text_TextChanged">
|
||||
</f:DatePicker>
|
||||
<f:Label ID="lblTo" runat="server" Text="至" Width="20px">
|
||||
</f:Label>
|
||||
<f:DatePicker ID="txtEndDate" runat="server" Width="100px" AutoPostBack="true" OnTextChanged="Text_TextChanged">
|
||||
</f:DatePicker>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:Button ID="btnNew" ToolTip="增加" Icon="Add" runat="server" Hidden="true" OnClick="btnNew_Click">
|
||||
</f:Button>
|
||||
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
|
||||
EnableAjax="false" DisableControlBeforePostBack="false">
|
||||
</f:Button>
|
||||
<f:Button ID="btnRefresh" ToolTip="刷明细" Icon="ArrowRefresh" runat="server" Hidden="true" OnClick="btnRefresh_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<%--<f:RenderField Width="120px" ColumnID="TrainingCode" DataField="TrainingCode" SortField="TrainingCode"
|
||||
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
|
||||
EnableCollapse="true" Width="380" Title="公司-项目" TitleToolTip="公司-项目" ShowBorder="true"
|
||||
ShowHeader="true" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft" Layout="Fit">
|
||||
<Items>
|
||||
<f:ContentPanel ID="ContentPanel1" runat="server" ShowHeader="false" EnableCollapse="true" AutoScroll="true"
|
||||
BodyPadding="0px">
|
||||
<uc1:UnitProjectTControl ID="ucTree" runat="server" Onchange="changeTree" />
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
|
||||
Layout="VBox" ShowHeader="false" BodyPadding="5px" IconFont="PlusCircle" AutoScroll="true">
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="培训记录" EnableCollapse="true"
|
||||
runat="server" BoxFlex="1" DataKeyNames="TrainingId" EnableColumnLines="true" DataIDField="TrainingId" AllowSorting="true"
|
||||
SortField="TrainingCode" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true" ForceFit="true"
|
||||
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick"
|
||||
EnableTextSelection="True" EnableSummary="true" SummaryPosition="Flow">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
|
||||
<Items>
|
||||
<f:TextBox ID="txtName" runat="server" Label="查询" EmptyText="输入查询条件" AutoPostBack="true"
|
||||
OnTextChanged="Text_TextChanged" Width="180px" LabelWidth="60px" LabelAlign="Right">
|
||||
</f:TextBox>
|
||||
|
||||
<f:DropDownList ID="drpUnitId" runat="server" Label="单位" AutoPostBack="true" OnSelectedIndexChanged="Text_TextChanged"
|
||||
LabelAlign="Right" LabelWidth="50px" Width="260px">
|
||||
</f:DropDownList>
|
||||
<f:DropDownList ID="drpTrainType" runat="server" Label="培训类别" Width="210px" LabelWidth="80px" LabelAlign="Right"
|
||||
AutoPostBack="true" OnSelectedIndexChanged="Text_TextChanged">
|
||||
</f:DropDownList>
|
||||
<f:DropDownList ID="drpTrainLevel" runat="server" Label="培训级别" Width="180px" LabelWidth="80px" LabelAlign="Right"
|
||||
AutoPostBack="true" OnSelectedIndexChanged="Text_TextChanged">
|
||||
</f:DropDownList>
|
||||
<f:DatePicker ID="txtStartDate" runat="server" Label="日期" Width="160px" LabelWidth="60px" LabelAlign="Right"
|
||||
AutoPostBack="true" OnTextChanged="Text_TextChanged">
|
||||
</f:DatePicker>
|
||||
<f:Label ID="lblTo" runat="server" Text="至" Width="20px">
|
||||
</f:Label>
|
||||
<f:DatePicker ID="txtEndDate" runat="server" Width="100px" AutoPostBack="true" OnTextChanged="Text_TextChanged">
|
||||
</f:DatePicker>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" runat="server" Hidden="true" OnClick="btnNew_Click" Text="新增">
|
||||
</f:Button>
|
||||
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp" Text="导出"
|
||||
EnableAjax="false" DisableControlBeforePostBack="false">
|
||||
</f:Button>
|
||||
<f:Button ID="btnRefresh" ToolTip="刷明细" Icon="ArrowRefresh" runat="server" Hidden="true" OnClick="btnRefresh_Click" Text="刷新明细">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<%--<f:RenderField Width="120px" ColumnID="TrainingCode" DataField="TrainingCode" SortField="TrainingCode"
|
||||
FieldType="String" HeaderText="培训编号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>--%>
|
||||
<f:TemplateField ColumnID="tfTrainingCode" Width="100px" HeaderText="培训编号" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblTrainingCode" runat="server" Text='<%# Bind("TrainingCode") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="150px" ColumnID="TrainTitle" DataField="TrainTitle" SortField="TrainTitle"
|
||||
FieldType="String" HeaderText="标题" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:TemplateField ColumnID="tfUnitIds" Width="300px" HeaderText="单位名称" HeaderTextAlign="Center"
|
||||
TextAlign="left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblUnitId" runat="server" Text='<%# ConvertUnitName(Eval("UnitIds")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="110px" ColumnID="TrainTypeName" DataField="TrainTypeName" SortField="TrainTypeName"
|
||||
FieldType="String" HeaderText="培训类型" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<%--<f:RenderField Width="120px" ColumnID="TrainLevelName" DataField="TrainLevelName" SortField="TrainLevelName"
|
||||
<f:TemplateField ColumnID="tfTrainingCode" Width="100px" HeaderText="培训编号" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblTrainingCode" runat="server" Text='<%# Bind("TrainingCode") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="150px" ColumnID="TrainTitle" DataField="TrainTitle" SortField="TrainTitle"
|
||||
FieldType="String" HeaderText="标题" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:TemplateField ColumnID="tfUnitIds" Width="300px" HeaderText="单位名称" HeaderTextAlign="Center"
|
||||
TextAlign="left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblUnitId" runat="server" Text='<%# ConvertUnitName(Eval("UnitIds")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="110px" ColumnID="TrainTypeName" DataField="TrainTypeName" SortField="TrainTypeName"
|
||||
FieldType="String" HeaderText="培训类型" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<%--<f:RenderField Width="120px" ColumnID="TrainLevelName" DataField="TrainLevelName" SortField="TrainLevelName"
|
||||
FieldType="String" HeaderText="培训级别" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>--%>
|
||||
<f:RenderField Width="100px" ColumnID="TrainStartDate" DataField="TrainStartDate"
|
||||
SortField="TrainStartDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd"
|
||||
HeaderText="培训日期" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<%-- <f:RenderField Width="65px" ColumnID="TeachHour" DataField="TeachHour" SortField="TeachHour"
|
||||
<f:RenderField Width="100px" ColumnID="TrainStartDate" DataField="TrainStartDate"
|
||||
SortField="TrainStartDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd"
|
||||
HeaderText="培训日期" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<%-- <f:RenderField Width="65px" ColumnID="TeachHour" DataField="TeachHour" SortField="TeachHour"
|
||||
FieldType="Float" HeaderText="学时" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="90px" ColumnID="TeachMan" DataField="TeachMan" SortField="TeachMan"
|
||||
FieldType="String" HeaderText="授课人" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>--%>
|
||||
<f:RenderField Width="80px" ColumnID="TeachMan" DataField="TeachMan"
|
||||
SortField="TeachMan" FieldType="String" HeaderText="授课人" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="TrainPersonNum" DataField="TrainPersonNum"
|
||||
SortField="TrainPersonNum" FieldType="String" HeaderText="人数" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="140px" ColumnID="FlowOperateName" DataField="FlowOperateName"
|
||||
SortField="FlowOperateName" FieldType="String" HeaderText="状态" HeaderTextAlign="Center"
|
||||
TextAlign="Left">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
</Listeners>
|
||||
<PageItems>
|
||||
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
|
||||
</f:ToolbarSeparator>
|
||||
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
|
||||
</f:ToolbarText>
|
||||
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
|
||||
</f:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
<f:RenderField Width="80px" ColumnID="TrainPersonNum" DataField="TrainPersonNum"
|
||||
SortField="TrainPersonNum" FieldType="String" HeaderText="人数" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
</Listeners>
|
||||
<PageItems>
|
||||
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
|
||||
</f:ToolbarSeparator>
|
||||
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
|
||||
</f:ToolbarText>
|
||||
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
|
||||
</f:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Window ID="Window1" Title="编制培训记录" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
|
@ -127,7 +139,7 @@
|
|||
Height="768px">
|
||||
</f:Window>
|
||||
<f:Menu ID="Menu1" runat="server">
|
||||
<f:MenuButton ID="btnMenuView" OnClick="btnMenuView_Click" Icon="Find" EnablePostBack="true"
|
||||
<f:MenuButton ID="btnMenuView" OnClick="btnMenuView_Click" Icon="Find" EnablePostBack="true"
|
||||
runat="server" Text="查看">
|
||||
</f:MenuButton>
|
||||
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"
|
||||
|
|
|
@ -12,6 +12,8 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
{
|
||||
public partial class TrainRecord : PageBase
|
||||
{
|
||||
private static string trainType;
|
||||
|
||||
#region 定义项
|
||||
/// <summary>
|
||||
/// 培训记录主键
|
||||
|
@ -27,6 +29,29 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
ViewState["TrainingId"] = value;
|
||||
}
|
||||
}
|
||||
public string ProjectId
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["ProjectId"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["ProjectId"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string UnitId
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["UnitId"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["UnitId"] = value;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 加载页面
|
||||
|
@ -39,6 +64,15 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
Funs.DropDownPageSize(this.ddlPageSize);
|
||||
this.ProjectId = this.CurrUser.LoginProjectId;
|
||||
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId)
|
||||
{
|
||||
this.ProjectId = Request.Params["projectId"];
|
||||
}
|
||||
|
||||
this.ucTree.UnitId = this.CurrUser.UnitId;
|
||||
this.ucTree.ProjectId = this.ProjectId;
|
||||
Funs.DropDownPageSize(this.ddlPageSize);
|
||||
////权限按钮方法
|
||||
this.GetButtonPower();
|
||||
|
@ -48,6 +82,11 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
BLL.UnitService.InitUnitDropDownList(this.drpUnitId, this.CurrUser.LoginProjectId, true);
|
||||
//培训类型
|
||||
BLL.TrainTypeService.InitTrainTypeDropDownList(this.drpTrainType, true);
|
||||
trainType = Request.Params["trainType"];
|
||||
if (!string.IsNullOrEmpty(trainType))
|
||||
{
|
||||
this.drpTrainType.Items.FindByText(trainType).Selected = true;
|
||||
}
|
||||
//培训级别;
|
||||
BLL.TrainLevelService.InitTrainLevelDropDownList(this.drpTrainLevel, true);
|
||||
|
||||
|
@ -58,21 +97,44 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
{
|
||||
this.btnRefresh.Hidden = false;
|
||||
}
|
||||
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
|
||||
{
|
||||
this.panelLeftRegion.Hidden = true;
|
||||
// this.Grid1.Columns[0].Hidden = true;
|
||||
////权限按钮方法
|
||||
this.GetButtonPower();
|
||||
}
|
||||
}
|
||||
}
|
||||
protected void changeTree(object sender, EventArgs e)
|
||||
{
|
||||
this.ProjectId = this.ucTree.ProjectId;
|
||||
//新增UnitId
|
||||
this.UnitId = this.ucTree.UnitId;
|
||||
//判断 当有projectId的时候单位id为空
|
||||
if (!string.IsNullOrEmpty(this.ProjectId))
|
||||
{
|
||||
this.UnitId = "";
|
||||
}
|
||||
this.BindGrid();
|
||||
this.GetButtonPower();
|
||||
if (string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
|
||||
{
|
||||
btnNew.Hidden = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定数据
|
||||
/// </summary>
|
||||
private void BindGrid()
|
||||
{
|
||||
string projectId = this.CurrUser.LoginProjectId;
|
||||
if (!string.IsNullOrEmpty(Request.Params["projectId"])) ///是否文件柜查看页面传项目值
|
||||
if (string.IsNullOrEmpty(this.ProjectId))
|
||||
{
|
||||
projectId = Request.Params["projectId"];
|
||||
return;
|
||||
}
|
||||
if (!string.IsNullOrEmpty(projectId))
|
||||
if (!string.IsNullOrEmpty(this.ProjectId) || !string.IsNullOrEmpty(this.UnitId)) //项目数据
|
||||
{
|
||||
|
||||
string strSql = "select TrainRecord.TrainingId"
|
||||
+ @",TrainRecord.TrainTitle"
|
||||
+ @",TrainType.TrainTypeName,TrainLevel.TrainLevelName"
|
||||
|
@ -92,8 +154,25 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
+ @" LEFT JOIN Base_TrainLevel AS TrainLevel ON TrainRecord.TrainLevelId=TrainLevel.TrainLevelId "
|
||||
+ @" LEFT JOIN Sys_CodeRecords AS CodeRecords ON TrainRecord.TrainingId=CodeRecords.DataId WHERE 1=1 ";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
strSql += " AND TrainRecord.ProjectId = @ProjectId";
|
||||
listStr.Add(new SqlParameter("@ProjectId", projectId));
|
||||
if (!string.IsNullOrEmpty(txtName.Text))
|
||||
{
|
||||
strSql += " AND TrainRecord.TrainTitle LIKE @TrainTitle";
|
||||
listStr.Add(new SqlParameter("@TrainTitle", "%" + this.txtName.Text + "%"));
|
||||
}
|
||||
|
||||
|
||||
if (!string.IsNullOrEmpty(this.ProjectId))
|
||||
{
|
||||
strSql += " AND TrainRecord.ProjectId = @ProjectId";
|
||||
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(UnitId))
|
||||
{
|
||||
strSql += " AND TrainRecord.UnitId = @UnitId";
|
||||
listStr.Add(new SqlParameter("@UnitId", UnitId));
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(Request.Params["projectId"])) ///是否文件柜查看页面传项目值
|
||||
{
|
||||
strSql += " AND TrainRecord.States = @States"; ///状态为已完成
|
||||
|
@ -119,16 +198,18 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
strSql += " AND TrainRecord.TrainStartDate <= @EndDate ";
|
||||
listStr.Add(new SqlParameter("@EndDate", this.txtEndDate.Text.Trim()));
|
||||
}
|
||||
if (BLL.ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(this.CurrUser.LoginProjectId, this.CurrUser.UnitId))
|
||||
if (BLL.ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(this.ProjectId, this.CurrUser.UnitId))
|
||||
{
|
||||
strSql += " AND TrainRecord.UnitIds LIKE @UnitId1";
|
||||
listStr.Add(new SqlParameter("@UnitId1", "%" + this.CurrUser.UnitId + "%"));
|
||||
}
|
||||
if (this.drpUnitId.SelectedValue != BLL.Const._Null)
|
||||
{
|
||||
strSql += " AND TrainRecord.UnitIds LIKE @UnitId";
|
||||
listStr.Add(new SqlParameter("@UnitId", "%" + this.drpUnitId.SelectedValue.Trim() + "%"));
|
||||
strSql += " AND TrainRecord.UnitIds LIKE @UnitIds";
|
||||
listStr.Add(new SqlParameter("@UnitIds", "%" + this.drpUnitId.SelectedValue.Trim() + "%"));
|
||||
}
|
||||
|
||||
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
Grid1.RecordCount = tb.Rows.Count;
|
||||
|
@ -144,12 +225,101 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
}
|
||||
|
||||
JObject summary = new JObject
|
||||
{
|
||||
{ "TeachMan", "合计:" },
|
||||
{ "TrainPersonNum", totalPersonNum }
|
||||
};
|
||||
{
|
||||
{ "TeachMan", "合计:" },
|
||||
{ "TrainPersonNum", totalPersonNum }
|
||||
};
|
||||
|
||||
Grid1.SummaryData = summary;
|
||||
|
||||
|
||||
}
|
||||
#region 2023-6-27 15:03:28修改废弃代码
|
||||
//else //公司级数据
|
||||
//{
|
||||
|
||||
// string strSql = "select TrainRecord.TrainingId"
|
||||
// + @",TrainRecord.TrainTitle"
|
||||
// + @",TrainType.TrainTypeName,TrainLevel.TrainLevelName"
|
||||
// + @",TrainRecord.TrainStartDate"
|
||||
// + @",TrainRecord.TrainEndDate"
|
||||
// + @",TrainRecord.TeachHour"
|
||||
// + @",TrainRecord.TeachMan"
|
||||
// + @",TrainRecord.TrainPersonNum"
|
||||
// + @",TrainingCode"
|
||||
// // + @",CodeRecords.Code AS TrainingCode"
|
||||
// + @",(CASE WHEN TrainRecord.States = " + BLL.Const.State_0 + " OR TrainRecord.States IS NULL THEN '待['+OperateUser.UserName+']提交' WHEN TrainRecord.States = " + BLL.Const.State_2 + " THEN '审核/审批完成' ELSE '待['+OperateUser.UserName+']办理' END) AS FlowOperateName"
|
||||
// + @",TrainRecord.UnitIds"
|
||||
// + @" from EduTrain_TrainRecord AS TrainRecord "
|
||||
// + @" LEFT JOIN Sys_FlowOperate AS FlowOperate ON TrainRecord.TrainingId=FlowOperate.DataId AND FlowOperate.IsClosed <> 1"
|
||||
// + @" LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId "
|
||||
// + @" LEFT JOIN Base_TrainType AS TrainType ON TrainRecord.TrainTypeId=TrainType.TrainTypeId "
|
||||
// + @" LEFT JOIN Base_TrainLevel AS TrainLevel ON TrainRecord.TrainLevelId=TrainLevel.TrainLevelId "
|
||||
// + @" LEFT JOIN Sys_CodeRecords AS CodeRecords ON TrainRecord.TrainingId=CodeRecords.DataId WHERE 1=1 ";
|
||||
// List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
|
||||
// if (!string.IsNullOrEmpty(ProjectId))
|
||||
// {
|
||||
// strSql += " AND (TrainRecord.ProjectId = '' or TrainRecord.ProjectId is null) ";
|
||||
// //listStr.Add(new SqlParameter("@ProjectId", ProjectId));
|
||||
// }
|
||||
|
||||
|
||||
// if (this.drpTrainType.SelectedValue != BLL.Const._Null)
|
||||
// {
|
||||
// strSql += " AND TrainRecord.TrainTypeId = @TrainType";
|
||||
// listStr.Add(new SqlParameter("@TrainType", this.drpTrainType.SelectedValue));
|
||||
// }
|
||||
// if (this.drpTrainLevel.SelectedValue != BLL.Const._Null)
|
||||
// {
|
||||
// strSql += " AND TrainRecord.TrainLevelId = @TrainLevel";
|
||||
// listStr.Add(new SqlParameter("@TrainLevel", this.drpTrainLevel.SelectedValue));
|
||||
// }
|
||||
// if (!string.IsNullOrEmpty(this.txtStartDate.Text.Trim()))
|
||||
// {
|
||||
// strSql += " AND TrainRecord.TrainStartDate >= @StartDate ";
|
||||
// listStr.Add(new SqlParameter("@StartDate", this.txtStartDate.Text.Trim()));
|
||||
// }
|
||||
// if (!string.IsNullOrEmpty(this.txtEndDate.Text.Trim()))
|
||||
// {
|
||||
// strSql += " AND TrainRecord.TrainStartDate <= @EndDate ";
|
||||
// listStr.Add(new SqlParameter("@EndDate", this.txtEndDate.Text.Trim()));
|
||||
// }
|
||||
// if (BLL.ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(this.CurrUser.LoginProjectId, this.CurrUser.UnitId))
|
||||
// {
|
||||
// strSql += " AND TrainRecord.UnitIds LIKE @UnitId1";
|
||||
// listStr.Add(new SqlParameter("@UnitId1", "%" + this.CurrUser.UnitId + "%"));
|
||||
// }
|
||||
// strSql += " AND TrainRecord.UnitIds LIKE @UnitId";
|
||||
// listStr.Add(new SqlParameter("@UnitId", "%" + this.ucTree.UnitId.Trim() + "%"));
|
||||
|
||||
// SqlParameter[] parameter = listStr.ToArray();
|
||||
// DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
// Grid1.RecordCount = tb.Rows.Count;
|
||||
// //tb = GetFilteredTable(Grid1.FilteredData, tb);
|
||||
// var table = this.GetPagedDataTable(Grid1, tb);
|
||||
|
||||
// Grid1.DataSource = table;
|
||||
// Grid1.DataBind();
|
||||
// int totalPersonNum = 0;
|
||||
// for (int i = 0; i < tb.Rows.Count; i++)
|
||||
// {
|
||||
// totalPersonNum += Funs.GetNewIntOrZero(tb.Rows[i][8].ToString());
|
||||
// }
|
||||
|
||||
// JObject summary = new JObject
|
||||
// {
|
||||
// { "TeachMan", "合计:" },
|
||||
// { "TrainPersonNum", totalPersonNum }
|
||||
// };
|
||||
|
||||
// Grid1.SummaryData = summary;
|
||||
//}
|
||||
#endregion
|
||||
string projectId = this.CurrUser.LoginProjectId;
|
||||
if (!string.IsNullOrEmpty(Request.Params["projectId"])) ///是否文件柜查看页面传项目值
|
||||
{
|
||||
projectId = Request.Params["projectId"];
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
@ -186,7 +356,6 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
/// <param name="e"></param>
|
||||
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.Grid1.PageSize = Funs.GetNewIntOrZero(this.ddlPageSize.SelectedValue);
|
||||
BindGrid();
|
||||
}
|
||||
#endregion
|
||||
|
@ -199,7 +368,7 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
/// <param name="e"></param>
|
||||
protected void btnNew_Click(object sender, EventArgs e)
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TrainRecordEdit.aspx", "编辑 - ")));
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TrainRecordEdit.aspx?trainType={0}", trainType, "编辑 - ")));
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
@ -238,7 +407,7 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
var trainRecord = EduTrain_TrainRecordService.GetTrainingByTrainingId(TrainingId);
|
||||
if (trainRecord != null)
|
||||
{
|
||||
if (this.btnMenuEdit.Hidden || trainRecord.States == BLL.Const.State_2) ////双击事件 编辑权限有:编辑页面,无:查看页面 或者状态是完成时查看页面
|
||||
if (this.btnMenuEdit.Hidden) ////双击事件 编辑权限有:编辑页面,无:查看页面 或者状态是完成时查看页面
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TrainRecordView.aspx?TrainingId={0}", TrainingId, "查看 - ")));
|
||||
}
|
||||
|
@ -288,6 +457,8 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
}
|
||||
}
|
||||
}
|
||||
// Project_HSSEData_HSSEService.StatisticalData(this.CurrUser.LoginProjectId, Project_HSSEData_HSSEService.HSSEDateType.EducationAndTraining);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -335,11 +506,15 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
/// <returns></returns>
|
||||
private void GetButtonPower()
|
||||
{
|
||||
if (string.IsNullOrEmpty(this.ProjectId))
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (Request.Params["value"] == "0")
|
||||
{
|
||||
return;
|
||||
}
|
||||
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectTrainRecordMenuId);
|
||||
var buttonList = BLL.CommonService.GetAllButtonList(this.ProjectId, this.CurrUser.UserId, BLL.Const.ProjectTrainRecordMenuId);
|
||||
if (buttonList.Count() > 0)
|
||||
{
|
||||
if (buttonList.Contains(BLL.Const.BtnAdd))
|
||||
|
@ -506,8 +681,12 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
/// <param name="e"></param>
|
||||
protected void btnRefresh_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(this.ProjectId))
|
||||
{
|
||||
return;
|
||||
}
|
||||
var getTrainRecords = from x in Funs.DB.EduTrain_TrainRecord
|
||||
where x.ProjectId == this.CurrUser.LoginProjectId && x.PlanId != null
|
||||
where x.ProjectId == this.ProjectId && x.PlanId != null
|
||||
select x;
|
||||
if (getTrainRecords.Count() > 0)
|
||||
{
|
||||
|
@ -515,7 +694,7 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
{
|
||||
var getTrainRecordDetail = Funs.DB.EduTrain_TrainRecordDetail.Where(x => x.TrainingId == itemRecord.TrainingId);
|
||||
if (itemRecord.TrainPersonNum > getTrainRecordDetail.Count())
|
||||
{
|
||||
{
|
||||
var getTrainingTasks = from x in Funs.DB.Training_Task
|
||||
where x.PlanId == itemRecord.PlanId
|
||||
select x;
|
||||
|
@ -596,13 +775,13 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
}
|
||||
|
||||
var getTestPlanStates = from x in Funs.DB.Training_TestPlan
|
||||
join y in Funs.DB.Training_Plan on x.PlanId equals y.PlanId
|
||||
where x.States == Const.State_3 && y.States == Const.State_2
|
||||
select x;
|
||||
join y in Funs.DB.Training_Plan on x.PlanId equals y.PlanId
|
||||
where x.States == Const.State_3 && y.States == Const.State_2
|
||||
select x;
|
||||
foreach (var item in getTestPlanStates)
|
||||
{
|
||||
////TODO 讲培训计划 考试记录 写入到培训记录
|
||||
BLL. APITrainRecordService.InsertTrainRecord(item);
|
||||
BLL.APITrainRecordService.InsertTrainRecord(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,11 +7,13 @@
|
|||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.HSSE.EduTrain {
|
||||
|
||||
|
||||
public partial class TrainRecord {
|
||||
|
||||
namespace FineUIPro.Web.HSSE.EduTrain
|
||||
{
|
||||
|
||||
|
||||
public partial class TrainRecord
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
|
@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
|
@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
|
@ -38,7 +40,43 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// panelLeftRegion 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel panelLeftRegion;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel ContentPanel1;
|
||||
|
||||
/// <summary>
|
||||
/// ucTree 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Web.Controls.UnitProjectTControl ucTree;
|
||||
|
||||
/// <summary>
|
||||
/// panelCenterRegion 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel panelCenterRegion;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
|
@ -47,7 +85,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar2 控件。
|
||||
/// </summary>
|
||||
|
@ -56,7 +94,16 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar2;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtName;
|
||||
|
||||
/// <summary>
|
||||
/// drpUnitId 控件。
|
||||
/// </summary>
|
||||
|
@ -65,7 +112,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpUnitId;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// drpTrainType 控件。
|
||||
/// </summary>
|
||||
|
@ -74,7 +121,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpTrainType;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// drpTrainLevel 控件。
|
||||
/// </summary>
|
||||
|
@ -83,7 +130,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpTrainLevel;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtStartDate 控件。
|
||||
/// </summary>
|
||||
|
@ -92,7 +139,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtStartDate;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// lblTo 控件。
|
||||
/// </summary>
|
||||
|
@ -101,7 +148,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label lblTo;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtEndDate 控件。
|
||||
/// </summary>
|
||||
|
@ -110,7 +157,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtEndDate;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
|
@ -119,7 +166,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnNew 控件。
|
||||
/// </summary>
|
||||
|
@ -128,7 +175,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnNew;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnOut 控件。
|
||||
/// </summary>
|
||||
|
@ -137,7 +184,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnRefresh 控件。
|
||||
/// </summary>
|
||||
|
@ -146,7 +193,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnRefresh;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// lblNumber 控件。
|
||||
/// </summary>
|
||||
|
@ -155,7 +202,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblNumber;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// lblTrainingCode 控件。
|
||||
/// </summary>
|
||||
|
@ -164,7 +211,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTrainingCode;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// lblUnitId 控件。
|
||||
/// </summary>
|
||||
|
@ -173,7 +220,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblUnitId;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator1 控件。
|
||||
/// </summary>
|
||||
|
@ -182,7 +229,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarText1 控件。
|
||||
/// </summary>
|
||||
|
@ -191,7 +238,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarText ToolbarText1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ddlPageSize 控件。
|
||||
/// </summary>
|
||||
|
@ -200,7 +247,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList ddlPageSize;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Window1 控件。
|
||||
/// </summary>
|
||||
|
@ -209,7 +256,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Window2 控件。
|
||||
/// </summary>
|
||||
|
@ -218,7 +265,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window2;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Menu1 控件。
|
||||
/// </summary>
|
||||
|
@ -227,7 +274,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Menu Menu1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnMenuView 控件。
|
||||
/// </summary>
|
||||
|
@ -236,7 +283,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.MenuButton btnMenuView;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnMenuEdit 控件。
|
||||
/// </summary>
|
||||
|
@ -245,7 +292,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.MenuButton btnMenuEdit;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnPrint 控件。
|
||||
/// </summary>
|
||||
|
@ -254,7 +301,7 @@ namespace FineUIPro.Web.HSSE.EduTrain {
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.MenuButton btnPrint;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnMenuDelete 控件。
|
||||
/// </summary>
|
||||
|
|
|
@ -189,6 +189,11 @@ namespace FineUIPro.Web.HSSE.EduTrain
|
|||
{
|
||||
//培训类型
|
||||
TrainTypeService.InitTrainTypeDropDownList(this.drpTrainType, true);
|
||||
string trainType = Request.Params["trainType"];
|
||||
if (!string.IsNullOrWhiteSpace(trainType))
|
||||
{
|
||||
this.drpTrainType.Items.FindByText(trainType).Selected = true;
|
||||
}
|
||||
//培训级别
|
||||
TrainLevelService.InitTrainLevelDropDownList(this.drpTrainLevel, true);
|
||||
//培训单位
|
||||
|
|
|
@ -0,0 +1,137 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Trainingrecords.aspx.cs" Inherits="FineUIPro.Web.HSSE.EduTrain.Trainingrecords" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>培训记录</title>
|
||||
<link href="~/res/css/common.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
|
||||
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
|
||||
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="培训记录" EnableCollapse="true"
|
||||
runat="server" BoxFlex="1" DataKeyNames="TaskItemId" EnableColumnLines="true" DataIDField="TaskItemId" AllowSorting="true"
|
||||
AllowPaging="true" ForceFit="true"
|
||||
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
EnableRowDoubleClickEvent="true"
|
||||
EnableTextSelection="True" EnableSummary="true" SummaryPosition="Flow">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
|
||||
<Items>
|
||||
<f:TextBox ID="txtName" runat="server" Label="姓名" LabelAlign="Right" LabelWidth="80px" AutoPostBack="true" OnTextChanged="Text_TextChanged"></f:TextBox>
|
||||
|
||||
<f:DatePicker ID="txtStartDate" runat="server" Label="培训日期" Width="300px" LabelWidth="100px" LabelAlign="Right"
|
||||
AutoPostBack="true" OnTextChanged="Text_TextChanged">
|
||||
</f:DatePicker>
|
||||
<f:Label ID="lblTo" runat="server" Text="至" Width="20px">
|
||||
</f:Label>
|
||||
<f:DatePicker ID="txtEndDate" runat="server" Width="200px" AutoPostBack="true" OnTextChanged="Text_TextChanged">
|
||||
</f:DatePicker>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
|
||||
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
|
||||
EnableAjax="false" DisableControlBeforePostBack="false">
|
||||
</f:Button>
|
||||
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
|
||||
<f:RenderField Width="200px" ColumnID="TrainContent" DataField="TrainContent"
|
||||
FieldType="String" HeaderText="培训内容" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
</f:RenderField>
|
||||
|
||||
<f:RenderField Width="100px" ColumnID="TrainStartDate" DataField="TrainStartDate"
|
||||
SortField="TrainStartDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd"
|
||||
HeaderText="培训时间" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
|
||||
<f:RenderField Width="200px" ColumnID="UnitName" DataField="UnitName"
|
||||
FieldType="String" HeaderText="单位" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
</f:RenderField>
|
||||
|
||||
<f:RenderField Width="100px" ColumnID="PersonName" DataField="PersonName"
|
||||
FieldType="String" HeaderText="姓名" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
</f:RenderField>
|
||||
|
||||
<f:RenderField Width="120px" ColumnID="TrainTypeName" DataField="TrainTypeName"
|
||||
FieldType="String" HeaderText="培训类型" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
</f:RenderField>
|
||||
|
||||
<f:RenderField Width="120px" ColumnID="TrainLevelName" DataField="TrainLevelName"
|
||||
FieldType="String" HeaderText="培训级别" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
</f:RenderField>
|
||||
|
||||
<f:RenderField Width="120px" ColumnID="TrainingItemName" DataField="TrainingItemName"
|
||||
FieldType="String" HeaderText="培训教材" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
</f:RenderField>
|
||||
|
||||
<f:TemplateField ColumnID="tfLearnTime" Width="120px" HeaderText="资源时长(分钟)" HeaderTextAlign="Center"
|
||||
TextAlign="left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblLearnTime" runat="server" Text='<%# ConvertTime(Eval("LearnTime")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
|
||||
<f:TemplateField ColumnID="tfVideoProgress" Width="120px" HeaderText="学习时长(分钟)" HeaderTextAlign="Center"
|
||||
TextAlign="left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblVideoProgress" runat="server" Text='<%# ConvertTime(Eval("VideoProgress")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
|
||||
<f:RenderField Width="80px" ColumnID="TeachHour" DataField="TeachHour"
|
||||
FieldType="String" HeaderText="学时" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
</f:RenderField>
|
||||
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
</Listeners>
|
||||
<PageItems>
|
||||
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
|
||||
</f:ToolbarSeparator>
|
||||
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
|
||||
</f:ToolbarText>
|
||||
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
|
||||
</f:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Menu ID="Menu1" runat="server">
|
||||
|
||||
</f:Menu>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
var menuID = '<%= Menu1.ClientID %>';
|
||||
// 返回false,来阻止浏览器右键菜单
|
||||
function onRowContextMenu(event, rowId) {
|
||||
F(menuID).show(); //showAt(event.pageX, event.pageY);
|
||||
return false;
|
||||
}
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,216 @@
|
|||
using BLL;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using AspNet = System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web.HSSE.EduTrain
|
||||
{
|
||||
public partial class Trainingrecords : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
Funs.DropDownPageSize(this.ddlPageSize);
|
||||
|
||||
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
|
||||
// 绑定表格
|
||||
BindGrid();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定数据
|
||||
/// </summary>
|
||||
private void BindGrid()
|
||||
{
|
||||
string projectId = this.CurrUser.LoginProjectId;
|
||||
if (!string.IsNullOrEmpty(Request.Params["projectId"])) ///是否文件柜查看页面传项目值
|
||||
{
|
||||
projectId = Request.Params["projectId"];
|
||||
}
|
||||
if (!string.IsNullOrEmpty(projectId))
|
||||
{
|
||||
string strSql = @"select tp.TrainContent,tp.TrainStartDate,u.UnitName,bt.TrainTypeName,btl.TrainLevelName,tp.TeachHour,tp.ProjectId,
|
||||
f.*,p.PersonName From Training_TaskItem f
|
||||
left join SitePerson_Person p on f.PersonId = p.PersonId
|
||||
left join Training_Plan tp on f.PlanId = tp.PlanId
|
||||
left join Base_TrainType bt on tp.TrainTypeId = bt.TrainTypeId
|
||||
left join Base_TrainLevel btl on tp.TrainLevelId = btl.TrainLevelId
|
||||
left join Base_Unit u on p.UnitId = u.UnitId WHERE 1=1 ";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
strSql += " AND tp.ProjectId = @ProjectId";
|
||||
listStr.Add(new SqlParameter("@ProjectId", projectId));
|
||||
|
||||
if (!string.IsNullOrEmpty(txtName.Text.Trim()))
|
||||
{
|
||||
strSql += " AND p.PersonName like '%"+ txtName.Text.Trim() + "%'";
|
||||
}
|
||||
if (!string.IsNullOrEmpty(this.txtStartDate.Text.Trim()))
|
||||
{
|
||||
strSql += " AND tp.TrainStartDate >= @StartDate ";
|
||||
listStr.Add(new SqlParameter("@StartDate", this.txtStartDate.Text.Trim()));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(this.txtEndDate.Text.Trim()))
|
||||
{
|
||||
strSql += " AND tp.TrainStartDate <= @EndDate ";
|
||||
listStr.Add(new SqlParameter("@EndDate", this.txtEndDate.Text.Trim()));
|
||||
}
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
Grid1.RecordCount = tb.Rows.Count;
|
||||
//tb = GetFilteredTable(Grid1.FilteredData, tb);
|
||||
var table = this.GetPagedDataTable(Grid1, tb);
|
||||
|
||||
Grid1.DataSource = table;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
#region 查询事件
|
||||
/// <summary>
|
||||
/// 查询事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Text_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.BindGrid();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 页索引改变事件
|
||||
/// <summary>
|
||||
/// 页索引改变事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 排序
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_Sort(object sender, GridSortEventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 分页选择下拉改变事件
|
||||
/// <summary>
|
||||
/// 分页选择下拉改变事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 导出按钮
|
||||
/// 导出按钮
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnOut_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.ClearContent();
|
||||
string filename = Funs.GetNewFileName();
|
||||
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("培训记录" + filename, System.Text.Encoding.UTF8) + ".xls");
|
||||
Response.ContentType = "application/excel";
|
||||
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||||
this.Grid1.PageSize = this.Grid1.Rows.Count();
|
||||
BindGrid();
|
||||
Response.Write(GetGridTableHtml(Grid1));
|
||||
Response.End();
|
||||
}
|
||||
|
||||
#pragma warning disable CS0108 // “TrainRecord.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。
|
||||
/// <summary>
|
||||
/// 导出方法
|
||||
/// </summary>
|
||||
/// <param name="grid"></param>
|
||||
/// <returns></returns>
|
||||
private string GetGridTableHtml(Grid grid)
|
||||
#pragma warning restore CS0108 // “TrainRecord.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
|
||||
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
|
||||
sb.Append("<tr>");
|
||||
foreach (GridColumn column in grid.Columns)
|
||||
{
|
||||
sb.AppendFormat("<td>{0}</td>", column.HeaderText);
|
||||
}
|
||||
sb.Append("</tr>");
|
||||
foreach (GridRow row in grid.Rows)
|
||||
{
|
||||
sb.Append("<tr>");
|
||||
foreach (GridColumn column in grid.Columns)
|
||||
{
|
||||
string html = row.Values[column.ColumnIndex].ToString();
|
||||
if (column.ColumnID == "tfNumber")
|
||||
{
|
||||
html = (row.FindControl("lblNumber") as AspNet.Label).Text;
|
||||
}
|
||||
if (column.ColumnID == "tfLearnTime")
|
||||
{
|
||||
html = (row.FindControl("lblLearnTime") as AspNet.Label).Text;
|
||||
}
|
||||
if (column.ColumnID == "tfVideoProgress")
|
||||
{
|
||||
html = (row.FindControl("lblVideoProgress") as AspNet.Label).Text;
|
||||
}
|
||||
|
||||
//sb.AppendFormat("<td>{0}</td>", html);
|
||||
sb.AppendFormat("<td style='vnd.ms-excel.numberformat:@;width:140px;'>{0}</td>", html);
|
||||
}
|
||||
|
||||
sb.Append("</tr>");
|
||||
}
|
||||
|
||||
sb.Append("</table>");
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 格式化字符串
|
||||
/// <summary>
|
||||
/// 获取单位名称
|
||||
/// </summary>
|
||||
/// <param name="unitIds"></param>
|
||||
/// <returns></returns>
|
||||
protected string ConvertTime(object time)
|
||||
{
|
||||
string hours = "0";
|
||||
if (time != null)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(time.ToString()))
|
||||
{
|
||||
return (Convert.ToInt32(time) / 60).ToString();
|
||||
}
|
||||
else {
|
||||
return hours;
|
||||
}
|
||||
|
||||
}
|
||||
return hours;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,179 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.HSSE.EduTrain
|
||||
{
|
||||
|
||||
|
||||
public partial class Trainingrecords
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar2;
|
||||
|
||||
/// <summary>
|
||||
/// txtName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtName;
|
||||
|
||||
/// <summary>
|
||||
/// txtStartDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtStartDate;
|
||||
|
||||
/// <summary>
|
||||
/// lblTo 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label lblTo;
|
||||
|
||||
/// <summary>
|
||||
/// txtEndDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtEndDate;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
/// <summary>
|
||||
/// btnOut 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
/// <summary>
|
||||
/// lblNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblNumber;
|
||||
|
||||
/// <summary>
|
||||
/// lblLearnTime 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblLearnTime;
|
||||
|
||||
/// <summary>
|
||||
/// lblVideoProgress 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblVideoProgress;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarText1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarText ToolbarText1;
|
||||
|
||||
/// <summary>
|
||||
/// ddlPageSize 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList ddlPageSize;
|
||||
|
||||
/// <summary>
|
||||
/// Menu1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Menu Menu1;
|
||||
}
|
||||
}
|
|
@ -398995,6 +398995,12 @@ namespace Model
|
|||
|
||||
private string _WorkPostIds;
|
||||
|
||||
private string _TestTrainingIds;
|
||||
|
||||
private System.Nullable<int> _LearningTime;
|
||||
|
||||
private System.Nullable<double> _Durations;
|
||||
|
||||
private EntitySet<Person_TrainingTask> _Person_TrainingTask;
|
||||
|
||||
private EntityRef<Training_CompanyTraining> _Training_CompanyTraining;
|
||||
|
@ -399019,6 +399025,12 @@ namespace Model
|
|||
partial void OnCompileDateChanged();
|
||||
partial void OnWorkPostIdsChanging(string value);
|
||||
partial void OnWorkPostIdsChanged();
|
||||
partial void OnTestTrainingIdsChanging(string value);
|
||||
partial void OnTestTrainingIdsChanged();
|
||||
partial void OnLearningTimeChanging(System.Nullable<int> value);
|
||||
partial void OnLearningTimeChanged();
|
||||
partial void OnDurationsChanging(System.Nullable<double> value);
|
||||
partial void OnDurationsChanged();
|
||||
#endregion
|
||||
|
||||
public Training_CompanyTrainingItem()
|
||||
|
@ -399192,6 +399204,66 @@ namespace Model
|
|||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TestTrainingIds", DbType="NVarChar(MAX)", UpdateCheck=UpdateCheck.Never)]
|
||||
public string TestTrainingIds
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._TestTrainingIds;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._TestTrainingIds != value))
|
||||
{
|
||||
this.OnTestTrainingIdsChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._TestTrainingIds = value;
|
||||
this.SendPropertyChanged("TestTrainingIds");
|
||||
this.OnTestTrainingIdsChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LearningTime", DbType="Int")]
|
||||
public System.Nullable<int> LearningTime
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._LearningTime;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._LearningTime != value))
|
||||
{
|
||||
this.OnLearningTimeChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._LearningTime = value;
|
||||
this.SendPropertyChanged("LearningTime");
|
||||
this.OnLearningTimeChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Durations", DbType="Float")]
|
||||
public System.Nullable<double> Durations
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Durations;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._Durations != value))
|
||||
{
|
||||
this.OnDurationsChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._Durations = value;
|
||||
this.SendPropertyChanged("Durations");
|
||||
this.OnDurationsChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Person_TrainingTask_Training_CompanyTrainingItem", Storage="_Person_TrainingTask", ThisKey="CompanyTrainingItemId", OtherKey="CompanyTrainingItemId", DeleteRule="NO ACTION")]
|
||||
public EntitySet<Person_TrainingTask> Person_TrainingTask
|
||||
{
|
||||
|
@ -401894,6 +401966,8 @@ namespace Model
|
|||
|
||||
private int _JValue;
|
||||
|
||||
private string _TrainTypeId;
|
||||
|
||||
private EntityRef<Base_Project> _Base_Project;
|
||||
|
||||
private EntityRef<Sys_User> _Sys_User;
|
||||
|
@ -401956,6 +402030,8 @@ namespace Model
|
|||
partial void OnMValueChanged();
|
||||
partial void OnJValueChanging(int value);
|
||||
partial void OnJValueChanged();
|
||||
partial void OnTrainTypeIdChanging(string value);
|
||||
partial void OnTrainTypeIdChanged();
|
||||
#endregion
|
||||
|
||||
public Training_TestPlan()
|
||||
|
@ -402460,6 +402536,26 @@ namespace Model
|
|||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrainTypeId", DbType="NVarChar(50)")]
|
||||
public string TrainTypeId
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._TrainTypeId;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._TrainTypeId != value))
|
||||
{
|
||||
this.OnTrainTypeIdChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._TrainTypeId = value;
|
||||
this.SendPropertyChanged("TrainTypeId");
|
||||
this.OnTrainTypeIdChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Training_TestPlan_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)]
|
||||
public Base_Project Base_Project
|
||||
{
|
||||
|
@ -402925,6 +403021,8 @@ namespace Model
|
|||
|
||||
private int _Duration;
|
||||
|
||||
private string _CompanyTrainingItemId;
|
||||
|
||||
private EntityRef<Base_Project> _Base_Project;
|
||||
|
||||
private EntityRef<SitePerson_Person> _SitePerson_Person;
|
||||
|
@ -402959,6 +403057,8 @@ namespace Model
|
|||
partial void OnIsFiledChanged();
|
||||
partial void OnDurationChanging(int value);
|
||||
partial void OnDurationChanged();
|
||||
partial void OnCompanyTrainingItemIdChanging(string value);
|
||||
partial void OnCompanyTrainingItemIdChanged();
|
||||
#endregion
|
||||
|
||||
public Training_TestRecord()
|
||||
|
@ -403202,6 +403302,26 @@ namespace Model
|
|||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompanyTrainingItemId", DbType="NVarChar(50)")]
|
||||
public string CompanyTrainingItemId
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._CompanyTrainingItemId;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._CompanyTrainingItemId != value))
|
||||
{
|
||||
this.OnCompanyTrainingItemIdChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._CompanyTrainingItemId = value;
|
||||
this.SendPropertyChanged("CompanyTrainingItemId");
|
||||
this.OnCompanyTrainingItemIdChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Training_TestRecord_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)]
|
||||
public Base_Project Base_Project
|
||||
{
|
||||
|
|
|
@ -353,12 +353,12 @@ namespace WebAPI.Controllers
|
|||
/// <param name="trainTypeId">培训类型ID(可为空)</param>
|
||||
/// <param name="pageIndex">分页</param>
|
||||
/// <returns></returns>
|
||||
public Model.ResponeData getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, int pageIndex)
|
||||
public Model.ResponeData getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds,string departIds, string trainTypeId, int pageIndex,string strParam,string InTime)
|
||||
{
|
||||
var responeData = new Model.ResponeData();
|
||||
try
|
||||
{
|
||||
var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(projectId, unitIds, workPostIds, trainTypeId).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
|
||||
var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(projectId, unitIds, workPostIds, departIds, trainTypeId, InTime, strParam).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
|
||||
int pageCount = getDataList.Count;
|
||||
if (pageCount > 0 && pageIndex > 0)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue