diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsPurchaseQcrecord.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsPurchaseQcrecord.cs new file mode 100644 index 00000000..8de1df42 --- /dev/null +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsPurchaseQcrecord.cs @@ -0,0 +1,106 @@ +using JNPF.Common.Contracts; +using JNPF.Common.Security; +using SqlSugar; + +namespace Tnb.WarehouseMgr.Entities.Entity; + +/// +/// 收货质检记录 +/// +[SugarTable("wms_purchase_qcrecord")] +public partial class WmsPurchaseQcrecord : BaseEntity +{ + public WmsPurchaseQcrecord() + { + id = SnowflakeIdHelper.NextId(); + } + /// + /// 创建用户 + /// + public string? create_id { get; set; } + + /// + /// 创建时间 + /// + public DateTime? create_time { get; set; } + + /// + /// 修改用户 + /// + public string? modify_id { get; set; } + + /// + /// 修改时间 + /// + public DateTime? modify_time { get; set; } + + /// + /// 来源单据 + /// + public string? type { get; set; } + + /// + /// 来源单号 + /// + public string? ori_bill_code { get; set; } + + /// + /// 来源明细id + /// + public string? ori_detail_id { get; set; } + + /// + /// 仓库 + /// + public string? warehouse_id { get; set; } + + /// + /// 物料id + /// + public string? material_id { get; set; } + + /// + /// 物料编码 + /// + public string? material_code { get; set; } + + /// + /// 物料名称 + /// + public string? material_name { get; set; } + + /// + /// 物料型号 + /// + public string? material_spec { get; set; } + + /// + /// 采购数量 + /// + public decimal? purchase_qty { get; set; } + + /// + /// 已到货数量 + /// + public decimal? purchase_prqty { get; set; } + + /// + /// 本次到货数量 + /// + public decimal? purchase_arriveqty { get; set; } + + /// + /// 质检结论 + /// + public string? result { get; set; } + + /// + /// 单位 + /// + public string? unit_id { get; set; } + + /// + /// 批次 + /// + public string? batchno { get; set; } +} diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseDService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseDService.cs index 09c50af6..38550f17 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseDService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseDService.cs @@ -20,6 +20,8 @@ using Tnb.BasicData.Entities; using Tnb.BasicData; using Tnb.ProductionMgr.Entities.Entity; using ModuleConst = Tnb.ProductionMgr.ModuleConst; +using JNPF.Common.Dtos.VisualDev; +using JNPF.VisualDev.Entitys; namespace Tnb.WarehouseMgr { @@ -60,12 +62,40 @@ namespace Tnb.WarehouseMgr { string id = dic["id"]; string qcRes = dic["qc_res"]; - WmsPurchaseD wmsPurchaseD = await _db.Queryable().SingleAsync(x => x.id == id); - string purchaseHId = wmsPurchaseD?.bill_id ?? ""; WmsPurchaseH wmsPurchaseH = await _db.Queryable().SingleAsync(x => x.id == purchaseHId); + #region 插入质检记录 + + string? create_id = _userManager.User.Id; + + if (qcRes != (wmsPurchaseD.qc_res ?? "")) + { + BasMaterial basMaterial = await _db.Queryable().Where(r => r.id == wmsPurchaseD.material_id).FirstAsync(); + WmsPurchaseQcrecord wmsPurchaseQcrecord = new WmsPurchaseQcrecord(); + wmsPurchaseQcrecord.create_id = create_id; + wmsPurchaseQcrecord.create_time = DateTime.Now; + wmsPurchaseQcrecord.type = "采购收货"; + wmsPurchaseQcrecord.ori_bill_code = wmsPurchaseH.bill_code; + wmsPurchaseQcrecord.ori_detail_id = wmsPurchaseD.id; + wmsPurchaseQcrecord.warehouse_id = WmsWareHouseConst.WAREHOUSE_YCL_ID; + wmsPurchaseQcrecord.material_id = basMaterial.id; + wmsPurchaseQcrecord.material_code = basMaterial.code; + wmsPurchaseQcrecord.material_name = basMaterial.name; + wmsPurchaseQcrecord.material_spec = basMaterial.material_specification; + wmsPurchaseQcrecord.unit_id = wmsPurchaseD.unit_id; + wmsPurchaseQcrecord.batchno = wmsPurchaseD.code_batch; + wmsPurchaseQcrecord.purchase_qty = wmsPurchaseD.purchase_qty; + wmsPurchaseQcrecord.purchase_prqty = wmsPurchaseD.purchase_prqty; + wmsPurchaseQcrecord.purchase_arriveqty = wmsPurchaseD.purchase_arriveqty; + wmsPurchaseQcrecord.result = qcRes; + + await _db.Insertable(wmsPurchaseQcrecord).ExecuteCommandAsync(); + } + + #endregion + List wmsOutinStockDetails = await _db.Queryable() .Where(x => x.source_detail_id == wmsPurchaseD.id && x.source_type == WmsWareHouseConst.BIZTYPE_WMSINSTOCK_ID) .ToListAsync(); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseService.cs index fceae9fd..76aa8d73 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseService.cs @@ -35,6 +35,8 @@ using Tnb.ProductionMgr.Entities.Entity; using Tnb.WarehouseMgr.Entities.Entity; using Microsoft.Extensions.Logging; using Microsoft.AspNetCore.Authorization; +using JNPF.VisualDev.Interfaces; +using JNPF.VisualDev.Entitys; namespace Tnb.WarehouseMgr { @@ -48,16 +50,25 @@ namespace Tnb.WarehouseMgr private readonly ISqlSugarClient _db; private readonly IUserManager _userManager; private readonly IWareHouseService _wareHouseService; + private readonly IRunService _runService; + private readonly IVisualDevService _visualDevService; public WmsPurchaseService(ISqlSugarRepository repo, IUserManager userManager, IQcCheckPlanService qcCheckPlanService, IBillRullService billRullService, - IWareHouseService wareHouseService) + IWareHouseService wareHouseService, IRunService runService, + IVisualDevService visualDevService) : base(repo, userManager, qcCheckPlanService) { _db = repo.AsSugarClient(); _userManager = userManager; _billRullService = billRullService; _wareHouseService = wareHouseService; + _runService = runService; + _visualDevService = visualDevService; + } + + + private async Task xxx(VisualDevModelDataCrInput input) { PurchaseAndReceiveUpInput input2 = new();