diff --git a/General_Line_MES.sln b/General_Line_MES.sln
index 96bcda7..0381c64 100644
--- a/General_Line_MES.sln
+++ b/General_Line_MES.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 18
-VisualStudioVersion = 18.0.11222.15 d18.0
+VisualStudioVersion = 18.0.11222.15
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RIZO.Admin.WebApi", "RIZO.Admin.WebApi\RIZO.Admin.WebApi.csproj", "{E5497BB4-B0C1-4794-9FAE-163F626EC399}"
EndProject
diff --git a/RIZO.Admin.WebApi/Controllers/MES/product/ProWorkorderController.cs b/RIZO.Admin.WebApi/Controllers/MES/product/ProWorkorderController.cs
index 829d09b..84ba496 100644
--- a/RIZO.Admin.WebApi/Controllers/MES/product/ProWorkorderController.cs
+++ b/RIZO.Admin.WebApi/Controllers/MES/product/ProWorkorderController.cs
@@ -278,6 +278,15 @@ namespace RIZO.Admin.WebApi.Controllers
//}
+ //TODO 获取物料
+ [HttpGet("get_material")]
+ public IActionResult GetMaterialInfo(string? Name_or_Code)
+ {
+ var response = _ProWorkorderService.GetMaterialInfo(Name_or_Code);
+ return SUCCESS(response);
+
+ }
+
////TODO 获取客户
//[HttpPost("get_custom")]
@@ -317,9 +326,9 @@ namespace RIZO.Admin.WebApi.Controllers
// return SUCCESS(response);
//}
- //TODO 获取组
+ // TODO 获取组
//[HttpGet("get_groups")]
- //public IActionResult GetGroupList(string route_code,DateTime dateTime)
+ //public IActionResult GetGroupList(string route_code, DateTime dateTime)
//{
// if (string.IsNullOrEmpty(route_code)) { return SUCCESS(null); }
// if (dateTime == DateTime.MinValue)
diff --git a/RIZO.Admin.WebApi/Controllers/MES/product_trace/ProductTraceProcessParametersController.cs b/RIZO.Admin.WebApi/Controllers/MES/product_trace/ProductTraceProcessParametersController.cs
new file mode 100644
index 0000000..278e812
--- /dev/null
+++ b/RIZO.Admin.WebApi/Controllers/MES/product_trace/ProductTraceProcessParametersController.cs
@@ -0,0 +1,100 @@
+using Microsoft.AspNetCore.Mvc;
+using RIZO.Model.Mes.Dto;
+using RIZO.Model.Mes;
+using RIZO.Service.Mes.IMesService;
+
+//创建时间:2026-01-13
+namespace RIZO.Admin.WebApi.Controllers.Mes
+{
+ ///
+ /// 工艺参数采集
+ ///
+ [Route("mes/ProductTraceProcessParameters")]
+ public class ProductTraceProcessParametersController : BaseController
+ {
+ ///
+ /// 工艺参数采集接口
+ ///
+ private readonly IProductTraceProcessParametersService _ProductTraceProcessParametersService;
+
+ public ProductTraceProcessParametersController(IProductTraceProcessParametersService ProductTraceProcessParametersService)
+ {
+ _ProductTraceProcessParametersService = ProductTraceProcessParametersService;
+ }
+
+ ///
+ /// 查询工艺参数采集列表
+ ///
+ ///
+ ///
+ [HttpGet("list")]
+ [ActionPermissionFilter(Permission = "producttraceprocessparameters:list")]
+ public IActionResult QueryProductTraceProcessParameters([FromQuery] ProductTraceProcessParametersQueryDto parm)
+ {
+ var response = _ProductTraceProcessParametersService.GetList(parm);
+ return SUCCESS(response);
+ }
+
+
+ ///
+ /// 查询工艺参数采集详情
+ ///
+ ///
+ ///
+ [HttpGet("{Id}")]
+ [ActionPermissionFilter(Permission = "producttraceprocessparameters:query")]
+ public IActionResult GetProductTraceProcessParameters(int Id)
+ {
+ var response = _ProductTraceProcessParametersService.GetInfo(Id);
+
+ var info = response.Adapt();
+ return SUCCESS(info);
+ }
+
+ ///
+ /// 添加工艺参数采集
+ ///
+ ///
+ [HttpPost]
+ [ActionPermissionFilter(Permission = "producttraceprocessparameters:add")]
+ [Log(Title = "工艺参数采集", BusinessType = BusinessType.INSERT)]
+ public IActionResult AddProductTraceProcessParameters([FromBody] ProductTraceProcessParametersDto parm)
+ {
+ var modal = parm.Adapt().ToCreate(HttpContext);
+
+ var response = _ProductTraceProcessParametersService.AddProductTraceProcessParameters(modal);
+
+ return SUCCESS(response);
+ }
+
+ ///
+ /// 更新工艺参数采集
+ ///
+ ///
+ [HttpPut]
+ [ActionPermissionFilter(Permission = "producttraceprocessparameters:edit")]
+ [Log(Title = "工艺参数采集", BusinessType = BusinessType.UPDATE)]
+ public IActionResult UpdateProductTraceProcessParameters([FromBody] ProductTraceProcessParametersDto parm)
+ {
+ var modal = parm.Adapt().ToUpdate(HttpContext);
+ var response = _ProductTraceProcessParametersService.UpdateProductTraceProcessParameters(modal);
+
+ return ToResponse(response);
+ }
+
+ ///
+ /// 删除工艺参数采集
+ ///
+ ///
+ [HttpPost("delete/{ids}")]
+ [ActionPermissionFilter(Permission = "producttraceprocessparameters:delete")]
+ [Log(Title = "工艺参数采集", BusinessType = BusinessType.DELETE)]
+ public IActionResult DeleteProductTraceProcessParameters([FromRoute]string ids)
+ {
+ var idArr = Tools.SplitAndConvert(ids);
+
+ return ToResponse(_ProductTraceProcessParametersService.Delete(idArr));
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/RIZO.Admin.WebApi/RIZO.Admin.WebApi.csproj b/RIZO.Admin.WebApi/RIZO.Admin.WebApi.csproj
index 045f099..35138f6 100644
--- a/RIZO.Admin.WebApi/RIZO.Admin.WebApi.csproj
+++ b/RIZO.Admin.WebApi/RIZO.Admin.WebApi.csproj
@@ -34,7 +34,6 @@
-
diff --git a/RIZO.Admin.WebApi/wwwroot/ImportTemplate/workorder.xlsx b/RIZO.Admin.WebApi/wwwroot/ImportTemplate/workorder.xlsx
new file mode 100644
index 0000000..284ba96
Binary files /dev/null and b/RIZO.Admin.WebApi/wwwroot/ImportTemplate/workorder.xlsx differ
diff --git a/RIZO.Model/MES/product/Dto/ProWorkorderDto.cs b/RIZO.Model/MES/product/Dto/ProWorkorderDto.cs
index 55f3bbc..214326a 100644
--- a/RIZO.Model/MES/product/Dto/ProWorkorderDto.cs
+++ b/RIZO.Model/MES/product/Dto/ProWorkorderDto.cs
@@ -39,42 +39,42 @@ namespace RIZO.Model.MES.product.Dto
///
/// 雪花id
///
- public string Id { get; set; }
+ public string? Id { get; set; }
///
/// 工单号
///
- public string Workorder { get; set; }
+ public string? Workorder { get; set; }
///
/// 存货编码
///
- public string ProductionCode { get; set; }
+ public string? ProductionCode { get; set; }
///
/// 产品名称
///
- public string ProductionName { get; set; }
+ public string? ProductionName { get; set; }
///
/// 规格型号
///
- public string Specification { get; set; }
+ public string? Specification { get; set; }
///
/// 项目号
///
- public string Project { get; set; }
+ public string? Project { get; set; }
///
/// 客户编码
///
- public string CustomCode { get; set; }
+ public string? CustomCode { get; set; }
///
/// 单位
///
- public string Unit { get; set; }
+ public string? Unit { get; set; }
///
@@ -96,7 +96,7 @@ namespace RIZO.Model.MES.product.Dto
///
/// 组别
///
- public string GroupCode { get; set; }
+ public string? GroupCode { get; set; }
///
@@ -113,7 +113,7 @@ namespace RIZO.Model.MES.product.Dto
///
/// 线别
///
- public string LineCode { get; set; }
+ public string? LineCode { get; set; }
///
/// 序号
@@ -155,12 +155,12 @@ namespace RIZO.Model.MES.product.Dto
///
/// 备注
///
- public string Remark { get; set; }
+ public string? Remark { get; set; }
///
/// 创建人
///
- public string CreatedBy { get; set; }
+ public string? CreatedBy { get; set; }
///
/// 创建时间
@@ -170,7 +170,7 @@ namespace RIZO.Model.MES.product.Dto
///
/// 更新人
///
- public string UpdatedBy { get; set; }
+ public string? UpdatedBy { get; set; }
///
/// 更新时间
diff --git a/RIZO.Model/MES/product_trace/Dto/ProductTraceProcessParametersDto.cs b/RIZO.Model/MES/product_trace/Dto/ProductTraceProcessParametersDto.cs
new file mode 100644
index 0000000..bce9df9
--- /dev/null
+++ b/RIZO.Model/MES/product_trace/Dto/ProductTraceProcessParametersDto.cs
@@ -0,0 +1,88 @@
+
+namespace RIZO.Model.Mes.Dto
+{
+ ///
+ /// 工艺参数采集查询对象
+ ///
+ public class ProductTraceProcessParametersQueryDto : PagerInfo
+ {
+ public DateTime[] TraceTimeArray { get; set; }=new DateTime[2];
+ public string WorkstationCode { get; set; }
+
+ public string ProductlinebodyCode { get; set; }
+
+ public string OperationCode { get; set; }
+
+ public string RoutingCode { get; set; }
+
+ public string ProductSn { get; set; }
+
+ public string Workorder { get; set; }
+
+ public string ParameterCode { get; set; }
+
+
+ }
+
+ ///
+ /// 工艺参数采集输入输出对象
+ ///
+ public class ProductTraceProcessParametersDto
+ {
+ [Required(ErrorMessage = "数据类型:FLOAT, INT, STRING, BOOL, AI(模拟量输入)等不能为空")]
+ public string DataType { get; set; }
+
+ public DateTime? UpdatedTime { get; set; }
+
+ public DateTime? CreatedTime { get; set; }
+
+ public string Updatedby { get; set; }
+
+ public string Createdby { get; set; }
+
+ public string Operator { get; set; }
+
+ public DateTime? CollectTime { get; set; }
+
+ public int? Result { get; set; }
+
+ public decimal MaxValue { get; set; }
+
+ public decimal MinValue { get; set; }
+
+ public decimal StandardValue { get; set; }
+
+ public string Unit { get; set; }
+
+ [Required(ErrorMessage = "主键不能为空")]
+ public int Id { get; set; }
+
+ public string Description { get; set; }
+
+ public string PlcPoint { get; set; }
+
+ public string ParameterName { get; set; }
+
+ [Required(ErrorMessage = "参数名称,如:温度、压力、时间不能为空")]
+ public string ParameterCode { get; set; }
+
+ public string WorkstationCode { get; set; }
+
+ public string ProductlinebodyCode { get; set; }
+
+ public string FlowCode { get; set; }
+
+ public string OperationCode { get; set; }
+
+ public string RoutingCode { get; set; }
+
+ public string ProductSn { get; set; }
+
+ public string Workorder { get; set; }
+
+
+
+ [ExcelColumn(Name = "数据类型:FLOAT, INT, STRING, BOOL, AI(模拟量输入)等")]
+ public string DataTypeLabel { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/RIZO.Model/MES/product_trace/ProductTraceProcessParameters.cs b/RIZO.Model/MES/product_trace/ProductTraceProcessParameters.cs
new file mode 100644
index 0000000..f4fff40
--- /dev/null
+++ b/RIZO.Model/MES/product_trace/ProductTraceProcessParameters.cs
@@ -0,0 +1,161 @@
+
+namespace RIZO.Model.Mes
+{
+ ///
+ /// 工艺参数采集
+ ///
+ [SugarTable("product_trace_process_parameters")]
+ public class ProductTraceProcessParameters
+ {
+
+ ///
+ /// 主键
+ ///
+ [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
+ public int Id { get; set; }
+
+
+
+ ///
+ /// 工单号
+ ///
+ public string Workorder { get; set; }
+
+
+ ///
+ /// 产品SN
+ ///
+ [SugarColumn(ColumnName = "product_SN")]
+ public string ProductSn { get; set; }
+
+
+
+ ///
+ /// 工艺路线编码
+ ///
+ public string RoutingCode { get; set; }
+
+ ///
+ /// 工序号
+ ///
+ public string OperationCode { get; set; }
+
+
+
+ ///
+ /// 流程code
+ ///
+ public string FlowCode { get; set; }
+
+ ///
+ /// 产线code
+ ///
+ public string ProductlinebodyCode { get; set; }
+
+ ///
+ /// 工站code
+ ///
+ public string WorkstationCode { get; set; }
+
+
+ ///
+ /// 显示名称(用于UI展示,可和name一样)
+ ///
+ [SugarColumn(ColumnName = "parameter_name")]
+ public string ParameterName { get; set; }
+
+ ///
+ /// 参数名称,如:温度、压力、时间
+ ///
+ [SugarColumn(ColumnName = "parameter_code")]
+ public string ParameterCode { get; set; }
+
+
+ ///
+ /// plc点位
+ ///
+ [SugarColumn(ColumnName = "plc_point")]
+ public string PlcPoint { get; set; }
+
+
+
+ ///
+ /// 参数描述,如:模具温度,用于热压工序
+ ///
+ public string Description { get; set; }
+
+
+
+
+ ///
+ /// 数据类型:FLOAT, INT, STRING, BOOL, AI(模拟量输入)等
+ ///
+ [SugarColumn(ColumnName = "data_type")]
+ public string DataType { get; set; }
+
+
+ ///
+ /// 单位,如:℃、MPa、秒、mm
+ ///
+ public string Unit { get; set; }
+
+
+ ///
+ /// 最大允许值(用于报警/校验)
+ ///
+ [SugarColumn(ColumnName = "max_value")]
+ public decimal MaxValue { get; set; }
+
+ ///
+ /// 最小允许值(用于报警/校验)
+ ///
+ [SugarColumn(ColumnName = "min_value")]
+ public decimal MinValue { get; set; }
+
+ ///
+ /// 标准/目标值(如目标温度 200.0 ℃)
+ ///
+ [SugarColumn(ColumnName = "standard_value")]
+ public decimal StandardValue { get; set; }
+
+
+
+ ///
+ /// 1 是合格 0是不合格
+ ///
+ public int? Result { get; set; }
+
+ ///
+ /// 操作人
+ ///
+ public string Operator { get; set; }
+
+ ///
+ /// 采集时间
+ ///
+ [SugarColumn(ColumnName = "collect_time")]
+ public DateTime? CollectTime { get; set; }
+
+ /// 更新时间
+ ///
+ [SugarColumn(ColumnName = "updated_time")]
+ public DateTime? UpdatedTime { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ [SugarColumn(ColumnName = "created_time")]
+ public DateTime? CreatedTime { get; set; }
+
+ ///
+ /// 更新人
+ ///
+ public string Updatedby { get; set; }
+
+ ///
+ /// 创建人
+ ///
+ public string Createdby { get; set; }
+
+ }
+}
\ No newline at end of file
diff --git a/RIZO.Model/RIZO.Model.csproj b/RIZO.Model/RIZO.Model.csproj
index e0addc3..4b1c26b 100644
--- a/RIZO.Model/RIZO.Model.csproj
+++ b/RIZO.Model/RIZO.Model.csproj
@@ -12,8 +12,4 @@
-
-
-
-
diff --git a/RIZO.Service/MES/product/IService/IProWorkorderService.cs b/RIZO.Service/MES/product/IService/IProWorkorderService.cs
index 113ca71..5cffd7e 100644
--- a/RIZO.Service/MES/product/IService/IProWorkorderService.cs
+++ b/RIZO.Service/MES/product/IService/IProWorkorderService.cs
@@ -6,6 +6,7 @@ using RIZO.Model.MES.product.Dto;
using RIZO.Model.System.Dto;
using RIZO.Model.System;
using Microsoft.AspNetCore.Http;
+using MDM.Model.Material;
@@ -42,6 +43,9 @@ namespace RIZO.Service.MES.product.IService
public PagedInfo WorkOrderExport(DateTime exportTime, PagerInfo pager);
//List GetMaterialInfo(BaseMaterialListQueryDto5 parm);
+ List GetMaterialInfo(string Name_or_Code);
+
+
//List GetCustomInfo(BaseCustomQueryDto2 parm);
// List GetGroupList(DateTime dateTime);
@@ -55,7 +59,7 @@ namespace RIZO.Service.MES.product.IService
//List GetGroupList();
- // List SearchBOMNum(string workorder_num);
+ // List SearchBOMNum(string workorder_num);
int WorkOrderLog(string workorder, string log, string Operator);
diff --git a/RIZO.Service/MES/product/ProWorkorderService.cs b/RIZO.Service/MES/product/ProWorkorderService.cs
index ec07e46..1adbee4 100644
--- a/RIZO.Service/MES/product/ProWorkorderService.cs
+++ b/RIZO.Service/MES/product/ProWorkorderService.cs
@@ -4,6 +4,7 @@ using Infrastructure.Attribute;
using Infrastructure.Converter;
using Mapster;
using MathNet.Numerics.Distributions;
+using MDM.Model.Material;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.AspNetCore.Http;
@@ -948,6 +949,21 @@ namespace RIZO.Service.MES.product
//}
+ ///
+ /// 获取物料信息
+ ///
+ ///
+ public List GetMaterialInfo(string Name_or_Code)
+ {
+ var predicate = Expressionable.Create()
+ .OrIF(!string.IsNullOrEmpty(Name_or_Code), it => it.Name.Contains(Name_or_Code))
+ .OrIF(!string.IsNullOrEmpty(Name_or_Code), it => it.Code.Contains(Name_or_Code))
+ ;
+
+ return Context.Queryable()
+ .Where(predicate.ToExpression()).Take(20).ToList();
+ }
+
///
/// 获取客户信息
///
@@ -1023,7 +1039,7 @@ namespace RIZO.Service.MES.product
-
+
///
/// 查询BOM 及其所需数量
diff --git a/RIZO.Service/MES/product_trace/IMesService/IProductTraceProcessParametersService.cs b/RIZO.Service/MES/product_trace/IMesService/IProductTraceProcessParametersService.cs
new file mode 100644
index 0000000..2fcfbc2
--- /dev/null
+++ b/RIZO.Service/MES/product_trace/IMesService/IProductTraceProcessParametersService.cs
@@ -0,0 +1,21 @@
+using RIZO.Model.Mes.Dto;
+using RIZO.Model.Mes;
+
+namespace RIZO.Service.Mes.IMesService
+{
+ ///
+ /// 工艺参数采集service接口
+ ///
+ public interface IProductTraceProcessParametersService : IBaseService
+ {
+ PagedInfo GetList(ProductTraceProcessParametersQueryDto parm);
+
+ ProductTraceProcessParameters GetInfo(int Id);
+
+
+ ProductTraceProcessParameters AddProductTraceProcessParameters(ProductTraceProcessParameters parm);
+ int UpdateProductTraceProcessParameters(ProductTraceProcessParameters parm);
+
+
+ }
+}
diff --git a/RIZO.Service/MES/product_trace/ProductTraceProcessParametersService.cs b/RIZO.Service/MES/product_trace/ProductTraceProcessParametersService.cs
new file mode 100644
index 0000000..492563c
--- /dev/null
+++ b/RIZO.Service/MES/product_trace/ProductTraceProcessParametersService.cs
@@ -0,0 +1,91 @@
+using Infrastructure.Attribute;
+using Infrastructure.Extensions;
+using RIZO.Model.Mes;
+using RIZO.Model.Mes.Dto;
+using RIZO.Repository;
+using RIZO.Service.Mes.IMesService;
+using System.ComponentModel;
+
+namespace RIZO.Service.Mes
+{
+ ///
+ /// 工艺参数采集Service业务层处理
+ ///
+ [AppService(ServiceType = typeof(IProductTraceProcessParametersService), ServiceLifetime = LifeTime.Transient)]
+ public class ProductTraceProcessParametersService : BaseService, IProductTraceProcessParametersService
+ {
+ ///
+ /// 查询工艺参数采集列表
+ ///
+ ///
+ ///
+ public PagedInfo GetList(ProductTraceProcessParametersQueryDto parm)
+ {
+ var predicate = QueryExp(parm)
+ .AndIF(!string.IsNullOrEmpty(parm.WorkstationCode), x => x.WorkstationCode.Contains( parm.WorkstationCode))
+ .AndIF(!string.IsNullOrEmpty(parm.ProductlinebodyCode), x => x.ProductlinebodyCode.Contains(parm.ProductlinebodyCode))
+ .AndIF(!string.IsNullOrEmpty(parm.OperationCode), x => x.OperationCode.Contains(parm.OperationCode))
+ .AndIF(!string.IsNullOrEmpty(parm.RoutingCode), x => x.RoutingCode.Contains(parm.RoutingCode))
+ .AndIF(!string.IsNullOrEmpty(parm.ProductSn), x => x.ProductSn.Contains(parm.ProductSn))
+ .AndIF(!string.IsNullOrEmpty(parm.Workorder), x => x.Workorder.Contains(parm.Workorder))
+ .AndIF(!string.IsNullOrEmpty(parm.ParameterCode), x => x.ParameterCode.Contains(parm.ParameterCode))
+ .AndIF(parm.TraceTimeArray != null && parm.TraceTimeArray.Length == 2, x => x.CollectTime >= parm.TraceTimeArray[0] && x.CollectTime <= parm.TraceTimeArray[1])
+
+
+ ;
+
+ var response = Queryable()
+ .Where(predicate.ToExpression())
+ .ToPage(parm);
+
+ return response;
+ }
+
+
+ ///
+ /// 获取详情
+ ///
+ ///
+ ///
+ public ProductTraceProcessParameters GetInfo(int Id)
+ {
+ var response = Queryable()
+ .Where(x => x.Id == Id)
+ .First();
+
+ return response;
+ }
+
+ ///
+ /// 添加工艺参数采集
+ ///
+ ///
+ ///
+ public ProductTraceProcessParameters AddProductTraceProcessParameters(ProductTraceProcessParameters model)
+ {
+ return Insertable(model).ExecuteReturnEntity();
+ }
+
+ ///
+ /// 修改工艺参数采集
+ ///
+ ///
+ ///
+ public int UpdateProductTraceProcessParameters(ProductTraceProcessParameters model)
+ {
+ return Update(model, true);
+ }
+
+ ///
+ /// 查询导出表达式
+ ///
+ ///
+ ///
+ private static Expressionable QueryExp(ProductTraceProcessParametersQueryDto parm)
+ {
+ var predicate = Expressionable.Create();
+
+ return predicate;
+ }
+ }
+}
\ No newline at end of file
diff --git a/RIZO.Service/RIZO.Service.csproj b/RIZO.Service/RIZO.Service.csproj
index aaf640a..e8a3eea 100644
--- a/RIZO.Service/RIZO.Service.csproj
+++ b/RIZO.Service/RIZO.Service.csproj
@@ -9,11 +9,9 @@
1591
+
-
-
-
diff --git a/valeo_lmes.sln b/valeo_lmes.sln
new file mode 100644
index 0000000..96bcda7
--- /dev/null
+++ b/valeo_lmes.sln
@@ -0,0 +1,85 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 18
+VisualStudioVersion = 18.0.11222.15 d18.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RIZO.Admin.WebApi", "RIZO.Admin.WebApi\RIZO.Admin.WebApi.csproj", "{E5497BB4-B0C1-4794-9FAE-163F626EC399}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RIZO.Model", "RIZO.Model\RIZO.Model.csproj", "{B35D73B1-2E22-4636-B88B-10C5E6D8E524}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RIZO.Common", "RIZO.Common\RIZO.Common.csproj", "{42C84599-1E99-45B4-929B-417C37337EF8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RIZO.Infrastructure", "Infrastructure\RIZO.Infrastructure.csproj", "{5D740120-5491-4FE2-B5BE-8A9C48BFE3C5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RIZO.Tasks", "RIZO.Tasks\RIZO.Tasks.csproj", "{B657ED99-40E5-423A-AFE7-157C4EE576CB}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RIZO.Service", "RIZO.Service\RIZO.Service.csproj", "{75ADA3C1-148D-4727-A718-79447D9B5EEE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RIZO.Repository", "RIZO.Repository\RIZO.Repository.csproj", "{17E277BF-B2B8-4111-AE43-38246128C83C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RIZO.CodeGenerator", "RIZO.CodeGenerator\RIZO.CodeGenerator.csproj", "{B353DE0B-12C6-4C15-909A-DB68F71D5AE9}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RIZO.ServiceCore", "RIZO.ServiceCore\RIZO.ServiceCore.csproj", "{4E2CC4E4-F109-4876-8498-912E13905765}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RIZO.Mall", "RIZO.Mall\RIZO.Mall.csproj", "{46A22606-F436-4846-AF21-E66E732E1912}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MDM", "MDM\MDM.csproj", "{BA1FDC29-D3F7-E2E9-48BB-D9E0C3021BE7}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {E5497BB4-B0C1-4794-9FAE-163F626EC399}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E5497BB4-B0C1-4794-9FAE-163F626EC399}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E5497BB4-B0C1-4794-9FAE-163F626EC399}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E5497BB4-B0C1-4794-9FAE-163F626EC399}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B35D73B1-2E22-4636-B88B-10C5E6D8E524}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B35D73B1-2E22-4636-B88B-10C5E6D8E524}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B35D73B1-2E22-4636-B88B-10C5E6D8E524}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B35D73B1-2E22-4636-B88B-10C5E6D8E524}.Release|Any CPU.Build.0 = Release|Any CPU
+ {42C84599-1E99-45B4-929B-417C37337EF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {42C84599-1E99-45B4-929B-417C37337EF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {42C84599-1E99-45B4-929B-417C37337EF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {42C84599-1E99-45B4-929B-417C37337EF8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5D740120-5491-4FE2-B5BE-8A9C48BFE3C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5D740120-5491-4FE2-B5BE-8A9C48BFE3C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5D740120-5491-4FE2-B5BE-8A9C48BFE3C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5D740120-5491-4FE2-B5BE-8A9C48BFE3C5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B657ED99-40E5-423A-AFE7-157C4EE576CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B657ED99-40E5-423A-AFE7-157C4EE576CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B657ED99-40E5-423A-AFE7-157C4EE576CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B657ED99-40E5-423A-AFE7-157C4EE576CB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {75ADA3C1-148D-4727-A718-79447D9B5EEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {75ADA3C1-148D-4727-A718-79447D9B5EEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {75ADA3C1-148D-4727-A718-79447D9B5EEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {75ADA3C1-148D-4727-A718-79447D9B5EEE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {17E277BF-B2B8-4111-AE43-38246128C83C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {17E277BF-B2B8-4111-AE43-38246128C83C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {17E277BF-B2B8-4111-AE43-38246128C83C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {17E277BF-B2B8-4111-AE43-38246128C83C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B353DE0B-12C6-4C15-909A-DB68F71D5AE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B353DE0B-12C6-4C15-909A-DB68F71D5AE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B353DE0B-12C6-4C15-909A-DB68F71D5AE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B353DE0B-12C6-4C15-909A-DB68F71D5AE9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4E2CC4E4-F109-4876-8498-912E13905765}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4E2CC4E4-F109-4876-8498-912E13905765}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4E2CC4E4-F109-4876-8498-912E13905765}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4E2CC4E4-F109-4876-8498-912E13905765}.Release|Any CPU.Build.0 = Release|Any CPU
+ {46A22606-F436-4846-AF21-E66E732E1912}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {46A22606-F436-4846-AF21-E66E732E1912}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {46A22606-F436-4846-AF21-E66E732E1912}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {46A22606-F436-4846-AF21-E66E732E1912}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BA1FDC29-D3F7-E2E9-48BB-D9E0C3021BE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BA1FDC29-D3F7-E2E9-48BB-D9E0C3021BE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BA1FDC29-D3F7-E2E9-48BB-D9E0C3021BE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BA1FDC29-D3F7-E2E9-48BB-D9E0C3021BE7}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {0469FF3A-7322-4053-94C7-881B103A57C5}
+ EndGlobalSection
+EndGlobal