This commit is contained in:
何美荣 2025-11-24 12:13:41 +08:00
parent bc570e99e2
commit 022571167c
2 changed files with 130 additions and 1 deletions

View File

@ -5492,5 +5492,134 @@ namespace APT.PP.WebApi.Controllers.Api
return true;
});
}
/// <summary>
/// 检查类型更新
/// </summary>
/// <param name="pageFilter"></param>
/// <returns></returns>
[HttpPost, Route("BasicLibraryNewSync")]
public JsonActionResult<bool> BasicLibraryNewSync([FromBody] KeywordFilter filter)
{
return SafeExecute<bool>(() =>
{
try
{
var oldUnit = "";
var newUnit = "";
if (filter.Parameter1 != null && filter.Parameter1.Contains("|"))
{
var param = filter.Parameter1.Split("|");
oldUnit = param[0];
newUnit = param[1];
}
else
throw new Exception("参数必须填写,例如:地下矿|选矿厂");
var oldUnitId = this.GetEntity<T_FM_USER_PRODUCTION_UNIT_SET>(t => t.NAME == oldUnit)?.ID;
var newUnitId = this.GetEntity<T_FM_USER_PRODUCTION_UNIT_SET>(t => t.NAME == newUnit)?.ID;
List<T_SK_BASIC_LIBRARY> libs = new List<T_SK_BASIC_LIBRARY>();
List<T_SK_BASIC_LIBRARY_DETAIL> measures = new List<T_SK_BASIC_LIBRARY_DETAIL>();
List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT> contents = new List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT>();
List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN> hiddens = new List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN>();
var librarys = GetEntities<T_SK_BASIC_LIBRARY>(i => i.IS_DELETED == false && i.PRODUCTION_UNIT_ID == oldUnitId, new BaseFilter(filter.OrgId)).ToList();
var libraryIds = librarys.Select(t => t.ID).ToList();
var libraryDetails = GetEntities<T_SK_BASIC_LIBRARY_DETAIL>(i => i.IS_DELETED == false && libraryIds.Contains(i.BASIC_LIBRARY_ID), new BaseFilter(filter.OrgId)).ToList();
var libraryDetailIds = libraryDetails.Select(t => t.ID).ToList();
var libraryContents = GetEntities<T_SK_BASIC_LIBRARY_DETAIL_CONTENT>(i => i.IS_DELETED == false && libraryDetailIds.Contains(i.BASIC_LIBRARY_DETAIL_ID), new BaseFilter(filter.OrgId)).ToList();
var libraryContentIds = libraryContents.Select(t => t.ID).ToList();
var libraryHiddens = GetEntities<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN>(i => i.IS_DELETED == false && libraryContentIds.Contains(i.BASIC_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(filter.OrgId)).ToList();
if (librarys != null && librarys.Any())
{
foreach (var entity in librarys)
{
T_SK_BASIC_LIBRARY enterpriseLib = new T_SK_BASIC_LIBRARY();
enterpriseLib.ORG_ID = entity.ORG_ID;
enterpriseLib.PRODUCTION_UNIT_ID = newUnitId;
enterpriseLib.ENABLE_STATUS = entity.ENABLE_STATUS;
enterpriseLib.MineType = entity.MineType;
enterpriseLib.MINE_NAME = entity.MINE_NAME;
enterpriseLib.AREA_ID = entity.AREA_ID;
enterpriseLib.AREA_NAME = entity.AREA_NAME;
enterpriseLib.RISK_NAME = entity.RISK_NAME;
enterpriseLib.RISK_DESCRIPTION = entity.RISK_DESCRIPTION;
enterpriseLib.TYPE_ID = entity.TYPE_ID;
enterpriseLib.TYPE_NAME = entity.TYPE_NAME;
enterpriseLib.EVALUATE_L = entity.EVALUATE_L;
enterpriseLib.EVALUATE_E = entity.EVALUATE_E;
enterpriseLib.EVALUATE_C = entity.EVALUATE_C;
enterpriseLib.EVALUATE_SCORE = entity.EVALUATE_SCORE;
enterpriseLib.EVALUATE_LEVEL = entity.EVALUATE_LEVEL;
enterpriseLib.DEPARTMENT_TYPE = entity.DEPARTMENT_TYPE;
enterpriseLib.NUM = entity.NUM;
libs.Add(enterpriseLib);
var measureTemps = libraryDetails.Where(t=>t.BASIC_LIBRARY_ID == entity.ID).ToList();
if (measureTemps.Any())
{
foreach (var temp in measureTemps)
{
T_SK_BASIC_LIBRARY_DETAIL measure = new T_SK_BASIC_LIBRARY_DETAIL();
measure.ORG_ID = filter.OrgId;
measure.BASIC_LIBRARY_ID = enterpriseLib.ID;
measure.MEASURES_NAME = temp.MEASURES_NAME;
measure.NUM = temp.NUM;
measures.Add(measure);
var contentTemps = libraryContents.Where(t => t.BASIC_LIBRARY_DETAIL_ID == temp.ID).ToList();
if (contentTemps.Any())
{
foreach (var ctemp in contentTemps)
{
T_SK_BASIC_LIBRARY_DETAIL_CONTENT content = new T_SK_BASIC_LIBRARY_DETAIL_CONTENT();
content.ORG_ID = filter.OrgId;
content.BASIC_LIBRARY_DETAIL_ID = measure.ID;
content.CHECK_CONTENT = ctemp.CHECK_CONTENT;
content.CHECK_CONTENTS_ID = ctemp.CHECK_CONTENTS_ID;
content.NUM = ctemp.NUM;
contents.Add(content);
var hiddenTemps = libraryHiddens.Where(t => t.BASIC_LIBRARY_DETAIL_CONTENT_ID == ctemp.ID).ToList();
if (hiddenTemps.Any())
{
foreach (var htemp in hiddenTemps)
{
T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN hidden = new T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN();
hidden.ORG_ID = filter.OrgId;
hidden.BASIC_LIBRARY_DETAIL_CONTENT_ID = content.ID;
hidden.CHECK_QUESTION_ID = htemp.CHECK_QUESTION_ID;
hidden.HIDDEN_LEVEL = htemp.HIDDEN_LEVEL;
hidden.HIDDEN_DESCRIPTION = htemp.HIDDEN_DESCRIPTION;
hidden.RECTIFICATION_MEASURES = htemp.RECTIFICATION_MEASURES;
hidden.NUM = htemp.NUM;
hiddens.Add(hidden);
}
}
}
}
}
}
}
}
UnifiedCommit(() =>
{
if (libs != null && libs.Any())
BantchSaveEntityNoCommit(libs);
if (measures != null && measures.Any())
BantchSaveEntityNoCommit(measures);
if (contents != null && contents.Any())
BantchSaveEntityNoCommit(contents);
if (hiddens != null && hiddens.Any())
BantchSaveEntityNoCommit(hiddens);
});
}
catch (Exception ex)
{
if (!string.IsNullOrEmpty(ex.StackTrace))
throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
else
throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
}
return true;
});
}
}
}

View File

@ -1838,7 +1838,7 @@ namespace APT.SK.WebApi.Controllers.Api
if (checkList.Data != null && checkList.Data.Any())
{
var libraryIds = postLists.Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();
var librarys = this.GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => libraryIds.Contains(t.ID), new BaseFilter(filter.OrgId), "Nav_Area", "Nav_Type", "Nav_RiskName", "Nav_Details", "Nav_Photo.Nav_ImgFile");
var librarys = this.GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => libraryIds.Contains(t.ID), new BaseFilter(filter.OrgId), "Nav_Area", "Nav_Type", "Nav_RiskName", "Nav_Details");
foreach (var item in checkList.Data)
{
var tempIds = postLists.Where(t => t.DEPARTMENT_ID == item.DEPARTMENT_ID && t.POST_NAME == item.POST_NAME).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();