培训计划

This commit is contained in:
wyw 2025-11-07 11:03:11 +08:00
parent 1c2637dc3a
commit 282f5453a6
27 changed files with 264203 additions and 133732 deletions

View File

@ -247,6 +247,12 @@ namespace APT.BaseData.Domain.Enums
[Description("默认限制时间")]
Default = 0,
/// <summary>
/// 默认限制时间 2
/// </summary>
[Description("默认限制时间")]
DefaultLong = 2,
#region BS 0 -49
/// <summary>

View File

@ -1197,7 +1197,10 @@ namespace APT.BaseData.Services.Services.FM
T_FM_NOTIFICATION_TASK notice = new T_FM_NOTIFICATION_TASK();
notice.CODE = CODE + index;
notice.NOTICE_TITLE = Name;
if (DataIds != null)
{
notice.SOURCE_DATA_ID = DataIds[index];
}
notice.ORG_ID = OrgId;
notice.ID = Guid.NewGuid();
notice.TASK_STARTDT = startTime;
@ -1465,6 +1468,11 @@ namespace APT.BaseData.Services.Services.FM
//如果没有配置 默认当天
dtResult = dtNow.Value.Date.AddDays(1).AddMilliseconds(-1);//
}
if (taskSet == null && TASK_TYPE == FMTASKTYPE.DefaultLong)
{
//如果没有配置 默认当月
dtResult = Convert.ToDateTime(dtNow.Value.Date.ToString("yyyy-MM-01 00:00:00")).AddMonths(1).AddMilliseconds(-1);
}
else
{
//获取默认值

View File

@ -23,6 +23,7 @@ using APT.MS.Domain.Entities.SC.PE;
using APT.MS.Domain.Entities.SC.PR;
using APT.MS.Domain.Entities.SC.PT;
using APT.MS.Domain.Entities.SC.SC;
using APT.MS.Domain.Entities.SE;
using APT.MS.Domain.Entities.SK;
using APT.MS.Domain.Entities.TL;
using APT.MS.Domain.Entities.WB;
@ -7528,6 +7529,9 @@ namespace APT.BaseData.Services.DomainServices
case "WB/WBRegister/UserAgreeNew":
result = RegisterAgreeNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast, isApprovel);
break;
case "SE/SETrainPlan/PlanAuditNew":
result = SE071PlanAuditNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast, isApprovel);
break;
default:
//SysLogService.AddLog(APT.Infrastructure.Api.AppContext.CurrentSession.OrgId.Value, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, PFSysLogTypeEnum.CommonApproveCallBack, "PF119", "审批流回调方法未完善", "PFApproveCallBackService=>CallBack " + CALLBACK_INTERFACE, DATA_ID);
break;
@ -15260,5 +15264,126 @@ namespace APT.BaseData.Services.DomainServices
}
#endregion
#region SE
/// <summary>
/// 培训记录申请
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public bool SE071PlanAuditNew(T_PF_APPROVE entityInt, T_PF_APPROVE modelApp, List<T_PF_APPROVE_DETAIL> listAppDetail, T_FM_NOTIFICATION_TASK taskFinish, List<T_FM_NOTIFICATION_TASK> listTaskNext, bool isLast = false, bool isApprovel = true)
{
#region
if (modelApp == null && isApprovel)
{
string taskCodeCheck = String.Empty;
bool result = GetApproject2(entityInt, ref modelApp, ref listAppDetail, ref taskFinish, ref taskCodeCheck, ref isLast, ref listTaskNext);
if (!result)
{
throw new Exception("审批失败!");
}
}
#endregion
if (!isLast && isApprovel)
{
this.UnifiedCommit(() =>
{
if (modelApp != null)
UpdateEntityNoCommit(modelApp); //保存主表
if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库
BantchSaveEntityNoCommit(listAppDetail);
if (taskFinish != null)
UpdateEntityNoCommit(taskFinish);
if (listTaskNext != null && listTaskNext.Count > 0)//下个审批节点
BantchSaveEntityNoCommit(listTaskNext);
});
}
else
{
var modelPlan = GetEntity<T_SE_TRAIN_PLAN>(t => t.ID == modelApp.DATA_ID);
modelPlan.STATUS = PFStandardStatus.Archived;
IEnumerable<T_SE_TRAIN_PLAN_DETAIL> listDetail = GetEntities<T_SE_TRAIN_PLAN_DETAIL>(e => e.PLAN_ID == modelPlan.ID);
listDetail.ForEach(e => e.STATUS = PFStandardStatus.Sign);
List<T_FM_NOTIFICATION_TASK> listTaskNotice = null;//部门今日提醒
if (modelPlan.TYPE == PlanType.Company)
{
//今日 提醒 涉及到的生产组织 制定 部门 年度培训计划
var depIDs = listDetail.Where(e => e.DEPARTMENT_ID.HasValue).Select(e => e.DEPARTMENT_ID.Value).Distinct().ToList();
if (depIDs != null && depIDs.Count() > 0)
{
var listDep = GetEntities<T_FM_DEPARTMENT>(e => depIDs.Contains(e.ID) && e.DEPARTMENT_STATUS == 1 && e.ENABLE_STATUS == 0, "Nav_User");
Dictionary<Guid, T_FM_USER> dicUser = new Dictionary<Guid, T_FM_USER>();
List<Guid> UserId = null;
List<string> userName = null;
var listRoles = GetEntities<T_PF_APPROVAL_ROLE>(e => e.NAME == "部门安全员" && !e.ISHEAD && !e.IS_DELETED);
if (listRoles != null && listRoles.Any())
{
var RoleIDS = listRoles.Select(e => e.ID);
var userS = GetEntities<T_FM_USER>(e => e.ENABLE_STATUS == 0 && e.APPROVE_ROLE_ID.HasValue && e.DEPARTMENT_ID.HasValue && RoleIDS.Contains(e.APPROVE_ROLE_ID.Value));
foreach (var item in userS)
{
if (dicUser.ContainsKey(item.DEPARTMENT_ID.Value))
continue;
dicUser.Add(item.DEPARTMENT_ID.Value, item);
}
}
foreach (var item in listDep)
{
if (!dicUser.ContainsKey(item.ID) && item.USER_ID.HasValue)
{
dicUser.Add(item.ID, item.Nav_User);
}
}
if (dicUser.Count > 0)
{
UserId = new List<Guid>();
userName = new List<string>();
foreach (var item in dicUser)
{
UserId.Add(item.Value.ID);
userName.Add(item.Value.NAME);
}
}
listTaskNotice = NotificationTaskService.InsertUserNoticeTaskModels("请根据公司及年度培训计划,按需制定部门级年度培训计划", null, modelPlan.ORG_ID, UserId, userName, DateTime.Now, 2, "", FMTASKTYPE.Default);
}
}
else
{
//部门 直接结束 没用特殊 操作
}
UnifiedCommit(() =>
{
//表单逻辑信息
if (modelPlan != null)
UpdateEntityNoCommit(modelPlan);
if (listDetail != null && listDetail.Count() > 0)//下个审批节点
BantchSaveEntityNoCommit(listDetail);
if (listTaskNotice != null && listTaskNotice.Count > 0)//下个审批节点
BantchSaveEntityNoCommit(listTaskNotice);
//审批
if (modelApp != null)
UpdateEntityNoCommit(modelApp); //保存主表
if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库
BantchSaveEntityNoCommit(listAppDetail);
if (taskFinish != null)
UpdateEntityNoCommit(taskFinish);
if (listTaskNext != null && listTaskNext.Count > 0)//下个审批节点
BantchSaveEntityNoCommit(listTaskNext);
});
}
return true;
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,289 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace APT.Data.Migrations.Migrations
{
public partial class wyw2025110401 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "T_SE_TRAIN_PLAN",
columns: table => new
{
ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
PLAN_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
TYPE = table.Column<int>(type: "int", nullable: false),
YEAR = table.Column<int>(type: "int", nullable: false),
LAUNCH_TIME = table.Column<DateTime>(type: "datetime2", nullable: false),
END_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
DEPARTMENT_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
LAUNCH_USER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
PLAN_NAME = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true),
GUIDE_PRINCIPLE = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
TRAIN_REQUIREMENT = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
PERSENT = table.Column<decimal>(type: "decimal(18,2)", nullable: true),
STATUS = table.Column<int>(type: "int", nullable: false),
IS_DELETED = table.Column<bool>(type: "bit", nullable: false),
ORG_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ENTITY_ORG_TPYE = table.Column<int>(type: "int", nullable: false),
FORM_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
FLOW_STATUS = table.Column<int>(type: "int", nullable: false),
FLOW_SEND_STATUS = table.Column<int>(type: "int", nullable: false),
FLOW_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
CREATE_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
MODIFY_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
CREATER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
MODIFIER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_T_SE_TRAIN_PLAN", x => x.ID);
table.ForeignKey(
name: "FK_T_SE_TRAIN_PLAN_T_FM_DEPARTMENT_DEPARTMENT_ID",
column: x => x.DEPARTMENT_ID,
principalTable: "T_FM_DEPARTMENT",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_T_SE_TRAIN_PLAN_T_FM_ORGANIZATION_ORG_ID",
column: x => x.ORG_ID,
principalTable: "T_FM_ORGANIZATION",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_T_SE_TRAIN_PLAN_T_FM_USER_LAUNCH_USER_ID",
column: x => x.LAUNCH_USER_ID,
principalTable: "T_FM_USER",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "T_SE_TRAIN_PLAN_DETAIL",
columns: table => new
{
ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
PLAN_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
PLAN_DETAIL_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
DATE_TRAIN = table.Column<DateTime>(type: "datetime2", nullable: false),
IN_OUT = table.Column<int>(type: "int", nullable: false),
TYPE_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
NAME = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
OBJECT = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
TRAINTYPE = table.Column<int>(type: "int", nullable: false),
CHECKTYPE = table.Column<int>(type: "int", nullable: false),
CLASSHOUR = table.Column<int>(type: "int", nullable: false),
SPRINTTYPE = table.Column<int>(type: "int", nullable: false),
ISALL = table.Column<bool>(type: "bit", nullable: false),
DEPARTMENT_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
STATUS = table.Column<int>(type: "int", nullable: false),
IS_DELETED = table.Column<bool>(type: "bit", nullable: false),
ORG_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ENTITY_ORG_TPYE = table.Column<int>(type: "int", nullable: false),
FORM_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
FLOW_STATUS = table.Column<int>(type: "int", nullable: false),
FLOW_SEND_STATUS = table.Column<int>(type: "int", nullable: false),
FLOW_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
CREATE_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
MODIFY_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
CREATER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
MODIFIER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_T_SE_TRAIN_PLAN_DETAIL", x => x.ID);
table.ForeignKey(
name: "FK_T_SE_TRAIN_PLAN_DETAIL_T_FM_DEPARTMENT_DEPARTMENT_ID",
column: x => x.DEPARTMENT_ID,
principalTable: "T_FM_DEPARTMENT",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_T_SE_TRAIN_PLAN_DETAIL_T_FM_ORGANIZATION_ORG_ID",
column: x => x.ORG_ID,
principalTable: "T_FM_ORGANIZATION",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_T_SE_TRAIN_PLAN_DETAIL_T_SE_TRAIN_PLAN_PLAN_ID",
column: x => x.PLAN_ID,
principalTable: "T_SE_TRAIN_PLAN",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_T_SE_TRAIN_PLAN_DETAIL_T_SE_TRAIN_TYPE_ENUM_TYPE_ID",
column: x => x.TYPE_ID,
principalTable: "T_SE_TRAIN_TYPE_ENUM",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "T_SE_TRAIN_PLAN_FILE",
columns: table => new
{
ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
PLAN_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
IMG_FILE_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
IS_DELETED = table.Column<bool>(type: "bit", nullable: false),
ORG_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ENTITY_ORG_TPYE = table.Column<int>(type: "int", nullable: false),
FORM_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
FLOW_STATUS = table.Column<int>(type: "int", nullable: false),
FLOW_SEND_STATUS = table.Column<int>(type: "int", nullable: false),
FLOW_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
CREATE_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
MODIFY_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
CREATER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
MODIFIER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_T_SE_TRAIN_PLAN_FILE", x => x.ID);
table.ForeignKey(
name: "FK_T_SE_TRAIN_PLAN_FILE_T_FM_ORGANIZATION_ORG_ID",
column: x => x.ORG_ID,
principalTable: "T_FM_ORGANIZATION",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_T_SE_TRAIN_PLAN_FILE_T_PF_IMG_FILE_IMG_FILE_ID",
column: x => x.IMG_FILE_ID,
principalTable: "T_PF_IMG_FILE",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_T_SE_TRAIN_PLAN_FILE_T_SE_TRAIN_PLAN_PLAN_ID",
column: x => x.PLAN_ID,
principalTable: "T_SE_TRAIN_PLAN",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT",
columns: table => new
{
ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
PLAN_DETAIL_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
DEPARTMENT_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IS_DELETED = table.Column<bool>(type: "bit", nullable: false),
ORG_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ENTITY_ORG_TPYE = table.Column<int>(type: "int", nullable: false),
FORM_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
FLOW_STATUS = table.Column<int>(type: "int", nullable: false),
FLOW_SEND_STATUS = table.Column<int>(type: "int", nullable: false),
FLOW_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
CREATE_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
MODIFY_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
CREATER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
MODIFIER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT", x => x.ID);
table.ForeignKey(
name: "FK_T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT_T_FM_DEPARTMENT_DEPARTMENT_ID",
column: x => x.DEPARTMENT_ID,
principalTable: "T_FM_DEPARTMENT",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT_T_FM_ORGANIZATION_ORG_ID",
column: x => x.ORG_ID,
principalTable: "T_FM_ORGANIZATION",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT_T_SE_TRAIN_PLAN_DETAIL_PLAN_DETAIL_ID",
column: x => x.PLAN_DETAIL_ID,
principalTable: "T_SE_TRAIN_PLAN_DETAIL",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateIndex(
name: "IX_T_SE_TRAIN_PLAN_DEPARTMENT_ID",
table: "T_SE_TRAIN_PLAN",
column: "DEPARTMENT_ID");
migrationBuilder.CreateIndex(
name: "IX_T_SE_TRAIN_PLAN_LAUNCH_USER_ID",
table: "T_SE_TRAIN_PLAN",
column: "LAUNCH_USER_ID");
migrationBuilder.CreateIndex(
name: "IX_T_SE_TRAIN_PLAN_ORG_ID",
table: "T_SE_TRAIN_PLAN",
column: "ORG_ID");
migrationBuilder.CreateIndex(
name: "IX_T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT_ID",
table: "T_SE_TRAIN_PLAN_DETAIL",
column: "DEPARTMENT_ID");
migrationBuilder.CreateIndex(
name: "IX_T_SE_TRAIN_PLAN_DETAIL_ORG_ID",
table: "T_SE_TRAIN_PLAN_DETAIL",
column: "ORG_ID");
migrationBuilder.CreateIndex(
name: "IX_T_SE_TRAIN_PLAN_DETAIL_PLAN_ID",
table: "T_SE_TRAIN_PLAN_DETAIL",
column: "PLAN_ID");
migrationBuilder.CreateIndex(
name: "IX_T_SE_TRAIN_PLAN_DETAIL_TYPE_ID",
table: "T_SE_TRAIN_PLAN_DETAIL",
column: "TYPE_ID");
migrationBuilder.CreateIndex(
name: "IX_T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT_DEPARTMENT_ID",
table: "T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT",
column: "DEPARTMENT_ID");
migrationBuilder.CreateIndex(
name: "IX_T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT_ORG_ID",
table: "T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT",
column: "ORG_ID");
migrationBuilder.CreateIndex(
name: "IX_T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT_PLAN_DETAIL_ID",
table: "T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT",
column: "PLAN_DETAIL_ID");
migrationBuilder.CreateIndex(
name: "IX_T_SE_TRAIN_PLAN_FILE_IMG_FILE_ID",
table: "T_SE_TRAIN_PLAN_FILE",
column: "IMG_FILE_ID");
migrationBuilder.CreateIndex(
name: "IX_T_SE_TRAIN_PLAN_FILE_ORG_ID",
table: "T_SE_TRAIN_PLAN_FILE",
column: "ORG_ID");
migrationBuilder.CreateIndex(
name: "IX_T_SE_TRAIN_PLAN_FILE_PLAN_ID",
table: "T_SE_TRAIN_PLAN_FILE",
column: "PLAN_ID");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT");
migrationBuilder.DropTable(
name: "T_SE_TRAIN_PLAN_FILE");
migrationBuilder.DropTable(
name: "T_SE_TRAIN_PLAN_DETAIL");
migrationBuilder.DropTable(
name: "T_SE_TRAIN_PLAN");
}
}
}

View File

@ -1548,9 +1548,6 @@ namespace APT.Data.Migrations.Migrations
b.Property<int>("NUM")
.HasColumnType("int");
b.Property<Guid?>("Nav_UnitID")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("ORG_ID")
.IsRequired()
.HasColumnType("uniqueidentifier");
@ -1580,14 +1577,14 @@ namespace APT.Data.Migrations.Migrations
b.HasIndex("CHARGEUSER_ID");
b.HasIndex("Nav_UnitID");
b.HasIndex("ORG_ID");
b.HasIndex("PARENT_ID");
b.HasIndex("PERSON_ID");
b.HasIndex("PRODUCTION_UNIT_ID");
b.HasIndex("USER_ID");
b.ToTable("T_FM_DEPARTMENT");
@ -70769,6 +70766,307 @@ namespace APT.Data.Migrations.Migrations
b.ToTable("T_SE_TRAIN_NOTIFY_PERSONS");
});
modelBuilder.Entity("APT.MS.Domain.Entities.SE.T_SE_TRAIN_PLAN", b =>
{
b.Property<Guid>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("CREATER_ID")
.HasColumnType("uniqueidentifier");
b.Property<DateTime?>("CREATE_TIME")
.HasColumnType("datetime2");
b.Property<Guid?>("DEPARTMENT_ID")
.HasColumnType("uniqueidentifier");
b.Property<DateTime?>("END_TIME")
.HasColumnType("datetime2");
b.Property<int>("ENTITY_ORG_TPYE")
.HasColumnType("int");
b.Property<Guid?>("FLOW_ID")
.HasColumnType("uniqueidentifier");
b.Property<int>("FLOW_SEND_STATUS")
.HasColumnType("int");
b.Property<int>("FLOW_STATUS")
.HasColumnType("int");
b.Property<Guid?>("FORM_ID")
.HasColumnType("uniqueidentifier");
b.Property<string>("GUIDE_PRINCIPLE")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property<bool>("IS_DELETED")
.HasColumnType("bit");
b.Property<DateTime>("LAUNCH_TIME")
.HasColumnType("datetime2");
b.Property<Guid?>("LAUNCH_USER_ID")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("MODIFIER_ID")
.HasColumnType("uniqueidentifier");
b.Property<DateTime?>("MODIFY_TIME")
.HasColumnType("datetime2");
b.Property<Guid?>("ORG_ID")
.IsRequired()
.HasColumnType("uniqueidentifier");
b.Property<decimal?>("PERSENT")
.HasColumnType("decimal(18,2)");
b.Property<Guid?>("PLAN_ID")
.HasColumnType("uniqueidentifier");
b.Property<string>("PLAN_NAME")
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.Property<int>("STATUS")
.HasColumnType("int");
b.Property<string>("TRAIN_REQUIREMENT")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property<int>("TYPE")
.HasColumnType("int");
b.Property<int>("YEAR")
.HasColumnType("int");
b.HasKey("ID");
b.HasIndex("DEPARTMENT_ID");
b.HasIndex("LAUNCH_USER_ID");
b.HasIndex("ORG_ID");
b.ToTable("T_SE_TRAIN_PLAN");
});
modelBuilder.Entity("APT.MS.Domain.Entities.SE.T_SE_TRAIN_PLAN_DETAIL", b =>
{
b.Property<Guid>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<int>("CHECKTYPE")
.HasColumnType("int");
b.Property<int>("CLASSHOUR")
.HasColumnType("int");
b.Property<Guid?>("CREATER_ID")
.HasColumnType("uniqueidentifier");
b.Property<DateTime?>("CREATE_TIME")
.HasColumnType("datetime2");
b.Property<DateTime>("DATE_TRAIN")
.HasColumnType("datetime2");
b.Property<Guid?>("DEPARTMENT_ID")
.HasColumnType("uniqueidentifier");
b.Property<int>("ENTITY_ORG_TPYE")
.HasColumnType("int");
b.Property<Guid?>("FLOW_ID")
.HasColumnType("uniqueidentifier");
b.Property<int>("FLOW_SEND_STATUS")
.HasColumnType("int");
b.Property<int>("FLOW_STATUS")
.HasColumnType("int");
b.Property<Guid?>("FORM_ID")
.HasColumnType("uniqueidentifier");
b.Property<int>("IN_OUT")
.HasColumnType("int");
b.Property<bool>("ISALL")
.HasColumnType("bit");
b.Property<bool>("IS_DELETED")
.HasColumnType("bit");
b.Property<Guid?>("MODIFIER_ID")
.HasColumnType("uniqueidentifier");
b.Property<DateTime?>("MODIFY_TIME")
.HasColumnType("datetime2");
b.Property<string>("NAME")
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<string>("OBJECT")
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<Guid?>("ORG_ID")
.IsRequired()
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("PLAN_DETAIL_ID")
.HasColumnType("uniqueidentifier");
b.Property<Guid>("PLAN_ID")
.HasColumnType("uniqueidentifier");
b.Property<int>("SPRINTTYPE")
.HasColumnType("int");
b.Property<int>("STATUS")
.HasColumnType("int");
b.Property<int>("TRAINTYPE")
.HasColumnType("int");
b.Property<Guid?>("TYPE_ID")
.HasColumnType("uniqueidentifier");
b.HasKey("ID");
b.HasIndex("DEPARTMENT_ID");
b.HasIndex("ORG_ID");
b.HasIndex("PLAN_ID");
b.HasIndex("TYPE_ID");
b.ToTable("T_SE_TRAIN_PLAN_DETAIL");
});
modelBuilder.Entity("APT.MS.Domain.Entities.SE.T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT", b =>
{
b.Property<Guid>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("CREATER_ID")
.HasColumnType("uniqueidentifier");
b.Property<DateTime?>("CREATE_TIME")
.HasColumnType("datetime2");
b.Property<Guid?>("DEPARTMENT_ID")
.HasColumnType("uniqueidentifier");
b.Property<int>("ENTITY_ORG_TPYE")
.HasColumnType("int");
b.Property<Guid?>("FLOW_ID")
.HasColumnType("uniqueidentifier");
b.Property<int>("FLOW_SEND_STATUS")
.HasColumnType("int");
b.Property<int>("FLOW_STATUS")
.HasColumnType("int");
b.Property<Guid?>("FORM_ID")
.HasColumnType("uniqueidentifier");
b.Property<bool>("IS_DELETED")
.HasColumnType("bit");
b.Property<Guid?>("MODIFIER_ID")
.HasColumnType("uniqueidentifier");
b.Property<DateTime?>("MODIFY_TIME")
.HasColumnType("datetime2");
b.Property<Guid?>("ORG_ID")
.IsRequired()
.HasColumnType("uniqueidentifier");
b.Property<Guid>("PLAN_DETAIL_ID")
.HasColumnType("uniqueidentifier");
b.HasKey("ID");
b.HasIndex("DEPARTMENT_ID");
b.HasIndex("ORG_ID");
b.HasIndex("PLAN_DETAIL_ID");
b.ToTable("T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT");
});
modelBuilder.Entity("APT.MS.Domain.Entities.SE.T_SE_TRAIN_PLAN_FILE", b =>
{
b.Property<Guid>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("CREATER_ID")
.HasColumnType("uniqueidentifier");
b.Property<DateTime?>("CREATE_TIME")
.HasColumnType("datetime2");
b.Property<int>("ENTITY_ORG_TPYE")
.HasColumnType("int");
b.Property<Guid?>("FLOW_ID")
.HasColumnType("uniqueidentifier");
b.Property<int>("FLOW_SEND_STATUS")
.HasColumnType("int");
b.Property<int>("FLOW_STATUS")
.HasColumnType("int");
b.Property<Guid?>("FORM_ID")
.HasColumnType("uniqueidentifier");
b.Property<Guid>("IMG_FILE_ID")
.HasColumnType("uniqueidentifier");
b.Property<bool>("IS_DELETED")
.HasColumnType("bit");
b.Property<Guid?>("MODIFIER_ID")
.HasColumnType("uniqueidentifier");
b.Property<DateTime?>("MODIFY_TIME")
.HasColumnType("datetime2");
b.Property<Guid?>("ORG_ID")
.IsRequired()
.HasColumnType("uniqueidentifier");
b.Property<Guid>("PLAN_ID")
.HasColumnType("uniqueidentifier");
b.HasKey("ID");
b.HasIndex("IMG_FILE_ID");
b.HasIndex("ORG_ID");
b.HasIndex("PLAN_ID");
b.ToTable("T_SE_TRAIN_PLAN_FILE");
});
modelBuilder.Entity("APT.MS.Domain.Entities.SE.T_SE_TRAIN_RECORD", b =>
{
b.Property<Guid>("ID")
@ -94205,10 +94503,6 @@ namespace APT.Data.Migrations.Migrations
.HasForeignKey("CHARGEUSER_ID")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_USER_PRODUCTION_UNIT_SET", "Nav_Unit")
.WithMany()
.HasForeignKey("Nav_UnitID");
b.HasOne("APT.Infrastructure.Core.T_FM_ORGANIZATION", "Nav_Org")
.WithMany()
.HasForeignKey("ORG_ID")
@ -94225,6 +94519,11 @@ namespace APT.Data.Migrations.Migrations
.HasForeignKey("PERSON_ID")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_USER_PRODUCTION_UNIT_SET", "Nav_Unit")
.WithMany()
.HasForeignKey("PRODUCTION_UNIT_ID")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_USER", "Nav_User")
.WithMany()
.HasForeignKey("USER_ID")
@ -118524,6 +118823,117 @@ namespace APT.Data.Migrations.Migrations
b.Navigation("Nav_User");
});
modelBuilder.Entity("APT.MS.Domain.Entities.SE.T_SE_TRAIN_PLAN", b =>
{
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_DEPARTMENT", "Nav_Department")
.WithMany()
.HasForeignKey("DEPARTMENT_ID")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_USER", "Nav_User")
.WithMany()
.HasForeignKey("LAUNCH_USER_ID")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("APT.Infrastructure.Core.T_FM_ORGANIZATION", "Nav_Org")
.WithMany()
.HasForeignKey("ORG_ID")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.Navigation("Nav_Department");
b.Navigation("Nav_Org");
b.Navigation("Nav_User");
});
modelBuilder.Entity("APT.MS.Domain.Entities.SE.T_SE_TRAIN_PLAN_DETAIL", b =>
{
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_DEPARTMENT", "Nav_Department")
.WithMany()
.HasForeignKey("DEPARTMENT_ID")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("APT.Infrastructure.Core.T_FM_ORGANIZATION", "Nav_Org")
.WithMany()
.HasForeignKey("ORG_ID")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("APT.MS.Domain.Entities.SE.T_SE_TRAIN_PLAN", "Nav_Plan")
.WithMany("Nav_ListPlanDetail")
.HasForeignKey("PLAN_ID")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("APT.MS.Domain.Entities.SE.T_SE_TRAIN_TYPE_ENUM", "Nav_TrainTypeEnum")
.WithMany()
.HasForeignKey("TYPE_ID")
.OnDelete(DeleteBehavior.Restrict);
b.Navigation("Nav_Department");
b.Navigation("Nav_Org");
b.Navigation("Nav_Plan");
b.Navigation("Nav_TrainTypeEnum");
});
modelBuilder.Entity("APT.MS.Domain.Entities.SE.T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT", b =>
{
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_DEPARTMENT", "Nav_Department")
.WithMany()
.HasForeignKey("DEPARTMENT_ID")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("APT.Infrastructure.Core.T_FM_ORGANIZATION", "Nav_Org")
.WithMany()
.HasForeignKey("ORG_ID")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("APT.MS.Domain.Entities.SE.T_SE_TRAIN_PLAN_DETAIL", "Nav_PlanDetail")
.WithMany("Nav_ListDetailDepartment")
.HasForeignKey("PLAN_DETAIL_ID")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.Navigation("Nav_Department");
b.Navigation("Nav_Org");
b.Navigation("Nav_PlanDetail");
});
modelBuilder.Entity("APT.MS.Domain.Entities.SE.T_SE_TRAIN_PLAN_FILE", b =>
{
b.HasOne("APT.BaseData.Domain.Entities.T_PF_IMG_FILE", "Nav_ImgFile")
.WithMany()
.HasForeignKey("IMG_FILE_ID")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("APT.Infrastructure.Core.T_FM_ORGANIZATION", "Nav_Org")
.WithMany()
.HasForeignKey("ORG_ID")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("APT.MS.Domain.Entities.SE.T_SE_TRAIN_PLAN", "Nav_Plan")
.WithMany("Nav_Files")
.HasForeignKey("PLAN_ID")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.Navigation("Nav_ImgFile");
b.Navigation("Nav_Org");
b.Navigation("Nav_Plan");
});
modelBuilder.Entity("APT.MS.Domain.Entities.SE.T_SE_TRAIN_RECORD", b =>
{
b.HasOne("APT.MS.Domain.Entities.SE.T_SE_TRAIN_NOTIFY", "Nav_Notify")
@ -129688,6 +130098,18 @@ namespace APT.Data.Migrations.Migrations
b.Navigation("Nav_TrainUserList");
});
modelBuilder.Entity("APT.MS.Domain.Entities.SE.T_SE_TRAIN_PLAN", b =>
{
b.Navigation("Nav_Files");
b.Navigation("Nav_ListPlanDetail");
});
modelBuilder.Entity("APT.MS.Domain.Entities.SE.T_SE_TRAIN_PLAN_DETAIL", b =>
{
b.Navigation("Nav_ListDetailDepartment");
});
modelBuilder.Entity("APT.MS.Domain.Entities.SE.T_SE_TRAIN_RECORD", b =>
{
b.Navigation("Nav_Files");

View File

@ -10216,6 +10216,57 @@ builder.HasIndex("NAME").IsUnique();
builder.Property(t => t.NAME).HasMaxLength(100);
builder.HasIndex("NAME").IsUnique();
}
}
#endregion
#region TrainPlan
public partial class SETrainPlanMap :APTEntityBaseMap<T_SE_TRAIN_PLAN>
{
public override void Configure(EntityTypeBuilder<T_SE_TRAIN_PLAN> builder)
{
base.Configure(builder);
builder.HasOne(t => t.Nav_Department).WithMany().HasForeignKey(t => t.DEPARTMENT_ID).OnDelete(DeleteBehavior.Restrict);
builder.HasOne(t => t.Nav_User).WithMany().HasForeignKey(t => t.LAUNCH_USER_ID).OnDelete(DeleteBehavior.Restrict);
builder.Property(t => t.PLAN_NAME).HasMaxLength(200);
builder.Property(t => t.GUIDE_PRINCIPLE).HasMaxLength(500);
builder.Property(t => t.TRAIN_REQUIREMENT).HasMaxLength(500);
}
}
#endregion
#region TrainPlanDetail
public partial class SETrainPlanDetailMap :APTEntityBaseMap<T_SE_TRAIN_PLAN_DETAIL>
{
public override void Configure(EntityTypeBuilder<T_SE_TRAIN_PLAN_DETAIL> builder)
{
base.Configure(builder);
builder.HasOne(t => t.Nav_Plan).WithMany(t=>t.Nav_ListPlanDetail).HasForeignKey(t => t.PLAN_ID).OnDelete(DeleteBehavior.Restrict);
builder.Ignore(t => t.MONTH);
builder.HasOne(t => t.Nav_TrainTypeEnum).WithMany().HasForeignKey(t => t.TYPE_ID).OnDelete(DeleteBehavior.Restrict);
builder.Property(t => t.NAME).HasMaxLength(100);
builder.Property(t => t.OBJECT).HasMaxLength(100);
builder.HasOne(t => t.Nav_Department).WithMany().HasForeignKey(t => t.DEPARTMENT_ID).OnDelete(DeleteBehavior.Restrict);
}
}
#endregion
#region TrainPlanDetailDepartment
public partial class SETrainPlanDetailDepartmentMap :APTEntityBaseMap<T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT>
{
public override void Configure(EntityTypeBuilder<T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT> builder)
{
base.Configure(builder);
builder.HasOne(t => t.Nav_PlanDetail).WithMany(t=>t.Nav_ListDetailDepartment).HasForeignKey(t => t.PLAN_DETAIL_ID).OnDelete(DeleteBehavior.Restrict);
builder.HasOne(t => t.Nav_Department).WithMany().HasForeignKey(t => t.DEPARTMENT_ID).OnDelete(DeleteBehavior.Restrict);
}
}
#endregion
#region TrainPlanFile
public partial class SETrainPlanFileMap :APTEntityBaseMap<T_SE_TRAIN_PLAN_FILE>
{
public override void Configure(EntityTypeBuilder<T_SE_TRAIN_PLAN_FILE> builder)
{
base.Configure(builder);
builder.HasOne(t => t.Nav_Plan).WithMany(t=>t.Nav_Files).HasForeignKey(t => t.PLAN_ID).OnDelete(DeleteBehavior.Restrict);
builder.HasOne(t => t.Nav_ImgFile).WithMany().HasForeignKey(t => t.IMG_FILE_ID).OnDelete(DeleteBehavior.Restrict);
}
}
#endregion
#region TrainRecordReport

View File

@ -0,0 +1,142 @@
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums.PF;
using APT.Infrastructure.Core;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace APT.MS.Domain.Entities.SE
{
/// <summary>
/// 年度培训计划
/// </summary>
[Description("年度培训计划")]
public class T_SE_TRAIN_PLAN : MesEntityBase
{
/// <summary>
/// 计划年度
/// </summary>
[Description("计划年度")]
public Guid? PLAN_ID { get; set; }
/// <summary>
/// 计划类型
/// </summary>
[Description("计划类型")]
[EnumName("PlanType")]
[FormFieldTable]
[FormFieldQuery]
public PlanType TYPE { get; set; }
/// <summary>
/// 计划年度
/// </summary>
[Description("计划年度")]
[FormFieldTable]
[FormFieldEdit]
[FormFieldQuery]
public int YEAR { get; set; }
/// <summary>
/// 发起时间
/// </summary>
[Description("发起时间")]
[FormFieldTable]
[FormFieldEdit]
[FormFieldQuery]
public DateTime LAUNCH_TIME { get; set; }
/// <summary>
/// 发起时间
/// </summary>
[Description("截止时间")]
[FormFieldTable]
[FormFieldQuery]
public DateTime? END_TIME { get; set; }
/// <summary>
/// 发起部门ID
/// </summary>
[Description("发起部门")]
[FormFieldTable]
[FormFieldEdit]
[FormFieldQuery]
[DataFieldForeignKey("Nav_Department")]
public Guid? DEPARTMENT_ID { get; set; }
/// <summary>
/// 导航: 发起部门
/// </summary>
[Description("导航: 发起部门")]
public T_FM_DEPARTMENT Nav_Department { get; set; }
/// <summary>
/// 发起人员ID
/// </summary>
[Description("发起人员")]
[FormFieldTable]
[FormFieldEdit]
[FormFieldQuery]
[DataFieldForeignKey("Nav_User")]
public Guid? LAUNCH_USER_ID { get; set; }
/// <summary>
/// 导航: 发起人员
/// </summary>
[Description("导航: 发起人员")]
public T_FM_USER Nav_User { get; set; }
/// <summary>
/// 计划名称
/// </summary>
[Description("计划名称")]
[DataFieldLength(200)]
[FormFieldTable]
[FormFieldEdit]
[FormFieldQuery]
public string PLAN_NAME { get; set; }
/// <summary>
/// 指导原则
/// </summary>
[Description("指导原则")]
[DataFieldLength(500)]
[FormFieldEdit]
public string GUIDE_PRINCIPLE { get; set; }
/// <summary>
/// 培训要求
/// </summary>
[Description("培训要求")]
[DataFieldLength(500)]
[FormFieldEdit]
public string TRAIN_REQUIREMENT { get; set; }
/// <summary>
/// 导航: 年度培训计划详情
/// </summary>
[Description("导航: 年度培训计划详情")]
[FormFieldEdit]
public ICollection<T_SE_TRAIN_PLAN_DETAIL> Nav_ListPlanDetail { get; set; }
/// <summary>
/// 导航属性:附件
/// </summary>
[Description("导航属性:附件")]
public ICollection<T_SE_TRAIN_PLAN_FILE> Nav_Files { get; set; }
/// <summary>
/// 完成比例 50% => 50
/// </summary>
[Description("完成比例")]
[FormFieldTable]
public decimal? PERSENT { get; set; }
/// <summary>
/// 状态
/// </summary>
[Description("状态")]
[EnumName("PFStandardStatus")]
[FormFieldTable]
[FormFieldQuery]
public PFStandardStatus STATUS { get; set; }
}
}

View File

@ -0,0 +1,155 @@
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums;
using APT.BaseData.Domain.Enums.PF;
using APT.Infrastructure.Core;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace APT.MS.Domain.Entities.SE
{
/// <summary>
/// 年度培训计划详情
/// </summary>
[Description("年度培训计划详情")]
public class T_SE_TRAIN_PLAN_DETAIL : MesEntityBase
{
/// <summary>
/// 年度培训计划ID
/// </summary>
[Description("年度培训计划ID")]
[DataFieldForeignKey("Nav_Plan", "Nav_ListPlanDetail")]
public Guid PLAN_ID { get; set; }
/// <summary>
/// 导航: 年度培训计划
/// </summary>
[Description("导航: 年度培训计划")]
public T_SE_TRAIN_PLAN Nav_Plan { get; set; }
/// <summary>
/// 年度培训计划明细 (公司为分解触发的明细 再此一对多细化
/// </summary>
[Description("年度培训计划明细")]
public Guid? PLAN_DETAIL_ID { get; set; }
/// <summary>
/// 培训月份 前端填写 给后台 DATE_TRAIN 赋值
/// </summary>
[Description("培训月份")]
[DataFieldIngore]
public int MONTH { get; set; }
/// <summary>
/// 培训时间 默认 1日0点
/// </summary>
[Description("培训时间")]
[FormFieldEdit]
public DateTime DATE_TRAIN { get; set; }
/// <summary>
/// 培训性质
/// </summary>
[Description("培训性质")]
[FormFieldEdit]
public TrainInOut IN_OUT { get; set; }
/// <summary>
/// 培训类型ID
/// </summary>
[Description("培训类型ID")]
[FormFieldEdit]
[DataFieldForeignKey("Nav_TrainTypeEnum")]
public Guid? TYPE_ID { get; set; }
/// <summary>
/// 导航: 培训类型
/// </summary>
[Description("导航: 培训类型")]
public T_SE_TRAIN_TYPE_ENUM Nav_TrainTypeEnum { get; set; }
/// <summary>
/// 培训名称
/// </summary>
[Description("培训名称")]
[FormFieldEdit]
[DataFieldLength(100)]
public string NAME { get; set; }
/// <summary>
/// 培训对象
/// </summary>
[Description("培训对象")]
[DataFieldLength(100)]
[FormFieldEdit]
public string OBJECT { get; set; }
/// <summary>
/// 培训形式 线上培训/线下培训 委外培训
/// </summary>
[Description("培训形式")]
[FormFieldEdit]
[EnumName("TrainType")]
public TrainType TRAINTYPE { get; set; }
/// <summary>
/// 考核方式 线上培训/线下培训 委外培训
/// </summary>
[Description("考核方式")]
[FormFieldEdit]
[EnumName("PlanCheckType")]
public PlanCheckType CHECKTYPE { get; set; }
/// <summary>
/// 培训学时
/// </summary>
[Description("培训学时")]
[FormFieldEdit]
public int CLASSHOUR { get; set; }
/// <summary>
/// 触发方式 直接培训 分解培训
/// </summary>
[Description("触发方式")]
[FormFieldEdit]
public SpringType SPRINTTYPE { get; set; }
/// <summary>
/// 全员参与公司级才有可能是true
/// </summary>
[Description("全员参与")]
[FormFieldEdit]
public bool ISALL { get; set; }
/// <summary>
/// 培训组织
/// </summary>
[Description("培训组织")]
[FormFieldEdit]
[DataFieldForeignKey("Nav_Department")]
public Guid? DEPARTMENT_ID { get; set; }
/// <summary>
/// 导航: 责任部门
/// </summary>
[Description("培训组织")]
public T_FM_DEPARTMENT Nav_Department { get; set; }
/// <summary>
/// 被培训组织 多个,就按多个触发培训通知
/// </summary>
[Description("被培训组织")]
public ICollection<T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT> Nav_ListDetailDepartment { get; set; }
/// <summary>
/// 状态
/// 触发默认0 单审批完成 10 触发了_20 审阅中_21_部分完成了 所有单子归档了_30
/// 分解部分完成分解了_21 分解完成就_30
/// </summary>
[Description("状态")]
[EnumName("PFStandardStatus")]
[FormFieldTable]
[FormFieldEdit]
[FormFieldQuery]
public PFStandardStatus STATUS { get; set; }
}
}

View File

@ -0,0 +1,41 @@
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums;
using APT.Infrastructure.Core;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace APT.MS.Domain.Entities.SE
{
/// <summary>
/// 被培训组织
/// </summary>
[Description("被培训组织")]
public class T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT : MesEntityBase
{
/// <summary>
/// 年度培训计划ID
/// </summary>
[Description("年度培训计划ID")]
[DataFieldForeignKey("Nav_PlanDetail", "Nav_ListDetailDepartment")]
public Guid PLAN_DETAIL_ID { get; set; }
/// <summary>
/// 导航: 年度培训计划
/// </summary>
[Description("导航: 年度培训计划")]
public T_SE_TRAIN_PLAN_DETAIL Nav_PlanDetail { get; set; }
/// <summary>
/// 培训组织
/// </summary>
[Description("培训组织")]
[FormFieldEdit]
[DataFieldForeignKey("Nav_Department")]
public Guid? DEPARTMENT_ID { get; set; }
/// <summary>
/// 导航: 责任部门
/// </summary>
[Description("培训组织")]
public T_FM_DEPARTMENT Nav_Department { get; set; }
}
}

View File

@ -0,0 +1,36 @@
using APT.BaseData.Domain.Entities;
using APT.Infrastructure.Core;
using System;
using System.ComponentModel;
namespace APT.MS.Domain.Entities.SE
{
/// <summary>
/// 导航属性:年度培训计划附件
/// </summary>
[Description("年度培训计划附件")]
public class T_SE_TRAIN_PLAN_FILE : MesEntityBase
{
/// <summary>
/// 年度培训计划ID
/// </summary>
[Description("年度培训计划ID")]
[DataFieldForeignKey("Nav_Plan", "Nav_Files")]
public Guid PLAN_ID { get; set; }
/// <summary>
/// 导航属性:年度培训计划
/// </summary>
[Description("导航属性:年度培训计划")]
public T_SE_TRAIN_PLAN Nav_Plan { get; set; }
/// <summary>
/// 文件ID
/// </summary>
[Description("文件")]
[DataFieldForeignKey("Nav_ImgFile")]
public Guid IMG_FILE_ID { get; set; }
/// <summary>
/// 导航属性:文件
/// </summary>
[Description("导航属性:文件")]
public T_PF_IMG_FILE Nav_ImgFile { get; set; }
}
}

View File

@ -1,4 +1,6 @@
namespace APT.MS.Domain.Enums
using System.ComponentModel;
namespace APT.MS.Domain.Enums
{
/// <summary>试题类型</summary>
public enum SETestTypeEnum
@ -130,14 +132,16 @@
}
public enum SETrainRecordStatus {
public enum SETrainRecordStatus
{
稿 = 0,
= 1,
= 2,
= 3,
}
public enum SETrainningEffectSurveyStatus {
public enum SETrainningEffectSurveyStatus
{
稿 = 0,
= 1,
}
@ -154,4 +158,105 @@
= 1,
= 2,
}
/// <summary>
/// 培训类型
/// </summary>
public enum PlanType
{
/// <summary>
/// 公司 5
/// </summary>
[Description("公司")]
Company = 5,
/// <summary>
/// 部门 10
/// </summary>
[Description("部门")]
Department = 10
}
/// <summary>
/// 培训性质 内部培训 5 外部培训 10
/// </summary>
public enum TrainInOut
{
/// <summary>
/// 内部培训 5
/// </summary>
[Description("内部培训")]
In = 5,
/// <summary>
/// 外部培训 10
/// </summary>
[Description("外部培训")]
Out = 8
}
/// <summary>
/// 培训形式 内部培训 5 外部培训 10
/// </summary>
public enum TrainType
{
/// <summary>
/// 线上培训 50
/// </summary>
[Description("线上培训")]
InOnLine = 50,
/// <summary>
/// 线下培训 55
/// </summary>
[Description("线下培训")]
InOffLine = 55,
/// <summary>
/// 委外培训 80
/// </summary>
[Description("委外培训")]
Out = 80
}
/// <summary>
/// 考核方式 线上考核 51 线下考核 56 委外考核 81
/// </summary>
public enum PlanCheckType
{
/// <summary>
/// 线上考核 51
/// </summary>
[Description("线上考核")]
InOnLine = 51,
/// <summary>
/// 线下考核 56
/// </summary>
[Description("线下考核")]
InOffLine = 56,
/// <summary>
/// 委外考核 81
/// </summary>
[Description("委外考核")]
Out = 81
}
/// <summary>
/// 触发方式
/// </summary>
public enum SpringType
{
/// <summary>
/// 直接触发 5
/// </summary>
[Description("直接触发")]
Spring = 5,
/// <summary>
/// 拆分触发 10
/// </summary>
[Description("拆分触发")]
Split = 10,
}
}

View File

@ -2,12 +2,6 @@
//------------------------------------------------------------------------------
// T4模板文件基础接口类
// 此代码由T4模板自动生成
@ -22,7 +16,6 @@ using APT.BaseData.Domain.ApiModel.PF;
namespace APT.BD.WebApi.Controllers.Api
{
using APT.BaseData.Domain.Entities.BD;
#region Hmi-HMI资源表维护
/// <summary>
/// HMI资源表维护
@ -130,10 +123,8 @@ namespace APT.BD.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region Picture-
/// <summary>
/// 图片资源
@ -241,10 +232,8 @@ namespace APT.BD.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PictureFile-
/// <summary>
/// 资源图片文件
@ -352,10 +341,8 @@ namespace APT.BD.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region Place-
/// <summary>
/// 区域表
@ -462,7 +449,6 @@ namespace APT.BD.WebApi.Controllers.Api
{
return WitEntity(null, filter);
}
/// <summary>
/// 获得树形实体数据
/// </summary>
@ -474,10 +460,8 @@ namespace APT.BD.WebApi.Controllers.Api
return WitTreeOrderEntities(null, filter);
}
}
#endregion
#region ServerInfo-
/// <summary>
/// 服务器信息表
@ -585,10 +569,8 @@ namespace APT.BD.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SystemInfo-
/// <summary>
/// 系统信息表
@ -696,10 +678,8 @@ namespace APT.BD.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region WordTemplate-WORD模板维护
/// <summary>
/// WORD模板维护
@ -807,8 +787,6 @@ namespace APT.BD.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
}

View File

@ -2,12 +2,6 @@
//------------------------------------------------------------------------------
// T4模板文件基础接口类
// 此代码由T4模板自动生成
@ -22,7 +16,6 @@ using APT.BaseData.Domain.ApiModel.PF;
namespace APT.BS.WebApi.Controllers.Api
{
using APT.MS.Domain.Entities.BS;
#region CheckContent-
/// <summary>
/// 检查内容表
@ -130,10 +123,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckContents-
/// <summary>
/// 检查内容
@ -241,10 +232,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckContentCheckType-
/// <summary>
/// 检查类型
@ -352,10 +341,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckContentCheckTypeLevel-()
/// <summary>
/// 检查内容检查类型子表(关联层级)
@ -463,10 +450,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckContentHmRiskArea-
/// <summary>
/// 检查区域
@ -574,10 +559,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckMain-
/// <summary>
/// 安全检查库
@ -685,10 +668,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckContentMainDepartment-
/// <summary>
/// 安全检查库责任部门
@ -796,10 +777,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckContentQuestion-
/// <summary>
/// 检查问题
@ -907,10 +886,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckMainLaw-
/// <summary>
/// 检查库法规
@ -1018,10 +995,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckProject-
/// <summary>
/// 检查项目
@ -1129,10 +1104,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckProjectCategory-
/// <summary>
/// 检查项目分类表
@ -1240,10 +1213,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckProjectCategoryChecktype-_检查类型
/// <summary>
/// 检查项目分类_检查类型
@ -1351,10 +1322,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckProjectCategoryObject-_检查区域
/// <summary>
/// 检查项目分类_检查区域
@ -1462,10 +1431,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckProjectProjectCategory-
/// <summary>
/// 检查项目分类
@ -1573,10 +1540,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckQuestion-
/// <summary>
/// 检查问题
@ -1684,10 +1649,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckType-
/// <summary>
/// 检查类型表
@ -1794,7 +1757,6 @@ namespace APT.BS.WebApi.Controllers.Api
{
return WitEntity(null, filter);
}
/// <summary>
/// 获得树形实体数据
/// </summary>
@ -1806,10 +1768,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitTreeOrderEntities(null, filter);
}
}
#endregion
#region CheckTypeLevel-
/// <summary>
/// 检查层级
@ -1917,10 +1877,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CheckTypeMinetype-
/// <summary>
/// 检查类型生产单元
@ -2028,10 +1986,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region DepartmentAreaobject-
/// <summary>
/// 部门范围
@ -2139,10 +2095,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region OperateLog-
/// <summary>
/// 操作日志
@ -2250,10 +2204,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PlanSet-
/// <summary>
/// 制定任务
@ -2361,10 +2313,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PlanSetArea-
/// <summary>
/// 制定任务区域
@ -2472,10 +2422,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PlanSetDepartmentOut-
/// <summary>
/// 制定任务排除组织
@ -2583,10 +2531,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PlanSetDepObject-
/// <summary>
/// 制定任务部门触发范围
@ -2694,10 +2640,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PlanSetObject-
/// <summary>
/// 制定任务触发范围
@ -2805,10 +2749,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskCategory-
/// <summary>
/// 隐患类别
@ -2916,10 +2858,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskLevelDelayDays-
/// <summary>
/// 隐患等级最长延期整改天数
@ -3027,10 +2967,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskReason-
/// <summary>
/// 隐患原因表
@ -3138,10 +3076,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmit-
/// <summary>
/// 隐患上报表
@ -3249,10 +3185,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitContent-
/// <summary>
/// 隐患上报明细
@ -3360,10 +3294,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitContentBack-退
/// <summary>
/// 隐患上报明细退回
@ -3471,10 +3403,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitContentDeal-
/// <summary>
/// 隐患整改记录
@ -3582,10 +3512,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitContentDealAfterFile-
/// <summary>
/// 检查任务附件表
@ -3693,10 +3621,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitContentDealFile-
/// <summary>
/// 检查任务附件表
@ -3804,10 +3730,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitContentDealUserchecksign-
/// <summary>
/// 隐患整改验收人签名
@ -3915,10 +3839,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitContentDealUsersign-
/// <summary>
/// 隐患整改责任人签名
@ -4026,10 +3948,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitContentFile-
/// <summary>
/// 检查任务明细附件表
@ -4137,10 +4057,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitContentReason-
/// <summary>
/// 隐患上报明细原因
@ -4248,10 +4166,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitContentTemp-
/// <summary>
/// 隐患上报详情待入库
@ -4359,10 +4275,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitDelayApply-
/// <summary>
/// 延期整改申请
@ -4470,10 +4384,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitDelayApplyDetail-
/// <summary>
/// 延期整改申请详情
@ -4581,10 +4493,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitFile-
/// <summary>
/// 检查任务附件表
@ -4692,10 +4602,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitNotice-
/// <summary>
/// 隐患通知
@ -4803,10 +4711,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskSubmitNoticePerson-
/// <summary>
/// 隐患通知
@ -4914,10 +4820,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RiskTpm-TPM对接数据
/// <summary>
/// TPM对接数据
@ -5025,10 +4929,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheck-
/// <summary>
/// 安全检查
@ -5136,10 +5038,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckDetail-
/// <summary>
/// 检查明细
@ -5247,10 +5147,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckDetailFile-
/// <summary>
/// 检查任务明细附件表
@ -5358,10 +5256,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckDetailLaw-
/// <summary>
/// 检查依据
@ -5469,10 +5365,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckDetailQuestion-
/// <summary>
/// 检查明细问题
@ -5580,10 +5474,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckDetailReason-
/// <summary>
/// 检查明细隐患原因
@ -5691,10 +5583,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckDetailReject-退
/// <summary>
/// 检查明细退回
@ -5802,10 +5692,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckDetailRejectFile-退
/// <summary>
/// 检查明细退回附件
@ -5913,10 +5801,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckDetailUser-
/// <summary>
/// 检查明细人员
@ -6024,10 +5910,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckFile-
/// <summary>
/// 安全检查文件
@ -6135,10 +6019,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckProject-
/// <summary>
/// 安全检查文件
@ -6246,10 +6128,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckProjectCategory-
/// <summary>
/// 安全检查文件
@ -6357,10 +6237,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckRecord-
/// <summary>
/// 检查记录确认
@ -6468,10 +6346,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckRecordDetail-
/// <summary>
/// 检查记录确认明细
@ -6579,10 +6455,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckRiskArea-
/// <summary>
/// 检查区域
@ -6690,10 +6564,8 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SafeCheckUsersign-
/// <summary>
/// 检查签名
@ -6801,8 +6673,6 @@ namespace APT.BS.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
}

