106 lines
3.5 KiB
C#
106 lines
3.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using JNPF.Common.Core.Manager;
|
|
using JNPF.Common.Dtos.VisualDev;
|
|
using JNPF.Common.Security;
|
|
using JNPF.DependencyInjection;
|
|
using JNPF.FriendlyException;
|
|
using JNPF.Logging;
|
|
using JNPF.VisualDev;
|
|
using Mapster;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Newtonsoft.Json;
|
|
using NPOI.OpenXmlFormats;
|
|
using NPOI.OpenXmlFormats.Dml.Diagram;
|
|
using SqlSugar;
|
|
using Tnb.BasicData.Entities;
|
|
using Tnb.Common.Utils;
|
|
using Tnb.WarehouseMgr.Entities;
|
|
using Tnb.WarehouseMgr.Entities.Consts;
|
|
using Tnb.WarehouseMgr.Entities.Dto;
|
|
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
|
|
using Tnb.WarehouseMgr.Interfaces;
|
|
|
|
namespace Tnb.WarehouseMgr
|
|
{
|
|
/// <summary>
|
|
/// 采购收货
|
|
/// </summary>
|
|
[OverideVisualDev(ModuleConsts.MODULE_WMSPURCHASE_ID)]
|
|
public class WmsPurchaseService : WmsPurchaseAndSaleCommonService<WmsPurchaseD>
|
|
{
|
|
private readonly ISqlSugarClient _db;
|
|
private readonly IUserManager _userManager;
|
|
public WmsPurchaseService(ISqlSugarRepository<WmsPurchaseH> repo, IUserManager userManager)
|
|
: base(repo, userManager)
|
|
{
|
|
_db = repo.AsSugarClient();
|
|
_userManager = userManager;
|
|
}
|
|
|
|
private async Task<dynamic> xxx(VisualDevModelDataCrInput input)
|
|
{
|
|
PurchaseAndReceiveUpInput input2 = new();
|
|
var input3 = input.data.ToObject<PurchaseAndReceiveUpInput>();
|
|
input3.details = input.data["tablefield177"].ToObject<List<WmsPurchaseD>>();
|
|
var sss = JsonConvert.SerializeObject(input3);
|
|
return await Task.FromResult(sss);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 采购收货
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public async Task<dynamic> Purchase(PurchaseAndReceiveUpInput input)
|
|
{
|
|
var blFlag = true;
|
|
try
|
|
{
|
|
await _db.Ado.BeginTranAsync();
|
|
|
|
blFlag = await PurchaseAndSaleUpdate(input);
|
|
if (blFlag)
|
|
{
|
|
var instock = input.Adapt<WmsInstockH>();
|
|
instock.id = SnowflakeIdHelper.NextId();
|
|
instock.create_id = _userManager.UserId;
|
|
instock.create_time = DateTime.Now;
|
|
instock.org_id = _userManager.User.OrganizeId;
|
|
await _db.Insertable(instock).ExecuteCommandAsync();
|
|
|
|
var instockD = input.details.Adapt<WmsInstockD>();
|
|
instockD.create_id = _userManager.UserId;
|
|
instockD.create_time = DateTime.Now;
|
|
instockD.org_id = _userManager.User.OrganizeId;
|
|
await _db.Insertable(instockD).ExecuteCommandAsync();
|
|
}
|
|
|
|
await _db.Ado.CommitTranAsync();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
blFlag = false;
|
|
await _db.Ado.RollbackTranAsync();
|
|
Log.Error("采购收货失败", ex);
|
|
throw;
|
|
}
|
|
return await Task.FromResult(blFlag);
|
|
}
|
|
/// <summary>
|
|
/// 根据主表Id获取采购收货明细
|
|
/// </summary>
|
|
/// <param name="id">主表Id</param>
|
|
/// <returns></returns>
|
|
[HttpGet("id")]
|
|
public async Task<dynamic> GetPurchaseDetailByBillId(string id)
|
|
{
|
|
return await GetDetailsByPkId(id);
|
|
}
|
|
}
|
|
}
|