Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
2024-09-24 17:13:56 +08:00
13 changed files with 759 additions and 11 deletions

View File

@@ -573,7 +573,8 @@ namespace Tnb.WarehouseMgr
#region
WmsPretaskH curWmsPretaskH = await _db.Queryable<WmsPretaskH>().Where(r => r.bill_code == wmsDistaskH.pretask_code).FirstAsync();
List<WmsPretaskH> nextWmsPretaskHs = _db.Queryable<WmsPretaskH>().Where(r => r.status != WmsWareHouseConst.PRETASK_BILL_STATUS_COMPLE_ID
&& r.status != WmsWareHouseConst.PRETASK_BILL_STATUS_CANCEL_ID && r.carry_code == wmsDistaskH.carry_code && long.Parse(r.id) > long.Parse(curWmsPretaskH.id)).ToList();
&& r.status != WmsWareHouseConst.PRETASK_BILL_STATUS_CANCEL_ID && r.carry_code == wmsDistaskH.carry_code && long.Parse(r.id) > long.Parse(curWmsPretaskH.id)
&& new string[3] { "A", "F", "FC" }.Contains(r.area_code)).ToList();
Logger.Information($"即将取消{wmsDistaskH.bill_code}的后续预任务{nextWmsPretaskHs.Count}条");
foreach (WmsPretaskH wmsPretaskH in nextWmsPretaskHs)
{
@@ -704,7 +705,8 @@ namespace Tnb.WarehouseMgr
#region
WmsPretaskH curWmsPretaskH = await _db.Queryable<WmsPretaskH>().Where(r => r.bill_code == wmsDistaskH.pretask_code).FirstAsync();
List<WmsPretaskH> nextWmsPretaskHs = _db.Queryable<WmsPretaskH>().Where(r => r.status != WmsWareHouseConst.PRETASK_BILL_STATUS_COMPLE_ID
&& r.status != WmsWareHouseConst.PRETASK_BILL_STATUS_CANCEL_ID && r.carry_code == wmsDistaskH.carry_code && long.Parse(r.id) > long.Parse(curWmsPretaskH.id)).ToList();
&& r.status != WmsWareHouseConst.PRETASK_BILL_STATUS_CANCEL_ID && r.carry_code == wmsDistaskH.carry_code && long.Parse(r.id) > long.Parse(curWmsPretaskH.id)
&& new string[3] { "A", "F", "FC" }.Contains(r.area_code)).ToList();
Logger.Information($"即将取消{wmsDistaskH.bill_code}的后续预任务{nextWmsPretaskHs.Count}条");
foreach (WmsPretaskH wmsPretaskH in nextWmsPretaskHs)
{
@@ -836,7 +838,7 @@ namespace Tnb.WarehouseMgr
//根据Agv传递的参数获取对应的电梯
if (!input.sourceName.IsNullOrWhiteSpace() && (input.sourceName.Contains("DT-R", StringComparison.OrdinalIgnoreCase)))
if (!input.sourceName.IsNullOrWhiteSpace() && (input.sourceName.Contains("DT-", StringComparison.OrdinalIgnoreCase)))
{
Logger.Information($"【TaskCallback】 开始根据任务单查找电梯 {input.sourceName}");
ElevagorInfoQuery q = new() { taskCode = input.taskCode };
@@ -1023,7 +1025,7 @@ namespace Tnb.WarehouseMgr
}
List<WmsDistaskH> elevatorTasks = _db.Queryable<WmsDistaskH>()
.Where(r => r.startlocation_code.Contains($"DT") && r.endlocation_code.Contains($"DT") && r.act_start_date == null && r.act_end_date == null
.Where(r => r.startlocation_code.Contains($"DT") && r.endlocation_code.Contains($"DT") && r.area_code == wmsElevatorH.area_code && r.act_start_date == null && r.act_end_date == null
&& r.status != WmsWareHouseConst.TASK_BILL_STATUS_CANCEL_ID && r.status != WmsWareHouseConst.TASK_BILL_STATUS_COMPLE_ID).ToList();
int eleUpdateRow = 0;

View File

@@ -304,7 +304,10 @@ namespace Tnb.WarehouseMgr
int index = 0;
items.ForEach(x =>
{
if (x.carry_code == "TP0599")
{
}
index++;
WmsCarryStockReportExcel wmsCarryStockReportCode = x.Adapt<WmsCarryStockReportExcel>();
wmsCarryStockReportCode.index = index;

View File

@@ -345,7 +345,6 @@ namespace Tnb.WarehouseMgr
material_id = wmsMaterialTransferD.material_id,
code_batch = input.code_batch,
Size = input.palletCount,
Region_id = WmsWareHouseConst.REGION_Purchase_ID,
PolicyCode = WmsWareHouseConst.POLICY_YCLOUTSTOCK
};
List<WmsCarryH> items = await _wareHouseService.OutStockStrategy(outStockStrategyInput);
@@ -1028,7 +1027,7 @@ namespace Tnb.WarehouseMgr
if (input.wmsDistaskH.task_type == WmsWareHouseConst.WMS_PRETASK_INSTOCK_TYPE_ID)
{
List<WmsMaterialTransferD> wmsMaterialTransferDs = _db.Queryable<WmsMaterialTransferD>()
.Where(a => a.bill_id == wmsMaterialTransferd.bill_id && a.yxfqty_rk < a.yzqty_rk).ToList();
.Where(a => a.bill_id == wmsMaterialTransferd.bill_id && a.yxfqty_rk <= a.yzqty_rk).ToList();
if (wmsMaterialTransferDs.Count == 0)
{
isOk2 = await _db.Updateable<WmsMaterialTransfer>().SetColumns(it => new WmsMaterialTransfer { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID })
@@ -1039,7 +1038,7 @@ namespace Tnb.WarehouseMgr
else
{
List<WmsMaterialTransferD> wmsMaterialTransferDs = _db.Queryable<WmsMaterialTransferD>()
.Where(a => a.bill_id == wmsMaterialTransferd.bill_id && a.yzqty < a.qty).ToList();
.Where(a => a.bill_id == wmsMaterialTransferd.bill_id && a.yzqty <= a.qty).ToList();
if (wmsMaterialTransferDs.Count == 0)
{
isOk2 = await _db.Updateable<WmsMaterialTransfer>().SetColumns(it => new WmsMaterialTransfer { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID })

View File

@@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JNPF.Common.Core.Manager;
using JNPF.EventBus;
using JNPF.Systems.Interfaces.Permission;
using JNPF.Systems.Interfaces.System;
using JNPF.VisualDev;
using JNPF.VisualDev.Interfaces;
using NPOI.Util;
using SqlSugar;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Attributes;
using Tnb.WarehouseMgr.Entities.Consts;
using Tnb.WarehouseMgr.Interfaces;
namespace Tnb.WarehouseMgr
{
[OverideVisualDev(ModuleConsts.MODULE_WMSMATERIALTRANSFER_ID)]
[ServiceModule(BizTypeId)]
public class WmsMaterialkitRecordHService
{
private const string BizTypeId = WmsWareHouseConst.BIZTYPE_WmsMaterialkitRecordHService_ID;
private readonly ISqlSugarClient _db;
private readonly IRunService _runService;
private readonly IVisualDevService _visualDevService;
private readonly IWareHouseService _wareHouseService;
private readonly IBillRullService _billRullService;
private readonly IUserManager _userManager;
private readonly IWmsCarryBindService _wmsCarryBindService;
private readonly IWmsCarryUnbindService _wmsCarryUnbindService;
private readonly IOrganizeService _organizeService;
private readonly IWmsCarryQueryService _wmsCarryQueryService;
public WmsMaterialkitRecordHService(
ISqlSugarRepository<WmsCarryH> repository,
IRunService runService,
IVisualDevService visualDevService,
IWareHouseService wareHouseService,
IUserManager userManager,
IBillRullService billRullService,
IEventPublisher eventPublisher,
IWmsCarryUnbindService wmsCarryUnbindService,
IOrganizeService organizeService,
IWmsCarryQueryService wmsCarryQueryService,
IWmsCarryBindService wmsCarryBindService)
{
_db = repository.AsSugarClient();
_runService = runService;
_visualDevService = visualDevService;
_wareHouseService = wareHouseService;
_userManager = userManager;
_billRullService = billRullService;
_wmsCarryBindService = wmsCarryBindService;
_wmsCarryUnbindService = wmsCarryUnbindService;
_organizeService = organizeService;
_wmsCarryQueryService = wmsCarryQueryService;
}
}
}

View File

@@ -71,7 +71,10 @@ namespace Tnb.WarehouseMgr
WmsPurchaseD wmsPurchaseD = await _db.Queryable<WmsPurchaseD>().SingleAsync(x => x.id == id);
string purchaseHId = wmsPurchaseD?.bill_id ?? "";
WmsPurchaseH wmsPurchaseH = await _db.Queryable<WmsPurchaseH>().SingleAsync(x => x.id == purchaseHId);
if (wmsPurchaseH.make_method == "自制")
{
throw Oops.Bah("自制采购收货单不需要操作此按钮");
}
#region
string? create_id = _userManager.User.Id;
@@ -282,6 +285,7 @@ namespace Tnb.WarehouseMgr
{
await _db.Ado.RollbackTranAsync();
Log.Error(e.Message,e);
throw Oops.Bah(e.Message);
}
return "保存成功";

View File

@@ -38,6 +38,8 @@ using Microsoft.AspNetCore.Authorization;
using JNPF.VisualDev.Interfaces;
using JNPF.VisualDev.Entitys;
using Tnb.BasicData.Interfaces;
using JNPF.Common.Enums;
using System.Reflection;
namespace Tnb.WarehouseMgr
{
@@ -47,6 +49,7 @@ namespace Tnb.WarehouseMgr
[OverideVisualDev(ModuleConsts.MODULE_WMSPURCHASE_ID)]
public class WmsPurchaseService : WmsPurchaseAndSaleCommonService<WmsPurchaseD>, IWmsPurchaseService
{
private const string ModuleId = "29975280336405";
private readonly IBillRullService _billRullService;
private readonly ISqlSugarClient _db;
private readonly IUserManager _userManager;
@@ -67,10 +70,32 @@ namespace Tnb.WarehouseMgr
_runService = runService;
_thirdApiRecordService = thirdApiRecordService;
_visualDevService = visualDevService;
OverideFuncs.CreateAsync += Create;
}
/// <summary>
/// 保存工序工位关联表
/// </summary>
[HttpPost]
public async Task<dynamic> Create(VisualDevModelDataCrInput visualDevModelDataCrInput)
{
string purchase_order = visualDevModelDataCrInput.data["erp_bill_code"].ToString();
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleId, true);
await _runService.Create(templateEntity, visualDevModelDataCrInput);
string id = visualDevModelDataCrInput.data["ReturnIdentity"].ToString();
string type = "";
if (string.IsNullOrEmpty(purchase_order))
{
await _db.Updateable<WmsPurchaseH>().SetColumns(r => r.make_method == "自制").Where(r => r.id == id).ExecuteCommandAsync();
}
else
{
await _db.Updateable<WmsPurchaseH>().SetColumns(r => r.make_method == "同步").Where(r => r.id == id).ExecuteCommandAsync();
}
return "保存成功";
}
private async Task<dynamic> xxx(VisualDevModelDataCrInput input)
@@ -106,6 +131,11 @@ namespace Tnb.WarehouseMgr
var blFlag = true;
try
{
WmsPurchaseH wmsPurchaseH = await _db.Queryable<WmsPurchaseH>().Where(r => r.bill_code == input.bill_code).FirstAsync();
if (wmsPurchaseH.make_method == "自制")
{
throw Oops.Bah("自制采购收货单不能操作此按钮");
}
await _db.Ado.BeginTranAsync();
WmsInstockH? instock = null;
var purchaseDs = await PurchaseAndSaleUpdate(input);