View File

@ -2,12 +2,6 @@
//------------------------------------------------------------------------------
// T4模板文件基础接口类
// 此代码由T4模板自动生成
@ -23,7 +17,6 @@ namespace APT.FM.WebApi.Controllers.Api
{
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Entities;
#region Api-API
/// <summary>
/// API
@ -131,10 +124,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region BaseAdd-
/// <summary>
/// 企业位置信息
@ -242,10 +233,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region BaseEnergy-
/// <summary>
/// 企业能耗配置信息
@ -353,10 +342,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region BaseInfo-
/// <summary>
/// 企业基本信息
@ -464,10 +451,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region DepartmentCalendarConfig-
/// <summary>
/// 部门日历配置表
@ -575,10 +560,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region DepartmentCalendarConfigDetail-
/// <summary>
/// 部门日历配置明细表
@ -686,10 +669,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region DepartmentCalendarConfigTeam-
/// <summary>
/// 部门日历配置班组表
@ -797,10 +778,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region DepartmentCompletion-XX班完成情况统计
/// <summary>
/// XX班完成情况统计
@ -908,10 +887,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region DepartmentCompletionSort-
/// <summary>
/// 班组完成情况前十
@ -1019,10 +996,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region DepartmentPost-
/// <summary>
/// 部门岗位
@ -1130,10 +1105,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region DepartmentPostUser-
/// <summary>
/// 部门岗位人员
@ -1241,10 +1214,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region DepartmentProductionUnit-
/// <summary>
/// 生产单元
@ -1352,10 +1323,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region DepartmentSafeuser-
/// <summary>
/// 安全员表
@ -1463,10 +1432,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region DepartmentScheduling-
/// <summary>
/// 部门排班表
@ -1574,10 +1541,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region DepartmentSchedulingDetail-
/// <summary>
/// 排班信息人员明细表
@ -1685,10 +1650,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region DepartmentUser-
/// <summary>
/// 部门人员表
@ -1796,10 +1759,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region Enum-
/// <summary>
/// 枚举管理
@ -1907,10 +1868,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region Enums-
/// <summary>
/// 枚举表单
@ -2018,10 +1977,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region EnumItem-
/// <summary>
/// 枚举项
@ -2129,10 +2086,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region EnumType-
/// <summary>
/// 枚举类别
@ -2240,10 +2195,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region HiddenDangerRectification-
/// <summary>
/// 隐患整改完成情况统计
@ -2351,10 +2304,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region JobActivityCompletion-
/// <summary>
/// 班组作业完成率统计
@ -2462,10 +2413,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region MessageTemplate-
/// <summary>
/// 短信模板表
@ -2573,10 +2522,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region Monitoring-
/// <summary>
/// 服务器监听表
@ -2684,10 +2631,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region Notice-
/// <summary>
/// 信息通知表
@ -2795,10 +2740,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region NotificationTask-?
/// <summary>
/// 娑堟伅琛?
@ -2906,10 +2849,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region NotificationTaskTimeSet-?
/// <summary>
/// 寰呭姙琛ㄦ椂闂撮厤缃?
@ -3017,10 +2958,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region ParamSet-
/// <summary>
/// 参数设置表
@ -3128,10 +3067,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region ParamSetDepartment-
/// <summary>
/// 组织关联信息
@ -3239,10 +3176,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region Person-
/// <summary>
/// 人员信息
@ -3350,10 +3285,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region PersonCertificateFile-
/// <summary>
/// 证书
@ -3461,10 +3394,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region PersonEducationFile-
/// <summary>
/// 学历证
@ -3572,10 +3503,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region PersonIdcardFile-
/// <summary>
/// 身份证
@ -3683,10 +3612,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region PersonSkills-
/// <summary>
/// 技能
@ -3794,10 +3721,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region PersonWork-
/// <summary>
/// 工作经历
@ -3905,10 +3830,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region RiskLevelProportion-
/// <summary>
/// 风险等级占比
@ -4016,10 +3939,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region RiskTypeProportion-
/// <summary>
/// 风险类别占比
@ -4127,10 +4048,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region RoleDepartment-
/// <summary>
/// 部门权限
@ -4238,10 +4157,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region Snapshot-
/// <summary>
/// 随手拍
@ -4349,10 +4266,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region SnapshotFile-
/// <summary>
/// 随手拍图片
@ -4460,10 +4375,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region SyncLimit-
/// <summary>
/// 数据同步次数限制
@ -4571,10 +4484,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region SyncLog-
/// <summary>
/// 跑批日志表
@ -4682,10 +4593,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region SyncLogDetail-
/// <summary>
/// 跑批日志明细表
@ -4793,10 +4702,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region SyncUserRule-
/// <summary>
/// 用户数据同步例外配置
@ -4904,10 +4811,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region Team-
/// <summary>
/// 班组表
@ -5015,10 +4920,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region TeamPerson-
/// <summary>
/// 班组人员关联信息
@ -5126,10 +5029,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region UserDepartment-
/// <summary>
/// 用户部门关联表
@ -5237,10 +5138,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region UserPost-
/// <summary>
/// 宀椾綅鍒楄〃
@ -5348,10 +5247,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region UserProductionUnit-
/// <summary>
/// 生产单元
@ -5459,10 +5356,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region UserProductionUnitSet-
/// <summary>
/// 生产单元
@ -5570,10 +5465,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region UserSignFile-
/// <summary>
/// 签名照片
@ -5681,10 +5574,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region UserTest-
/// <summary>
/// 测试多选
@ -5792,10 +5683,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region UserVacationSet-
/// <summary>
/// 人员休假设置
@ -5903,10 +5792,8 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
#region WorkTicketCompletion-
/// <summary>
/// 关键许可工作票完成情况统计
@ -6014,8 +5901,6 @@ using APT.BaseData.Domain.Entities;
return WitEntity(null, filter);
}
}
#endregion
}

