实训启动器版本接口和模型版本接口

This commit is contained in:
曾艳 2024-06-14 08:37:04 +08:00
parent c24d526707
commit 37ed5273fc
10 changed files with 315 additions and 33 deletions

View File

@ -190,10 +190,32 @@ namespace Competition.Mysql.BLL
/// <summary>
/// 获得数据列表
/// </summary>
public List<Competition.Mysql.Model.v_model_version> GetErpriseList(string strWhere)
public List<Competition.Mysql.Other.erprise_model_version> GetErpriseList(string strWhere)
{
DataSet ds = dal.GetList(strWhere);
return DataTableToList(ds.Tables[0]);
DataSet ds = dal.GetErpriseList(strWhere);
return DataTableToErpriseList(ds.Tables[0]);
}
/// <summary>
/// 获得数据列表
/// </summary>
public List<Competition.Mysql.Other.erprise_model_version> DataTableToErpriseList(DataTable dt)
{
List<Competition.Mysql.Other.erprise_model_version> modelList = new List<Competition.Mysql.Other.erprise_model_version>();
int rowsCount = dt.Rows.Count;
if (rowsCount > 0)
{
Competition.Mysql.Other.erprise_model_version model;
for (int n = 0; n < rowsCount; n++)
{
model = dal.DataRowToErpriseModel(dt.Rows[n]);
if (model != null)
{
modelList.Add(model);
}
}
}
return modelList;
}
#endregion ExtensionMethod
}

View File

@ -6,7 +6,7 @@
*
* Ver
*
* V0.01 2024/6/13 13:55:19 N/A
* V0.01 2024/6/13 17:43:31 N/A
*
* Copyright (c) 2012 Maticsoft Corporation. All rights reserved.
*

View File

@ -415,13 +415,69 @@ namespace Competition.Mysql.DAL
public DataSet GetErpriseList(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select T1.MONITOR_ID,T1.MONITOR_NAME,T1.CUSTOMS_CODE,T2.ModelName,T2.VersionNumber,T2.MapLongitude,T2.MapLatitude,T2.TrainingSize,T2.ModelResources,T2.UpdateTime from T_BAS_CORPORATION T1 left join v_model_version T2 on T2.MONITOR_ID=T1.MONITOR_ID ");
strSql.Append("select T1.MONITOR_ID,T1.MONITOR_NAME,T1.CUSTOMS_CODE,T2.ModelId,T2.ModelName,T2.VersionNumber,T2.MapLongitude,T2.MapLatitude,T2.TrainingSize,T2.ModelResources,T2.UpdateTime from T_BAS_CORPORATION T1 left join v_model_version T2 on T2.MONITOR_ID=T1.MONITOR_ID ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
return DbHelperSQL.Query(strSql.ToString());
}
/// <summary>
/// 得到一个对象实体
/// </summary>
public Competition.Mysql.Other.erprise_model_version DataRowToErpriseModel(DataRow row)
{
Competition.Mysql.Other.erprise_model_version model = new Competition.Mysql.Other.erprise_model_version();
if (row != null)
{
if (row["MONITOR_ID"] != null)
{
model.MONITOR_ID = row["MONITOR_ID"].ToString();
}
if (row["MONITOR_NAME"] != null)
{
model.MONITOR_NAME = row["MONITOR_NAME"].ToString();
}
if (row["CUSTOMS_CODE"] != null)
{
model.CUSTOMS_CODE = row["CUSTOMS_CODE"].ToString();
}
if (row["ModelId"] != null)
{
model.ModelId = row["ModelId"].ToString();
}
if (row["ModelName"] != null)
{
model.ModelName = row["ModelName"].ToString();
}
if (row["VersionNumber"] != null)
{
model.VersionNumber = row["VersionNumber"].ToString();
}
if (row["MapLongitude"] != null)
{
model.MapLongitude = row["MapLongitude"].ToString();
}
if (row["MapLatitude"] != null)
{
model.MapLatitude = row["MapLatitude"].ToString();
}
if (row["TrainingSize"] != null)
{
model.TrainingSize = row["TrainingSize"].ToString();
}
if (row["ModelResources"] != null)
{
model.ModelResources = row["ModelResources"].ToString();
}
if (row["UpdateTime"] != null && row["UpdateTime"].ToString() != "")
{
model.UpdateTime = DateTime.Parse(row["UpdateTime"].ToString());
}
}
return model;
}
#endregion ExtensionMethod
}
}

