Browse Source

设备工艺优化校验及工艺导出多选20240703

ingredientmanage
gwbvipvip 5 months ago
parent
commit
d371885442
7 changed files with 53 additions and 13 deletions
  1. +1
    -1
      BPA.SAAS.Manage.Application/DataBase/Dtos/Goods/GoodsTechnologyImportDto.cs
  2. +13
    -4
      BPA.SAAS.Manage.Application/DataBase/Services/GoodsService.cs
  3. +4
    -0
      BPA.SAAS.Manage.Application/Device/Dtos/DeviceVesion/DeviceVesionModel.cs
  4. +20
    -3
      BPA.SAAS.Manage.Application/Device/Services/DeviceVesionService.cs
  5. +3
    -0
      BPA.SAAS.Manage.Application/Device/Services/ProductService.cs
  6. +6
    -3
      BPA.SAAS.Manage.Application/Device/Services/TechnologyService.cs
  7. +6
    -2
      BPA.SAAS.Manage.Application/Device/Services/WarehouseTemplateService.cs

+ 1
- 1
BPA.SAAS.Manage.Application/DataBase/Dtos/Goods/GoodsTechnologyImportDto.cs View File

@@ -19,7 +19,7 @@ namespace BPA.SAAS.Manage.Application.DataBase.Dtos.Goods
/// <summary>
/// 商品Id
/// </summary>
public string GoodId { get; set; }
public List<string> GoodsId { get; set; }
/// <summary>
/// 设备Id
/// </summary>


+ 13
- 4
BPA.SAAS.Manage.Application/DataBase/Services/GoodsService.cs View File

@@ -1303,9 +1303,10 @@ namespace BPA.SAAS.Manage.Application.DataBase.Services
var names = "";
var dataModel = new GoodsTechnologyDataModel { Values = new List<GoodsTechnologyValueModel>() };
var dataList = new List<GoodsTechnologyDataModel>();
var name = sheetName.Split(' ')[0];
foreach (var model in modelList)
{
if (model.ActionName.Contains(sheetName))
if(model.StepName.Contains(goodId))
{
if (model.ActionValue == null && dataModel.Values.Count > 0)
{
@@ -1355,6 +1356,8 @@ namespace BPA.SAAS.Manage.Application.DataBase.Services
stepName = model.StepName;
}
}
if (dataModel.Values.Count > 0)
dataList.Add(dataModel);
var oldAtteibuteId = "";
var sort = 1;
var order = 0;
@@ -1481,8 +1484,8 @@ namespace BPA.SAAS.Manage.Application.DataBase.Services
public async Task<string> GoodsTechnologyExport(GoodsTechnologyExportDto exportDto)
{
var goodsInfo = new List<BPA_GoodsInfo>();
goodsInfo = exportDto.GoodId != ""
? await _db.Queryable<BPA_GoodsInfo>().Where(t => t.Id == exportDto.GoodId).ToListAsync()
goodsInfo = exportDto.GoodsId.Count > 0
? await _db.Queryable<BPA_GoodsInfo>().Where(t => exportDto.GoodsId.Contains(t.Id)).ToListAsync()
: await _db.Queryable<BPA_GoodsInfo, BPA_GoodsType>((a, b) => new JoinQueryInfos(JoinType.Left, a.GoodsTypeId == b.Id)).ToListAsync();
var deviceInfo = await _db.Queryable<BPA_DeviceInfo>().FirstAsync(t => t.Id == exportDto.DeviceId);
var goodsAttributeList = await _db.Queryable<BPA_GoodsAttribute>().ToListAsync();
@@ -1490,7 +1493,13 @@ namespace BPA.SAAS.Manage.Application.DataBase.Services
IWorkbook workbook = new XSSFWorkbook();
foreach (var good in goodsInfo)
{
ISheet sheet = workbook.CreateSheet(good.Name);
var name = good.Name;
string[] charsToReplace = new string[] { "\\", "/", "?", "*", "[", "]" };
foreach (string c in charsToReplace)
{
name = name.Replace(c, " ");
}
ISheet sheet = workbook.CreateSheet(name);
ICellStyle style = workbook.CreateCellStyle();
IFont font = workbook.CreateFont();
font.Boldweight = (short)FontBoldWeight.Bold;


+ 4
- 0
BPA.SAAS.Manage.Application/Device/Dtos/DeviceVesion/DeviceVesionModel.cs View File

@@ -42,5 +42,9 @@ namespace BPA.SAAS.Manage.Application.Device.Dtos.DeviceVesion
/// 状态 0启用 1禁用
/// </summary>
public CommonStatus Status { get; set; } = CommonStatus.ENABLE;
/// <summary>
/// 是否使用
/// </summary>
public bool IsUse { get;set; }
}
}

+ 20
- 3
BPA.SAAS.Manage.Application/Device/Services/DeviceVesionService.cs View File

@@ -29,6 +29,7 @@ namespace BPA.SAAS.Manage.Application.Device.Services
public async Task<PageUtil> GetDeviceVesionPageAsync(DeviceVesionQueryInputDto inputDto)
{
var total = new RefAsync<int>();
var deviceInfoList = await _db.Queryable<BPA_DeviceInfo>().ToListAsync();
var data = await _db.Queryable<BPA_ProductVesion,BPA_Product>((a, b) => new JoinQueryInfos(JoinType.Left, b.Id == a.ProductId))
.WhereIF(!string.IsNullOrWhiteSpace(inputDto.ProductName), (a, b) => b.Name.Contains(inputDto.ProductName))
.WhereIF(!string.IsNullOrWhiteSpace(inputDto.Vesion), (a, b) => a.Vesion.Contains(inputDto.Vesion))
@@ -41,6 +42,12 @@ namespace BPA.SAAS.Manage.Application.Device.Services
ProductNumber=a.ProductNumber,
ProductUrl=a.ProductUrl,
})
.Mapper(x =>
{
var productList = deviceInfoList.Where(t=>t.ProductVersionId == x.Id).ToList();
if (productList.Any())
x.IsUse = true;
})
.ToPageListAsync(inputDto.Current, inputDto.PageSize, total);