View File

@ -2,12 +2,6 @@
//------------------------------------------------------------------------------
// T4模板文件基础接口类
// 此代码由T4模板自动生成
@ -22,7 +16,6 @@ using APT.BaseData.Domain.ApiModel.PF;
namespace APT.FO.WebApi.Controllers.Api
{
using APT.MS.Domain.Entities.FO;
#region ChangeShiftRecord-
/// <summary>
/// 岗位交接班记录表
@ -130,10 +123,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region ChangeShiftRecordAfterUser-
/// <summary>
/// 接班人员表
@ -241,10 +232,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region ChangeShiftRecordFile-
/// <summary>
/// 附件表
@ -352,10 +341,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region ChangeShiftRecordPreUser-
/// <summary>
/// 交班人员表
@ -463,10 +450,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CrucialLicenseDealMeasure-
/// <summary>
/// 作业后处理措施
@ -574,10 +559,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CrucialLicenseJob-
/// <summary>
/// 关键许可工作表
@ -685,10 +668,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CrucialLicenseJobFile-
/// <summary>
/// 附件上传
@ -796,10 +777,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CrucialLicenseJobOutsource-
/// <summary>
/// 关键许可工作表
@ -907,10 +886,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CrucialLicenseOutsourceDealMeasure-
/// <summary>
/// 作业后处理措施
@ -1018,10 +995,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CrucialLicenseOutsourcePerson-
/// <summary>
/// 关键许可人员表
@ -1129,10 +1104,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CrucialLicenseOutsourceSafeConfirm-
/// <summary>
/// 作业前安全确认
@ -1240,10 +1213,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CrucialLicenseOutsourceSafeMeasure-
/// <summary>
/// 作业流程及安全措施
@ -1351,10 +1322,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CrucialLicensePerson-
/// <summary>
/// 关键许可人员表
@ -1462,10 +1431,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CrucialLicenseSafeConfirm-
/// <summary>
/// 作业前安全确认
@ -1573,10 +1540,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CrucialLicenseSafeMeasure-
/// <summary>
/// 作业流程及安全措施
@ -1684,10 +1649,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CurrentClassRecord-
/// <summary>
/// 岗位当班工作记录表
@ -1795,10 +1758,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CurrentClassRecordFile-
/// <summary>
/// 附件表
@ -1906,10 +1867,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CurrentClassRecordLabourSupply-
/// <summary>
/// 岗位当班劳保用品清单
@ -2017,10 +1976,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CurrentClassRecordUser-
/// <summary>
/// 岗位当班工作人员表
@ -2128,10 +2085,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region Holidays-
/// <summary>
/// 国家法定假期维护
@ -2239,10 +2194,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region HolidaysDetail-
/// <summary>
///
@ -2350,10 +2303,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobActivityDetail-(/)
/// <summary>
/// 作业活动记录(关键/许可)明细表
@ -2461,10 +2412,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobActivityFile-
/// <summary>
/// 作业活动记录附件表
@ -2572,10 +2521,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobActivityFlow-
/// <summary>
/// 作业流程及安全措施确认
@ -2683,10 +2630,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobActivityFlowFile-
/// <summary>
/// 作业流程及安全措施附件表
@ -2794,10 +2739,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobActivityMeasure-
/// <summary>
/// 作业后处理措施确认
@ -2905,10 +2848,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobActivityMeasureFile-
/// <summary>
/// 作业活动记录附件表
@ -3016,10 +2957,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobActivityPerson-(/)
/// <summary>
/// 作业活动记录(关键/许可)人员表
@ -3127,10 +3066,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobActivityRecord-(/)
/// <summary>
/// 作业活动记录表(关键/许可)
@ -3238,10 +3175,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobEventDetail-
/// <summary>
/// 作业活动记录明细表
@ -3349,10 +3284,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobEventFile-
/// <summary>
/// 作业活动记录附件表
@ -3460,10 +3393,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobEventFlow-
/// <summary>
/// 作业流程及安全措施确认
@ -3571,10 +3502,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobEventFlowFile-
/// <summary>
/// 作业流程及安全措施附件表
@ -3682,10 +3611,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobEventMeasure-
/// <summary>
/// 作业后处理措施确认
@ -3793,10 +3720,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobEventMeasureFile-
/// <summary>
/// 作业活动记录附件表
@ -3904,10 +3829,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobEventPerson-
/// <summary>
/// 作业活动记录人员表
@ -4015,10 +3938,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region JobEventRecord-
/// <summary>
/// 作业活动记录表
@ -4126,10 +4047,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region LabourSupply-
/// <summary>
/// 劳保用品
@ -4237,10 +4156,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PreOperSch-
/// <summary>
/// 作业方案讨论记录
@ -4348,10 +4265,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PreOperSchFile-
/// <summary>
/// 作业方案讨论记录附件
@ -4459,10 +4374,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PreOperSchUser-
/// <summary>
/// 作业方案讨论记录参会人员表
@ -4570,10 +4483,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PreShiftMeetingRecord-
/// <summary>
/// 班前会议记录表
@ -4681,10 +4592,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PreShiftMeetingRecordDetail-
/// <summary>
/// 导航:上班生产情况
@ -4792,10 +4701,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PreShiftMeetingRecordDetailPost-
/// <summary>
/// 涉及岗位
@ -4903,10 +4810,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PreShiftMeetingRecordFile-
/// <summary>
/// 班前会议附件
@ -5014,10 +4919,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PreShiftMeetingRecordUser-
/// <summary>
/// 班前会议记录与会人员表
@ -5125,10 +5028,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region Scheduling-
/// <summary>
/// 工作票排班明细
@ -5236,10 +5137,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SchedulingTemplate-
/// <summary>
/// 工作票排班模板
@ -5347,10 +5246,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region SchedulingTemplateDetail-
/// <summary>
/// 明细表
@ -5458,10 +5355,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region TeamActivity-
/// <summary>
/// 班组安全活动记录表
@ -5569,10 +5464,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region TeamActivityFile-
/// <summary>
/// 班组安全活动附件
@ -5680,10 +5573,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region TeamActivityUser-
/// <summary>
/// 班组安全活动人员表
@ -5791,10 +5682,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region TeamSlogan-
/// <summary>
/// 班组口号配置
@ -5902,10 +5791,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region TechDisclosureFrom-
/// <summary>
/// 技术交底表
@ -6013,10 +5900,8 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region TechDisclosurePerson-
/// <summary>
/// 被交底人员表
@ -6124,8 +6009,6 @@ namespace APT.FO.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
}

