@@ -19,6 +19,8 @@ namespace BPA.SAAS.Manage.Application.DataBase.Dtos.Goods | |||||
/// 状态 【正常 停用】默认 正常 | /// 状态 【正常 停用】默认 正常 | ||||
/// </summary> | /// </summary> | ||||
public string Status { get; set; } | public string Status { get; set; } | ||||
public string Descritption { get; set; } | |||||
} | } | ||||
} | } |
@@ -20,6 +20,7 @@ using NPOI.HSSF.UserModel; | |||||
using NPOI.SS.UserModel; | using NPOI.SS.UserModel; | ||||
using NPOI.SS.Util; | using NPOI.SS.Util; | ||||
using NPOI.XSSF.UserModel; | using NPOI.XSSF.UserModel; | ||||
using Org.BouncyCastle.Asn1.Cms; | |||||
using System; | using System; | ||||
using System.Collections; | using System.Collections; | ||||
using System.ComponentModel.DataAnnotations.Schema; | using System.ComponentModel.DataAnnotations.Schema; | ||||
@@ -67,7 +68,10 @@ namespace BPA.SAAS.Manage.Application.DataBase.Services | |||||
{ | { | ||||
conModels.Add(new ConditionalModel() { FieldName = "a.Status", ConditionalType = ConditionalType.Like, FieldValue = dto.Status }); | conModels.Add(new ConditionalModel() { FieldName = "a.Status", ConditionalType = ConditionalType.Like, FieldValue = dto.Status }); | ||||
} | } | ||||
if (!string.IsNullOrEmpty(dto.Descritption)) | |||||
{ | |||||
conModels.Add(new ConditionalModel() { FieldName = "a.Descritption", ConditionalType = ConditionalType.Like, FieldValue = dto.Descritption }); | |||||
} | |||||
#endregion | #endregion | ||||
RefAsync<int> total = 0; | RefAsync<int> total = 0; | ||||
@@ -774,8 +778,8 @@ namespace BPA.SAAS.Manage.Application.DataBase.Services | |||||
deviceGoodsPositionList.Add(new BPA_DeviceGoodsPosition() | deviceGoodsPositionList.Add(new BPA_DeviceGoodsPosition() | ||||
{ | { | ||||
DeviceId = thisDevice.Id, | |||||
GoodsId = thisGoods.Id, | |||||
DeviceId = thisDevice?.Id, | |||||
GoodsId = thisGoods?.Id, | |||||
Id = Guid.NewGuid().ToString(), | Id = Guid.NewGuid().ToString(), | ||||
Position1 = item.Position1, | Position1 = item.Position1, | ||||
Position2 = item.Position2, | Position2 = item.Position2, | ||||
@@ -836,13 +840,14 @@ namespace BPA.SAAS.Manage.Application.DataBase.Services | |||||
var thisName = goodTechnologyModel[i].Name == null ? cName : goodTechnologyModel[i].Name; | var thisName = goodTechnologyModel[i].Name == null ? cName : goodTechnologyModel[i].Name; | ||||
var data = await _db.Queryable<BPA_ProductFunction>() | |||||
.Where(x => x.Name == thisName && x.DeviceVersionKey == device.ProductVersionId).FirstAsync(); | |||||
var data2 = await _db.Queryable<BPA_ProductFunctionAction>() | |||||
.Where(x => x.ActionName == goodTechnologyModel[i].Configuration && x.ProductFunctionId == data.Id).FirstAsync(); | |||||
var data = await _db.Queryable<BPA_Technology>() | |||||
.Where(x => x.Name == thisName && x.DeviceVersionId == device.ProductVersionId).FirstAsync(); | |||||
var data2 = new BPA_TechnologyAction(); | |||||
if (data != null) | |||||
{ | |||||
data2 = await _db.Queryable<BPA_TechnologyAction>() | |||||
.Where(x => x.ActionName == goodTechnologyModel[i].Configuration && x.TechnologyId == data.Id).FirstAsync(); | |||||
} | |||||
var batching = new BPA_Batching(); | var batching = new BPA_Batching(); | ||||
var IsBatch = goodTechnologyModel[i].Name != "液体料"; | var IsBatch = goodTechnologyModel[i].Name != "液体料"; | ||||
@@ -905,8 +910,8 @@ namespace BPA.SAAS.Manage.Application.DataBase.Services | |||||
{ | { | ||||
var v1 = json.FirstOrDefault(x => x.actionName == "主料名称"); | var v1 = json.FirstOrDefault(x => x.actionName == "主料名称"); | ||||
var v2 = deviceGoodsPosition.FirstOrDefault(x => x.GoodsName == name2 && x.DeviceName == name1); | var v2 = deviceGoodsPosition.FirstOrDefault(x => x.GoodsName == name2 && x.DeviceName == name1); | ||||
var jsondb = await _db.Queryable<BPA_ProductFunctionAction>() | |||||
.Where(x => x.ProductFunctionId == thisItem.ChnologyId) | |||||
var jsondb = await _db.Queryable<BPA_TechnologyAction>() | |||||
.Where(x => x.TechnologyId == thisItem.ChnologyId) | |||||
.ToListAsync(); | .ToListAsync(); | ||||
foreach (var item in from item in jsondb let insertableJsondb = json.FirstOrDefault(x => x.technologyactionId == item.Id) where insertableJsondb == null select item) | foreach (var item in from item in jsondb let insertableJsondb = json.FirstOrDefault(x => x.technologyactionId == item.Id) where insertableJsondb == null select item) | ||||
@@ -915,7 +920,7 @@ namespace BPA.SAAS.Manage.Application.DataBase.Services | |||||
{ | { | ||||
actionName = item.ActionName, | actionName = item.ActionName, | ||||
actionValue = item.ActionName == "主料重量" ? "0" : item.ActionValue, | actionValue = item.ActionName == "主料重量" ? "0" : item.ActionValue, | ||||
chnologyId = item.ProductFunctionId, | |||||
chnologyId = item.TechnologyId, | |||||
index = thisItem.Index, | index = thisItem.Index, | ||||
technologyactionId = item.Id | technologyactionId = item.Id | ||||
@@ -978,11 +983,13 @@ namespace BPA.SAAS.Manage.Application.DataBase.Services | |||||
} | } | ||||
if (value.ToString().Trim() == goodsName.Trim()) | if (value.ToString().Trim() == goodsName.Trim()) | ||||
{ | { | ||||
if (item2.IsDefined(typeof(ColumnAttribute), false)) | |||||
{ | |||||
ColumnAttribute attribute = (ColumnAttribute)item2.GetCustomAttribute(typeof(ColumnAttribute), false); | |||||
return attribute.Name; | |||||
} | |||||
ColumnAttribute attribute = (ColumnAttribute)item2.GetCustomAttribute(typeof(ColumnAttribute), false); | |||||
return attribute?.Name; | |||||
//if (item2.IsDefined(typeof(ColumnAttribute), false)) | |||||
//{ | |||||
// ColumnAttribute attribute = (ColumnAttribute)item2.GetCustomAttribute(typeof(ColumnAttribute), false); | |||||
// return attribute.Name; | |||||
//} | |||||
} | } | ||||
} | } | ||||
return ""; | return ""; | ||||
@@ -58,5 +58,6 @@ namespace BPA.SAAS.Manage.Application.Device.Dtos.ProductFunction | |||||
/// </summary> | /// </summary> | ||||
public string Description { get; set; } | public string Description { get; set; } | ||||
public string ProductId { get; set; } | public string ProductId { get; set; } | ||||
public string DataJson { get; set; } | |||||
} | } | ||||
} | } |
@@ -4,6 +4,7 @@ using BPA.SAAS.Manage.Comm.Const; | |||||
using BPA.SAAS.Manage.Comm.Enum; | using BPA.SAAS.Manage.Comm.Enum; | ||||
using BPA.SAAS.Manage.Core.Base; | using BPA.SAAS.Manage.Core.Base; | ||||
using BPA.SAAS.Manage.Core.Product; | using BPA.SAAS.Manage.Core.Product; | ||||
using Newtonsoft.Json; | |||||
using NPOI.POIFS.Crypt.Dsig; | using NPOI.POIFS.Crypt.Dsig; | ||||
using NPOI.Util; | using NPOI.Util; | ||||
using System; | using System; | ||||
@@ -45,6 +46,7 @@ namespace BPA.SAAS.Manage.Application.Device.Services | |||||
x.Id, | x.Id, | ||||
x.ForeignKeyRe, | x.ForeignKeyRe, | ||||
x.DeviceVersionKey, | x.DeviceVersionKey, | ||||
x.DataJson, | |||||
DeviceTypeKey = b.ProductId, | DeviceTypeKey = b.ProductId, | ||||
Vesion = b.Vesion, | Vesion = b.Vesion, | ||||
CreateAt=x.CreateAt, | CreateAt=x.CreateAt, | ||||
@@ -58,6 +60,7 @@ namespace BPA.SAAS.Manage.Application.Device.Services | |||||
BoolLabel = x.BoolLabel, | BoolLabel = x.BoolLabel, | ||||
ReadWrite = x.ReadWrite, | ReadWrite = x.ReadWrite, | ||||
Description= x.Description, | Description= x.Description, | ||||
}) | }) | ||||
.ToPageListAsync(inputDto.Current, inputDto.PageSize, total); | .ToPageListAsync(inputDto.Current, inputDto.PageSize, total); | ||||
return new PageUtil() | return new PageUtil() | ||||
@@ -99,6 +102,10 @@ namespace BPA.SAAS.Manage.Application.Device.Services | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
if (!string.IsNullOrWhiteSpace(inputDto.DataJson)) | |||||
{ | |||||
if (!IsValidJson(inputDto.DataJson.Replace("\n", ""))) throw Oops.Oh("json字符格式不正确"); | |||||
} | |||||
var res =await _db.Insertable(new BPA_ProductFunction() | var res =await _db.Insertable(new BPA_ProductFunction() | ||||
{ | { | ||||
Id = Guid.NewGuid().ToString(), | Id = Guid.NewGuid().ToString(), | ||||
@@ -119,6 +126,7 @@ namespace BPA.SAAS.Manage.Application.Device.Services | |||||
ReadWrite = inputDto.ReadWrite, | ReadWrite = inputDto.ReadWrite, | ||||
Description=inputDto.Description, | Description=inputDto.Description, | ||||
ProductId= inputDto.ProductId, | ProductId= inputDto.ProductId, | ||||
DataJson= inputDto.DataJson?.Replace("\n",""), | |||||
}).CallEntityMethod(m => m.Create()).ExecuteCommandAsync(); | }).CallEntityMethod(m => m.Create()).ExecuteCommandAsync(); | ||||
return res > 0; | return res > 0; | ||||
} | } | ||||
@@ -132,6 +140,10 @@ namespace BPA.SAAS.Manage.Application.Device.Services | |||||
{ | { | ||||
var check = _db.Queryable<BPA_ProductFunction>().Any(a => a.Id != inputDto.Id && a.Name == inputDto.Name); | var check = _db.Queryable<BPA_ProductFunction>().Any(a => a.Id != inputDto.Id && a.Name == inputDto.Name); | ||||
if (check) throw Oops.Oh("功能名称已存在"); | if (check) throw Oops.Oh("功能名称已存在"); | ||||
if (!string.IsNullOrWhiteSpace(inputDto.DataJson)) | |||||
{ | |||||
if(!IsValidJson(inputDto.DataJson.Replace("\n", ""))) throw Oops.Oh("json字符格式不正确"); | |||||
} | |||||
var data = _db.Queryable<BPA_ProductFunction>().Where(a => a.Id == inputDto.Id).First(); | var data = _db.Queryable<BPA_ProductFunction>().Where(a => a.Id == inputDto.Id).First(); | ||||
data.Name = inputDto.Name; | data.Name = inputDto.Name; | ||||
data.DeviceVersionKey = inputDto.DeviceVersionKey; | data.DeviceVersionKey = inputDto.DeviceVersionKey; | ||||
@@ -145,6 +157,7 @@ namespace BPA.SAAS.Manage.Application.Device.Services | |||||
data.BoolLabel = inputDto.BoolLabel; | data.BoolLabel = inputDto.BoolLabel; | ||||
data.ReadWrite = inputDto.ReadWrite; | data.ReadWrite = inputDto.ReadWrite; | ||||
data.Description= inputDto.Description; | data.Description= inputDto.Description; | ||||
data.DataJson= inputDto.DataJson?.Replace("\n", ""); | |||||
data.Status = (CommonStatus)Enum.ToObject(typeof(CommonStatus), inputDto.Status); | data.Status = (CommonStatus)Enum.ToObject(typeof(CommonStatus), inputDto.Status); | ||||
var res =await _db.Updateable(data).ExecuteCommandAsync(); | var res =await _db.Updateable(data).ExecuteCommandAsync(); | ||||
return res > 0; | return res > 0; | ||||
@@ -252,5 +265,19 @@ namespace BPA.SAAS.Manage.Application.Device.Services | |||||
return res > 0; | return res > 0; | ||||
} | } | ||||
#endregion | #endregion | ||||
private bool IsValidJson(string jsonString) | |||||
{ | |||||
try | |||||
{ | |||||
JsonConvert.DeserializeObject<object>(jsonString); | |||||
return true; | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
Console.WriteLine("Invalid JSON string: " + ex.Message); | |||||
return false; | |||||
} | |||||
} | |||||
} | } | ||||
} | } |
@@ -76,5 +76,6 @@ namespace BPA.SAAS.Manage.Core.Product | |||||
/// </summary> | /// </summary> | ||||
public string Description { get; set; } | public string Description { get; set; } | ||||
public string ProductId { get; set; } | public string ProductId { get; set; } | ||||
public string DataJson { get; set; } | |||||
} | } | ||||
} | } |