return new PageUtil()
@@ -61,6 +68,9 @@ namespace BPA.SAAS.Manage.Application.Device.Services
try
{
_db.Ado.BeginTran();
var old = await _db.Queryable<BPA_ProductVesion>().FirstAsync(t => t.ProductId == inputDto.ProductId && t.Vesion == inputDto.Vesion);
if (old != null)
throw Oops.Oh("已存在该版本的设备!");
var res = await _db.Insertable(new BPA_ProductVesion
{
Vesion = inputDto.Vesion,
@@ -283,7 +293,7 @@ namespace BPA.SAAS.Manage.Application.Device.Services
catch (Exception e)
{
_db.Ado.RollbackTran();
throw Oops.Oh("添加失败,失败信息:"+e.Message);
throw Oops.Oh(e.Message);
}
}
/// <summary>
@@ -319,7 +329,7 @@ namespace BPA.SAAS.Manage.Application.Device.Services
catch (Exception e)
{
_db.Ado.RollbackTran();
throw Oops.Oh("删除失败,失败信息:"+e.Message);
throw Oops.Oh(e.Message);
}
}
@@ -330,7 +340,14 @@ namespace BPA.SAAS.Manage.Application.Device.Services
public async Task<bool> UpdateDeviceVesionAsync(DeviceVesionBaseDto inputDto)
{
var data = await _db.Queryable<BPA_ProductVesion>().Where(x => x.Id == inputDto.Id).FirstAsync();

var old = await _db.Queryable<BPA_ProductVesion>().FirstAsync(t => t.ProductId == inputDto.ProductId && t.Vesion == inputDto.Vesion);
if(old != null && old.Id!=data.Id)
throw Oops.Oh("已存在该版本的设备!");
var deviceInfo = await _db.Queryable<BPA_DeviceInfo>().Where(x => x.ProductVersionId == inputDto.Id).ToListAsync();
if (deviceInfo.Count > 0)
{
throw Oops.Oh("当前版本已有设备使用,无法删除!");
}
if (data != null)
{
var res = _db.Updateable<BPA_ProductVesion>().SetColumns(t => t.Vesion == inputDto.Vesion)


+ 3
- 0
BPA.SAAS.Manage.Application/Device/Services/ProductService.cs View File

@@ -85,6 +85,9 @@ namespace BPA.SAAS.Manage.Application.Device.Services
/// <returns></returns>
public async Task<bool> DeProduct(List<string> inputList)
{
var old = await _db.Queryable<BPA_ProductVesion>().Where(t => inputList.Contains(t.ProductId)).ToListAsync();
if (old.Count > 0)
throw Oops.Oh("该产品已存在版本!");
var datas = await _db.Queryable<BPA_Product>()
.Where(x => inputList.Contains(x.Id))
.ToListAsync();


+ 6
- 3
BPA.SAAS.Manage.Application/Device/Services/TechnologyService.cs View File

@@ -1,6 +1,7 @@
using BPA.SAAS.Manage.Application.Device.Dtos.Device;
using BPA.SAAS.Manage.Application.Device.Interface;
using BPA.SAAS.Manage.Core.Base;
using BPA.SAAS.Manage.Core.DataBase;
using BPA.SAAS.Manage.Core.Device;
using BPA.SAAS.Manage.Core.Product;
using LogicExtensions;
@@ -119,6 +120,9 @@ namespace BPA.SAAS.Manage.Application.Device.Services
var datas = await _db.Queryable<BPA_TechnologyExportRecode>().Where(x => x.Id == inputList).FirstAsync();
var Technology = _db.Queryable<BPA_Technology>().Where(p => p.DeviceVersionId == datas.DeviceVersionId).ToList();
var TechnologyIds = Technology.Select(x => x.Id).ToArray();
var goodsTechnologyAction = _db.Queryable<BPA_GoodsTechnologyAction>().Any(t => TechnologyIds.Contains(t.ChnologyId));
if (goodsTechnologyAction)
throw Oops.Oh("删除的设备版本已存在工艺!");
var TechnologyAction = _db.Queryable<BPA_TechnologyAction>().Where(p => TechnologyIds.Contains(p.TechnologyId)).ToList();
_db.Deleteable(TechnologyAction).ExecuteCommand();
_db.Deleteable(Technology).ExecuteCommand();
@@ -126,12 +130,11 @@ namespace BPA.SAAS.Manage.Application.Device.Services
_db.Ado.CommitTran();
return true;
}
catch (Exception)
catch (Exception e)
{
_db.Ado.RollbackTran();
throw Oops.Oh("删除失败");
throw Oops.Oh(e.Message);
}
}
}
}

