bug
This commit is contained in:
@@ -0,0 +1,21 @@
|
|||||||
|
namespace Tnb.ProductionMgr.Entities.Dto.PrdManage
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 任务单调整列表输出
|
||||||
|
/// </summary>
|
||||||
|
public class WorkOrderAdjustmentListOutput
|
||||||
|
{
|
||||||
|
public string id { get; set; }
|
||||||
|
public string mo_task_code { get; set; }
|
||||||
|
public string mo_task_status { get; set; }
|
||||||
|
public string material_id { get; set; }
|
||||||
|
public string mold_id { get; set; }
|
||||||
|
public int? plan_qty { get; set; }
|
||||||
|
public int? complete_qty { get; set; }
|
||||||
|
public int? scheduled_qty { get; set; }
|
||||||
|
public string workline_id { get; set; }
|
||||||
|
public string estimated_start_date { get; set; }
|
||||||
|
public string estimated_end_date { get; set; }
|
||||||
|
public string eqp_id { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -888,6 +888,7 @@ namespace Tnb.ProductionMgr
|
|||||||
if (subTaskList?.Count > 0)
|
if (subTaskList?.Count > 0)
|
||||||
{
|
{
|
||||||
List<PrdMoTask> subMoTasks = new();
|
List<PrdMoTask> subMoTasks = new();
|
||||||
|
List<PrdTaskLog> subMoTaskLogs = new();
|
||||||
foreach (var item in subTaskList)
|
foreach (var item in subTaskList)
|
||||||
{
|
{
|
||||||
PrdMoTask subMoTask = new();
|
PrdMoTask subMoTask = new();
|
||||||
@@ -909,6 +910,20 @@ namespace Tnb.ProductionMgr
|
|||||||
subMoTask.create_id = _userManager.UserId;
|
subMoTask.create_id = _userManager.UserId;
|
||||||
subMoTask.create_time = DateTime.Now;
|
subMoTask.create_time = DateTime.Now;
|
||||||
subMoTasks.Add(subMoTask);
|
subMoTasks.Add(subMoTask);
|
||||||
|
|
||||||
|
var subTaskLog = new PrdTaskLog();
|
||||||
|
var subMaterial = await _db.Queryable<BasMaterial>().SingleAsync(x => x.id == item.material_id);
|
||||||
|
subTaskLog.id = SnowflakeIdHelper.NextId();
|
||||||
|
subTaskLog.mo_code = (await _db.Queryable<PrdMo>().FirstAsync(it => it.id == input.mo_id))?.mo_code!;
|
||||||
|
subTaskLog.item_code = subMaterial?.code!;
|
||||||
|
subTaskLog.item_standard = subMaterial?.material_standard!;
|
||||||
|
subTaskLog.status = DictConst.ToBeScheduledEncode;
|
||||||
|
subTaskLog.operator_name = _userManager.RealName;
|
||||||
|
subTaskLog.create_id = _userManager.UserId;
|
||||||
|
subTaskLog.create_time = DateTime.Now;
|
||||||
|
subTaskLog.mo_task_id = subMoTask.id;
|
||||||
|
subTaskLog.mo_task_code = subMoTask.mo_task_code!;
|
||||||
|
subMoTaskLogs.Add(subTaskLog);
|
||||||
}
|
}
|
||||||
//根据生产任务编号生成子任务编号
|
//根据生产任务编号生成子任务编号
|
||||||
if (moTask.mo_task_code!.IsNotEmptyOrNull())
|
if (moTask.mo_task_code!.IsNotEmptyOrNull())
|
||||||
@@ -920,6 +935,7 @@ namespace Tnb.ProductionMgr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
row = await _db.Insertable(subMoTasks).ExecuteCommandAsync();
|
row = await _db.Insertable(subMoTasks).ExecuteCommandAsync();
|
||||||
|
await _db.Insertable(subMoTaskLogs).ExecuteCommandAsync();
|
||||||
}
|
}
|
||||||
await _db.Ado.CommitTranAsync();
|
await _db.Ado.CommitTranAsync();
|
||||||
}
|
}
|
||||||
@@ -1575,49 +1591,83 @@ namespace Tnb.ProductionMgr
|
|||||||
}
|
}
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
// 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)
|
||||||
|
// {
|
||||||
|
// foreach (var row in data.list)
|
||||||
|
// {
|
||||||
|
// var dic = row.ToDictionary(x => x.Key, x => x.Value);
|
||||||
|
// var pkName = "material_id_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}";
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// //模具
|
||||||
|
// 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}";
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// //设备
|
||||||
|
// 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}";
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return data!;
|
||||||
|
// }
|
||||||
|
|
||||||
private async Task<dynamic> GetList(VisualDevModelListQueryInput input)
|
private async Task<dynamic> GetList(VisualDevModelListQueryInput input)
|
||||||
{
|
{
|
||||||
var db = _repository.AsSugarClient();
|
var db = _repository.AsSugarClient();
|
||||||
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleId, true);
|
Dictionary<string, string> queryJson = !string.IsNullOrEmpty(input.queryJson) ? JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson) : new Dictionary<string, string>();
|
||||||
var data = await _runService.GetListResult(templateEntity, input);
|
string moTaskCode = queryJson.ContainsKey("mo_task_code") ? queryJson["mo_task_code"].ToString() : "";
|
||||||
if (data?.list?.Count > 0)
|
string eqpId = queryJson.ContainsKey("eqp_id") ? queryJson["eqp_id"].ToString() : "";
|
||||||
{
|
var result = await db.Queryable<PrdMoTask>()
|
||||||
foreach (var row in data.list)
|
.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)
|
||||||
|
.LeftJoin<OrganizeEntity>((a,b,c,d,e,f,g)=>a.workline_id==g.Id)
|
||||||
|
.LeftJoin<EqpEquipment>((a,b,c,d,e,f,g,h)=>a.eqp_id==h.id)
|
||||||
|
.WhereIF(!string.IsNullOrEmpty(moTaskCode), (a, b, c, d) => a.mo_task_code.Contains(moTaskCode))
|
||||||
|
.WhereIF(!string.IsNullOrEmpty(eqpId), (a, b, c, d) => a.workline_id==eqpId || a.eqp_id==eqpId)
|
||||||
|
.Select((a, b, c, d,e,f,g,h) => new WorkOrderAdjustmentListOutput
|
||||||
{
|
{
|
||||||
var dic = row.ToDictionary(x => x.Key, x => x.Value);
|
id = a.id,
|
||||||
var pkName = "material_id_id";
|
mo_task_code = a.mo_task_code,
|
||||||
if (dic.ContainsKey(pkName))
|
material_id = b.code+"/"+b.name,
|
||||||
{
|
mold_id = e.mold_code+"/"+e.mold_name,
|
||||||
var materialId = dic[pkName]?.ToString();
|
mo_task_status = d.FullName,
|
||||||
var material = await db.Queryable<BasMaterial>().FirstAsync(it => it.id == materialId);
|
plan_qty = f.plan_qty,
|
||||||
if (material != null)
|
complete_qty = SqlFunc.IsNull(a.reported_work_qty,0) + SqlFunc.IsNull(a.scrap_qty,0),
|
||||||
{
|
scheduled_qty = a.scheduled_qty,
|
||||||
row["material_id"] = $"{material.code}/{material.name}";
|
workline_id = a.workline_id==null ? "" :g.EnCode+"/"+g.FullName,
|
||||||
}
|
estimated_start_date = a.estimated_start_date==null ? "" : a.estimated_start_date.Value.ToString("yyyy-MM-dd"),
|
||||||
}
|
estimated_end_date = a.estimated_end_date==null ? "" : a.estimated_end_date.Value.ToString("yyyy-MM-dd"),
|
||||||
//模具
|
eqp_id = a.eqp_id==null ? "" : h.code+"/"+h.name,
|
||||||
if (dic.ContainsKey("mold_id"))
|
}).ToPagedListAsync(input.currentPage, input.pageSize);
|
||||||
{
|
return PageResult<WorkOrderAdjustmentListOutput>.SqlSugarPageResult(result);
|
||||||
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}";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//设备
|
|
||||||
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}";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return data!;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user