View File

@ -6,7 +6,7 @@
*
* Ver
*
* V0.01 2024/6/13 13:55:19 N/A
* V0.01 2024/6/13 17:43:31 N/A
*
* Copyright (c) 2012 Maticsoft Corporation. All rights reserved.
*
@ -53,9 +53,9 @@ namespace Competition.Mysql.DAL
{
StringBuilder strSql=new StringBuilder();
strSql.Append("insert into v_starter_version(");
strSql.Append("StarterId,SoftwareName,VersionNumber,LauncherResources,UpdateResources,Remark1,Remark2,Remark3)");
strSql.Append("StarterId,SoftwareName,VersionNumber,LauncherResources,UpdateResources,Remark1,Remark2,Remark3,UpdateTime)");
strSql.Append(" values (");
strSql.Append("@StarterId,@SoftwareName,@VersionNumber,@LauncherResources,@UpdateResources,@Remark1,@Remark2,@Remark3)");
strSql.Append("@StarterId,@SoftwareName,@VersionNumber,@LauncherResources,@UpdateResources,@Remark1,@Remark2,@Remark3,@UpdateTime)");
SqlParameter[] parameters = {
new SqlParameter("@StarterId", SqlDbType.VarChar,50),
new SqlParameter("@SoftwareName", SqlDbType.VarChar,255),
@ -64,7 +64,8 @@ namespace Competition.Mysql.DAL
new SqlParameter("@UpdateResources", SqlDbType.VarChar,2000),
new SqlParameter("@Remark1", SqlDbType.VarChar,255),
new SqlParameter("@Remark2", SqlDbType.VarChar,255),
new SqlParameter("@Remark3", SqlDbType.VarChar,255)};
new SqlParameter("@Remark3", SqlDbType.VarChar,255),
new SqlParameter("@UpdateTime", SqlDbType.DateTime)};
parameters[0].Value = model.StarterId;
parameters[1].Value = model.SoftwareName;
parameters[2].Value = model.VersionNumber;
@ -73,6 +74,7 @@ namespace Competition.Mysql.DAL
parameters[5].Value = model.Remark1;
parameters[6].Value = model.Remark2;
parameters[7].Value = model.Remark3;
parameters[8].Value = model.UpdateTime;
int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
if (rows > 0)
@ -97,7 +99,8 @@ namespace Competition.Mysql.DAL
strSql.Append("UpdateResources=@UpdateResources,");
strSql.Append("Remark1=@Remark1,");
strSql.Append("Remark2=@Remark2,");
strSql.Append("Remark3=@Remark3");
strSql.Append("Remark3=@Remark3,");
strSql.Append("UpdateTime=@UpdateTime");
strSql.Append(" where StarterId=@StarterId ");
SqlParameter[] parameters = {
new SqlParameter("@SoftwareName", SqlDbType.VarChar,255),
@ -107,6 +110,7 @@ namespace Competition.Mysql.DAL
new SqlParameter("@Remark1", SqlDbType.VarChar,255),
new SqlParameter("@Remark2", SqlDbType.VarChar,255),
new SqlParameter("@Remark3", SqlDbType.VarChar,255),
new SqlParameter("@UpdateTime", SqlDbType.DateTime),
new SqlParameter("@StarterId", SqlDbType.VarChar,50)};
parameters[0].Value = model.SoftwareName;
parameters[1].Value = model.VersionNumber;
@ -115,7 +119,8 @@ namespace Competition.Mysql.DAL
parameters[4].Value = model.Remark1;
parameters[5].Value = model.Remark2;
parameters[6].Value = model.Remark3;
parameters[7].Value = model.StarterId;
parameters[7].Value = model.UpdateTime;
parameters[8].Value = model.StarterId;
int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
if (rows > 0)
@ -178,7 +183,7 @@ namespace Competition.Mysql.DAL
{
StringBuilder strSql=new StringBuilder();
strSql.Append("select top 1 StarterId,SoftwareName,VersionNumber,LauncherResources,UpdateResources,Remark1,Remark2,Remark3 from v_starter_version ");
strSql.Append("select top 1 StarterId,SoftwareName,VersionNumber,LauncherResources,UpdateResources,Remark1,Remark2,Remark3,UpdateTime from v_starter_version ");
strSql.Append(" where StarterId=@StarterId ");
SqlParameter[] parameters = {
new SqlParameter("@StarterId", SqlDbType.VarChar,50) };
@ -237,6 +242,10 @@ namespace Competition.Mysql.DAL
{
model.Remark3=row["Remark3"].ToString();
}
if(row["UpdateTime"]!=null && row["UpdateTime"].ToString()!="")
{
model.UpdateTime=DateTime.Parse(row["UpdateTime"].ToString());
}
}
return model;
}
@ -247,7 +256,7 @@ namespace Competition.Mysql.DAL
public DataSet GetList(string strWhere)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("select StarterId,SoftwareName,VersionNumber,LauncherResources,UpdateResources,Remark1,Remark2,Remark3 ");
strSql.Append("select StarterId,SoftwareName,VersionNumber,LauncherResources,UpdateResources,Remark1,Remark2,Remark3,UpdateTime ");
strSql.Append(" FROM v_starter_version ");
if(strWhere.Trim()!="")
{
@ -267,7 +276,7 @@ namespace Competition.Mysql.DAL
{
strSql.Append(" top "+Top.ToString());
}
strSql.Append(" StarterId,SoftwareName,VersionNumber,LauncherResources,UpdateResources,Remark1,Remark2,Remark3 ");
strSql.Append(" StarterId,SoftwareName,VersionNumber,LauncherResources,UpdateResources,Remark1,Remark2,Remark3,UpdateTime ");
strSql.Append(" FROM v_starter_version ");
if(strWhere.Trim()!="")
{

View File

@ -6,7 +6,7 @@
*
* Ver
*
* V0.01 2024/6/13 13:55:19 N/A
* V0.01 2024/6/13 17:43:31 N/A
*
* Copyright (c) 2012 Maticsoft Corporation. All rights reserved.
*
@ -34,6 +34,7 @@ namespace Competition.Mysql.Model
private string _remark1;
private string _remark2;
private string _remark3;
private DateTime _updatetime;
/// <summary>
///
/// </summary>
@ -98,6 +99,14 @@ namespace Competition.Mysql.Model
set{ _remark3=value;}
get{return _remark3;}
}
/// <summary>
///
/// </summary>
public DateTime UpdateTime
{
set{ _updatetime=value;}
get{return _updatetime;}
}
#endregion Model
}

