修复bug

This commit is contained in:
18942506660
2024-08-08 14:19:33 +08:00
parent 6239a1e54e
commit 7b7018d1bf
6 changed files with 64 additions and 22 deletions

View File

@@ -25,6 +25,7 @@ using WMS.Web.Domain.Values;
using WMS.Web.Core.Dto.Erp;
using Microsoft.Extensions.Caching.Memory;
using System.Reflection;
using WMS.Web.Domain.Services;
namespace WMS.Web.Api.Controllers
{
@@ -88,12 +89,16 @@ namespace WMS.Web.Api.Controllers
[Route("hj")]
public async Task<string> TestHJ()
{
//await _inStockTaskService.ErpDel(DateTime.Now.AddDays(-100));
// List<int> boxIds = new List<int>();
// boxIds.Add(5324);
//var b= await _inStockService.UnBind(boxIds, true);
//var b= await _boxService.Sync(null);
//var list = await _outStockTaskRepositories.GetEntityList(new List<int> { 14321 });
//await _inStockTaskService.ErpDel();
//await _outStockTaskService.BillQueryForMisDeliveryOutStock(true, new List<string>() { "QTCK026812" });
await _inStockTaskService.SysnMiscellaneous(new List<string>() { "QTRK028204" }, true);
// List<int> boxIds = new List<int>();
// boxIds.Add(5324);
//var b= await _inStockService.UnBind(boxIds, true);
//var b= await _boxService.Sync(null);
//var list = await _outStockTaskRepositories.GetEntityList(new List<int> { 14321 });
//await _outStockRepositories.GetEntityListBySerialNumbers(new List<string>() { "131VU-32C5A" });
//await _outStockRepositories.GetEntityListByBoxBillNos(new List<string>() { "CTN0002187" });
@@ -431,7 +436,7 @@ namespace WMS.Web.Api.Controllers
if (IscanAccess)
return Result<bool>.ReFailure(ResultCodes.Concurrent_Instock);
Console.WriteLine("process..."+ IscanAccess);
Console.WriteLine("process..." + IscanAccess);
_redisConcurrentProcessService.UpdateAccessStatus(cacheKey, true);
var tt2 = _redisConcurrentProcessService.GetRedisKeyValue(cacheKey);
Console.WriteLine("redis1:" + tt2);
@@ -440,9 +445,9 @@ namespace WMS.Web.Api.Controllers
[HttpGet]
[Route("lst3")]
public async Task<bool> lst3()
public async Task<bool> lst3()
{
var data=await _erpService.BillQueryForPurchaseInStockBy("1541693",null);
var data = await _erpService.BillQueryForPurchaseInStockBy("1541693", null);
return true;
}
}

View File

@@ -183,6 +183,12 @@ namespace WMS.Web.Domain.Entitys
//改变状态
public void ChangeInstockStatus()
{
//明细都作废后 整个单据作废
if (this.Details.Count() == this.Details.Where(w => w.IsRepeal == true).Count())
{
this.Status = InstockStatus.Repeal;
return;
}
//明细中:所有的应入数量之和
var totalAccruedQty = this.Details.Where(x => x.IsRepeal != true).Sum(x => x.AccruedQty);

View File

@@ -161,6 +161,13 @@ namespace WMS.Web.Domain.Entitys
{
if (this.Status == OutStockStatus.Repeal)
return;
//明细都作废后 整个单据作废
if (this.Details.Count() == this.Details.Where(w => w.IsRepeal == true).Count())
{
this.Status = OutStockStatus.Repeal;
return;
}
var details = this.Details.Where(w => w.IsRepeal != true).ToList();
if (details.Where(w => w.RealityQty <= 0).Count() == details.Count())

View File

@@ -527,7 +527,7 @@ namespace WMS.Web.Domain.Services
{
//老物料应收数量修改为0
det.AccruedQty = 0;
det.IsRepeal = true;
}
//操作完后剔除
erp_removeList.Add(erp_data);
@@ -593,14 +593,21 @@ namespace WMS.Web.Domain.Services
else if (details_Groups.Sum(x => x.RealityQtyTotal) >= details_Groups.Sum(x => x.AccruedQtyTotal))
order.Status = InstockStatus.Already;
//明细都作废后 整个单据作废
if (order.Details.Count() == order.Details.Where(w => w.IsRepeal == true).Count())
{
order.Status = InstockStatus.Repeal;
}
});
//2.4金蝶删除的明细要把任务单里的明细应入库数量改为0
data_list.SelectMany(x => x.Details).Where(c => !erp_list.Any(a => a.ErpDetailId == c.ErpDetailId)).ToList().ForEach(x => { x.AccruedQty = 0; });
data_list.SelectMany(x => x.Details).Where(c => !erp_list.Any(a => a.ErpDetailId == c.ErpDetailId))
.ToList()
.ForEach(x => { x.AccruedQty = 0;x.IsRepeal = true; });
//过滤掉已经作废的单据
data_list = data_list.Where(w => w.Status != InstockStatus.Repeal).ToList();
//data_list = data_list.Where(w => w.Status != InstockStatus.Repeal).ToList();
//更新修改时间
data_list.ForEach(f => f.WmsUpdateTime = DateTime.Now);
//2.3.提交任务单的修改

View File

@@ -170,16 +170,30 @@ namespace WMS.Web.Domain.Services
isUpdate = SsynDateComparison(outStockTask, erps);
foreach (var erp in erps)
{
//仓库不同 拆分成不同的
var detail = outStockTask.Details.FirstOrDefault(w => w.MaterialNumber == erp.MaterialNumber);
//如果该明细作废 则不修改了
if (detail != null && detail.IsRepeal == true)
//仓库不同 拆分成不同的 //如果该明细作废 则不修改了
var details = outStockTask.Details.Where(w => w.MaterialNumber == erp.MaterialNumber).ToList();
bool isAdd = false;
if (details.Count() == 0) isAdd = true;
OutStockTaskDetails detail = null;
if (details.Where(w => w.IsRepeal != true).Count() > 0)
{
//操作完后剔除
erp_removeList.Add(erp);
continue;
detail = details.Where(w => w.IsRepeal != true).FirstOrDefault();
isAdd = false;
}
if (detail == null)
if (details.Count() != 0 && details.Count() == details.Where(w => w.IsRepeal == true).Count())
{
//因为出库任务单有合并的情况 所以需要过滤一下
//如果这个明细已经作废,同时金蝶的明细id对不上 则新增一条明细
if (details.SelectMany(s => s.ErpDetails).Where(w => w.Erp_DetailId == erp.Erp_DetailId).Count() == 0)
isAdd = true;
else
{
//操作完后剔除
erp_removeList.Add(erp);
continue;
}
}
if (isAdd == true)
{
//添加一条物料明细
detail = _mapper.Map<OutStockTaskDetails>(erp);
@@ -218,8 +232,9 @@ namespace WMS.Web.Domain.Services
outStockTask.GenerateStatus();
}
}
//过滤掉已作废的单
var update_date_list = data_list.Where(w => update_ids.Contains(w.Id) && w.Status != OutStockStatus.Repeal).ToList();
//
//var update_date_list = data_list.Where(w => update_ids.Contains(w.Id) && w.Status != OutStockStatus.Repeal).ToList();
var update_date_list = data_list.Where(w => update_ids.Contains(w.Id)).ToList();
//更新修改时间
update_date_list.ForEach(f => f.WmsUpdateTime = DateTime.Now);
//2.2.提交修改
@@ -290,6 +305,8 @@ namespace WMS.Web.Domain.Services
//金蝶删除明细数据后 wms对应数据修改为0
ed.AccruedQty = 0;
d.AccruedQty = d.ErpDetails.Sum(s => s.AccruedQty);
if (d.AccruedQty == 0)
d.IsRepeal = true;
isUpdate = true;
}
}