File diff suppressed because it is too large Load Diff

View File

@ -2,12 +2,6 @@
//------------------------------------------------------------------------------
// T4模板文件基础接口类
// 此代码由T4模板自动生成
@ -22,7 +16,6 @@ using APT.BaseData.Domain.ApiModel.PF;
namespace APT.LG.WebApi.Controllers.Api
{
using APT.BaseData.Domain.Entities.LG;
#region Oprate-
/// <summary>
/// 表单操作日志表
@ -130,8 +123,6 @@ namespace APT.LG.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
}

View File

@ -2,12 +2,6 @@
//------------------------------------------------------------------------------
// T4模板文件基础接口类
// 此代码由T4模板自动生成
@ -22,7 +16,6 @@ using APT.BaseData.Domain.ApiModel.PF;
namespace APT.NW.WebApi.Controllers.Api
{
using APT.BaseData.Domain.Entities.NW;
#region Enterprise-
/// <summary>
/// 子企业表
@ -129,7 +122,6 @@ namespace APT.NW.WebApi.Controllers.Api
{
return WitEntity(null, filter);
}
/// <summary>
/// 获得树形实体数据
/// </summary>
@ -141,10 +133,8 @@ namespace APT.NW.WebApi.Controllers.Api
return WitTreeOrderEntities(null, filter);
}
}
#endregion
#region RoleDataPerm-
/// <summary>
/// 子企业数据权限表
@ -252,10 +242,8 @@ namespace APT.NW.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RoleMenu-
/// <summary>
/// 子企业权限表
@ -363,8 +351,6 @@ namespace APT.NW.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
}

