bug
This commit is contained in:
@@ -20,6 +20,11 @@ using Tnb.ProductionMgr.Interfaces;
|
||||
using Aspose.Cells.Drawing;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using JNPF.Common.Extension;
|
||||
using JNPF.Common.Filter;
|
||||
using JNPF.Systems.Entitys.System;
|
||||
using Newtonsoft.Json;
|
||||
using Senparc.Weixin.Work.AdvancedAPIs.OaDataOpen;
|
||||
using Tnb.BasicData;
|
||||
|
||||
namespace Tnb.ProductionMgr
|
||||
{
|
||||
@@ -46,54 +51,82 @@ namespace Tnb.ProductionMgr
|
||||
|
||||
}
|
||||
|
||||
// private async Task<dynamic> GetList(VisualDevModelListQueryInput input)
|
||||
// {
|
||||
// var db = _repository.AsSugarClient();
|
||||
// VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleId, true);
|
||||
// var data = await _runService.GetListResult(templateEntity, input);
|
||||
// if (data?.list?.Count > 0)
|
||||
// {
|
||||
// var scheduledTypeField = nameof(PrdMoTask.schedule_type);
|
||||
// data.list = data.list.Where(it => it[scheduledTypeField].IsNotEmptyOrNull() && it[scheduledTypeField].ParseToInt() == 1).ToList();
|
||||
// foreach (var row in data.list)
|
||||
// {
|
||||
// var dic = row.ToDictionary(x => x.Key, x => x.Value);
|
||||
// var pkName = "material_id";
|
||||
// if (dic.ContainsKey(pkName))
|
||||
// {
|
||||
// var materialId = dic[pkName]?.ToString();
|
||||
// var material = await db.Queryable<BasMaterial>().FirstAsync(it => it.id == materialId);
|
||||
// if (material != null)
|
||||
// {
|
||||
// row["material_id"] = $"{material.code}/{material.name}";
|
||||
// row["materialid"] = material.id;
|
||||
// }
|
||||
// }
|
||||
// //模具
|
||||
// if (dic.ContainsKey("mold_id"))
|
||||
// {
|
||||
// var moldId = dic["mold_id"]?.ToString();
|
||||
// var mold = await db.Queryable<ToolMolds>().FirstAsync(it => it.id == moldId);
|
||||
// if (mold != null)
|
||||
// {
|
||||
// row["mold_id"] = $"{mold.mold_code}/{mold.mold_name}";
|
||||
// row["moldid"] = mold.id;
|
||||
// }
|
||||
// }
|
||||
// //设备
|
||||
// if (dic.ContainsKey("eqp_id"))
|
||||
// {
|
||||
// var eqpId = dic["eqp_id"]?.ToString();
|
||||
// var eqp = await db.Queryable<EqpEquipment>().FirstAsync(it => it.id == eqpId);
|
||||
// if (eqp != null)
|
||||
// {
|
||||
// row["eqp_id"] = $"{eqp.code}/{eqp.name}";
|
||||
// row["eqpid"] = eqp.id;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return data!;
|
||||
// }
|
||||
|
||||
private async Task<dynamic> GetList(VisualDevModelListQueryInput input)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleId, true);
|
||||
var data = await _runService.GetListResult(templateEntity, input);
|
||||
if (data?.list?.Count > 0)
|
||||
{
|
||||
var scheduledTypeField = nameof(PrdMoTask.schedule_type);
|
||||
data.list = data.list.Where(it => it[scheduledTypeField].IsNotEmptyOrNull() && it[scheduledTypeField].ParseToInt() == 1).ToList();
|
||||
foreach (var row in data.list)
|
||||
Dictionary<string, string> queryJson = !string.IsNullOrEmpty(input.queryJson) ? JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson) : new Dictionary<string, string>();
|
||||
string moTaskCode = queryJson.ContainsKey("mo_task_code") ? queryJson["mo_task_code"].ToString() : "";
|
||||
string moTaskStatus = queryJson.ContainsKey("mo_task_status") ? queryJson["mo_task_status"].ToString() : "";
|
||||
var result = await db.Queryable<PrdMoTask>()
|
||||
.LeftJoin<BasMaterial>((a, b) => a.material_id == b.id)
|
||||
.LeftJoin<DictionaryTypeEntity>((a, b, c) => c.EnCode == DictConst.TaskStatus)
|
||||
.LeftJoin<DictionaryDataEntity>((a, b, c, d) => c.Id == d.DictionaryTypeId && a.mo_task_status == d.EnCode)
|
||||
.LeftJoin<ToolMolds>((a,b,c,d,e)=>a.mold_id==e.id)
|
||||
.LeftJoin<PrdMo>((a,b,c,d,e,f)=>a.mo_id==f.id)
|
||||
.WhereIF(!string.IsNullOrEmpty(moTaskCode), (a, b, c, d) => a.mo_task_code.Contains(moTaskCode))
|
||||
.WhereIF(!string.IsNullOrEmpty(moTaskStatus), (a, b, c, d) => a.mo_task_status == moTaskStatus)
|
||||
.Where((a,b,c,d,e,f)=>a.schedule_type==1)
|
||||
.Select((a, b, c, d,e,f) => new PrdMoTask
|
||||
{
|
||||
var dic = row.ToDictionary(x => x.Key, x => x.Value);
|
||||
var pkName = "material_id";
|
||||
if (dic.ContainsKey(pkName))
|
||||
{
|
||||
var materialId = dic[pkName]?.ToString();
|
||||
var material = await db.Queryable<BasMaterial>().FirstAsync(it => it.id == materialId);
|
||||
if (material != null)
|
||||
{
|
||||
row["material_id"] = $"{material.code}/{material.name}";
|
||||
row["materialid"] = material.id;
|
||||
}
|
||||
}
|
||||
//模具
|
||||
if (dic.ContainsKey("mold_id"))
|
||||
{
|
||||
var moldId = dic["mold_id"]?.ToString();
|
||||
var mold = await db.Queryable<ToolMolds>().FirstAsync(it => it.id == moldId);
|
||||
if (mold != null)
|
||||
{
|
||||
row["mold_id"] = $"{mold.mold_code}/{mold.mold_name}";
|
||||
row["moldid"] = mold.id;
|
||||
}
|
||||
}
|
||||
//设备
|
||||
if (dic.ContainsKey("eqp_id"))
|
||||
{
|
||||
var eqpId = dic["eqp_id"]?.ToString();
|
||||
var eqp = await db.Queryable<EqpEquipment>().FirstAsync(it => it.id == eqpId);
|
||||
if (eqp != null)
|
||||
{
|
||||
row["eqp_id"] = $"{eqp.code}/{eqp.name}";
|
||||
row["eqpid"] = eqp.id;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return data!;
|
||||
id = a.id,
|
||||
mo_task_code = a.mo_task_code,
|
||||
material_id = b.code+"/"+b.name,
|
||||
mold_id = e.mold_code+"/"+e.mold_name,
|
||||
mo_task_status = d.FullName,
|
||||
plan_qty = f.plan_qty,
|
||||
scheduled_qty = a.scheduled_qty,
|
||||
}).ToPagedListAsync(input.currentPage, input.pageSize);
|
||||
return PageResult<PrdMoTask>.SqlSugarPageResult(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user