From be2b3e40aa46a6df1c464fc3d70222742cf52bb6 Mon Sep 17 00:00:00 2001 From: sunny <2371019647@qq.com> Date: Mon, 27 Oct 2025 17:02:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E8=89=BA=E8=B7=AF=E7=BA=BF=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=90=8E=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Business/MaterialController.cs | 67 ++++++++ .../Business/OperationInfoController.cs | 100 +++++++++++ .../Business/ProcessInfoController.cs | 100 +++++++++++ RIZO.Admin.WebApi/Program.cs | 12 ++ RIZO.Admin.WebApi/RIZO.Admin.WebApi.csproj | 1 - .../appsettings.Development.json | 6 +- RIZO.Model/Business/Dto/OperationInfoDto.cs | 38 +++++ RIZO.Model/Business/Dto/ProcessInfoDto.cs | 38 +++++ RIZO.Model/Business/MaterialInfo.cs | 23 +++ RIZO.Model/Business/MaterialTypeDict.cs | 15 ++ RIZO.Model/Business/OperationInfo.cs | 64 +++++++ RIZO.Model/Business/ProcessInfo.cs | 19 +++ RIZO.Model/RIZO.Model.csproj | 4 + RIZO.Repository/Business/MaterialDao.cs | 161 ++++++++++++++++++ RIZO.Repository/RIZO.Repository.csproj | 1 + .../IBusinessService/IOperationInfoService.cs | 21 +++ .../IBusinessService/IProcessInfoService.cs | 21 +++ RIZO.Service/Business/MaterialService.cs | 67 ++++++++ RIZO.Service/Business/OperationInfoService.cs | 79 +++++++++ RIZO.Service/Business/ProcessInfoService.cs | 79 +++++++++ 20 files changed, 912 insertions(+), 4 deletions(-) create mode 100644 RIZO.Admin.WebApi/Controllers/Business/MaterialController.cs create mode 100644 RIZO.Admin.WebApi/Controllers/Business/OperationInfoController.cs create mode 100644 RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs create mode 100644 RIZO.Model/Business/Dto/OperationInfoDto.cs create mode 100644 RIZO.Model/Business/Dto/ProcessInfoDto.cs create mode 100644 RIZO.Model/Business/MaterialInfo.cs create mode 100644 RIZO.Model/Business/MaterialTypeDict.cs create mode 100644 RIZO.Model/Business/OperationInfo.cs create mode 100644 RIZO.Model/Business/ProcessInfo.cs create mode 100644 RIZO.Repository/Business/MaterialDao.cs create mode 100644 RIZO.Service/Business/IBusinessService/IOperationInfoService.cs create mode 100644 RIZO.Service/Business/IBusinessService/IProcessInfoService.cs create mode 100644 RIZO.Service/Business/MaterialService.cs create mode 100644 RIZO.Service/Business/OperationInfoService.cs create mode 100644 RIZO.Service/Business/ProcessInfoService.cs diff --git a/RIZO.Admin.WebApi/Controllers/Business/MaterialController.cs b/RIZO.Admin.WebApi/Controllers/Business/MaterialController.cs new file mode 100644 index 0000000..789c396 --- /dev/null +++ b/RIZO.Admin.WebApi/Controllers/Business/MaterialController.cs @@ -0,0 +1,67 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using RIZO.Service.Business; +using RIZO.Model.Business; + +namespace RIZO.Admin.WebApi.Controllers.Business +{ + [ApiController] + [Route("api/[controller]/[action]")] + public class MaterialController : ControllerBase + { + private readonly MaterialService _service; + + public MaterialController(MaterialService service) + { + _service = service; + } + + //获取所有的物料清单 + [HttpGet] + public ActionResult> GetMaterials([FromQuery] bool includeDeleted = false)//默认false,一般不用用户传。 + { + return _service.GetAllMaterials(includeDeleted); + } + + //根据物料编码查询物料清单 + [HttpGet] + public ActionResult GetMaterial(string material_code) + { + var material = _service.GetMaterialByMaterialCode(material_code); + if (material == null) return NotFound();//如果查询结果为空,则返回not found + return material; + } + + //新增物料清单数据 + [HttpPost] + public IActionResult AddMaterial([FromBody] MaterialInfo material) + { + _service.AddMaterial(material); // 假设创建人为admin + return Ok(); + } + + //批量新增物料清单数据 + [HttpPost] + public IActionResult AddMaterials([FromBody] List materials) + { + _service.AddMaterials(materials); + return Ok(); + } + + //修改物料清单数据 + [HttpPut] + public IActionResult UpdateMaterial([FromBody] MaterialInfo material) + { + _service.UpdateMaterial(material); + return Ok(); + } + + //逻辑删除 + [HttpDelete] + public IActionResult DeleteMaterial(int id, MaterialInfo material) + { + _service.DeleteMaterial(id, material); + return Ok(); + } + } +} diff --git a/RIZO.Admin.WebApi/Controllers/Business/OperationInfoController.cs b/RIZO.Admin.WebApi/Controllers/Business/OperationInfoController.cs new file mode 100644 index 0000000..c8c91af --- /dev/null +++ b/RIZO.Admin.WebApi/Controllers/Business/OperationInfoController.cs @@ -0,0 +1,100 @@ +using Microsoft.AspNetCore.Mvc; +using RIZO.Model.Business.Dto; +using RIZO.Model.Business; +using RIZO.Service.Business.IBusinessService; + +//创建时间:2025-11-04 +namespace RIZO.Admin.WebApi.Controllers.Business +{ + /// + /// 工序表 + /// + [Route("business/OperationInfo")] + public class OperationInfoController : BaseController + { + /// + /// 工序表接口 + /// + private readonly IOperationInfoService _OperationInfoService; + + public OperationInfoController(IOperationInfoService OperationInfoService) + { + _OperationInfoService = OperationInfoService; + } + + /// + /// 查询工序表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "operationinfo:list")] + public IActionResult QueryOperationInfo([FromQuery] OperationInfoQueryDto parm) + { + var response = _OperationInfoService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询工序表详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "operationinfo:query")] + public IActionResult GetOperationInfo(long Id) + { + var response = _OperationInfoService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加工序表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "operationinfo:add")] + [Log(Title = "工序表", BusinessType = BusinessType.INSERT)] + public IActionResult AddOperationInfo([FromBody] OperationInfoDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _OperationInfoService.AddOperationInfo(modal); + + return SUCCESS(response); + } + + /// + /// 更新工序表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "operationinfo:edit")] + [Log(Title = "工序表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateOperationInfo([FromBody] OperationInfoDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _OperationInfoService.UpdateOperationInfo(modal); + + return ToResponse(response); + } + + /// + /// 删除工序表 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "operationinfo:delete")] + [Log(Title = "工序表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteOperationInfo([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_OperationInfoService.Delete(idArr)); + } + + } +} \ No newline at end of file diff --git a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs new file mode 100644 index 0000000..26e2885 --- /dev/null +++ b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs @@ -0,0 +1,100 @@ +using Microsoft.AspNetCore.Mvc; +using RIZO.Model.Business.Dto; +using RIZO.Model.Business; +using RIZO.Service.Business.IBusinessService; + +//创建时间:2025-11-04 +namespace RIZO.Admin.WebApi.Controllers.Business +{ + /// + /// 工艺表 + /// + [Route("business/ProcessInfo")] + public class ProcessInfoController : BaseController + { + /// + /// 工艺表接口 + /// + private readonly IProcessInfoService _ProcessInfoService; + + public ProcessInfoController(IProcessInfoService ProcessInfoService) + { + _ProcessInfoService = ProcessInfoService; + } + + /// + /// 查询工艺表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "processinfo:list")] + public IActionResult QueryProcessInfo([FromQuery] ProcessInfoQueryDto parm) + { + var response = _ProcessInfoService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询工艺表详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "processinfo:query")] + public IActionResult GetProcessInfo(long Id) + { + var response = _ProcessInfoService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加工艺表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "processinfo:add")] + [Log(Title = "工艺表", BusinessType = BusinessType.INSERT)] + public IActionResult AddProcessInfo([FromBody] ProcessInfoDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _ProcessInfoService.AddProcessInfo(modal); + + return SUCCESS(response); + } + + /// + /// 更新工艺表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "processinfo:edit")] + [Log(Title = "工艺表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateProcessInfo([FromBody] ProcessInfoDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _ProcessInfoService.UpdateProcessInfo(modal); + + return ToResponse(response); + } + + /// + /// 删除工艺表 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "processinfo:delete")] + [Log(Title = "工艺表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteProcessInfo([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_ProcessInfoService.Delete(idArr)); + } + + } +} \ No newline at end of file diff --git a/RIZO.Admin.WebApi/Program.cs b/RIZO.Admin.WebApi/Program.cs index ff535a5..2c52deb 100644 --- a/RIZO.Admin.WebApi/Program.cs +++ b/RIZO.Admin.WebApi/Program.cs @@ -13,6 +13,9 @@ using RIZO.Infrastructure.WebExtensions; using RIZO.ServiceCore.Signalr; using RIZO.ServiceCore.SqlSugar; using RIZO.Mall; + +using RIZO.Repository.Business; +using RIZO.Service.Business; //using SQLitePCL; var builder = WebApplication.CreateBuilder(args); @@ -24,6 +27,15 @@ builder.Services.AddDynamicApi(); // Add services to the container. builder.Services.AddControllers(); +// --- 这里开始注入 MaterialDao 和 MaterialService --- +var dbConfigSection = builder.Configuration.GetSection("dbConfigs").GetChildren().First(); +var mySqlConn = dbConfigSection.GetValue("Conn"); +builder.Services.AddSingleton(new RIZO.Repository.Business.MaterialDao(mySqlConn)); +builder.Services.AddSingleton(); +// --- 注入完成 --- + + + // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); diff --git a/RIZO.Admin.WebApi/RIZO.Admin.WebApi.csproj b/RIZO.Admin.WebApi/RIZO.Admin.WebApi.csproj index 5e26afb..e46c496 100644 --- a/RIZO.Admin.WebApi/RIZO.Admin.WebApi.csproj +++ b/RIZO.Admin.WebApi/RIZO.Admin.WebApi.csproj @@ -27,7 +27,6 @@ - diff --git a/RIZO.Admin.WebApi/appsettings.Development.json b/RIZO.Admin.WebApi/appsettings.Development.json index 6355450..2fe7ed6 100644 --- a/RIZO.Admin.WebApi/appsettings.Development.json +++ b/RIZO.Admin.WebApi/appsettings.Development.json @@ -11,10 +11,10 @@ //代码生成数据库配置 "CodeGenDbConfig": { //代码生成连接字符串,注意{dbName}为固定格式,不要填写数据库名 - "Conn": "Data Source=139.224.232.211;User ID=root;Password=doantech123;Initial Catalog={dbName};", - "DbType": 1, + "Conn": "Data Source=139.224.232.211;User ID=root;Password=doantech123;Initial Catalog={dbName};Port=3308;", + "DbType": 0, "IsAutoCloseConnection": true, - "DbName": "ay2509055-guiyang-fluoresence-lmes" //代码生成默认连接数据库,Oracle库是实例的名称 + "DbName": "ay2509055-guiyang-fluorescence-lmes" //代码生成默认连接数据库,Oracle库是实例的名称 } } diff --git a/RIZO.Model/Business/Dto/OperationInfoDto.cs b/RIZO.Model/Business/Dto/OperationInfoDto.cs new file mode 100644 index 0000000..347d17c --- /dev/null +++ b/RIZO.Model/Business/Dto/OperationInfoDto.cs @@ -0,0 +1,38 @@ + +namespace RIZO.Model.Business.Dto +{ + /// + /// 工序表查询对象 + /// + public class OperationInfoQueryDto : PagerInfo + { + } + + /// + /// 工序表输入输出对象 + /// + public class OperationInfoDto + { + [Required(ErrorMessage = "Id不能为空")] + public long Id { get; set; } + + public string OperationCode { get; set; } + + public string OperationName { get; set; } + + public string ProcessCode { get; set; } + + public int? Delflag { get; set; } + + public string CreateBy { get; set; } + + public DateTime? CreateTime { get; set; } + + public string UpdateBy { get; set; } + + public DateTime? UpdateTime { get; set; } + + + + } +} \ No newline at end of file diff --git a/RIZO.Model/Business/Dto/ProcessInfoDto.cs b/RIZO.Model/Business/Dto/ProcessInfoDto.cs new file mode 100644 index 0000000..9865c23 --- /dev/null +++ b/RIZO.Model/Business/Dto/ProcessInfoDto.cs @@ -0,0 +1,38 @@ + +namespace RIZO.Model.Business.Dto +{ + /// + /// 工艺表查询对象 + /// + public class ProcessInfoQueryDto : PagerInfo + { + } + + /// + /// 工艺表输入输出对象 + /// + public class ProcessInfoDto + { + [Required(ErrorMessage = "主键ID不能为空")] + public long Id { get; set; } + + [Required(ErrorMessage = "工艺编码不能为空")] + public string ProcessCode { get; set; } + + [Required(ErrorMessage = "工艺名称不能为空")] + public string ProcessName { get; set; } + + public string CreateBy { get; set; } + + public DateTime? CreateTime { get; set; } + + public string UpdateBy { get; set; } + + public DateTime? UpdateTime { get; set; } + + public int? Delflag { get; set; } + + + + } +} \ No newline at end of file diff --git a/RIZO.Model/Business/MaterialInfo.cs b/RIZO.Model/Business/MaterialInfo.cs new file mode 100644 index 0000000..87b049c --- /dev/null +++ b/RIZO.Model/Business/MaterialInfo.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace RIZO.Model.Business +{ + public class MaterialInfo + { + public int Id { get; set; } + public string MaterialCode { get; set; } + public string MaterialName { get; set; } + public string MaterialModel { get; set; } + public string MaterialType { get; set; } + public string ProcessCode { get; set; } + public int DelFlag { get; set; } = 0; + public string CreateBy { get; set; } + public DateTime CreateTime { get; set; } + public string UpdateBy { get; set; } + public DateTime? UpdateTime { get; set; } + } +} diff --git a/RIZO.Model/Business/MaterialTypeDict.cs b/RIZO.Model/Business/MaterialTypeDict.cs new file mode 100644 index 0000000..1854673 --- /dev/null +++ b/RIZO.Model/Business/MaterialTypeDict.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace RIZO.Model.Business +{ + public class MaterialTypeDict + { + public int Id { get; set; } + public string MaterialType { get; set; } + public string MaterialTypeName { get; set; } + } +} diff --git a/RIZO.Model/Business/OperationInfo.cs b/RIZO.Model/Business/OperationInfo.cs new file mode 100644 index 0000000..cd11759 --- /dev/null +++ b/RIZO.Model/Business/OperationInfo.cs @@ -0,0 +1,64 @@ + +namespace RIZO.Model.Business +{ + /// + /// 工序表 + /// + [SugarTable("operation_info")] + public class OperationInfo + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public long Id { get; set; } + + /// + /// 工序编码 + /// + [SugarColumn(ColumnName = "operation_code")] + public string OperationCode { get; set; } + + /// + /// 工序名称 + /// + [SugarColumn(ColumnName = "operation_name")] + public string OperationName { get; set; } + + /// + /// 工艺路线编码 + /// + [SugarColumn(ColumnName = "process_code")] + public string ProcessCode { get; set; } + + /// + /// 删除标志(0未删除,1已删除) + /// + public int? Delflag { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + } +} \ No newline at end of file diff --git a/RIZO.Model/Business/ProcessInfo.cs b/RIZO.Model/Business/ProcessInfo.cs new file mode 100644 index 0000000..99edf71 --- /dev/null +++ b/RIZO.Model/Business/ProcessInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace RIZO.Model.Business +{ + public class ProcessInfo + { + public int Id { get; set; } + public string ProcessCode { get; set; } + public string ProcessName { get; set; } + public string CreateBy { get; set; } + public DateTime CreateTime { get; set; } + public string UpdateBy { get; set; } + public DateTime? UpdateTime { get; set; } + } +} diff --git a/RIZO.Model/RIZO.Model.csproj b/RIZO.Model/RIZO.Model.csproj index 61c985c..a759da6 100644 --- a/RIZO.Model/RIZO.Model.csproj +++ b/RIZO.Model/RIZO.Model.csproj @@ -12,4 +12,8 @@ + + + + diff --git a/RIZO.Repository/Business/MaterialDao.cs b/RIZO.Repository/Business/MaterialDao.cs new file mode 100644 index 0000000..bb5515d --- /dev/null +++ b/RIZO.Repository/Business/MaterialDao.cs @@ -0,0 +1,161 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RIZO.Model.Business; +using MySql.Data.MySqlClient; + +namespace RIZO.Repository.Business +{ + public class MaterialDao + { + private readonly string _connectionString; + + public MaterialDao(string connectionString) + { + _connectionString = connectionString; + } + + // 查询列表 + public List GetMaterials(bool includeDeleted = false) + { + var list = new List(); + using var conn = new MySqlConnection(_connectionString); + conn.Open(); + + //等价于SELECT * FROM material_info,它本身没有任何过滤作用,只是为了后续方便动态拼接条件。 + string sql = "SELECT * FROM material_info WHERE 1=1"; + if (!includeDeleted)//includeDeleted默认false,if条件默认为真,需要拼接条件AND del_flag=0,只查询未删除的数据。 + { + sql += " AND del_flag=0"; + } + + using var cmd = new MySqlCommand(sql, conn); + using var reader = cmd.ExecuteReader(); + while (reader.Read()) + { + list.Add(new MaterialInfo + { + Id = Convert.ToInt32(reader["id"]), + MaterialCode = reader["material_code"].ToString(), + MaterialName = reader["material_name"].ToString(), + MaterialModel = reader["material_model"].ToString(), + MaterialType = reader["material_type"].ToString(), + ProcessCode = reader["process_code"].ToString(), + DelFlag = Convert.ToInt32(reader["del_flag"]), + CreateBy = reader["create_by"].ToString(), + CreateTime = Convert.ToDateTime(reader["create_time"]), + UpdateBy = reader["update_by"].ToString(), + UpdateTime = reader["update_time"] == DBNull.Value ? null : (DateTime?)Convert.ToDateTime(reader["update_time"]) + }); + } + + return list; + } + + // 根据物料编码查询物料清单 + public MaterialInfo GetMaterialByMaterialCode(string material_code) + { + using var conn = new MySqlConnection(_connectionString); + conn.Open(); + + string sql = "SELECT * FROM material_info WHERE material_code=@material_code AND del_flag=0"; + using var cmd = new MySqlCommand(sql, conn); + cmd.Parameters.AddWithValue("@material_code", material_code); + + using var reader = cmd.ExecuteReader(); + if (reader.Read()) + { + return new MaterialInfo + { + Id = Convert.ToInt32(reader["id"]), + MaterialCode = reader["material_code"].ToString(), + MaterialName = reader["material_name"].ToString(), + MaterialModel = reader["material_model"].ToString(), + MaterialType = reader["material_type"].ToString(), + ProcessCode = reader["process_code"].ToString(), + DelFlag = Convert.ToInt32(reader["del_flag"]), + CreateBy = reader["create_by"].ToString(), + CreateTime = Convert.ToDateTime(reader["create_time"]), + UpdateBy = reader["update_by"].ToString(), + UpdateTime = reader["update_time"] == DBNull.Value ? null : (DateTime?)Convert.ToDateTime(reader["update_time"]) + }; + } + return null; + } + + //新增物料清单数据 + public void AddMaterial(MaterialInfo material) + { + using var conn = new MySqlConnection(_connectionString); + conn.Open(); + + string sql = @"INSERT INTO material_info + (material_code, material_name, material_model, material_type, process_code, create_by, create_time,update_by,update_time) + VALUES (@code, @name, @model, @type, @process, @createBy, @createTime,@updateBy,@updateTime)"; + + using var cmd = new MySqlCommand(sql, conn); + cmd.Parameters.AddWithValue("@code", material.MaterialCode); + cmd.Parameters.AddWithValue("@name", material.MaterialName); + cmd.Parameters.AddWithValue("@model", material.MaterialModel); + cmd.Parameters.AddWithValue("@type", material.MaterialType); + cmd.Parameters.AddWithValue("@process", material.ProcessCode); + cmd.Parameters.AddWithValue("@createBy", material.CreateBy); + cmd.Parameters.AddWithValue("@createTime", material.CreateTime); + cmd.Parameters.AddWithValue("@updateBy", material.UpdateBy); + cmd.Parameters.AddWithValue("@updateTime", material.UpdateTime); + + cmd.ExecuteNonQuery(); + } + + //批量新增物料清单数据 + public void AddMaterials(List materials) + { + foreach (var m in materials) + { + AddMaterial(m); + } + } + + //修改物料清单数据 + public void UpdateMaterial(MaterialInfo material) + { + using var conn = new MySqlConnection(_connectionString); + conn.Open(); + + string sql = @"UPDATE material_info SET + material_code=@code, material_name=@name, material_model=@model, + material_type=@type, process_code=@process, update_by=@updateBy, + update_time=@updateTime + WHERE id=@id"; + + using var cmd = new MySqlCommand(sql, conn); + cmd.Parameters.AddWithValue("@code", material.MaterialCode); + cmd.Parameters.AddWithValue("@name", material.MaterialName); + cmd.Parameters.AddWithValue("@model", material.MaterialModel); + cmd.Parameters.AddWithValue("@type", material.MaterialType); + cmd.Parameters.AddWithValue("@process", material.ProcessCode); + cmd.Parameters.AddWithValue("@updateBy", material.UpdateBy); + cmd.Parameters.AddWithValue("@updateTime", material.UpdateTime); + cmd.Parameters.AddWithValue("@id", material.Id); + + cmd.ExecuteNonQuery(); + } + + // 逻辑删除 + public void DeleteMaterial(int id, MaterialInfo material) + { + using var conn = new MySqlConnection(_connectionString); + conn.Open(); + + string sql = "UPDATE material_info SET del_flag=1, update_by=@updateBy, update_time=@updateTime WHERE id=@id"; + using var cmd = new MySqlCommand(sql, conn); + cmd.Parameters.AddWithValue("@id", id); + cmd.Parameters.AddWithValue("@updateBy", material.UpdateBy); + cmd.Parameters.AddWithValue("@updateTime", DateTime.Now); + + cmd.ExecuteNonQuery(); + } + } +} diff --git a/RIZO.Repository/RIZO.Repository.csproj b/RIZO.Repository/RIZO.Repository.csproj index 2a3bf41..3037ac6 100644 --- a/RIZO.Repository/RIZO.Repository.csproj +++ b/RIZO.Repository/RIZO.Repository.csproj @@ -11,6 +11,7 @@ + diff --git a/RIZO.Service/Business/IBusinessService/IOperationInfoService.cs b/RIZO.Service/Business/IBusinessService/IOperationInfoService.cs new file mode 100644 index 0000000..263653b --- /dev/null +++ b/RIZO.Service/Business/IBusinessService/IOperationInfoService.cs @@ -0,0 +1,21 @@ +using RIZO.Model.Business.Dto; +using RIZO.Model.Business; + +namespace RIZO.Service.Business.IBusinessService +{ + /// + /// 工序表service接口 + /// + public interface IOperationInfoService : IBaseService + { + PagedInfo GetList(OperationInfoQueryDto parm); + + OperationInfo GetInfo(long Id); + + + OperationInfo AddOperationInfo(OperationInfo parm); + int UpdateOperationInfo(OperationInfo parm); + + + } +} diff --git a/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs b/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs new file mode 100644 index 0000000..c56c184 --- /dev/null +++ b/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs @@ -0,0 +1,21 @@ +using RIZO.Model.Business.Dto; +using RIZO.Model.Business; + +namespace RIZO.Service.Business.IBusinessService +{ + /// + /// 工艺表service接口 + /// + public interface IProcessInfoService : IBaseService + { + PagedInfo GetList(ProcessInfoQueryDto parm); + + ProcessInfo GetInfo(long Id); + + + ProcessInfo AddProcessInfo(ProcessInfo parm); + int UpdateProcessInfo(ProcessInfo parm); + + + } +} diff --git a/RIZO.Service/Business/MaterialService.cs b/RIZO.Service/Business/MaterialService.cs new file mode 100644 index 0000000..0c0ef73 --- /dev/null +++ b/RIZO.Service/Business/MaterialService.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RIZO.Repository.Business; +using RIZO.Model.Business; + +namespace RIZO.Service.Business +{ + public class MaterialService + { + private readonly MaterialDao _dao; + + public MaterialService(MaterialDao dao) + { + _dao = dao; + } + + //获取所有的物料清单 + public List GetAllMaterials(bool includeDeleted = false) + { + return _dao.GetMaterials(includeDeleted); + } + + //根据物料编码查询物料清单 + public MaterialInfo GetMaterialByMaterialCode(string material_code) + { + return _dao.GetMaterialByMaterialCode(material_code); + } + + //新增物料清单数据 + public void AddMaterial(MaterialInfo material) + { + + material.CreateTime = DateTime.Now; + material.UpdateTime = DateTime.Now; + _dao.AddMaterial(material); + } + + ////批量新增物料清单数据 + public void AddMaterials(List materials) + { + foreach (var m in materials) + { + + m.CreateTime = DateTime.Now; + m.UpdateTime = DateTime.Now; + } + _dao.AddMaterials(materials); + } + + //修改物料清单数据 + public void UpdateMaterial(MaterialInfo material) + { + + material.UpdateTime = DateTime.Now; + _dao.UpdateMaterial(material); + } + + //逻辑删除 + public void DeleteMaterial(int id, MaterialInfo material) + { + _dao.DeleteMaterial(id, material); + } + } +} diff --git a/RIZO.Service/Business/OperationInfoService.cs b/RIZO.Service/Business/OperationInfoService.cs new file mode 100644 index 0000000..7b276ec --- /dev/null +++ b/RIZO.Service/Business/OperationInfoService.cs @@ -0,0 +1,79 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using RIZO.Model.Business.Dto; +using RIZO.Model.Business; +using RIZO.Repository; +using RIZO.Service.Business.IBusinessService; + +namespace RIZO.Service.Business +{ + /// + /// 工序表Service业务层处理 + /// + [AppService(ServiceType = typeof(IOperationInfoService), ServiceLifetime = LifeTime.Transient)] + public class OperationInfoService : BaseService, IOperationInfoService + { + /// + /// 查询工序表列表 + /// + /// + /// + public PagedInfo GetList(OperationInfoQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public OperationInfo GetInfo(long Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加工序表 + /// + /// + /// + public OperationInfo AddOperationInfo(OperationInfo model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改工序表 + /// + /// + /// + public int UpdateOperationInfo(OperationInfo model) + { + return Update(model, true); + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(OperationInfoQueryDto parm) + { + var predicate = Expressionable.Create(); + + return predicate; + } + } +} \ No newline at end of file diff --git a/RIZO.Service/Business/ProcessInfoService.cs b/RIZO.Service/Business/ProcessInfoService.cs new file mode 100644 index 0000000..3e095bf --- /dev/null +++ b/RIZO.Service/Business/ProcessInfoService.cs @@ -0,0 +1,79 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using RIZO.Model.Business.Dto; +using RIZO.Model.Business; +using RIZO.Repository; +using RIZO.Service.Business.IBusinessService; + +namespace RIZO.Service.Business +{ + /// + /// 工艺表Service业务层处理 + /// + [AppService(ServiceType = typeof(IProcessInfoService), ServiceLifetime = LifeTime.Transient)] + public class ProcessInfoService : BaseService, IProcessInfoService + { + /// + /// 查询工艺表列表 + /// + /// + /// + public PagedInfo GetList(ProcessInfoQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public ProcessInfo GetInfo(long Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加工艺表 + /// + /// + /// + public ProcessInfo AddProcessInfo(ProcessInfo model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改工艺表 + /// + /// + /// + public int UpdateProcessInfo(ProcessInfo model) + { + return Update(model, true); + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(ProcessInfoQueryDto parm) + { + var predicate = Expressionable.Create(); + + return predicate; + } + } +} \ No newline at end of file