View File

@ -2,12 +2,6 @@
//------------------------------------------------------------------------------
// T4模板文件基础接口类
// 此代码由T4模板自动生成
@ -22,7 +16,6 @@ using APT.BaseData.Domain.ApiModel.PF;
namespace APT.OP.WebApi.Controllers.Api
{
using APT.BaseData.Domain.Entities.OP;
#region Alluser-()
/// <summary>
/// 用户表(租户平台)
@ -130,10 +123,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region BillingRule-
/// <summary>
/// 计费规则表
@ -241,10 +232,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region BillingRuleVersion-
/// <summary>
/// 计费规则子表
@ -352,10 +341,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region ChargeTimeSet-
/// <summary>
/// 充电时长配置
@ -463,10 +450,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region Client-
/// <summary>
/// 客户表
@ -574,10 +559,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region ClinetOpenid-OpenId
/// <summary>
/// 客户表OpenId
@ -685,10 +668,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region CommonQuestion-
/// <summary>
/// 常见问题
@ -796,10 +777,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region FileFirmware-
/// <summary>
/// 充电桩固件表
@ -907,10 +886,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region Member-
/// <summary>
/// 会员表
@ -1018,10 +995,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region Menu-()
/// <summary>
/// 菜单表(租户平台)
@ -1128,7 +1103,6 @@ namespace APT.OP.WebApi.Controllers.Api
{
return WitEntity(null, filter);
}
/// <summary>
/// 获得树形实体数据
/// </summary>
@ -1140,10 +1114,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitTreeOrderEntities(null, filter);
}
}
#endregion
#region Notice-
/// <summary>
/// 公告表
@ -1251,10 +1223,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region NoticeDetail-
/// <summary>
/// 公告内容
@ -1362,10 +1332,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region PeakValleyConfig-
/// <summary>
/// 峰谷配置表
@ -1473,10 +1441,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RechargeCard-
/// <summary>
/// 充值卡
@ -1584,10 +1550,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RechargeOrder-
/// <summary>
/// 充值订单
@ -1695,10 +1659,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RechargeSetting-
/// <summary>
/// 充值金额配置
@ -1806,10 +1768,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RfidCard-RFID卡
/// <summary>
/// RFID卡
@ -1917,10 +1877,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region RoleMenu-
/// <summary>
/// 租户权限表
@ -2028,10 +1986,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region Tenant-
/// <summary>
/// 租户表
@ -2139,10 +2095,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region TenantDbConn-
/// <summary>
/// 租户数据库表
@ -2250,10 +2204,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region TenantDomain-
/// <summary>
/// 租户域名表
@ -2361,10 +2313,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region TenantExpiration-
/// <summary>
/// 租户租期表
@ -2472,10 +2422,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region User-()
/// <summary>
/// 用户表(租户平台)
@ -2583,10 +2531,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region Version-
/// <summary>
/// 版本升级表
@ -2694,10 +2640,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region VersionMenu-
/// <summary>
/// 菜单版本升级表
@ -2805,10 +2749,8 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
#region VersionTenant-
/// <summary>
/// 租户版本升级表
@ -2916,8 +2858,6 @@ namespace APT.OP.WebApi.Controllers.Api
return WitEntity(null, filter);
}
}
#endregion
}

