Browse Source

商品配方修改

master
zhaoy 10 months ago
parent
commit
0938ba2991
7 changed files with 87 additions and 31 deletions
  1. +18
    -0
      BPA.SAAS.Manage.Application/DataBase/Dtos/Goods/GoodsBomPageView.cs
  2. +16
    -0
      BPA.SAAS.Manage.Application/DataBase/Dtos/Goods/GoodsBomQueryDto.cs
  3. +2
    -1
      BPA.SAAS.Manage.Application/DataBase/Dtos/GoodsAttribute/GoodsBomAttributeDto.cs
  4. +1
    -1
      BPA.SAAS.Manage.Application/DataBase/GoodsServices.cs
  5. +1
    -1
      BPA.SAAS.Manage.Application/DataBase/Interface/IGoodsService.cs
  6. +40
    -26
      BPA.SAAS.Manage.Application/DataBase/Services/GoodsService.cs
  7. +9
    -2
      BPA.SAAS.Manage.Core/DataBase/BPA_BomAttributeValueRe.cs

+ 18
- 0
BPA.SAAS.Manage.Application/DataBase/Dtos/Goods/GoodsBomPageView.cs View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPA.SAAS.Manage.Application.DataBase.Dtos.Goods
{
public class GoodsBomPageView
{
public string Id { get; set; }
public string Name { get; set; }
public string BomId { get; set; }
public bool IsMain { get; set; }
public string GoodsAttributeValueId { get; set; }
public string GoodsAttributeValue { get; set; }
}
}

+ 16
- 0
BPA.SAAS.Manage.Application/DataBase/Dtos/Goods/GoodsBomQueryDto.cs View File

@@ -0,0 +1,16 @@
using BPA.SAAS.Manage.Core.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPA.SAAS.Manage.Application.DataBase.Dtos.Goods
{
public class GoodsBomQueryDto: PageInputBase
{
public string GoodsId { get; set; }
public string Name { get; set; }
public string GoodsAttributeValue { get; set; }
}
}

+ 2
- 1
BPA.SAAS.Manage.Application/DataBase/Dtos/GoodsAttribute/GoodsBomAttributeDto.cs View File

@@ -9,7 +9,8 @@ namespace BPA.SAAS.Manage.Application.DataBase.Dtos.GoodsAttribute
public class GoodsBomAttributeDto
{
public string GoodsId { get; set; }
public List<string> BomId { get; set; }
public string BomId { get; set; }
public string GoodsAttributeValue { get; set; }
public string Type { get; set; }
public string BomName { get; set; }
public string BomType { get; set; }


+ 1
- 1
BPA.SAAS.Manage.Application/DataBase/GoodsServices.cs View File

@@ -85,7 +85,7 @@ namespace BPA.SAAS.Manage.Application.DataBase
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost("/api/goods/getgoodsbompage")]
public async Task<PageUtil> GetGoodsBomPageAsync(OrtherGoodsQueryDto dto)
public async Task<PageUtil> GetGoodsBomPageAsync(GoodsBomQueryDto dto)
{
return await _goodsService.GetGoodsBomPageAsync(dto);
}


+ 1
- 1
BPA.SAAS.Manage.Application/DataBase/Interface/IGoodsService.cs View File

@@ -52,7 +52,7 @@ namespace BPA.SAAS.Manage.Application.DataBase.Interface
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
Task<PageUtil> GetGoodsBomPageAsync(OrtherGoodsQueryDto dto);
Task<PageUtil> GetGoodsBomPageAsync(GoodsBomQueryDto dto);
/// <summary>
/// 删除商品配方
/// </summary>


+ 40
- 26
BPA.SAAS.Manage.Application/DataBase/Services/GoodsService.cs View File