View File

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection.Metadata.Ecma335;
using System.Text;
using System.Threading.Tasks;
@ -8,5 +9,59 @@ namespace Competition.Mysql.Other
{
public class erprise_model_version
{
/// <summary>
/// 企业编码
/// </summary>
public string MONITOR_ID { get; set; }
/// <summary>
/// 企业名称
/// </summary>
public string MONITOR_NAME { get; set; }
/// <summary>
/// 关区代码
/// </summary>
public string CUSTOMS_CODE { get; set; }
/// <summary>
/// 模型id
/// </summary>
public string ModelId { get; set; }
/// <summary>
/// 模型名称
/// </summary>
public string ModelName { get; set; }
/// <summary>
/// 版本号
/// </summary>
public string VersionNumber { get; set; }
/// <summary>
/// 地图经度
/// </summary>
public string MapLongitude { get; set; }
/// <summary>
/// 地图维度
/// </summary>
public string MapLatitude { get; set; }
/// <summary>
/// 模型包大小
/// </summary>
public string TrainingSize { get; set; }
/// <summary>
/// 模型包资源地址
/// </summary>
public string ModelResources { get; set; }
/// <summary>
/// 最新时间
/// </summary>
public DateTime? UpdateTime { get; set; }
}
}

View File

@ -1,11 +1,110 @@
using Microsoft.AspNetCore.Http;
using Competition.Common.Util;
using CompetitionAPI.api.version;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace CompetitionAPI.Controllers.version
{
[Route("api/[controller]")]
[ApiController]
public class EditModelController : ControllerBase
public class EditModelController : Controller
{
private readonly IWebHostEnvironment _webHostEnvironment;
Competition.Mysql.BLL.v_model_version bll = new Competition.Mysql.BLL.v_model_version();
public EditModelController(IWebHostEnvironment webHostEnvironment)
{
_webHostEnvironment = webHostEnvironment;
}
/// <summary>
/// 编辑模型接口
/// </summary>
/// <param name="req">请求参数</param>
/// <returns></returns>
[HttpPost]
public JsonResult Index([FromBody] EditModelRequest req)
{
//获取当前web目录
var webRootPath = _webHostEnvironment.WebRootPath;
if (string.IsNullOrWhiteSpace(req.MONITOR_ID))
{
return Json(Tool.GetJsonWithCode(APICode.Fail, "企业系统编码不能为空"));
}
if (string.IsNullOrWhiteSpace(req.ModelName))
{
return Json(Tool.GetJsonWithCode(APICode.Fail, "模型名称不能为空"));
}
if (string.IsNullOrWhiteSpace(req.VersionNumber))
{
return Json(Tool.GetJsonWithCode(APICode.Fail, "版本号不能为空"));
}
if (string.IsNullOrWhiteSpace(req.MapLongitude))
{
return Json(Tool.GetJsonWithCode(APICode.Fail, "地图经度不能为空"));
}
if (string.IsNullOrWhiteSpace(req.MapLatitude))
{
return Json(Tool.GetJsonWithCode(APICode.Fail, "地图纬度不能为空"));
}
if (string.IsNullOrWhiteSpace(req.TrainingSize))
{
return Json(Tool.GetJsonWithCode(APICode.Fail, "模型包大小不能为空"));
}
if (!System.IO.File.Exists(webRootPath + "/" + req.ModelResources))
{
return Json(Tool.GetJsonWithCode(APICode.Fail, "模型包资源不存在,请先上传模型包资源"));
}
var model = bll.GetModelList(string.Format(" MONITOR_ID='{0}' ", req.MONITOR_ID)).FirstOrDefault(); ;
if (model == null)
{
model = new Competition.Mysql.Model.v_model_version();
model.ModelId = Guid.NewGuid().ToString("N");
model.MONITOR_ID = req.MONITOR_ID;
model.ModelName = req.ModelName;
model.VersionNumber = req.VersionNumber;
model.MapLongitude = req.MapLongitude;
model.MapLatitude = req.MapLatitude;
model.TrainingSize = req.TrainingSize;
model.ModelResources = req.ModelResources;
model.UpdateTime = DateTime.Now;
if (bll.Add(model))
{
return Json(Tool.GetJsonWithCode(APICode.Success, "编辑成功!"));
}
else
{
return Json(Tool.GetJsonWithCode(APICode.Fail, "编辑失败!"));
}
}
else
{
model.ModelName = req.ModelName;
model.VersionNumber = req.VersionNumber;
model.MapLongitude = req.MapLongitude;
model.MapLatitude = req.MapLatitude;
model.TrainingSize = req.TrainingSize;
var old_model_resources = model.ModelResources;
model.ModelResources = req.ModelResources;
model.UpdateTime = DateTime.Now;
if (bll.Update(model))
{
if (req.ModelResources != old_model_resources)
{
if (System.IO.File.Exists(webRootPath + "/" + old_model_resources))
{
System.IO.File.Delete(webRootPath + "/" + old_model_resources);
}
}
return Json(Tool.GetJsonWithCode(APICode.Success, "编辑成功!"));
}
else
{
return Json(Tool.GetJsonWithCode(APICode.Fail, "编辑失败!"));
}
}
}
}
}

