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();