+ 6
- 2
BPA.SAAS.Manage.Application/Device/Services/WarehouseTemplateService.cs View File

@@ -3,6 +3,7 @@ using BPA.SAAS.Manage.Application.Device.Dtos.WarehouseTemplate;
using BPA.SAAS.Manage.Application.Device.Interface;
using BPA.SAAS.Manage.Comm.Enum;
using BPA.SAAS.Manage.Core.Base;
using BPA.SAAS.Manage.Core.DataBase;
using BPA.SAAS.Manage.Core.Device;
using BPA.SAAS.Manage.Core.Product;
using NPOI.XSSF.UserModel;
@@ -125,6 +126,9 @@ namespace BPA.SAAS.Manage.Application.Device.Services
try
{
_db.Ado.BeginTran();
var old = await _db.Queryable<BPA_GoodsTechnologyAction>().Where(t => inputList.Contains(t.WarehousrTemplateId)).ToListAsync();
if (old.Count > 0)
throw Oops.Oh("仓位模版已存在工艺!");
var datas = await _db.Queryable<BPA_WarehouseTemplate>()
.Where(x => inputList.Contains(x.Id))
.ToListAsync();
@@ -136,10 +140,10 @@ namespace BPA.SAAS.Manage.Application.Device.Services
_db.Ado.CommitTran();
return true;
}
catch (Exception)
catch (Exception e)
{
_db.Ado.RollbackTran();
throw Oops.Oh("删除失败");
throw Oops.Oh(e.Message);
}
}


Loading…
Cancel
Save