View File

@ -2,12 +2,6 @@
//------------------------------------------------------------------------------
// T4模板文件基础接口类
// 此代码由T4模板自动生成
@ -25,7 +19,6 @@ namespace APT.PF.WebApi.Controllers.Api
using APT.BaseData.Domain.Entities;
using APT.BaseData.Domain.Entities.PF;
using APT.BaseData.Domain.Entities.T4;
#region ApprovalRole-
/// <summary>
/// 审批角色
@ -133,10 +126,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region Approve-
/// <summary>
/// 审批流主表
@ -244,10 +235,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region ApproveDetail-
/// <summary>
/// 审批流子表
@ -355,10 +344,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region ApproveOperationRole-
/// <summary>
/// 操作角色
@ -466,10 +453,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region ApproveRejectConfig-
/// <summary>
/// 审批驳回配置表
@ -577,10 +562,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region ApproveRoleDepartment-
/// <summary>
/// 分管部门
@ -688,10 +671,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region ApproveTemp-
/// <summary>
/// 审批流模板主表
@ -799,10 +780,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region ApproveTempDetail-
/// <summary>
/// 审批流模板子表
@ -910,10 +889,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region AppVersion-App版本发布
/// <summary>
/// App版本发布
@ -1021,10 +998,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region AppVersionFile-App包文件
/// <summary>
/// App包文件
@ -1132,10 +1107,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region ClientScopes-
/// <summary>
/// 资源表
@ -1243,10 +1216,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region CodeRuleRunLog-
/// <summary>
/// 编码规则跑批表
@ -1354,10 +1325,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region ComplaintLog-
/// <summary>
/// 转办记录表
@ -1465,10 +1434,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region DataChannel-
/// <summary>
/// 数据通道
@ -1576,10 +1543,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region DataFrequency-
/// <summary>
/// 采集频率
@ -1687,10 +1652,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region Fddeback-
/// <summary>
/// 意见反馈
@ -1798,10 +1761,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region FddebackFile-
/// <summary>
/// 意见反馈附件
@ -1909,10 +1870,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region FileDb-
/// <summary>
///
@ -2020,10 +1979,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region FileDbFile-
/// <summary>
///
@ -2131,10 +2088,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region FileType-
/// <summary>
///
@ -2242,10 +2197,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region FormHomeChart-
/// <summary>
/// 首页:图标区域
@ -2353,10 +2306,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region FormHomeHmi-HMI区域
/// <summary>
/// 首页HMI区域
@ -2464,10 +2415,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region FormHomeRanking-
/// <summary>
/// 首页:排名区域
@ -2575,10 +2524,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region FormHomeStatistic-
/// <summary>
/// 首页:统计区域
@ -2686,10 +2633,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region FormRelation-
/// <summary>
/// 关联表单配置
@ -2797,10 +2742,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region HomeTitle-
/// <summary>
/// 首页方针
@ -2908,10 +2851,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region MqttConfig-MQTT配置表
/// <summary>
/// MQTT配置表
@ -3019,10 +2960,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region MqttConfigTheme-
/// <summary>
///
@ -3130,10 +3069,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region Notice-
/// <summary>
/// 通知
@ -3241,10 +3178,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region NoticeFile-
/// <summary>
///
@ -3352,10 +3287,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region PicFilter-
/// <summary>
/// 图片条件主表
@ -3463,10 +3396,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region PicFilterDetail-
/// <summary>
/// 图片条件子表
@ -3574,10 +3505,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region QuestionFeedback-
/// <summary>
/// 问题反馈表
@ -3685,10 +3614,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region QuestionFeedbackFile-
/// <summary>
/// 问题反馈附件表
@ -3796,10 +3723,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region Scopes-
/// <summary>
/// 资源表
@ -3907,10 +3832,8 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
#region VersionManage-
/// <summary>
/// 版本管理表
@ -4018,8 +3941,6 @@ using APT.BaseData.Domain.Entities.T4;
return WitEntity(null, filter);
}
}
#endregion
}

View File