View File

@ -25,7 +25,6 @@ namespace CompetitionAPI.Controllers.version
/// </summary>
/// <param name="req">请求参数</param>
/// <returns></returns>
[Authorize]
[HttpPost]
public JsonResult Index([FromBody] EditStarterRequest req)
{
@ -59,7 +58,7 @@ namespace CompetitionAPI.Controllers.version
model.LauncherResources = req.LauncherResources;
var old_update_resources = model.UpdateResources;
model.UpdateResources = req.UpdateResources;
model.UpdateTime = DateTime.Now;
if (bll.Update(model))
{
if (req.LauncherResources != old_launcher_resources)

View File

@ -16,6 +16,7 @@ namespace CompetitionAPI.Controllers.version
{
}
/// <summary>
/// 获取模型版本列表接口
/// </summary>
@ -31,31 +32,29 @@ namespace CompetitionAPI.Controllers.version
var query = new StringBuilder(" 1 = 1 ");
var total_query = new StringBuilder(" 1 = 1 ");
//学习名称
if (!string.IsNullOrWhiteSpace(StudyName))
if (!string.IsNullOrWhiteSpace(EnterpriseName))
{
query.AppendFormat(" AND StudyName LIKE '%{0}%'", StudyName);
total_query.AppendFormat(" AND StudyName LIKE '%{0}%' ", StudyName);
query.AppendFormat(" AND T1.EnterpriseName LIKE '%{0}%' ", EnterpriseName);
total_query.AppendFormat(" AND T1.EnterpriseName LIKE '%{0}%' ", EnterpriseName);
}
//学习分类
if (!string.IsNullOrWhiteSpace(StudyClass))
if (!string.IsNullOrWhiteSpace(EnterpriseCode))
{
query.AppendFormat(" AND StudyClass='{0}' ", StudyClass);
total_query.AppendFormat(" AND StudyClass='{0}' ", StudyClass);
query.AppendFormat(" AND T1.EnterpriseCode='{0}' ", EnterpriseCode);
total_query.AppendFormat(" AND T1.EnterpriseCode='{0}' ", EnterpriseCode);
}
if (!string.IsNullOrEmpty(Status))
if (!string.IsNullOrEmpty(ModelName))
{
query.AppendFormat(" AND Status='{0}' ", Status);
total_query.AppendFormat(" AND Status='{0}' ", Status);
query.AppendFormat(" AND T2.ModelName='{0}' ", ModelName);
total_query.AppendFormat(" AND T2.ModelName='{0}' ", ModelName);
}
var offset = (PageIndex - 1) * PageSize;
query.AppendFormat(" order by CreateTime desc LIMIT {0} OFFSET {1} ", PageSize, offset);
query.AppendFormat(" order by T1.MONITOR_ID asc OFFSET ({0} - 1) * {1} ROWS FETCH NEXT {1} ROWS ONLY; ", offset, PageSize);
var total = bll.GetRecordCount(total_query.ToString());
var list = bll.GetModelList(query.ToString());
var total = bll.GetRecordentErpriseCount(total_query.ToString());
var list = bll.GetErpriseList(query.ToString());
return Json(Tool.GetJsonWithCode(APICode.Success, new { total = total, list = list }));
}
}

View File

@ -2,5 +2,39 @@
{
public class EditModelRequest
{
/// <summary>
/// 企业编码
/// </summary>
public string MONITOR_ID { get; set; }
/// <summary>
/// 模型名称
/// </summary>
public string ModelName { get; set; }
/// <summary>
/// 版本号
/// </summary>
public string VersionNumber { get; set; }
/// <summary>
/// 地图经度
/// </summary>
public string MapLongitude { get; set; }
/// <summary>
/// 地图纬度
/// </summary>
public string MapLatitude { get; set; }
/// <summary>
/// 模型包大小
/// </summary>
public string TrainingSize { get; set; }
/// <summary>
/// 模型包资源
/// </summary>
public string ModelResources { get; set; }
}
}