PDA扫码入库逻辑修改
This commit is contained in:
@@ -24,6 +24,7 @@ using JNPF.VisualDev;
|
|||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.AspNetCore.Identity;
|
using Microsoft.AspNetCore.Identity;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using NPOI.HSSF.UserModel;
|
using NPOI.HSSF.UserModel;
|
||||||
using NPOI.SS.UserModel;
|
using NPOI.SS.UserModel;
|
||||||
@@ -96,9 +97,18 @@ namespace Tnb.WarehouseMgr
|
|||||||
if (locDest == null) throw new ArgumentNullException(nameof(locDest));
|
if (locDest == null) throw new ArgumentNullException(nameof(locDest));
|
||||||
if (!carry.carrystd_id.IsNullOrEmpty() && !locDest.carrystd_id.IsNullOrEmpty())
|
if (!carry.carrystd_id.IsNullOrEmpty() && !locDest.carrystd_id.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
var jsonArr = JArray.Parse(locDest.carrystd_id);
|
JArray? jsonArr = null;
|
||||||
var locCarryStdArr = jsonArr.Select(x => x.ToObject<string>()).ToArray();
|
try
|
||||||
isMatch = locCarryStdArr.Contains(carry.carrystd_id);
|
{
|
||||||
|
jsonArr = JArray.Parse(locDest.carrystd_id);
|
||||||
|
var locCarryStdArr = jsonArr.Select(x => x.ToObject<string>()).ToArray();
|
||||||
|
isMatch = locCarryStdArr.Contains(carry.carrystd_id);
|
||||||
|
}
|
||||||
|
catch (Exception ex) when (ex is JsonException jex)
|
||||||
|
{
|
||||||
|
isMatch = carry.carrystd_id.Equals(locDest.carrystd_id, StringComparison.OrdinalIgnoreCase);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return Task.FromResult(isMatch);
|
return Task.FromResult(isMatch);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ using JNPF.FriendlyException;
|
|||||||
using JNPF.Systems.Interfaces.System;
|
using JNPF.Systems.Interfaces.System;
|
||||||
using JNPF.VisualDev;
|
using JNPF.VisualDev;
|
||||||
using Mapster;
|
using Mapster;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using Tnb.BasicData.Entities;
|
using Tnb.BasicData.Entities;
|
||||||
using Tnb.ProductionMgr.Interfaces;
|
using Tnb.ProductionMgr.Interfaces;
|
||||||
@@ -55,8 +56,8 @@ namespace Tnb.WarehouseMgr
|
|||||||
_prdInstockService = prdInstockService;
|
_prdInstockService = prdInstockService;
|
||||||
OverideFuncs.CreateAsync = ScanInStock;
|
OverideFuncs.CreateAsync = ScanInStock;
|
||||||
}
|
}
|
||||||
|
[HttpPost("xxx")]
|
||||||
private async Task<dynamic> ScanInStock(VisualDevModelDataCrInput input)
|
public async Task<dynamic> ScanInStock(VisualDevModelDataCrInput input)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -84,8 +85,8 @@ namespace Tnb.WarehouseMgr
|
|||||||
bill_date = DateTime.Today,
|
bill_date = DateTime.Today,
|
||||||
warehouse_id = "26103372441637",
|
warehouse_id = "26103372441637",
|
||||||
status = WmsWareHouseConst.BILLSTATUS_ADD_ID,
|
status = WmsWareHouseConst.BILLSTATUS_ADD_ID,
|
||||||
generate_type = "1",
|
generate_type = "0",
|
||||||
sync_status = "0",
|
sync_status = "",
|
||||||
print_status = "0",
|
print_status = "0",
|
||||||
is_check = 1,
|
is_check = 1,
|
||||||
create_id = _userManager.UserId,
|
create_id = _userManager.UserId,
|
||||||
@@ -101,6 +102,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
unit_id = mat.unit_id,
|
unit_id = mat.unit_id,
|
||||||
pr_qty = item.codeqty,
|
pr_qty = item.codeqty,
|
||||||
qty = 0,
|
qty = 0,
|
||||||
|
code_batch= item.code_batch,
|
||||||
warehouse_id = "26103372441637",
|
warehouse_id = "26103372441637",
|
||||||
print_qty = item.codeqty,
|
print_qty = item.codeqty,
|
||||||
scan_qty = item.codeqty,
|
scan_qty = item.codeqty,
|
||||||
@@ -134,6 +136,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
var endLocations = await _wareHouseService.InStockStrategy(inStockStrategyInput);
|
var endLocations = await _wareHouseService.InStockStrategy(inStockStrategyInput);
|
||||||
WmsPointH sPoint = new();
|
WmsPointH sPoint = new();
|
||||||
WmsPointH ePoint = new();
|
WmsPointH ePoint = new();
|
||||||
|
|
||||||
if (endLocations?.Count > 0)
|
if (endLocations?.Count > 0)
|
||||||
{
|
{
|
||||||
var eloc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == endLocations[0].id);
|
var eloc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == endLocations[0].id);
|
||||||
@@ -141,6 +144,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
if (!isMatch) throw new AppFriendlyException("库位与载具规格不匹配", 500);
|
if (!isMatch) throw new AppFriendlyException("库位与载具规格不匹配", 500);
|
||||||
ePoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == endLocations[0].id);
|
ePoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == endLocations[0].id);
|
||||||
}
|
}
|
||||||
|
sPoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == loc.id && it.area_id == ePoint.area_id);
|
||||||
|
|
||||||
if (sPoint != null && ePoint != null)
|
if (sPoint != null && ePoint != null)
|
||||||
{
|
{
|
||||||
@@ -168,7 +172,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
preTask.endpoint_code = ePoint?.point_code!;
|
preTask.endpoint_code = ePoint?.point_code!;
|
||||||
preTask.bill_code = _billRullService.GetBillNumber(WmsWareHouseConst.WMS_PRETASK_H_ENCODE).GetAwaiter().GetResult();
|
preTask.bill_code = _billRullService.GetBillNumber(WmsWareHouseConst.WMS_PRETASK_H_ENCODE).GetAwaiter().GetResult();
|
||||||
preTask.status = WmsWareHouseConst.PRETASK_BILL_STATUS_DXF_ID;
|
preTask.status = WmsWareHouseConst.PRETASK_BILL_STATUS_DXF_ID;
|
||||||
preTask.biz_type = WmsWareHouseConst.BIZTYPE_CARRYMOVEINSTOCK_ID;
|
preTask.biz_type = WmsWareHouseConst.BIZTYPE_WMSINSTOCK_ID;
|
||||||
preTask.task_type = WmsWareHouseConst.WMS_PRETASK_INSTOCK_TYPE_ID;
|
preTask.task_type = WmsWareHouseConst.WMS_PRETASK_INSTOCK_TYPE_ID;
|
||||||
preTask.carry_id = carry.id;
|
preTask.carry_id = carry.id;
|
||||||
preTask.carry_code = carry.carry_code;
|
preTask.carry_code = carry.carry_code;
|
||||||
|
|||||||
Reference in New Issue
Block a user