@@ -1,5 +1,6 @@
using BPA.Franchisee.Application.FranchiseeCenter.GoodsServices;
using BPA.SAAS.Manage.Application.DataBase.Dtos.Batching;
using BPA.SAAS.Manage.Application.DataBase.Dtos.Bom;
using BPA.SAAS.Manage.Application.DataBase.Dtos.Goods;
using BPA.SAAS.Manage.Application.DataBase.Dtos.GoodsAttribute;
using BPA.SAAS.Manage.Application.DataBase.Interface;
@@ -252,19 +253,26 @@ namespace BPA.SAAS.Manage.Application.DataBase.Services
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
public async Task<PageUtil> GetGoodsBomPageAsync(OrtherGoodsQueryDto dto)
public async Task<PageUtil> GetGoodsBomPageAsync(GoodsBomQueryDto dto)
{
RefAsync<int> total = 0;
var res =await _db.Queryable<BPA_Bom, BPA_GoodsBom>((a, b) => new JoinQueryInfos(
JoinType.Left, a.Id == b.BomId
var res =await _db.Queryable<BPA_Bom, BPA_BomAttributeValueRe>((a, b) => new JoinQueryInfos(
JoinType.Left, a.Id == b.BoomId
))
.WhereIF(!string.IsNullOrWhiteSpace(dto.GoodsId), (a, b) => b.Goods_Id == dto.GoodsId)
.Select((a, b) => new
.WhereIF(!string.IsNullOrWhiteSpace(dto.GoodsId), (a, b) => b.GoodsId==dto.GoodsId)
.WhereIF(!string.IsNullOrWhiteSpace(dto.Name), (a, b) => a.Name.Contains(dto.Name))
.WhereIF(!string.IsNullOrWhiteSpace(dto.GoodsAttributeValue), (a, b) => b.GoodsAttributeValue.Contains(dto.GoodsAttributeValue))
.Select((a, b) => new GoodsBomPageView
{
Id = b.Id,
Name = a.Name,
BomId= b.BomId,
IsMain = a.IsMain
BomId= b.BoomId,
IsMain = a.IsMain,
GoodsAttributeValueId=b.GoodsAttributeValueId,
}).Mapper(x =>
{
var AttributeValue = _db.Queryable<BPA_GoodsAttributeValue>().Where(p => x.GoodsAttributeValueId.Contains(p.Id)).Select(p=>p.AttributeValue).ToArray();
x.GoodsAttributeValue =string.Join("-", AttributeValue);
})
.ToPageListAsync(dto.Current, dto.PageSize, total);
PageUtil util = new PageUtil()
@@ -281,10 +289,12 @@ namespace BPA.SAAS.Manage.Application.DataBase.Services
/// <returns></returns>
public async Task<bool> BatchDelGoodsBomAsync(string Ids)
{
// var GoodsBom=_db.Queryable<BPA_GoodsBom>().Where(x => x.Id == Ids).First();
// var GoodsBom=_db.Queryable<BPA_GoodsBom>().Where(x => x.Id == Ids).First();
var model=_db.Queryable<BPA_BomAttributeValueRe>().Where(x => x.Id == Ids).First();
if(model==null) throw Oops.Oh("配方不存在");
_db.Deleteable<BPA_GoodsBom>().Where(x => x.Goods_Id == model.GoodsId && x.BomId== model.BoomId).ExecuteCommand();
// 查询数据库中是否存在未删除的商品
var res = _db.Deleteable<BPA_GoodsBom>().In(Ids).ExecuteCommand();
var res = _db.Deleteable<BPA_BomAttributeValueRe>().In(Ids).ExecuteCommand();
return res > 0;
}
/// <summary>
@@ -346,34 +356,38 @@ namespace BPA.SAAS.Manage.Application.DataBase.Services
bPA_BomAttributeValueRe.GoodsId = dto.GoodsId;
bPA_BomAttributeValueRe.BoomId = newbPA_BOM.Id;
bPA_BomAttributeValueRe.GoodsAttributeValueId = string.Join(",", dto.Shuxing);
bPA_BomAttributeValueRe.GoodsAttributeValue = dto.GoodsAttributeValue;
//添加商品配方属性关系
_db.Insertable(bPA_BomAttributeValueRe).ExecuteCommand();
}
else
{
if (dto.BomId.Count > 0)
if (string.IsNullOrWhiteSpace(dto.BomId)) throw Oops.Oh("请选择配方");
if (!string.IsNullOrWhiteSpace(dto.BomId))
{
List<BPA_GoodsBom> bomlist = new();
List<BPA_BomAttributeValueRe> bPA_BomAttributeValueRelist = new();
for (int i = 0; i < dto.BomId.Count; i++)
var check=_db.Queryable<BPA_GoodsBom>().Where(x => x.Goods_Id == dto.GoodsId && x.BomId == dto.BomId).Any();
if (!check)
{
BPA_GoodsBom bom = new BPA_GoodsBom();
bom.Goods_Id = dto.GoodsId;
bom.BomId = dto.BomId[i];
bom.BomId = dto.BomId;
bom.Status = CommonStatus.ENABLE;
bomlist.Add(bom);
BPA_BomAttributeValueRe bPA_BomAttributeValueRe = new();
bPA_BomAttributeValueRe.Id = Guid.NewGuid().ToString();
bPA_BomAttributeValueRe.GoodsId = dto.GoodsId;
bPA_BomAttributeValueRe.BoomId = dto.BomId[i];
bPA_BomAttributeValueRe.GoodsAttributeValueId = string.Join(",", dto.Shuxing);
bPA_BomAttributeValueRelist.Add(bPA_BomAttributeValueRe);
//添加商品配方关系
_db.Insertable(bom).CallEntityMethod(m => m.Create()).ExecuteCommand();
}
//添加商品配方关系
_db.Insertable(bomlist).CallEntityMethod(m => m.Create()).ExecuteCommand();
string vid = string.Join(",", dto.Shuxing);
var checkvid = _db.Queryable<BPA_BomAttributeValueRe>().Where(x => x.GoodsId == dto.GoodsId && x.BoomId == dto.BomId && x.GoodsAttributeValueId== vid).Any();
if(checkvid) throw Oops.Oh("该配方已经存在");
//添加商品配方属性关系
_db.Insertable(bPA_BomAttributeValueRelist).ExecuteCommand();
}
BPA_BomAttributeValueRe bPA_BomAttributeValueRe = new();
bPA_BomAttributeValueRe.Id = Guid.NewGuid().ToString();
bPA_BomAttributeValueRe.GoodsId = dto.GoodsId;
bPA_BomAttributeValueRe.BoomId = dto.BomId;
bPA_BomAttributeValueRe.GoodsAttributeValueId = vid;
bPA_BomAttributeValueRe.GoodsAttributeValue = dto.GoodsAttributeValue;
_db.Insertable(bPA_BomAttributeValueRe).ExecuteCommand();
}
}
_db.Ado.CommitTran();
return true;


+ 9
- 2
BPA.SAAS.Manage.Core/DataBase/BPA_BomAttributeValueRe.cs View File

@@ -1,4 +1,5 @@
using SqlSugar;
using BPA.SAAS.Manage.Core.Base;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -11,8 +12,9 @@ namespace BPA.SAAS.Manage.Core.DataBase
/// 配方商品属性关系
/// </summary>
[SugarTable("bpa_bomattributevaluere")]
public class BPA_BomAttributeValueRe
public class BPA_BomAttributeValueRe:IGroupId
{
[SugarColumn(IsPrimaryKey = true, ColumnDataType = "Nvarchar(64)", IsNullable = false)]
public string Id { get; set; }
public string GoodsId { get; set; }
/// <summary>
@@ -23,5 +25,10 @@ namespace BPA.SAAS.Manage.Core.DataBase
/// 商品属性值id
/// </summary>
public string GoodsAttributeValueId { get; set; }
/// <summary>
/// 商品属性值
/// </summary>
public string GoodsAttributeValue { get; set; }
public string GroupId { get; set; }
}
}

Loading…
Cancel
Save