Merge branch 'dev' of https://git.tuotong-tech.com/tnb/tnb.server into dev
This commit is contained in:
@@ -18,4 +18,34 @@ namespace Tnb.ProductionMgr.Entities.Dto.PrdManage
|
|||||||
|
|
||||||
public string? barcode { get; set; }
|
public string? barcode { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class PrdMoFromTwoQueryInput
|
||||||
|
{
|
||||||
|
public string mo_id { get; set; }
|
||||||
|
public string mo_task_code { get; set; }
|
||||||
|
public string barcode { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class PrdMoFromThreeQueryInput
|
||||||
|
{
|
||||||
|
public string mo_task_id { get; set; }
|
||||||
|
public string mo_task_code { get; set; }
|
||||||
|
public string barcode { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class PrdMoFromTabQueryInput
|
||||||
|
{
|
||||||
|
public string mo_task_id { get; set; }
|
||||||
|
public string barcode { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class PrdMoReverseFromQueryInput
|
||||||
|
{
|
||||||
|
public string barcode { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class PrdMoReverseFromOutInfoQueryInput
|
||||||
|
{
|
||||||
|
public string feeding_detail_id { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -423,11 +423,11 @@ namespace Tnb.ProductionMgr
|
|||||||
/// <param name="input"></param>
|
/// <param name="input"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<dynamic> PrdMoFromTwoList(Dictionary<string,string> dic)
|
public async Task<dynamic> PrdMoFromTwoList(PrdMoFromTwoQueryInput prdMoFromTwoQueryInput)
|
||||||
{
|
{
|
||||||
string mo_id = dic.ContainsKey("mo_id") ? dic["mo_id"] : "";
|
string mo_id = prdMoFromTwoQueryInput.mo_id ?? "";
|
||||||
string mo_task_code = dic.ContainsKey("mo_task_code") ? dic["mo_task_code"] : "";
|
string mo_task_code = prdMoFromTwoQueryInput.mo_task_code ?? "";
|
||||||
string barcode = dic.ContainsKey("barcode") ? dic["barcode"] : "";
|
string barcode = prdMoFromTwoQueryInput.barcode ?? "";
|
||||||
List<string> ids = new List<string>();
|
List<string> ids = new List<string>();
|
||||||
if (!string.IsNullOrEmpty(barcode))
|
if (!string.IsNullOrEmpty(barcode))
|
||||||
{
|
{
|
||||||
@@ -495,11 +495,11 @@ namespace Tnb.ProductionMgr
|
|||||||
/// <param name="input"></param>
|
/// <param name="input"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<dynamic> PrdMoFromThreeList(Dictionary<string,string> dic)
|
public async Task<dynamic> PrdMoFromThreeList(PrdMoFromThreeQueryInput prdMoFromThreeQueryInput)
|
||||||
{
|
{
|
||||||
string mo_task_id = dic.ContainsKey("mo_task_id") ? dic["mo_task_id"] : "";
|
string mo_task_id = prdMoFromThreeQueryInput.mo_task_id ?? "";
|
||||||
string mo_task_code = dic.ContainsKey("mo_task_code") ? dic["mo_task_code"] : "";
|
string mo_task_code = prdMoFromThreeQueryInput.mo_task_code ?? "";
|
||||||
string barcode = dic.ContainsKey("barcode") ? dic["barcode"] : "";
|
string barcode = prdMoFromThreeQueryInput.barcode ?? "";
|
||||||
List<string> ids = new List<string>();
|
List<string> ids = new List<string>();
|
||||||
if (!string.IsNullOrEmpty(barcode))
|
if (!string.IsNullOrEmpty(barcode))
|
||||||
{
|
{
|
||||||
@@ -545,10 +545,10 @@ namespace Tnb.ProductionMgr
|
|||||||
/// <param name="input"></param>
|
/// <param name="input"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<dynamic> PrdMoFromManList(Dictionary<string,string> dic)
|
public async Task<dynamic> PrdMoFromManList(PrdMoFromTabQueryInput prdMoFromTabQueryInput)
|
||||||
{
|
{
|
||||||
string mo_task_id = dic.ContainsKey("mo_task_id") ? dic["mo_task_id"] : "";
|
string mo_task_id = prdMoFromTabQueryInput.mo_task_id ?? "";
|
||||||
string barcode = dic.ContainsKey("barcode") ? dic["barcode"] : "";
|
string barcode = prdMoFromTabQueryInput.barcode ?? "";
|
||||||
List<string> ids = new List<string>();
|
List<string> ids = new List<string>();
|
||||||
if (!string.IsNullOrEmpty(barcode))
|
if (!string.IsNullOrEmpty(barcode))
|
||||||
{
|
{
|
||||||
@@ -580,10 +580,10 @@ namespace Tnb.ProductionMgr
|
|||||||
/// <param name="input"></param>
|
/// <param name="input"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<dynamic> PrdMoFromEquipList(Dictionary<string,string> dic)
|
public async Task<dynamic> PrdMoFromEquipList(PrdMoFromTabQueryInput prdMoFromTabQueryInput)
|
||||||
{
|
{
|
||||||
string mo_task_id = dic.ContainsKey("mo_task_id") ? dic["mo_task_id"] : "";
|
string mo_task_id = prdMoFromTabQueryInput.mo_task_id ?? "";
|
||||||
string barcode = dic.ContainsKey("barcode") ? dic["barcode"] : "";
|
string barcode = prdMoFromTabQueryInput.barcode ?? "";
|
||||||
List<string> ids = new List<string>();
|
List<string> ids = new List<string>();
|
||||||
if (!string.IsNullOrEmpty(barcode))
|
if (!string.IsNullOrEmpty(barcode))
|
||||||
{
|
{
|
||||||
@@ -608,10 +608,10 @@ namespace Tnb.ProductionMgr
|
|||||||
/// <param name="input"></param>
|
/// <param name="input"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<dynamic> PrdMoFromMaterialList(Dictionary<string,string> dic)
|
public async Task<dynamic> PrdMoFromMaterialList(PrdMoFromTabQueryInput prdMoFromTabQueryInput)
|
||||||
{
|
{
|
||||||
string mo_task_id = dic.ContainsKey("mo_task_id") ? dic["mo_task_id"] : "";
|
string mo_task_id = prdMoFromTabQueryInput.mo_task_id ?? "";
|
||||||
string barcode = dic.ContainsKey("barcode") ? dic["barcode"] : "";
|
string barcode = prdMoFromTabQueryInput.barcode ?? "";
|
||||||
List<string> ids = new List<string>();
|
List<string> ids = new List<string>();
|
||||||
if (!string.IsNullOrEmpty(barcode))
|
if (!string.IsNullOrEmpty(barcode))
|
||||||
{
|
{
|
||||||
@@ -719,7 +719,9 @@ namespace Tnb.ProductionMgr
|
|||||||
List<string> lastPrdReportIds = new List<string>();
|
List<string> lastPrdReportIds = new List<string>();
|
||||||
foreach (var item in basMbomInputs)
|
foreach (var item in basMbomInputs)
|
||||||
{
|
{
|
||||||
decimal? num1 = beforeReportNum / basMbom.num * item.num;
|
BasMbomOutput basMbomOutput = await _db.Queryable<BasMbomOutput>().Where(x=>x.mbom_process_id==basMbomProcess.id && x.material_id==prdMoTask.material_id).FirstAsync();
|
||||||
|
if (basMbomOutput == null) break;
|
||||||
|
decimal? num1 = beforeReportNum / Convert.ToDecimal(basMbomOutput.num) * item.num;
|
||||||
List<PrdFeedingD> prdFeedingDs = await _db.Queryable<PrdFeedingD>()
|
List<PrdFeedingD> prdFeedingDs = await _db.Queryable<PrdFeedingD>()
|
||||||
.LeftJoin<PrdFeedingH>((a, b) => a.feeding_id == b.id)
|
.LeftJoin<PrdFeedingH>((a, b) => a.feeding_id == b.id)
|
||||||
.Where((a, b) => a.material_id == item.material_id && b.mo_task_id == mo_task_id)
|
.Where((a, b) => a.material_id == item.material_id && b.mo_task_id == mo_task_id)
|
||||||
@@ -751,7 +753,7 @@ namespace Tnb.ProductionMgr
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
decimal? num2 = lastPrdReport.reported_qty / basMbom.num * item.num;
|
decimal? num2 = lastPrdReport.reported_qty / Convert.ToDecimal(basMbomOutput.num) * item.num;
|
||||||
if (sum2 <= num2)
|
if (sum2 <= num2)
|
||||||
{
|
{
|
||||||
lastPrdReportIds.Add(lastPrdReport.id);
|
lastPrdReportIds.Add(lastPrdReport.id);
|
||||||
@@ -779,7 +781,7 @@ namespace Tnb.ProductionMgr
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
decimal? num2 = prdReport.reported_qty / basMbom.num * item.num;
|
decimal? num2 = prdReport.reported_qty / Convert.ToDecimal(basMbomOutput.num) * item.num;
|
||||||
if (sum2 <= num2)
|
if (sum2 <= num2)
|
||||||
{
|
{
|
||||||
prdFeedingIds.Add(item.id);
|
prdFeedingIds.Add(item.id);
|
||||||
@@ -846,9 +848,9 @@ namespace Tnb.ProductionMgr
|
|||||||
/// <param name="dic"></param>
|
/// <param name="dic"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<dynamic> PrdMoReverseFromMaterialInfo(Dictionary<string, string> dic)
|
public async Task<dynamic> PrdMoReverseFromMaterialInfo(PrdMoReverseFromQueryInput prdMoReverseFromQueryInput)
|
||||||
{
|
{
|
||||||
string barcode = dic.ContainsKey("barcode") ? dic["barcode"] : "";
|
string barcode = prdMoReverseFromQueryInput.barcode ?? "";
|
||||||
string domain = (App.HttpContext.Request.IsHttps ? "https://" : "http://") + App.HttpContext.Request.Host;
|
string domain = (App.HttpContext.Request.IsHttps ? "https://" : "http://") + App.HttpContext.Request.Host;
|
||||||
Dictionary<string, object> header = new Dictionary<string, object>()
|
Dictionary<string, object> header = new Dictionary<string, object>()
|
||||||
{
|
{
|
||||||
@@ -891,9 +893,9 @@ namespace Tnb.ProductionMgr
|
|||||||
/// <param name="dic"></param>
|
/// <param name="dic"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<dynamic> PrdMoReverseFromFeedingInfo(Dictionary<string, string> dic)
|
public async Task<dynamic> PrdMoReverseFromFeedingInfo(PrdMoReverseFromQueryInput prdMoReverseFromQueryInput)
|
||||||
{
|
{
|
||||||
string barcode = dic.ContainsKey("barcode") ? dic["barcode"] : "";
|
string barcode = prdMoReverseFromQueryInput.barcode ?? "";
|
||||||
List<string> ids = await _db.Queryable<PrdMaterialReceiptD>()
|
List<string> ids = await _db.Queryable<PrdMaterialReceiptD>()
|
||||||
.LeftJoin<PrdFeedingD>((a, b) => a.id == b.material_receipt_detail_id)
|
.LeftJoin<PrdFeedingD>((a, b) => a.id == b.material_receipt_detail_id)
|
||||||
.LeftJoin<PrdFeedingH>((a, b, c) => b.feeding_id == c.id)
|
.LeftJoin<PrdFeedingH>((a, b, c) => b.feeding_id == c.id)
|
||||||
@@ -937,9 +939,9 @@ namespace Tnb.ProductionMgr
|
|||||||
/// <param name="dic"></param>
|
/// <param name="dic"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<dynamic> PrdMoReverseFromOutInfo(Dictionary<string, string> dic)
|
public async Task<dynamic> PrdMoReverseFromOutInfo(PrdMoReverseFromOutInfoQueryInput prdMoReverseFromOutInfoQueryInput)
|
||||||
{
|
{
|
||||||
string feeding_detail_id = dic.ContainsKey("feeding_detail_id") ? dic["feeding_detail_id"] : "";
|
string feeding_detail_id = prdMoReverseFromOutInfoQueryInput.feeding_detail_id ?? "";
|
||||||
PrdFeedingD prdFeedingD = await _db.Queryable<PrdFeedingD>().FirstAsync(x => x.id == feeding_detail_id);
|
PrdFeedingD prdFeedingD = await _db.Queryable<PrdFeedingD>().FirstAsync(x => x.id == feeding_detail_id);
|
||||||
if(prdFeedingD.use_num<=0) return Array.Empty<string>();
|
if(prdFeedingD.use_num<=0) return Array.Empty<string>();
|
||||||
PrdFeedingH prdFeedingH = await _db.Queryable<PrdFeedingH>().FirstAsync(x => x.id == prdFeedingD.feeding_id);
|
PrdFeedingH prdFeedingH = await _db.Queryable<PrdFeedingH>().FirstAsync(x => x.id == prdFeedingD.feeding_id);
|
||||||
@@ -1011,51 +1013,163 @@ namespace Tnb.ProductionMgr
|
|||||||
return Array.Empty<string>();
|
return Array.Empty<string>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
List<string> barCodes = await _db.Queryable<PrdReport>().Where(x=>reportIds.Contains(x.id)).Select(x=>x.barcode).ToListAsync();
|
|
||||||
|
|
||||||
string domain = (App.HttpContext.Request.IsHttps ? "https://" : "http://") + App.HttpContext.Request.Host;
|
|
||||||
Dictionary<string, object> header = new Dictionary<string, object>()
|
|
||||||
{
|
|
||||||
["Authorization"] = App.HttpContext.Request.Headers["Authorization"]
|
|
||||||
};
|
|
||||||
Dictionary<string, object> postData = new Dictionary<string, object>()
|
|
||||||
{
|
|
||||||
["org_id"] = _userManager.GetUserInfo().Result.organizeId,
|
|
||||||
["barcode"] = barCodes,
|
|
||||||
["currentPage"] = 1,
|
|
||||||
["pageSize"] = int.MaxValue,
|
|
||||||
};
|
|
||||||
var sendResult = HttpUtils.RequestPost(domain + WebApiConst.MES_FETCH_IN_OUT_STOCK_INFO_BY_BAR_CODE,JsonConvert.SerializeObject(postData),header);
|
|
||||||
Log.Information(sendResult);
|
|
||||||
|
|
||||||
AuthResponse authResponse = JsonConvert.DeserializeObject<AuthResponse>(sendResult);
|
|
||||||
if (authResponse.code != 200)
|
|
||||||
{
|
|
||||||
throw Oops.Bah(authResponse.msg);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
BasMaterial basMaterial = await _db.Queryable<BasMaterial>().FirstAsync(x => x.id == prdMoTask.material_id);
|
|
||||||
PageResult<PrdMoReverseFromOutput> output = JsonConvert.DeserializeObject<PageResult<PrdMoReverseFromOutput>>(authResponse.data.ToString(),new Tnb.Common.Utils.DateTimeJsonConverter());
|
|
||||||
if (output.list != null && output.list.Count > 0)
|
|
||||||
{
|
|
||||||
foreach (var item in output.list)
|
|
||||||
{
|
|
||||||
item.material_name = basMaterial.name;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return output.list;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// var queryable = _db.Queryable<PrdMoTask>()
|
List<PrdReport> prdReports = await _db.Queryable<PrdMoTask>()
|
||||||
// .LeftJoin<BasMbomProcess>((a,b)=>a.mbom_process_id==b.id)
|
.LeftJoin<BasMbomProcess>((a, b) => a.mbom_process_id == b.id)
|
||||||
// .LeftJoin<PrdReport>((a,b,c)=>a.id==c.mo_task_id)
|
.LeftJoin<PrdReport>((a, b, c) => a.id == c.mo_task_id)
|
||||||
// .Where((a,b,c)=>a.)
|
.Where((a, b, c) => a.mo_id == prdMoTask.mo_id && b.next_process_no == null)
|
||||||
return null;
|
.OrderBy((a,b,c)=>c.create_time)
|
||||||
|
.Select((a, b, c) => c).ToListAsync();
|
||||||
|
|
||||||
|
if (prdReports != null && prdReports.Count > 0)
|
||||||
|
{
|
||||||
|
List<string> mbomProcesssIds = new List<string>(){prdMoTask.mbom_process_id};
|
||||||
|
BasMbomProcess startMbomProcess = await _db.Queryable<BasMbomProcess>().Where(x=>x.id==prdMoTask.mbom_process_id).FirstAsync();
|
||||||
|
List<BasMbomProcess> allMbomProcesses = await _db.Queryable<BasMbomProcess>().Where(x=>x.mbom_id==prdMoTask.bom_id).ToListAsync();
|
||||||
|
string startNo = startMbomProcess.next_process_no;
|
||||||
|
if (!string.IsNullOrEmpty(startNo))
|
||||||
|
{
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
BasMbomProcess nextMbomProcess = allMbomProcesses.FirstOrDefault(x=>x.no==startNo);
|
||||||
|
|
||||||
|
if (nextMbomProcess==null || nextMbomProcess.no==null)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
startNo = nextMbomProcess.next_process_no;
|
||||||
|
mbomProcesssIds.Add(nextMbomProcess.id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!prdMoTask.mbom_process_id.Contains(prdMoTask.mbom_process_id))
|
||||||
|
{
|
||||||
|
mbomProcesssIds.Add(startMbomProcess.id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<BasMbomOutput> outputList = await _db.Queryable<BasMbomProcess>()
|
||||||
|
.LeftJoin<BasMbomOutput>((a, b) => a.id == b.mbom_process_id)
|
||||||
|
.Where((a, b) => mbomProcesssIds.Contains(a.id))
|
||||||
|
.Select((a,b)=>b).ToListAsync();
|
||||||
|
|
||||||
|
List<BasMbomInput> inputList = await _db.Queryable<BasMbomProcess>()
|
||||||
|
.LeftJoin<BasMbomInput>((a, b) => a.id == b.mbom_process_id)
|
||||||
|
.Where((a, b) => mbomProcesssIds.Contains(a.id))
|
||||||
|
.Select((a,b)=>b).ToListAsync();
|
||||||
|
|
||||||
|
decimal? needNum = 1;//一个最终物料需要本任务单投入物料的数量
|
||||||
|
string tempMaterialId = outputList.FirstOrDefault(x=>x.mbom_process_id==mbomProcesssIds[mbomProcesssIds.Count-1])?.material_id;
|
||||||
|
for (int i = mbomProcesssIds.Count - 1; i > 0;i--)
|
||||||
|
{
|
||||||
|
|
||||||
|
List<BasMbomInput> inputs = inputList.Where(x => x.mbom_process_id == mbomProcesssIds[i]).ToList();
|
||||||
|
BasMbomOutput output = outputList.FirstOrDefault(x => x.mbom_process_id == mbomProcesssIds[i] && x.material_id==tempMaterialId);
|
||||||
|
List<string> inputMaterialIds = inputs.Select(x => x.material_id).ToList();
|
||||||
|
List<BasMbomOutput> lastOutputs = outputList.Where(x=>x.mbom_process_id==mbomProcesssIds[i-1]).ToList();
|
||||||
|
decimal? inputNum = inputs.FirstOrDefault(x => inputMaterialIds.Contains(x.material_id))?.num;
|
||||||
|
if (inputNum == null)
|
||||||
|
{
|
||||||
|
throw new Exception("生产bom投入产出物料配置错误");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
tempMaterialId = inputs.FirstOrDefault(x => inputMaterialIds.Contains(x.material_id))?.material_id;
|
||||||
|
needNum = needNum / Convert.ToDecimal(output.num) * inputNum;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool flag = true;
|
||||||
|
decimal residueNeed = 0;
|
||||||
|
foreach (var prdReport in prdReports)
|
||||||
|
{
|
||||||
|
decimal needNumTotal = prdReport.reported_qty * needNum ?? 0;
|
||||||
|
if (beforeIn - needNumTotal >= 0)
|
||||||
|
{
|
||||||
|
beforeIn -= needNumTotal;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (flag)
|
||||||
|
{
|
||||||
|
if (prdFeedingD.num > needNumTotal - beforeIn)
|
||||||
|
{
|
||||||
|
residueNeed = prdFeedingD.num - (needNumTotal - beforeIn);
|
||||||
|
reportIds.Add(prdReport.id);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reportIds.Add(prdReport.id);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
flag = false;
|
||||||
|
continue;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (residueNeed - needNumTotal > 0)
|
||||||
|
{
|
||||||
|
residueNeed -= needNumTotal;
|
||||||
|
reportIds.Add(prdReport.id);
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
reportIds.Add(prdReport.id);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return Array.Empty<string>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<string> barCodes = await _db.Queryable<PrdReport>().Where(x=>reportIds.Contains(x.id)).Select(x=>x.barcode).ToListAsync();
|
||||||
|
|
||||||
|
string domain = (App.HttpContext.Request.IsHttps ? "https://" : "http://") + App.HttpContext.Request.Host;
|
||||||
|
Dictionary<string, object> header = new Dictionary<string, object>()
|
||||||
|
{
|
||||||
|
["Authorization"] = App.HttpContext.Request.Headers["Authorization"]
|
||||||
|
};
|
||||||
|
Dictionary<string, object> postData = new Dictionary<string, object>()
|
||||||
|
{
|
||||||
|
["org_id"] = _userManager.GetUserInfo().Result.organizeId,
|
||||||
|
["barcode"] = barCodes,
|
||||||
|
["currentPage"] = 1,
|
||||||
|
["pageSize"] = int.MaxValue,
|
||||||
|
};
|
||||||
|
var sendResult = HttpUtils.RequestPost(domain + WebApiConst.MES_FETCH_IN_OUT_STOCK_INFO_BY_BAR_CODE,JsonConvert.SerializeObject(postData),header);
|
||||||
|
Log.Information(sendResult);
|
||||||
|
|
||||||
|
AuthResponse authResponse = JsonConvert.DeserializeObject<AuthResponse>(sendResult);
|
||||||
|
if (authResponse.code != 200)
|
||||||
|
{
|
||||||
|
throw Oops.Bah(authResponse.msg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
BasMaterial basMaterial = await _db.Queryable<BasMaterial>().FirstAsync(x => x.id == prdMoTask.material_id);
|
||||||
|
PageResult<PrdMoReverseFromOutput> output = JsonConvert.DeserializeObject<PageResult<PrdMoReverseFromOutput>>(authResponse.data.ToString(),new Tnb.Common.Utils.DateTimeJsonConverter());
|
||||||
|
if (output.list != null && output.list.Count > 0)
|
||||||
|
{
|
||||||
|
foreach (var item in output.list)
|
||||||
|
{
|
||||||
|
item.material_name = basMaterial.name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return output.list;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user