@ -61,28 +61,43 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
try
{
DateTime dtNow = DateTime.Now;
var Parameter1 = filter.Parameter1;
if (!string.IsNullOrEmpty(filter.Parameter1))
{
try
{
//接收来自页面的参数
DateTime deParm = Convert.ToDateTime(filter.Parameter1);
dtNow = deParm;
}
catch { }
}
#region SE安全教育培训
var config = GetEntity<T_SE_SECONFIG>(t => true, new BaseFilter(filter.GetOrgId()));
//触发安全意识调查
CheckCreateSafeSurvey(filter);
CheckCreateSafeSurvey(filter, dtNow, config);
//安全意识调查结束三天前提醒未答卷的人
CheckSafeSuveyNotAnswered(filter);
CheckSafeSuveyNotAnswered(filter, dtNow);
//培训需求调查
CheckCreateTrainSurvey(filter);
CheckCreateTrainSurvey(filter, dtNow, config);
//部门培训计划
CheckDepTrainPlan(filter);
CheckDepTrainPlan(filter, dtNow, config);
//到时间触发年度培训计划,搜集完成的部门培训计划
FinishYearTrainPlan(filter);
FinishYearTrainPlan(filter, dtNow, config);
//培训通知
CheckYearTrainPlan(filter);
CheckYearTrainPlan(filter, dtNow);
//换证培训触发
CreateRenewalTrain(filter);
CreateRenewalTrain(filter, dtNow);
#endregion
#region LR法律法规
//触发需求识别
NoticeStartDemandDistinguish(filter);
NoticeStartDemandDistinguish(filter, dtNow);
//通知安环部负责人安全生产法律法规更新与融入
NoticeLRLawIntegrateUpdate(filter);
NoticeLRLawIntegrateUpdate(filter, dtNow);
#endregion
}
catch (Exception ex)
@ -388,12 +403,12 @@ namespace APT.PP.WebApi.Controllers.Api.PP
return str;
}
//触发换证培训通知
private void CreateRenewalTrain(KeywordFilter filter)
private void CreateRenewalTrain(KeywordFilter filter, DateTime dtNow)
{
var baseFilter = new BaseFilter(filter.GetOrgId());
baseFilter.Include = new string[] { "Nav_User" };
DateTime dtMonth3Later = DateTime.Now.Date.AddMonths(3);
DateTime dtNow1DayLater = DateTime.Now.Date.AddDays(1);
DateTime dtMonth3Later = dtNow.Date.AddMonths(3);
DateTime dtNow1DayLater = dtNow.Date.AddDays(1);
var allTrain = GetEntities<T_SE_RENEWAL_TRAIN>(t => t.IS_DELETED == false && t.Nav_User.ENABLE_STATUS == 0 && (t.REVIEW_DATE == dtMonth3Later || t.EXPIRY_DATE == dtMonth3Later || t.EXPIRY_DATE == dtNow1DayLater), baseFilter);//wyw 加限制
var overTime = allTrain.Where(t => t.REVIEW_DATE == dtMonth3Later || t.EXPIRY_DATE == dtMonth3Later);//wyw 到期 或 到复审日期 提前3个月做提醒
@ -450,7 +465,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
/// <param name="filter"></param>
/// <returns></returns>
[HttpGet, Route("NoticeStartDemandDistinguish")]
public JsonActionResult<bool> NoticeStartDemandDistinguish([FromBody] KeywordFilter filter)
public JsonActionResult<bool> NoticeStartDemandDistinguish(KeywordFilter filter, DateTime dtNow)
{
return SafeExecute<bool>(() =>
{
@ -458,20 +473,20 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
List<T_LR_DEMAND_DISTINGUISH> demandDistinguishes = new List<T_LR_DEMAND_DISTINGUISH>();
List<T_FM_NOTIFICATION_TASK> sendNotices = new List<T_FM_NOTIFICATION_TASK>();
DateTime nowTime = DateTime.Now;
//DateTime nowTime = DateTime.Now;
BaseFilter baseFilter = new BaseFilter(filter.GetOrgId());
var config = GetEntity<T_LR_LRCONFIG>(t => t.IS_DELETED == false);
var isRun = false;
if (config != null)
{
if (config.ENABLE_STATUS == 0 && config.DEMAND_START_TIME.Month == nowTime.Month && config.DEMAND_START_TIME.Day == nowTime.Day)
if (config.ENABLE_STATUS == 0 && config.DEMAND_START_TIME.Month == dtNow.Month && config.DEMAND_START_TIME.Day == dtNow.Day)
{
isRun = true;
}
}
else
{
if (nowTime.Month == 12 && nowTime.Day == 1)
if (dtNow.Month == 12 && dtNow.Day == 1)
{
isRun = true;
}
@ -484,7 +499,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
var allSendUserIds = new List<Guid>();
var allSendUserNames = new List<string>();
var endTime = config.DEMAND_END_TIME;
endTime = new DateTime(nowTime.Year, endTime.Month, endTime.Day, 23, 59, 59);
endTime = new DateTime(dtNow.Year, endTime.Month, endTime.Day, 23, 59, 59);
if (entity == null)
{
var users = GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"), baseFilter);
@ -881,7 +896,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
/// <param name="filter"></param>
/// <returns></returns>
[HttpGet, Route("NoticeLRLawIntegrateUpdate")]
public JsonActionResult<bool> NoticeLRLawIntegrateUpdate([FromBody] KeywordFilter filter)
public JsonActionResult<bool> NoticeLRLawIntegrateUpdate(KeywordFilter filter, DateTime dtNow)
{
return SafeExecute<bool>(() =>
{
@ -891,7 +906,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
T_LR_LAW_INTEGRATE_UPDATE lawIntegrateUpdate = null;
List<T_LR_LAW_INTEGRATE_UPDATE_DETAIL> integrateUpdateDetails = new List<T_LR_LAW_INTEGRATE_UPDATE_DETAIL>();
T_FM_NOTIFICATION_TASK sendNotice = null;
DateTime nowTime = DateTime.Now;
//DateTime nowTime = DateTime.Now;
BaseFilter baseFilter = new BaseFilter(filter.GetOrgId());
var config = GetEntities<T_LR_INTEGRATE_UPDATE_TIME>(t => t.IS_DELETED == false, baseFilter);
if (config != null && config.Any())
@ -899,7 +914,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
bool isTime = false;
config.ForEach(t =>
{
if (t.INTEGRATE_UPDATE_TIME.Month == nowTime.Month && t.INTEGRATE_UPDATE_TIME.Day == nowTime.Day)
if (t.INTEGRATE_UPDATE_TIME.Month == dtNow.Month && t.INTEGRATE_UPDATE_TIME.Day == dtNow.Day)
{
isTime = true;
}
@ -908,7 +923,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
lawIntegrateUpdate = new T_LR_LAW_INTEGRATE_UPDATE();
lawIntegrateUpdate.ID = Guid.NewGuid();
lawIntegrateUpdate.YEAR = nowTime;
lawIntegrateUpdate.YEAR = dtNow;
lawIntegrateUpdate.ORG_ID = filter.GetOrgId();
lawIntegrateUpdate.RATE = "0";
var laws = GetEntities<T_LR_LAW>(t => t.LAW_STATUS == BSLawStatusEnum., baseFilter, new string[] { "Nav_LawVersion", "Nav_LawSCSystem" }).ToList();
@ -970,10 +985,8 @@ namespace APT.PP.WebApi.Controllers.Api.PP
/// 触发安全意识调查
/// </summary>
/// <param name="filter"></param>
private void CheckCreateSafeSurvey([FromBody] KeywordFilter filter)
private void CheckCreateSafeSurvey(KeywordFilter filter, DateTime dtNow, T_SE_SECONFIG config)
{
var config = GetEntity<T_SE_SECONFIG>(t => true);
var dt = DateTime.Now;
var mm = 12;
var dd = 1;
if (config != null && config.SAFE_SERVEY_TRIGGER_TIME != null)
@ -981,12 +994,12 @@ namespace APT.PP.WebApi.Controllers.Api.PP
mm = config.SAFE_SERVEY_TRIGGER_TIME.Value.Month;
dd = config.SAFE_SERVEY_TRIGGER_TIME.Value.Day;
}
if (!(mm == dt.Month && dd == dt.Day))
if (!(mm == dtNow.Month && dd == dtNow.Day))
return;
var data = GetEntity<T_SE_SAFE_SURVEY>(t => t.LAUNCH_TIME != null &&
t.LAUNCH_TIME.Value.Year == dt.Year &&
t.LAUNCH_TIME.Value.Month == dt.Month &&
t.LAUNCH_TIME.Value.Day == dt.Day);
t.LAUNCH_TIME.Value.Year == dtNow.Year &&
t.LAUNCH_TIME.Value.Month == dtNow.Month &&
t.LAUNCH_TIME.Value.Day == dtNow.Day);
if (data != null)
{
return;
@ -1058,12 +1071,12 @@ namespace APT.PP.WebApi.Controllers.Api.PP
BantchAddEntityNoCommit(safeSurveyDeps);
});
}
private void CheckSafeSuveyNotAnswered([FromBody] KeywordFilter filter)
private void CheckSafeSuveyNotAnswered(KeywordFilter filter, DateTime dtNow)
{
//截止日前前3天未完成推送今日提醒给该员工本人
var dt = DateTime.Now;
var lasttime = dt.AddDays(3);
var surveys = GetEntities<T_SE_SAFE_SURVEY>(t => t.LAUNCH_TIME.Value.Year == dt.Year && t.STATUS == SESafeSurveyStatus. && t.END_TIME.Value <= lasttime && dt < t.END_TIME.Value,
//var dt = DateTime.Now;
var lasttime = dtNow.AddDays(3);
var surveys = GetEntities<T_SE_SAFE_SURVEY>(t => t.LAUNCH_TIME.Value.Year == dtNow.Year && t.STATUS == SESafeSurveyStatus. && t.END_TIME.Value <= lasttime && dtNow < t.END_TIME.Value,
new BaseFilter(filter.GetOrgId()), new string[] { "Nav_Papers.Nav_User" }).ToList();
if (surveys == null || surveys.Count == 0)
{
@ -1105,10 +1118,8 @@ namespace APT.PP.WebApi.Controllers.Api.PP
/// <summary>
/// 触发培训需求调查
/// </summary>
private void CheckCreateTrainSurvey([FromBody] KeywordFilter filter)
private void CheckCreateTrainSurvey(KeywordFilter filter, DateTime dtNow, T_SE_SECONFIG config)
{
var config = GetEntity<T_SE_SECONFIG>(t => true);
var dt = DateTime.Now;
var mm = 12;
var dd = 1;
if (config != null && config.TRAIN_SURVEY_TRIGGER_TIME != null)
@ -1116,14 +1127,14 @@ namespace APT.PP.WebApi.Controllers.Api.PP
mm = config.TRAIN_SURVEY_TRIGGER_TIME.Value.Month;
dd = config.TRAIN_SURVEY_TRIGGER_TIME.Value.Day;
}
if (!(mm == dt.Month && dd == dt.Day))
if (!(mm == dtNow.Month && dd == dtNow.Day))
{
return;
}
var data = GetEntity<T_SE_TRAIN_SURVEY>(t => t.LAUNCH_TIME != null &&
t.LAUNCH_TIME.Value.Year == dt.Year &&
t.LAUNCH_TIME.Value.Month == dt.Month &&
t.LAUNCH_TIME.Value.Day == dt.Day);
t.LAUNCH_TIME.Value.Year == dtNow.Year &&
t.LAUNCH_TIME.Value.Month == dtNow.Month &&
t.LAUNCH_TIME.Value.Day == dtNow.Day);
if (data != null)
{
return;
@ -1336,12 +1347,10 @@ namespace APT.PP.WebApi.Controllers.Api.PP
return true;
});
}
private JsonActionResult<bool> FinishYearTrainPlan([FromBody] KeywordFilter filter)
private JsonActionResult<bool> FinishYearTrainPlan(KeywordFilter filter, DateTime dtNow, T_SE_SECONFIG config)
{
return SafeExecute<bool>(() =>
{
var config = GetEntity<T_SE_SECONFIG>(t => true);
var dt = DateTime.Now;
var mm = 12;
var dd = 1;
if (config != null && config.TRAIN_SURVEY_TRIGGER_TIME != null)
@ -1349,11 +1358,11 @@ namespace APT.PP.WebApi.Controllers.Api.PP
mm = config.DEP_TRAIN_PLAN_END_TIME.Value.Month;
dd = config.DEP_TRAIN_PLAN_END_TIME.Value.Day;
}
if (!(mm == dt.Month && dd == dt.Day))
if (!(mm == dtNow.Month && dd == dtNow.Day))
{
return true;
}
var finishYearPlan = GetEntity<T_SE_YEAR_TRAIN_PLAN>(t => t.PLAN_YEAR == dt.Year && t.STATUS == PFStandardStatus.Draft);
var finishYearPlan = GetEntity<T_SE_YEAR_TRAIN_PLAN>(t => t.PLAN_YEAR == dtNow.Year && t.STATUS == PFStandardStatus.Draft);
if (finishYearPlan == null)
{
@ -1361,7 +1370,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
ID = Guid.NewGuid(),
ORG_ID = filter.GetOrgId(),
PLAN_YEAR = dt.Year,
PLAN_YEAR = dtNow.Year,
END_TIME = Convert.ToDateTime(DateTime.Now.ToString("D").ToString()),
};
}
@ -1393,16 +1402,26 @@ namespace APT.PP.WebApi.Controllers.Api.PP
return true;
});
}
public void CheckYearTrainPlan([FromBody] KeywordFilter filter)
public void CheckYearTrainPlan(KeywordFilter filter, DateTime dtNow)
{
// select top 100 * from T_SE_DEP_TRAIN_PLAN order by CREATE_TIME desc
//select top 100 * from T_SE_DEP_TRAIN_PLAN_DETAIL where DEP_TRAIN_PLAN_ID in ('AC8AAFBB-67FA-FB92-F522-89D7697F1C68', '65511754-9515-6320-30FB-17768F095635') order by MOON desc
//select top 100 * from T_SE_YEAR_TRAIN_PLAN order by CREATE_TIME desc
//select top 100 * from T_SE_YEAR_TRAIN_PLAN_DETAIL where YEAR_TRAIN_PLAN_ID in ('BF736F5B-7FB8-4A8F-8511-957F0D5CC585') order by MOON desc
//培训月份1日倒退7天触发待办给责任人制定培训通知
var dt = DateTime.Now;
if (filter.Parameter1 != null)
{
dt = DateTime.Parse(filter.Parameter1);
}
var tmpDate = dt;
var planNoticeData = GetEntities<T_SE_YEAR_TRAIN_PLAN_DETAIL>(t => t.Nav_YearTrainPlan.STATUS == PFStandardStatus.Archived && t.Nav_YearTrainPlan.PLAN_YEAR == dt.Year && t.MOON == tmpDate.Month && 1 == tmpDate.Day && t.SEND == 0 && t.RESPONSIBILITY_USER_ID != null, new BaseFilter(filter.GetOrgId()),
//var dt = DateTime.Now;
//if (filter.Parameter1 != null)
//{
// dt = DateTime.Parse(filter.Parameter1);
//}
var tmpDate = dtNow;
var planNoticeData = GetEntities<T_SE_YEAR_TRAIN_PLAN_DETAIL>(t => t.Nav_YearTrainPlan.STATUS == PFStandardStatus.Archived && t.Nav_YearTrainPlan.PLAN_YEAR == dtNow.Year && t.MOON == tmpDate.Month && 1 == tmpDate.Day && t.SEND == 0 && t.RESPONSIBILITY_USER_ID != null, new BaseFilter(filter.GetOrgId()),
new string[] { "Nav_YearTrainPlan", "Nav_ResponsibilityUser", "Nav_YearTrainPlanContent" });
List<T_SE_TRAIN_NOTIFY> trainNotifys = new List<T_SE_TRAIN_NOTIFY>();
List<T_SE_TRAIN_NOTIFY_CONTENT_REL> trainNotifyContents = new List<T_SE_TRAIN_NOTIFY_CONTENT_REL>();
@ -1424,7 +1443,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
trainNotify.ID = Guid.NewGuid();
trainNotify.LAUNCH_TIME = dt;
trainNotify.LAUNCH_TIME = dtNow;
if (plan.Nav_ResponsibilityUser != null)
{
trainNotify.LAUNCH_DEPARTMENT_ID = plan.Nav_ResponsibilityUser.DEPARTMENT_ID;
@ -1477,25 +1496,23 @@ namespace APT.PP.WebApi.Controllers.Api.PP
BantchAddEntityNoCommit(trainNotifyContents);
});
}
public void CheckDepTrainPlan([FromBody] KeywordFilter filter)
public void CheckDepTrainPlan(KeywordFilter filter, DateTime dtNow, T_SE_SECONFIG config)
{
//检查配置是否存在,并验证是否在同一天
var dt = DateTime.Now;
DateTime startTime = new DateTime(dt.Year, 1, 1);
DateTime endTime = new DateTime(dt.Year, 1, 15);
DateTime startTime = new DateTime(dtNow.Year, 1, 1);
DateTime endTime = new DateTime(dtNow.Year, 1, 15);
var mm = 12;
var dd = 1;
var config = GetEntity<T_SE_SECONFIG>(t => true, new BaseFilter(filter.GetOrgId()));
if (config != null)
{
if (config.DEP_TRAIN_PLAN_START_TIME != null)
{
startTime = new DateTime(dt.Year, config.DEP_TRAIN_PLAN_START_TIME.Value.Month, config.DEP_TRAIN_PLAN_START_TIME.Value.Day);
startTime = new DateTime(dtNow.Year, config.DEP_TRAIN_PLAN_START_TIME.Value.Month, config.DEP_TRAIN_PLAN_START_TIME.Value.Day);
mm = startTime.Month;
dd = startTime.Day;
if (config.DEP_TRAIN_PLAN_END_TIME != null)
{
endTime = new DateTime(dt.Year, config.DEP_TRAIN_PLAN_END_TIME.Value.Month, config.DEP_TRAIN_PLAN_END_TIME.Value.Day);
endTime = new DateTime(dtNow.Year, config.DEP_TRAIN_PLAN_END_TIME.Value.Month, config.DEP_TRAIN_PLAN_END_TIME.Value.Day);
}
else
{
@ -1503,9 +1520,9 @@ namespace APT.PP.WebApi.Controllers.Api.PP
}
}
}
if (!(mm == dt.Month && dd == dt.Day))
if (!(mm == dtNow.Month && dd == dtNow.Day))
return;
var existList = GetEntity<T_SE_DEP_TRAIN_PLAN>(t => t.PLAN_YEAR == dt.Year &&
var existList = GetEntity<T_SE_DEP_TRAIN_PLAN>(t => t.PLAN_YEAR == dtNow.Year &&
t.LAUNCH_TIME != null &&
t.LAUNCH_TIME.Value.Month == startTime.Month &&
t.LAUNCH_TIME.Value.Day == startTime.Day,
@ -1541,8 +1558,8 @@ namespace APT.PP.WebApi.Controllers.Api.PP
T_SE_DEP_TRAIN_PLAN record = new T_SE_DEP_TRAIN_PLAN
{
ID = planId,
PLAN_YEAR = dt.Year,
LAUNCH_TIME = dt,
PLAN_YEAR = dtNow.Year,
LAUNCH_TIME = dtNow,
LAUNCH_DEPARTMENT_ID = dep.Nav_Department.ID,
TRIGGER_TYPE = SEDepTrainPlanTriggerType.,
STATUS = PFStandardStatus.Draft,

View File

@ -2,12 +2,6 @@
//------------------------------------------------------------------------------
// T4模板文件基础接口类
// 此代码由T4模板自动生成
@ -21,5 +15,4 @@ using APT.Infrastructure.Api;
using APT.BaseData.Domain.ApiModel.PF;
namespace APT.PP.WebApi.Controllers.Api
{
}

View File

@ -33,6 +33,10 @@ namespace APT.SC.WebApi.Controllers.Api.SE
{
throw new Exception("请注意试题总分是否为100分!");
}
if (entity.ORG_ID == null && APT.Infrastructure.Api.AppContext.CurrentSession.OrgId.HasValue)
{
entity.ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId;
}
this.UnifiedCommit(() =>
{
UpdateEntityNoCommit(entity);

View File

@ -0,0 +1,291 @@
using System;
using System.Collections.Generic;
using System.Linq;
using APT.BaseData.Domain.Entities.FM;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.SE;
using APT.Utility;
using Microsoft.AspNetCore.Mvc;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.IO;
using APT.Infrastructure.Api;
using APT.BaseData.Domain.Enums;
using APT.BaseData.Domain.Enums.PF;
using System.Linq.Expressions;
using APT.BaseData.Domain.IServices;
using APT.BaseData.Domain.IServices.FM;
using APT.BaseData.Domain.Entities;
using APT.MS.Domain.Enums;
namespace APT.SC.WebApi.Controllers.Api.SE
{
[Route("api/SE/SETrainPlan")]
public class SETrainPlanController : AuthorizeApiController<T_SE_TRAIN_PLAN>
{
IFMNotificationTaskService NotificationTaskService { get; set; }
//IFMDepartmentService DepartmentService { get; set; }
//IPFSysLogService SysLogService { get; set; }
//IFMUserService UserService { get; set; }
IFMFlowPermitService MFlowPermitService { get; set; }
//IPFCodeRuleService CodeRuleService { get; set; }
IPFApproveCallBackService ApproveCallBackService { get; set; }
//IBSOperateLogService OperateLogService { get; set; }
public SETrainPlanController(IPFApproveCallBackService approveCallBackService, IFMFlowPermitService mFlowPermitService, IFMNotificationTaskService notificationTaskService)
{
NotificationTaskService = notificationTaskService;
//DepartmentService = departmentService;
//SysLogService = sysLogService;
//UserService = userService;
//IBSOperateLogService operateLogService,
MFlowPermitService = mFlowPermitService;
//CodeRuleService = codeRuleService;
ApproveCallBackService = approveCallBackService;
//OperateLogService = operateLogService;
}
/// <summary>
/// 保存
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost, Route("FullUpdate")]
public JsonActionResult<bool> FullUpdate([FromBody] T_SE_TRAIN_PLAN entity)
{
return SafeExecute(() =>
{
var Files = entity.Nav_Files;
entity.Nav_Files = null;
var ListPlanDetail = entity.Nav_ListPlanDetail;
entity.Nav_ListPlanDetail = null;
List<T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT> ListDetailDepartment = new List<T_SE_TRAIN_PLAN_DETAIL_DEPARTMENT>();
Expression<Func<T_SE_TRAIN_PLAN, bool>> expression = e => e.ID != entity.ID && e.YEAR == entity.YEAR && !e.IS_DELETED;
if (entity.TYPE == MS.Domain.Enums.PlanType.Company)
{
expression = expression.And(e => e.TYPE == entity.TYPE);
}
else
{
expression = expression.And(e => e.DEPARTMENT_ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID);
}
var check = GetEntity(expression);
if (check != null)
{
throw new Exception("您所在层级/组织当年度已经制定过培训计划,请勿多次提交!");
}
if (ListPlanDetail != null && ListPlanDetail.Count() > 0)
{
foreach (var item in ListPlanDetail)
{
item.DATE_TRAIN = Convert.ToDateTime(entity.YEAR + "-" + item.MONTH + "-01 00:00:00");
}
}
if (ListPlanDetail != null && ListPlanDetail.Count() > 0)
{
foreach (var item in ListPlanDetail)
{
if (item.Nav_ListDetailDepartment != null && item.Nav_ListDetailDepartment.Count() > 0)
{
ListDetailDepartment.AddRange(item.Nav_ListDetailDepartment.ToList());
item.Nav_ListDetailDepartment = null;
}
item.Nav_ListDetailDepartment = null;
item.Nav_Department = null;
}
}
if (ListDetailDepartment != null && ListDetailDepartment.Any())
{
foreach (var item in ListDetailDepartment)
{
item.Nav_Department = null;
}
}
if (entity.STATUS == PFStandardStatus.Sign)
{
//审批
if (ListPlanDetail != null && ListPlanDetail.Count() > 0)
{
int rowIndex = 0;
foreach (var item in ListPlanDetail)
{
rowIndex++;
if (item.CLASSHOUR <= 0)
{
throw new Exception("培训学时必须大于0!行:" + rowIndex);
}
if (!item.DEPARTMENT_ID.HasValue)
{
throw new Exception("请选择培训组织!行:" + rowIndex);
}
}
}
MFlowPermitService.InsertApprove(null, "SE071", ((int)entity.TYPE).ToString(), entity.ID, "SE071_SHOWPRINT", entity.TaskID, true, () =>
{
UpdateEntityNoCommit(entity);
if (Files != null && Files.Any())
BantchSaveEntityNoCommit(Files);
if (ListPlanDetail != null && ListPlanDetail.Any())
BantchSaveEntityNoCommit(ListPlanDetail);
if (ListDetailDepartment != null && ListDetailDepartment.Any())
BantchSaveEntityNoCommit(ListDetailDepartment);
}, null, APT.Infrastructure.Api.AppContext.CurrentSession.UserID, null, null, null, "SE071_SHOWPRINT", null, null, FMTASKTYPE.Default);
}
this.UnifiedCommit(() =>
{
UpdateEntityNoCommit(entity);
if (Files != null && Files.Any())
BantchSaveEntityNoCommit(Files);
if (ListPlanDetail != null && ListPlanDetail.Any())
BantchSaveEntityNoCommit(ListPlanDetail);
if (ListDetailDepartment != null && ListDetailDepartment.Any())
BantchSaveEntityNoCommit(ListDetailDepartment);
});
return true;
});
}
/// <summary>
/// 获得单条实体数据
/// </summary>
/// <param name="filter">过滤实体</param>
/// <returns></returns>
[HttpPost, Route("GetSuit")]
public JsonActionResult<T_SE_TRAIN_PLAN> Get([FromBody] KeywordFilter filter)
{
return SafeExecute(() =>
{
var result = GetEntity<T_SE_TRAIN_PLAN>(null, filter, null);
if (result.Nav_ListPlanDetail != null && result.Nav_ListPlanDetail.Any())
{
foreach (var item in result.Nav_ListPlanDetail)
{
item.MONTH = item.DATE_TRAIN.Month;
}
result.Nav_ListPlanDetail = result.Nav_ListPlanDetail.OrderBy(e => e.DEPARTMENT_ID).ThenBy(e => e.DATE_TRAIN).ToList();
}
return result;
});
}
/// <summary>
/// 部门级培训计划新增时 默认带出 公司级的信息
/// </summary>
/// <param name="filter">过滤实体</param>
/// <returns></returns>
[HttpPost, Route("GetIni")]
public JsonActionResult<T_SE_TRAIN_PLAN> GetIni([FromBody] KeywordFilter filter)
{
return SafeExecute(() =>
{
T_SE_TRAIN_PLAN result = new T_SE_TRAIN_PLAN();
result.ID = Guid.NewGuid();
int Year = DateTime.Now.Year;
if (!string.IsNullOrEmpty(filter.Parameter1))
{
try
{
Year = int.Parse(filter.Parameter1);
}
catch
{
Year = DateTime.Now.Year;
}
}
DateTime dtMax = Convert.ToDateTime(Year + "-12-31 23:59:59");
DateTime dtMin = dtMax.AddMilliseconds(1).AddYears(-1);
result.TYPE = MS.Domain.Enums.PlanType.Department;
result.YEAR = Year;
result.LAUNCH_USER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
result.DEPARTMENT_ID = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
result.LAUNCH_TIME = DateTime.Now;
var detail = GetEntities<T_SE_TRAIN_PLAN_DETAIL>(e => e.DATE_TRAIN >= dtMin && e.DATE_TRAIN <= dtMax && e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID.Value == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID && !e.IS_DELETED && e.STATUS != PFStandardStatus.Draft && e.Nav_Plan.STATUS == PFStandardStatus.Archived, null, "Nav_Plan").ToList();
if (detail != null && detail.Count() > 0)
{
detail = detail.OrderBy(e => e.DATE_TRAIN).ToList();
if (detail != null && detail.Count() > 0 && !result.PLAN_ID.HasValue)
{
result.PLAN_ID = detail[0].PLAN_ID;
}
foreach (var item in detail)
{
item.PLAN_DETAIL_ID = item.ID;
item.ID = Guid.NewGuid();
item.CREATE_TIME = DateTime.Now;
item.PLAN_ID = result.ID;
item.MONTH = item.DATE_TRAIN.Month;
item.DEPARTMENT_ID = null;
item.STATUS = PFStandardStatus.Draft;
item.Nav_Plan = null;
}
result.Nav_ListPlanDetail = detail;
}
return result;
});
}
/// <summary>
/// 隐患上报 审核通过 给每个通知负责人发送通知
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost, Route("PlanAuditNew")]
public JsonActionResult<bool> PlanAuditNew([FromBody] T_PF_APPROVE entity)
{
return SafeExecute<bool>(() =>
{
return ApproveCallBackService.CallBackNew("SE/SETrainPlan/PlanAuditNew", entity);
});
}
/// <summary>
/// 年度培训计划驳回
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[HttpPost, Route("PlanAuditBack")]
public JsonActionResult<bool> PlanAuditBack([FromBody] T_PF_APPROVE model)
{
return SafeExecute<bool>(() =>
{
T_PF_APPROVE modelApp = null;
List<T_PF_APPROVE_DETAIL> listAppDetail = null;
T_FM_NOTIFICATION_TASK taskFinish = null;
string Msg = string.Empty;
bool ResultGetInfo = ApproveCallBackService.GetApproject(model, ref modelApp, ref listAppDetail, ref taskFinish, ref Msg);
if (!ResultGetInfo)
throw new Exception("驳回失败!");
if (modelApp == null || listAppDetail == null)
throw new Exception("获取驳回信息失败!");
var entity = this.GetEntity<T_SE_TRAIN_PLAN>(model.DATA_ID);
string NAME = string.Empty;
if (entity.LAUNCH_USER_ID.HasValue)
{
NAME= GetEntity<T_FM_USER>(entity.LAUNCH_USER_ID.Value)?.NAME;
}
entity.STATUS = PFStandardStatus.Rejected;
T_FM_NOTIFICATION_TASK noticeBack = NotificationTaskService.InsertUserNoticeTaskModel("(驳回)年度培训计划", entity.ID, entity.ORG_ID, (Guid)entity.LAUNCH_USER_ID, NAME, DateTime.Now, (int)FMNoticeTypeEnum., "SE071", FMTASKTYPE.Default);
//entity.Nav_User = null;
UnifiedCommit(() =>
{
if (entity != null)
this.UpdateEntityNoCommit(entity);
if (noticeBack != null)
this.UpdateEntityNoCommit(noticeBack);
if (modelApp != null)
UpdateEntityNoCommit(modelApp);
if (listAppDetail != null && listAppDetail.Count > 0)
BantchUpdateEntityNoCommit(listAppDetail);
if (taskFinish != null)
UpdateEntityNoCommit(taskFinish);
});
return true;
});
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff