Merge branch 'main' of http://47.122.43.22:3000/wjn/mh_sms
This commit is contained in:
commit
33fc8a5f67
@ -14,7 +14,7 @@ namespace APT.BaseData.Domain.Entities.FM
|
|||||||
[Description("节点ID")]
|
[Description("节点ID")]
|
||||||
|
|
||||||
[DataFieldForeignKey("Nav_DepartMent","Nav_DepartmentScheduling")]
|
[DataFieldForeignKey("Nav_DepartMent","Nav_DepartmentScheduling")]
|
||||||
public Guid DEPARTMENT_ID { get; set; }
|
public Guid? DEPARTMENT_ID { get; set; }
|
||||||
|
|
||||||
[Description("日历配置ID")]
|
[Description("日历配置ID")]
|
||||||
[DataFieldForeignKey("Nav_DepartmentCalendarConfig")]
|
[DataFieldForeignKey("Nav_DepartmentCalendarConfig")]
|
||||||
@ -33,7 +33,7 @@ namespace APT.BaseData.Domain.Entities.FM
|
|||||||
|
|
||||||
[Description("班次ID")]
|
[Description("班次ID")]
|
||||||
[DataFieldForeignKey("Nav_Class")]
|
[DataFieldForeignKey("Nav_Class")]
|
||||||
public Guid CLASS_ID { get; set; }
|
public Guid? CLASS_ID { get; set; }
|
||||||
|
|
||||||
[Description("班组ID")]
|
[Description("班组ID")]
|
||||||
[DataFieldForeignKey("Nav_Team")]
|
[DataFieldForeignKey("Nav_Team")]
|
||||||
|
|||||||
@ -15,9 +15,11 @@ using APT.MS.Domain.Entities.HM;
|
|||||||
using APT.MS.Domain.Entities.PF;
|
using APT.MS.Domain.Entities.PF;
|
||||||
using APT.MS.Domain.Entities.SC.SC;
|
using APT.MS.Domain.Entities.SC.SC;
|
||||||
using APT.MS.Domain.Enums;
|
using APT.MS.Domain.Enums;
|
||||||
|
using Google.Protobuf.Collections;
|
||||||
using InfluxData.Net.InfluxDb.Models.Responses;
|
using InfluxData.Net.InfluxDb.Models.Responses;
|
||||||
using MySqlX.XDevAPI.Common;
|
using MySqlX.XDevAPI.Common;
|
||||||
using NPOI.SS.Formula.Functions;
|
using NPOI.SS.Formula.Functions;
|
||||||
|
using Org.BouncyCastle.Ocsp;
|
||||||
using Org.BouncyCastle.Utilities;
|
using Org.BouncyCastle.Utilities;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -5318,7 +5320,7 @@ namespace APT.BaseData.Services.DomainServices
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private bool PersonalApprove(string id)
|
private bool PersonalApprove(string id)
|
||||||
{
|
{
|
||||||
var entity = GetEntity<T_HM_EVALUATION_PLAN>(id);
|
var entity = GetEntity<T_HM_EVALUATION_PLAN>(id, new string[] { "Nav_Details.Nav_Areas", "Nav_Details.Nav_Identifyings" });
|
||||||
entity.STATUS = FOPreMeetingStatusEnum.归档;
|
entity.STATUS = FOPreMeetingStatusEnum.归档;
|
||||||
T_HM_NOTICE_RELEASE model = new T_HM_NOTICE_RELEASE();
|
T_HM_NOTICE_RELEASE model = new T_HM_NOTICE_RELEASE();
|
||||||
List<T_HM_NOTICE_RELEASE_FILE> noticefiles = new List<T_HM_NOTICE_RELEASE_FILE>();
|
List<T_HM_NOTICE_RELEASE_FILE> noticefiles = new List<T_HM_NOTICE_RELEASE_FILE>();
|
||||||
@ -5392,6 +5394,217 @@ namespace APT.BaseData.Services.DomainServices
|
|||||||
sendUser = (Guid)GetEntity<T_FM_DEPARTMENT>(t => t.NAME == "综合部").USER_ID;
|
sendUser = (Guid)GetEntity<T_FM_DEPARTMENT>(t => t.NAME == "综合部").USER_ID;
|
||||||
sendUserName = GetEntity<T_FM_USER>(sendUser.ToString()).NAME;
|
sendUserName = GetEntity<T_FM_USER>(sendUser.ToString()).NAME;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Guid depId = Guid.Empty;
|
||||||
|
List<T_HM_RISK_TASK> risks = new List<T_HM_RISK_TASK>();
|
||||||
|
List<T_HM_RISK_TASK_AREA> listRiskArea = new List<T_HM_RISK_TASK_AREA>();
|
||||||
|
List<T_HM_RISK_TASK_IDENTIFYING> listRiskIdentifyings = new List<T_HM_RISK_TASK_IDENTIFYING>();
|
||||||
|
List<T_HM_RISK_TASK_DETAIL> listRiskDetails = new List<T_HM_RISK_TASK_DETAIL>();
|
||||||
|
List<T_HM_HAZARD_TASK> hazards = new List<T_HM_HAZARD_TASK>();
|
||||||
|
List<T_HM_HAZARD_TASK_DETAIL> listHazardDetails = new List<T_HM_HAZARD_TASK_DETAIL>();
|
||||||
|
List<T_HM_HAZARD_TASK_IDENTIFYING> listHazardIdentifyings = new List<T_HM_HAZARD_TASK_IDENTIFYING>();
|
||||||
|
List<T_HM_HAZARD_TASK_AREA> listHazardArea = new List<T_HM_HAZARD_TASK_AREA>();
|
||||||
|
List<T_HM_RISK_TASK_USER> taskUsers = new List<T_HM_RISK_TASK_USER>();
|
||||||
|
List<T_FM_NOTIFICATION_TASK> sendNoticeList = null;
|
||||||
|
var departmentFilter = new BaseFilter(orgId);
|
||||||
|
var userIds = entity.Nav_Details.Where(t => t.IS_DELETED == false).Select(t => t.CHARGE_USER_ID);
|
||||||
|
var users = GetEntities<T_FM_USER>(t => userIds.Contains(t.ID) || t.APPROVE_ROLE_ID != null, new BaseFilter(entity.ORG_ID));
|
||||||
|
var depts = GetEntities<T_FM_DEPARTMENT>(t => t.IS_DELETED == false, new BaseFilter(entity.ORG_ID));
|
||||||
|
var riskDetails = entity.Nav_Details.Where(t => t.IS_DELETED == false && t.RISK_TYPE == HMRiskTypeEnmu.危险源辨识);
|
||||||
|
var hazardDetails = entity.Nav_Details.Where(t => t.IS_DELETED == false && t.RISK_TYPE == HMRiskTypeEnmu.职业危害辨识);
|
||||||
|
var noticeTitles = new List<string>();
|
||||||
|
var noticeUserIds = new List<Guid>();
|
||||||
|
var noticeUserNames = new List<string>();
|
||||||
|
var noticeDataIds = new List<Guid>();
|
||||||
|
var noticeFormCodes = new List<string>();
|
||||||
|
SystemCodeFilter riskCode = new SystemCodeFilter
|
||||||
|
{
|
||||||
|
CodeType = (int)PFCodeRuleType.风险辨识任务编号,
|
||||||
|
Count = riskDetails.Count(),
|
||||||
|
OrgId = entity.ORG_ID
|
||||||
|
};
|
||||||
|
var riskCodes = CodeRuleService.NewGenSerial(riskCode);
|
||||||
|
var riskCodeList = riskCodes.Split(new char[] { ',' });
|
||||||
|
SystemCodeFilter hazardCode = new SystemCodeFilter
|
||||||
|
{
|
||||||
|
CodeType = (int)PFCodeRuleType.风险辨识任务编号,
|
||||||
|
Count = hazardDetails.Count(),
|
||||||
|
OrgId = entity.ORG_ID
|
||||||
|
};
|
||||||
|
var hazardCodes = CodeRuleService.NewGenSerial(hazardCode);
|
||||||
|
var hazardCodeList = hazardCodes.Split(new char[] { ',' });
|
||||||
|
int riskIndex = 0;
|
||||||
|
foreach (var riskDetail in riskDetails)
|
||||||
|
{
|
||||||
|
T_HM_RISK_TASK riskTask = new T_HM_RISK_TASK();
|
||||||
|
riskTask.ID = Guid.NewGuid();
|
||||||
|
var user = users.FirstOrDefault(t => t.ID == riskDetail.CHARGE_USER_ID);
|
||||||
|
if (user != null)
|
||||||
|
riskTask.INITIATING_DEPARTMENT = user.DEPARTMENT_ID;
|
||||||
|
riskTask.CODE = riskCodeList[riskIndex];
|
||||||
|
riskIndex++;
|
||||||
|
riskTask.START_TIME = (DateTime)riskDetail.START_TIME;
|
||||||
|
riskTask.END_TIME = (DateTime)riskDetail.END_TIME;
|
||||||
|
riskTask.LEVEL = riskDetail.LEVEL;
|
||||||
|
riskTask.ORG_ID = riskDetail.ORG_ID;
|
||||||
|
riskTask.LIABLE_USER_ID = riskDetail.CHARGE_USER_ID;
|
||||||
|
riskTask.REQUEST_ID = GetEntity<T_HM_REQUEST>(t => true).ID;
|
||||||
|
riskTask.PLAN_ID = entity.ID;
|
||||||
|
if (riskDetail.Nav_Areas.Where(t => t.IS_DELETED == false).Any())
|
||||||
|
{
|
||||||
|
var levels = riskDetail.LEVEL.Split("_").Where(t => t != "");
|
||||||
|
var Nav_Areas = riskDetail.Nav_Areas.Where(t => t.IS_DELETED == false);
|
||||||
|
foreach (var Area in Nav_Areas)
|
||||||
|
{
|
||||||
|
T_HM_RISK_TASK_AREA area = new T_HM_RISK_TASK_AREA();
|
||||||
|
area.ORG_ID = entity.ORG_ID;
|
||||||
|
area.AREA_ID = Area.AREA_ID;
|
||||||
|
area.TASK_ID = riskTask.ID;
|
||||||
|
listRiskArea.Add(area);
|
||||||
|
foreach (var level in levels)
|
||||||
|
{
|
||||||
|
var sendUsers = GetEntities<T_HM_EVALUATE_RISK>(t => t.AREA_ID == Area.AREA_ID && t.Nav_DepartmentLiable.IS_DELETED == false && t.DEPARTMENT_LIABLE_ID != null && t.LEVEL == (FMDepartmentType)int.Parse(level), new BaseFilter(entity.ORG_ID)).Select(t => new { t.DEPARTMENT_LIABLE_ID }).Distinct();
|
||||||
|
if (sendUsers.Any())
|
||||||
|
{
|
||||||
|
T_HM_RISK_TASK_DETAIL taskDetail = new T_HM_RISK_TASK_DETAIL();
|
||||||
|
taskDetail.ORG_ID = riskDetail.ORG_ID;
|
||||||
|
taskDetail.AREA_ID = Area.AREA_ID;
|
||||||
|
taskDetail.LEVEL = (FMDepartmentType)int.Parse(level);
|
||||||
|
taskDetail.TASK_ID = riskTask.ID;
|
||||||
|
taskDetail.ID = Guid.NewGuid();
|
||||||
|
var record_user = Guid.Empty;
|
||||||
|
var index = 0;
|
||||||
|
foreach (var sendUserItem in sendUsers)
|
||||||
|
{
|
||||||
|
T_HM_RISK_TASK_USER taskUser = new T_HM_RISK_TASK_USER();
|
||||||
|
taskUser.TASK_DETAIL_ID = taskDetail.ID;
|
||||||
|
depId = (Guid)sendUserItem.DEPARTMENT_LIABLE_ID;
|
||||||
|
var depChargeUser = depts.FirstOrDefault(t => t.ID == depId);
|
||||||
|
if (depChargeUser.USER_ID == null)
|
||||||
|
{
|
||||||
|
throw new Exception(depChargeUser.NAME + "在组织架构中未找到负责人!");
|
||||||
|
}
|
||||||
|
taskUser.USER_ID = (Guid)depChargeUser.USER_ID;
|
||||||
|
var taskUsersCount = taskUsers.Count(t => t.TASK_DETAIL_ID == taskDetail.ID && t.USER_ID == taskUser.USER_ID);//查询是否有插入避免豫鹭有重复人员添加
|
||||||
|
if (taskUsersCount == 0)
|
||||||
|
{
|
||||||
|
taskUser.ORG_ID = entity.ORG_ID;
|
||||||
|
taskUser.ROW_NO = index;
|
||||||
|
if (index == 0)
|
||||||
|
{
|
||||||
|
record_user = taskUser.USER_ID;
|
||||||
|
}
|
||||||
|
index++;
|
||||||
|
taskUsers.Add(taskUser);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
taskDetail.RECORD_USER_ID = record_user;
|
||||||
|
taskDetail.DEAL_STATUS = (int)FOUserShiftStatusEnum.待处理;
|
||||||
|
listRiskDetails.Add(taskDetail);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
riskDetail.Nav_Identifyings.ForEach(t =>
|
||||||
|
{
|
||||||
|
T_HM_RISK_TASK_IDENTIFYING identifying = new T_HM_RISK_TASK_IDENTIFYING();
|
||||||
|
identifying.ORG_ID = entity.ORG_ID;
|
||||||
|
identifying.IDENTIFYING_ID = t.IDENTIFYING_ID;
|
||||||
|
identifying.TASK_ID = riskTask.ID;
|
||||||
|
listRiskIdentifyings.Add(identifying);
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
noticeTitles.Add("危险源辨识任务");
|
||||||
|
noticeDataIds.Add(riskTask.ID);
|
||||||
|
noticeUserIds.Add((Guid)riskDetail.CHARGE_USER_ID);
|
||||||
|
noticeUserNames.Add(user.NAME);
|
||||||
|
noticeFormCodes.Add("HM062");
|
||||||
|
risks.Add(riskTask);
|
||||||
|
}
|
||||||
|
int hazardIndex = 0;
|
||||||
|
foreach (var hazardDetail in hazardDetails)
|
||||||
|
{
|
||||||
|
T_HM_HAZARD_TASK hazardTask = new T_HM_HAZARD_TASK();
|
||||||
|
hazardTask.ID = Guid.NewGuid();
|
||||||
|
var user = users.FirstOrDefault(t => t.ID == hazardDetail.CHARGE_USER_ID);
|
||||||
|
if (user != null)
|
||||||
|
hazardTask.INITIATING_DEPARTMENT = user.DEPARTMENT_ID;
|
||||||
|
hazardTask.CODE = hazardCodeList[hazardIndex];
|
||||||
|
hazardTask.START_TIME = (DateTime)hazardDetail.START_TIME;
|
||||||
|
hazardTask.END_TIME = (DateTime)hazardDetail.END_TIME;
|
||||||
|
hazardTask.LEVEL = "0";
|
||||||
|
hazardTask.ORG_ID = entity.ORG_ID;
|
||||||
|
hazardTask.LIABLE_USER_ID = hazardDetail.CHARGE_USER_ID;
|
||||||
|
hazardTask.PLAN_ID = entity.ID;
|
||||||
|
hazardDetail.Nav_Areas.ForEach(t =>
|
||||||
|
{
|
||||||
|
T_HM_HAZARD_TASK_AREA area = new T_HM_HAZARD_TASK_AREA();
|
||||||
|
area.ORG_ID = entity.ORG_ID;
|
||||||
|
area.AREA_ID = t.AREA_ID;
|
||||||
|
area.TASK_ID = hazardTask.ID;
|
||||||
|
listHazardArea.Add(area);
|
||||||
|
T_HM_HAZARD_TASK_DETAIL taskDetail = new T_HM_HAZARD_TASK_DETAIL();
|
||||||
|
taskDetail.ORG_ID = entity.ORG_ID;
|
||||||
|
taskDetail.AREA_ID = t.AREA_ID;
|
||||||
|
taskDetail.TASK_ID = hazardTask.ID;
|
||||||
|
taskDetail.RECORD_USER_ID = null;
|
||||||
|
taskDetail.DEAL_STATUS = (int)FOUserShiftStatusEnum.待处理;
|
||||||
|
listHazardDetails.Add(taskDetail);
|
||||||
|
});
|
||||||
|
|
||||||
|
if (hazardDetail.Nav_Identifyings != null && hazardDetail.Nav_Identifyings.Any())
|
||||||
|
{
|
||||||
|
hazardDetail.Nav_Identifyings.ForEach(t =>
|
||||||
|
{
|
||||||
|
T_HM_HAZARD_TASK_IDENTIFYING identifying = new T_HM_HAZARD_TASK_IDENTIFYING();
|
||||||
|
identifying.ORG_ID = entity.ORG_ID;
|
||||||
|
identifying.IDENTIFYING_ID = t.IDENTIFYING_ID;
|
||||||
|
identifying.TASK_ID = hazardTask.ID;
|
||||||
|
listHazardIdentifyings.Add(identifying);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
noticeTitles.Add("职业危害辨识任务");
|
||||||
|
noticeDataIds.Add(hazardTask.ID);
|
||||||
|
noticeUserIds.Add((Guid)hazardDetail.CHARGE_USER_ID);
|
||||||
|
noticeUserNames.Add(user.NAME);
|
||||||
|
noticeFormCodes.Add("HM102");
|
||||||
|
hazards.Add(hazardTask);
|
||||||
|
}
|
||||||
|
sendNoticeList = NotificationTaskService.InsertUserNoticeTaskModels(noticeTitles, noticeDataIds, entity.ORG_ID, noticeUserIds, noticeUserNames, DateTime.Now, DateTime.Parse(DateTime.Now.AddDays(1).ToShortDateString() + " 23:59:59"), (int)FMNoticeTypeEnum.消息, noticeFormCodes);
|
||||||
|
this.UnifiedCommit(() =>
|
||||||
|
{
|
||||||
|
if (entity != null)
|
||||||
|
UpdateEntityNoCommit(entity);
|
||||||
|
if (files != null && files.Any())
|
||||||
|
BantchSaveEntityNoCommit(files);
|
||||||
|
if (entity != null)
|
||||||
|
UpdateEntityNoCommit(entity); //保存主表
|
||||||
|
if (risks.Any())
|
||||||
|
BantchAddEntityNoCommit(risks);
|
||||||
|
if (listRiskArea.Any())
|
||||||
|
BantchAddEntityNoCommit(listRiskArea);
|
||||||
|
if (listRiskIdentifyings.Any())
|
||||||
|
BantchAddEntityNoCommit(listRiskIdentifyings);
|
||||||
|
if (listRiskDetails.Any())
|
||||||
|
BantchAddEntityNoCommit(listRiskDetails);
|
||||||
|
if (hazards.Any())
|
||||||
|
BantchAddEntityNoCommit(hazards);
|
||||||
|
if (listHazardArea.Any())
|
||||||
|
BantchAddEntityNoCommit(listHazardArea);
|
||||||
|
if (listHazardIdentifyings.Any())
|
||||||
|
BantchAddEntityNoCommit(listHazardIdentifyings);
|
||||||
|
if (listHazardDetails.Any())
|
||||||
|
BantchAddEntityNoCommit(listHazardDetails);
|
||||||
|
if (taskUsers.Any())
|
||||||
|
BantchAddEntityNoCommit(taskUsers);
|
||||||
|
if (sendNoticeList != null && sendNoticeList.Any())
|
||||||
|
BantchAddEntityNoCommit(sendNoticeList);
|
||||||
|
});
|
||||||
|
return true;
|
||||||
|
}
|
||||||
model.RELEASE_USER_ID = sendUser;
|
model.RELEASE_USER_ID = sendUser;
|
||||||
NotificationTaskService.SendNotificationTask("风险评价计划发布", model.ID, orgId, sendUser, sendUserName,
|
NotificationTaskService.SendNotificationTask("风险评价计划发布", model.ID, orgId, sendUser, sendUserName,
|
||||||
DateTime.Now, DateTime.Parse(DateTime.Now.AddDays(5).ToShortDateString() + " 23:59:59"), (int)FMNoticeTypeEnum.审批, "HM002", () =>
|
DateTime.Now, DateTime.Parse(DateTime.Now.AddDays(5).ToShortDateString() + " 23:59:59"), (int)FMNoticeTypeEnum.审批, "HM002", () =>
|
||||||
|
|||||||
61925
APT.Data.Migrations/Migrations/20240527032720_wjn202405-2701.Designer.cs
generated
Normal file
61925
APT.Data.Migrations/Migrations/20240527032720_wjn202405-2701.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,50 @@
|
|||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
namespace APT.Data.Migrations.Migrations
|
||||||
|
{
|
||||||
|
public partial class wjn2024052701 : Migration
|
||||||
|
{
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AlterColumn<Guid>(
|
||||||
|
name: "DEPARTMENT_ID",
|
||||||
|
table: "T_FM_DEPARTMENT_SCHEDULING",
|
||||||
|
type: "uniqueidentifier",
|
||||||
|
nullable: true,
|
||||||
|
oldClrType: typeof(Guid),
|
||||||
|
oldType: "uniqueidentifier");
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<Guid>(
|
||||||
|
name: "CLASS_ID",
|
||||||
|
table: "T_FM_DEPARTMENT_SCHEDULING",
|
||||||
|
type: "uniqueidentifier",
|
||||||
|
nullable: true,
|
||||||
|
oldClrType: typeof(Guid),
|
||||||
|
oldType: "uniqueidentifier");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AlterColumn<Guid>(
|
||||||
|
name: "DEPARTMENT_ID",
|
||||||
|
table: "T_FM_DEPARTMENT_SCHEDULING",
|
||||||
|
type: "uniqueidentifier",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
|
||||||
|
oldClrType: typeof(Guid),
|
||||||
|
oldType: "uniqueidentifier",
|
||||||
|
oldNullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<Guid>(
|
||||||
|
name: "CLASS_ID",
|
||||||
|
table: "T_FM_DEPARTMENT_SCHEDULING",
|
||||||
|
type: "uniqueidentifier",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
|
||||||
|
oldClrType: typeof(Guid),
|
||||||
|
oldType: "uniqueidentifier",
|
||||||
|
oldNullable: true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -2222,7 +2222,7 @@ namespace APT.Data.Migrations.Migrations
|
|||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
.HasColumnType("uniqueidentifier");
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
b.Property<Guid>("CLASS_ID")
|
b.Property<Guid?>("CLASS_ID")
|
||||||
.HasColumnType("uniqueidentifier");
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
b.Property<Guid?>("CREATER_ID")
|
b.Property<Guid?>("CREATER_ID")
|
||||||
@ -2237,7 +2237,7 @@ namespace APT.Data.Migrations.Migrations
|
|||||||
b.Property<Guid?>("DEPARTMENT_CALENDAR_CONFIG_ID")
|
b.Property<Guid?>("DEPARTMENT_CALENDAR_CONFIG_ID")
|
||||||
.HasColumnType("uniqueidentifier");
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
b.Property<Guid>("DEPARTMENT_ID")
|
b.Property<Guid?>("DEPARTMENT_ID")
|
||||||
.HasColumnType("uniqueidentifier");
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
b.Property<int>("ENABLE_STATUS")
|
b.Property<int>("ENABLE_STATUS")
|
||||||
@ -46062,8 +46062,7 @@ namespace APT.Data.Migrations.Migrations
|
|||||||
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_CLASS", "Nav_Class")
|
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_CLASS", "Nav_Class")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey("CLASS_ID")
|
.HasForeignKey("CLASS_ID")
|
||||||
.OnDelete(DeleteBehavior.Restrict)
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_DEPARTMENT_CALENDAR_CONFIG", "Nav_DepartmentCalendarConfig")
|
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_DEPARTMENT_CALENDAR_CONFIG", "Nav_DepartmentCalendarConfig")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
@ -46073,8 +46072,7 @@ namespace APT.Data.Migrations.Migrations
|
|||||||
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_DEPARTMENT", "Nav_DepartMent")
|
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_DEPARTMENT", "Nav_DepartMent")
|
||||||
.WithMany("Nav_DepartmentScheduling")
|
.WithMany("Nav_DepartmentScheduling")
|
||||||
.HasForeignKey("DEPARTMENT_ID")
|
.HasForeignKey("DEPARTMENT_ID")
|
||||||
.OnDelete(DeleteBehavior.Restrict)
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("APT.Infrastructure.Core.T_FM_ORGANIZATION", "Nav_Org")
|
b.HasOne("APT.Infrastructure.Core.T_FM_ORGANIZATION", "Nav_Org")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
|
|||||||
@ -10,6 +10,9 @@ using System.Linq;
|
|||||||
using APT.BaseData.Domain.Enums;
|
using APT.BaseData.Domain.Enums;
|
||||||
using System;
|
using System;
|
||||||
using System.Linq.Expressions;
|
using System.Linq.Expressions;
|
||||||
|
using APT.BaseData.Domain.ApiModel;
|
||||||
|
using System.IO;
|
||||||
|
using System.Data;
|
||||||
|
|
||||||
namespace APT.FM.WebApi.Controllers.Api.FM
|
namespace APT.FM.WebApi.Controllers.Api.FM
|
||||||
{
|
{
|
||||||
@ -31,10 +34,6 @@ namespace APT.FM.WebApi.Controllers.Api.FM
|
|||||||
return SafeExecute<bool>(() =>
|
return SafeExecute<bool>(() =>
|
||||||
{
|
{
|
||||||
|
|
||||||
if (entity == null || !entity.Nav_DepartmentSchedulingDetail.Any(i => !i.IS_DELETED))
|
|
||||||
{
|
|
||||||
this.ThrowError("040004");
|
|
||||||
}
|
|
||||||
var detail = entity.Nav_DepartmentSchedulingDetail;
|
var detail = entity.Nav_DepartmentSchedulingDetail;
|
||||||
var repeatPersonIds = detail.Where(t => t.IS_DELETED == false).GroupBy(x => x.PERSON_ID).Where(x => x.Count() > 1).Select(t => t.Key);
|
var repeatPersonIds = detail.Where(t => t.IS_DELETED == false).GroupBy(x => x.PERSON_ID).Where(x => x.Count() > 1).Select(t => t.Key);
|
||||||
if (repeatPersonIds.Any())
|
if (repeatPersonIds.Any())
|
||||||
@ -46,6 +45,10 @@ namespace APT.FM.WebApi.Controllers.Api.FM
|
|||||||
throw new Exception(repeatNames + "重复,不允许重复添加人员!");
|
throw new Exception(repeatNames + "重复,不允许重复添加人员!");
|
||||||
}
|
}
|
||||||
entity.Nav_DepartmentSchedulingDetail = null;
|
entity.Nav_DepartmentSchedulingDetail = null;
|
||||||
|
if (entity.DATE_TIME == DateTime.MinValue)
|
||||||
|
{
|
||||||
|
entity.DATE_TIME = entity.START_TIME;
|
||||||
|
}
|
||||||
UnifiedCommit(() =>
|
UnifiedCommit(() =>
|
||||||
{
|
{
|
||||||
this.UpdateEntityNoCommit(entity);
|
this.UpdateEntityNoCommit(entity);
|
||||||
@ -98,6 +101,106 @@ namespace APT.FM.WebApi.Controllers.Api.FM
|
|||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 获取导入数据
|
||||||
|
/// 参考 [Route("api/PF/Import")]
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost, Route("GetImportData")]
|
||||||
|
public JsonActionResult<ImportDataModel> GetImportDataUser()
|
||||||
|
{
|
||||||
|
return SafeExecute<ImportDataModel>(() =>
|
||||||
|
{
|
||||||
|
var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId;
|
||||||
|
var httpRequest = this.HttpContext.Request;
|
||||||
|
string orgIdStr = httpRequest.Form["OrgId"];// 获取 组织
|
||||||
|
ImportDataModel result = new ImportDataModel();
|
||||||
|
var dic = Path.Combine(System.AppContext.BaseDirectory, "tempImportFiles");
|
||||||
|
if (!Directory.Exists(dic))
|
||||||
|
Directory.CreateDirectory(dic);
|
||||||
|
foreach (var key in httpRequest.Form.Files) // 文件键
|
||||||
|
{
|
||||||
|
var postedFile = key; // 获取文件键对应的文件对象
|
||||||
|
string filePath = Path.Combine(dic, DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss") + "_" + postedFile.FileName);
|
||||||
|
Byte[] fileData = new Byte[postedFile.Length];
|
||||||
|
Stream sr = postedFile.OpenReadStream();//创建数据流对象
|
||||||
|
sr.Read(fileData, 0, (int)postedFile.Length);
|
||||||
|
using (FileStream fs = new FileStream(filePath, FileMode.CreateNew))
|
||||||
|
{
|
||||||
|
fs.Write(fileData, 0, fileData.Length);
|
||||||
|
fs.Flush();
|
||||||
|
fs.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取数据
|
||||||
|
Dictionary<int, int> startRowIndexs = new Dictionary<int, int>();
|
||||||
|
startRowIndexs.Add(0, 1);//根据Excel格式数据赋值
|
||||||
|
var dataTables = FileUtils.ReadExcelByOledb(filePath, startRowIndexs);
|
||||||
|
string Msg = string.Empty;
|
||||||
|
|
||||||
|
bool isOK = InsertModelUser(dataTables.Tables[0], orgId, ref Msg);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
System.IO.File.Delete(filePath);
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
|
||||||
|
result.Data = Msg;
|
||||||
|
result.MessageList = new List<string> { Msg };
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 数据插入
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="dtSource"></param>
|
||||||
|
/// <param name="OrgID"></param>
|
||||||
|
/// <param name="Msg"></param>
|
||||||
|
/// <param name="rowIndex"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
/// <exception cref="Exception"></exception>
|
||||||
|
public bool InsertModelUser(DataTable dtSource, Guid? orgId, ref string Msg, int rowIndex = 1)
|
||||||
|
{
|
||||||
|
if (dtSource == null || dtSource.Rows.Count < rowIndex)
|
||||||
|
{
|
||||||
|
Msg = "未获取到导入数据";
|
||||||
|
throw new Exception(Msg);
|
||||||
|
}
|
||||||
|
int rowAll = dtSource.Rows.Count;
|
||||||
|
if (!string.IsNullOrEmpty(Msg))
|
||||||
|
{
|
||||||
|
throw new Exception(Msg);
|
||||||
|
}
|
||||||
|
List<T_FM_DEPARTMENT_SCHEDULING> items = new List<T_FM_DEPARTMENT_SCHEDULING>();
|
||||||
|
var teams = GetEntities<T_FM_TEAM>(t => t.IS_DELETED == false, new BaseFilter(orgId));
|
||||||
|
for (int i = 0; i < rowAll; i++)
|
||||||
|
{
|
||||||
|
T_FM_DEPARTMENT_SCHEDULING item = new T_FM_DEPARTMENT_SCHEDULING();
|
||||||
|
item.ID = Guid.NewGuid();
|
||||||
|
var teamName = dtSource.Rows[i][0].ToString().Trim();
|
||||||
|
var team = teams.FirstOrDefault(t => t.NAME == teamName);
|
||||||
|
if (team == null)
|
||||||
|
{
|
||||||
|
Msg = "未能找到对应班组";
|
||||||
|
throw new Exception(Msg);
|
||||||
|
}
|
||||||
|
item.TEAM_ID = team.ID;
|
||||||
|
item.DATE_TIME = DateTime.Parse(dtSource.Rows[i][1].ToString().Trim());
|
||||||
|
item.START_TIME = DateTime.Parse(dtSource.Rows[i][1].ToString().Trim());
|
||||||
|
item.END_TIME = DateTime.Parse(dtSource.Rows[i][2].ToString().Trim());
|
||||||
|
item.ORG_ID = orgId;
|
||||||
|
items.Add(item);
|
||||||
|
}
|
||||||
|
UnifiedCommit(() =>
|
||||||
|
{
|
||||||
|
if (items != null && items.Any())
|
||||||
|
BantchAddEntityNoCommit(items);
|
||||||
|
});
|
||||||
|
Msg = "导入成功!";
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -80,7 +80,7 @@ namespace APT.FM.WebApi.Controllers.Api.FM
|
|||||||
{
|
{
|
||||||
if (index == 0)
|
if (index == 0)
|
||||||
{
|
{
|
||||||
lastClassId = pageData[index].CLASS_ID;
|
lastClassId = (Guid)pageData[index].CLASS_ID;
|
||||||
var nowClass = sh.Nav_DepartmentCalendarConfigDetail.FirstOrDefault(i => i.CLASS_ID == lastClassId);
|
var nowClass = sh.Nav_DepartmentCalendarConfigDetail.FirstOrDefault(i => i.CLASS_ID == lastClassId);
|
||||||
classIndex = sh.Nav_DepartmentCalendarConfigDetail.Count(i => i.NUM < nowClass.NUM);
|
classIndex = sh.Nav_DepartmentCalendarConfigDetail.Count(i => i.NUM < nowClass.NUM);
|
||||||
dayIndex++;
|
dayIndex++;
|
||||||
|
|||||||
@ -51,7 +51,6 @@ namespace APT.HM.WebApi.Controllers.Api
|
|||||||
entity.RELEAS_DEPARTMENT_ID = user.DEPARTMENT_ID;
|
entity.RELEAS_DEPARTMENT_ID = user.DEPARTMENT_ID;
|
||||||
}
|
}
|
||||||
List<T_FM_NOTIFICATION_TASK> sendNotices = null;
|
List<T_FM_NOTIFICATION_TASK> sendNotices = null;
|
||||||
T_FM_NOTIFICATION_TASK sendChargeNotice = null;
|
|
||||||
T_FM_NOTIFICATION_TASK finishNotice = null;
|
T_FM_NOTIFICATION_TASK finishNotice = null;
|
||||||
Guid depId = Guid.Empty;
|
Guid depId = Guid.Empty;
|
||||||
Guid approveRoldId = Guid.Empty;
|
Guid approveRoldId = Guid.Empty;
|
||||||
@ -268,8 +267,6 @@ namespace APT.HM.WebApi.Controllers.Api
|
|||||||
BantchAddEntityNoCommit(sendNotices);
|
BantchAddEntityNoCommit(sendNotices);
|
||||||
if (finishNotice != null)
|
if (finishNotice != null)
|
||||||
UpdateEntityNoCommit(finishNotice);
|
UpdateEntityNoCommit(finishNotice);
|
||||||
if (sendChargeNotice != null)
|
|
||||||
UpdateEntityNoCommit(sendChargeNotice);
|
|
||||||
if (entity != null)
|
if (entity != null)
|
||||||
UpdateEntityNoCommit(entity); //保存主表
|
UpdateEntityNoCommit(entity); //保存主表
|
||||||
if (risks.Any())
|
if (risks.Any())
|
||||||
|
|||||||
@ -195,7 +195,7 @@ namespace APT.HM.WebApi.Controllers.Api
|
|||||||
var result = WitEntity(null, filter);
|
var result = WitEntity(null, filter);
|
||||||
var ID = new Guid(filter.FilterGroup.Rules.ToList()[0].Value.ToString());
|
var ID = new Guid(filter.FilterGroup.Rules.ToList()[0].Value.ToString());
|
||||||
var filter1 = new BaseFilter(filter.GetOrgId());
|
var filter1 = new BaseFilter(filter.GetOrgId());
|
||||||
filter1.SelectField = new string[] { "Nav_EvaluateRiskRecordEquipment.Nav_Equipment.NAME", "Nav_EvaluateRiskRecordWorkduty.Nav_Workduty.NAME", "Nav_Area.NAME", "Nav_Identifying.NAME", "Nav_Type.NAME", "Nav_OperationStep.NAME", "Nav_LiableUser.NAME", "Nav_DepartmentLiable.NAME", "Nav_PostLiable.NAME","RISK_NAME", "RISK_PLACE" };
|
filter1.SelectField = new string[] { "RECORD_ID","Nav_EvaluateRiskRecordEquipment.Nav_Equipment.NAME", "Nav_EvaluateRiskRecordWorkduty.Nav_Workduty.NAME", "Nav_Area.NAME", "Nav_Identifying.NAME", "Nav_Type.NAME", "Nav_OperationStep.NAME", "Nav_LiableUser.NAME", "Nav_DepartmentLiable.NAME", "Nav_PostLiable.NAME","RISK_NAME", "RISK_PLACE" };
|
||||||
var detailData = GetEntities<T_HM_RISK_RECORD_DETAIL>(t => t.RECORD_ID == ID, filter1);
|
var detailData = GetEntities<T_HM_RISK_RECORD_DETAIL>(t => t.RECORD_ID == ID, filter1);
|
||||||
var record = GetEntity<T_HM_RISK_RECORD>(ID);
|
var record = GetEntity<T_HM_RISK_RECORD>(ID);
|
||||||
var filter2 = new BaseFilter(filter.GetOrgId());
|
var filter2 = new BaseFilter(filter.GetOrgId());
|
||||||
|
|||||||
@ -222,7 +222,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
|||||||
{
|
{
|
||||||
throw new Exception("未找到安环部负责人!");
|
throw new Exception("未找到安环部负责人!");
|
||||||
}
|
}
|
||||||
NotificationTaskService.SendNotificationTask(DateTime.Now.Year.ToString() + "年度风险评价计划", plan.ID, filter.GetOrgId(), UserID, UserName, DateTime.Now, DateTime.Parse(DateTime.Now.AddDays(5).ToShortDateString() + " 23:59:59"), 0, "HM043", () =>
|
NotificationTaskService.SendNotificationTask(DateTime.Now.Year.ToString() + isRun.Cycle.GetDescription() +"风险评价计划", plan.ID, filter.GetOrgId(), UserID, UserName, DateTime.Now, DateTime.Parse(DateTime.Now.AddMonths(1).ToShortDateString() + " 23:59:59"), 0, "HM043", () =>
|
||||||
{
|
{
|
||||||
AddEntityNoCommit(plan);
|
AddEntityNoCommit(plan);
|
||||||
UpdateEntityNoCommit(isRun, "START_TIME");
|
UpdateEntityNoCommit(isRun, "START_TIME");
|
||||||
|
|||||||
@ -84,7 +84,7 @@ namespace APT.PP.WebApi.Controllers
|
|||||||
{
|
{
|
||||||
if (index == 0)
|
if (index == 0)
|
||||||
{
|
{
|
||||||
lastClassId = pageData[index].CLASS_ID;
|
lastClassId = (Guid)pageData[index].CLASS_ID;
|
||||||
var nowClass = sh.Nav_DepartmentCalendarConfigDetail.FirstOrDefault(i => i.CLASS_ID == lastClassId);
|
var nowClass = sh.Nav_DepartmentCalendarConfigDetail.FirstOrDefault(i => i.CLASS_ID == lastClassId);
|
||||||
classIndex = sh.Nav_DepartmentCalendarConfigDetail.Count(i => i.NUM < nowClass.NUM);
|
classIndex = sh.Nav_DepartmentCalendarConfigDetail.Count(i => i.NUM < nowClass.NUM);
|
||||||
dayIndex++;
|
dayIndex++;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user