2025-09-15 20:28:38 +08:00

220 lines
7.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Learun.Application.TwoDevelopment.ZZDT_EC;
using Learun.Util;
using Learun.Util.SqlSugar;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.Mvc;
namespace Learun.Application.Web.Areas.ZZDT_EC.Controllers
{
/// <summary>
/// 版 本 PIT-ADMS V7.0.3 敏捷开发框架
/// Copyright (c) 2013-2018 Hexagon PPM
/// 创 建:超级管理员
/// 日 期2022-03-07 13:44
/// 描 述:工程数据表
/// </summary>
public class ec_enginedataController : MvcControllerBase
{
private ec_enginedataIBLL ec_enginedataIBLL = new ec_enginedataBLL();
#region
/// <summary>
/// 主页面
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult Index()
{
return View();
}
/// <summary>
/// 表单页
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult Form()
{
return View();
}
/// <summary>
/// 工程数据Tag回收站
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult RecycleBin()
{
return View();
}
#endregion
#region
/// <summary>
/// 获取页面显示列表数据
/// <summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetPageList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject<Pagination>();
var data = ec_enginedataIBLL.GetList(queryJson, paginationobj, true, true);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}
/// <summary>
/// 获取回收站页面显示列表数据
/// <summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetRecycleBinPageList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject<Pagination>();
var data = ec_enginedataIBLL.GetRecycleBinPageList(paginationobj, queryJson);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}
/// <summary>
/// 获取表单数据
/// <summary>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetFormData(string keyValue, string ProjectId)
{
var ec_enginedataData = ec_enginedataIBLL.GetEntity(keyValue, ProjectId);
var jsonData = new
{
ec_enginedata = ec_enginedataData,
};
return Success(jsonData);
}
#endregion
#region
/// <summary>
/// 删除实体数据
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult DeleteForm(string strEntity, string ProjectId)
{
var entitys = strEntity.ToObject<List<ec_enginedataEntity>>();
var ids = entitys.Select(x => x.EngineDataID).ToList();
var tableName = ProjectSugar.TableName<ec_CableEntity>(ProjectId);
var cables = SqlSugarHelper.Db.Queryable<ec_CableEntity>().AS(tableName).Where(x => ids.Contains(x.EngineerDataID)).ToList();
string res = "";
cables.ForEach(x =>
{
var entity = entitys.First(y => x.EngineerDataID == y.EngineDataID);
res += $"位号{entity.TagNumber},已绑定电缆,无法删除\n";
});
if (!string.IsNullOrEmpty(res))
{
return Fail(res);
}
foreach (var item in entitys)
{
ec_enginedataIBLL.DeleteEntity(item.EngineDataID, ProjectId);
}
return Success("删除成功!");
}
/// <summary>
/// 保存实体数据(新增、修改)
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveForm(string keyValue, string strEntity, string ProjectId)
{
ec_enginedataEntity entity = strEntity.ToObject<ec_enginedataEntity>();
//位号不允许重复
var data = ec_enginedataIBLL.GetList("{ProjectId:\"" + ProjectId + "\",TagNumber:\"" + entity.TagNumber + "\"}").ToList();
if (data != null && data.Count > 0)
{
if (!string.IsNullOrEmpty(keyValue))
{
data = data.FindAll(x => x.EngineDataID != keyValue);
if (data != null && data.Count > 0)
{
return Fail("位号不允许重复!");
}
}
else
{
return Fail($"位号不允许重复!在{data[0].FullPathCN}中有一个相同位号的设备或电缆。");
}
}
//截取位号后面的数字作为流水号
if (!string.IsNullOrEmpty(entity.ObjectTypeNameEN))
{
string strSerialNumber = entity.TagNumber.Replace(entity.ObjectTypeNameEN, "").Trim();
if (IsInteger(strSerialNumber))
{
entity.SerialNumber = strSerialNumber.ToInt();
}
else
{
entity.SerialNumber = 0;
}
}
ec_enginedataIBLL.SaveEntity(keyValue, entity, ProjectId);
return Success("保存成功!");
}
/// <summary>
/// 验证字符串是否为整数
/// </summary>
/// <param name="value">要验证的字符串</param>
public static bool IsInteger(string value)
{
//如果为空,认为验证不合格
if (string.IsNullOrEmpty(value))
{
return false;
}
return System.Text.RegularExpressions.Regex.IsMatch(value, @"^\d*$");
}
/// <summary>
/// 批量修改数据状态
/// <summary>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult UpdateDataStatus(string strEntity, string ProjectId)
{
List<ec_enginedataEntity> entityList = strEntity.ToList<ec_enginedataEntity>();
ec_enginedataIBLL.UpdateDataStatus(entityList, ProjectId);
return Success("审批成功!");
}
#endregion
}
}