Merge branch 'dev' of https://git.tuotong-tech.com/tnb/tnb.server into dev
This commit is contained in:
@@ -37,4 +37,10 @@
|
|||||||
public string result { get; set; }
|
public string result { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
public class MaintainItemResult
|
||||||
|
{
|
||||||
|
public string item_name { get; set; }
|
||||||
|
public string group_name { get; set; }
|
||||||
|
public string result { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
13
EquipMgr/Tnb.EquipMgr.Entities/Dto/MoldStartWxInput.cs
Normal file
13
EquipMgr/Tnb.EquipMgr.Entities/Dto/MoldStartWxInput.cs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Tnb.EquipMgr.Entities
|
||||||
|
{
|
||||||
|
public class MoldStartWxInput
|
||||||
|
{
|
||||||
|
public string? id { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -16,5 +16,6 @@
|
|||||||
public string plan_start_time { get; set; }
|
public string plan_start_time { get; set; }
|
||||||
public string starttime { get; set; }
|
public string starttime { get; set; }
|
||||||
|
|
||||||
|
public string finishtime { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,5 +20,6 @@ namespace Tnb.EquipMgr.Entities.Dto
|
|||||||
public string repairer_id { get; set; }
|
public string repairer_id { get; set; }
|
||||||
public string repairer_id_id { get; set; }
|
public string repairer_id_id { get; set; }
|
||||||
public string status { get; set; }
|
public string status { get; set; }
|
||||||
|
public string attachment { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -53,4 +53,12 @@ public partial class ToolMoldMaintainTask : BaseEntity<string>
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string status { get; set; }
|
public string status { get; set; }
|
||||||
|
|
||||||
|
public string? name { get; set; }
|
||||||
|
public string? attachment { get; set; }
|
||||||
|
public string? describe { get; set; }
|
||||||
|
|
||||||
|
public int is_finish { get; set; }
|
||||||
|
public string? wxattachment { get; set; }
|
||||||
|
public string? wxdescribe { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -397,7 +397,8 @@ namespace Tnb.EquipMgr
|
|||||||
repairer_id = c.RealName,
|
repairer_id = c.RealName,
|
||||||
repairer_id_id = c.Id,
|
repairer_id_id = c.Id,
|
||||||
remark = a.remark,
|
remark = a.remark,
|
||||||
status = f.FullName
|
status = f.FullName,
|
||||||
|
attachment=a.attachment
|
||||||
}).ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
|
}).ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
|
||||||
|
|
||||||
return PageResult<PadRepairListOutput>.SqlSugarPageResult(result);
|
return PageResult<PadRepairListOutput>.SqlSugarPageResult(result);
|
||||||
|
|||||||
@@ -196,33 +196,35 @@ namespace Tnb.EquipMgr
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
input.sidx = "b." + input.sidx;
|
input.sidx = "b." + input.sidx;
|
||||||
|
input.sort = "desc";
|
||||||
}
|
}
|
||||||
List<string> records = await _db.Queryable<ToolMoldMaintainItemRecord>().Select(p => p.plan_id + p.mold_id).ToListAsync();
|
List<string> records = await _db.Queryable<ToolMoldMaintainItemRecord>().Select(p => p.plan_id + p.mold_id).ToListAsync();
|
||||||
SqlSugarPagedList<PadMainListOutput> result = await _db.Queryable<ToolMoldMaintainPlanRelation>()
|
SqlSugarPagedList<PadMainListOutput> result = await _db.Queryable<ToolMoldMaintainPlanRelation>()
|
||||||
.LeftJoin<ToolMoldMaintainPlan>((a, b) => a.maintain_plan_id == b.id)
|
.LeftJoin<ToolMoldMaintainPlan>((a, b) => a.maintain_plan_id == b.id)
|
||||||
.LeftJoin<ToolMolds>((a, b, c) => a.mold_id == c.id)
|
.LeftJoin<ToolMolds>((a, b, c) => a.mold_id == c.id)
|
||||||
.LeftJoin<ToolMoldMaintainRunRecord>((a, b, c, d) => b.plan_code == d.plan_code && c.mold_code == d.mold_code)
|
.LeftJoin<ToolMoldMaintainRunRecord>((a, b, c, d) => b.plan_code == d.plan_code && c.mold_code == d.mold_code)
|
||||||
.LeftJoin<ToolMoldMaintainItemRecord>((a, b, c, d, e) => e.plan_id == b.id && e.mold_id == c.id)
|
// .LeftJoin<ToolMoldMaintainItemRecord>((a, b, c, d, e) => e.plan_id == b.id && e.mold_id == c.id)
|
||||||
.LeftJoin<UserEntity>((a, b, c, d, e, f) => b.create_id == f.Id)
|
.LeftJoin<UserEntity>((a, b, c, d, e) => b.create_id == e.Id)
|
||||||
.LeftJoin<DictionaryDataEntity>((a, b, c, d, e, f, g) => c.mold_status == g.Id)
|
.LeftJoin<DictionaryDataEntity>((a, b, c, d, e, f) => c.mold_status == f.Id)
|
||||||
.Where((a, b, c, d, e, f) => b.create_time != null)
|
.Where((a, b, c, d, e, f) => b.create_time != null)
|
||||||
.WhereIF(!string.IsNullOrEmpty(input.maintain_info), (a, b, c, d, e, f, g) => c.mold_code!.Contains(input.maintain_info) || c.mold_name!.Contains(input.maintain_info))
|
.WhereIF(!string.IsNullOrEmpty(input.maintain_info), (a, b, c, d, e, f) => c.mold_code!.Contains(input.maintain_info) || c.mold_name!.Contains(input.maintain_info))
|
||||||
.WhereIF(start_time != null, (a, b, c, d, e, f, g) => b.create_time != null && b.create_time >= start_time)
|
.WhereIF(start_time != null, (a, b, c, d, e, f) => b.create_time != null && b.create_time >= start_time)
|
||||||
.WhereIF(end_time != null, (a, b, c, d, e, f, g) => b.create_time != null && b.create_time <= end_time)
|
.WhereIF(end_time != null, (a, b, c, d, e, f) => b.create_time != null && b.create_time <= end_time)
|
||||||
.WhereIF(input.status == "待保养", (a, b, c, d, e, f, g) => !records.Contains(a.maintain_plan_id + a.mold_id))
|
.WhereIF(input.status == "待保养", (a, b, c, d, e, f) => !records.Contains(a.maintain_plan_id + a.mold_id))
|
||||||
.WhereIF(input.status == "已完成", (a, b, c, d, e, f, g) => records.Contains(a.maintain_plan_id + a.mold_id))
|
.WhereIF(input.status == "已完成", (a, b, c, d, e, f) => records.Contains(a.maintain_plan_id + a.mold_id))
|
||||||
.Select((a, b, c, d, e, f, g) => new PadMainListOutput
|
.Select((a, b, c, d, e, f) => new PadMainListOutput
|
||||||
{
|
{
|
||||||
plan_id = b.id,
|
plan_id = b.id,
|
||||||
mold_id = c.id,
|
mold_id = c.id,
|
||||||
mold_code = c.mold_code!,
|
mold_code = c.mold_code!,
|
||||||
mold_name = c.mold_name!,
|
mold_name = c.mold_name!,
|
||||||
mold_status = g.FullName!,
|
mold_status = f.FullName!,
|
||||||
status = input.status,
|
status = input.status,
|
||||||
createuser = f.RealName,
|
createuser = e.RealName,
|
||||||
createtime = b.create_time == null ? "" : b.create_time.Value.ToString(DbTimeFormat.SS),
|
createtime = b.create_time == null ? "" : b.create_time.Value.ToString(DbTimeFormat.SS),
|
||||||
plan_start_time = b.plan_start_date == null ? "" : b.plan_start_date.Value.ToString(DbTimeFormat.SS),
|
plan_start_time = b.plan_start_date == null ? "" : b.plan_start_date.Value.ToString(DbTimeFormat.SS),
|
||||||
starttime = d.plan_start_time == null ? "" : d.plan_start_time.Value.ToString(DbTimeFormat.SS),
|
starttime = d.plan_start_time == null ? "" : d.plan_start_time.Value.ToString(DbTimeFormat.SS),
|
||||||
|
finishtime= d.plan_end_time == null ? "" : d.plan_end_time.Value.ToString(DbTimeFormat.SS),
|
||||||
}).OrderBy($"{input.sidx} {input.sort}").ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
|
}).OrderBy($"{input.sidx} {input.sort}").ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
|
||||||
return PageResult<PadMainListOutput>.SqlSugarPageResult(result);
|
return PageResult<PadMainListOutput>.SqlSugarPageResult(result);
|
||||||
}
|
}
|
||||||
@@ -303,7 +305,23 @@ namespace Tnb.EquipMgr
|
|||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<dynamic> GetMaintainItem(MoldMaintainRunUpInput input)
|
||||||
|
{
|
||||||
|
var data = await _db.Queryable<ToolMoldMaintainItemRecord>()
|
||||||
|
.LeftJoin<ToolMoldMaintainItem>((a, b) => a.item_id == b.id)
|
||||||
|
.LeftJoin<ToolMoldMaintainGroup>((a, b, c) => a.item_group_id == c.id)
|
||||||
|
.Where((a, b, c) => a.plan_id == input.plan_id && a.mold_id == input.mold_id)
|
||||||
|
.Select((a, b, c) => new MaintainItemResult
|
||||||
|
{
|
||||||
|
group_name = c.name!,
|
||||||
|
item_name = b.name!,
|
||||||
|
result = a.result,
|
||||||
|
|
||||||
|
})
|
||||||
|
.ToListAsync();
|
||||||
|
return data;
|
||||||
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 模具保养计划执行-开始模具保养
|
/// 模具保养计划执行-开始模具保养
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -447,6 +465,11 @@ namespace Tnb.EquipMgr
|
|||||||
{
|
{
|
||||||
throw new ArgumentException($"parameter {nameof(input.items)} not be null or empty");
|
throw new ArgumentException($"parameter {nameof(input.items)} not be null or empty");
|
||||||
}
|
}
|
||||||
|
var plan_code = _db.Queryable<ToolMoldMaintainPlan>().Where(p => p.id == input.plan_id).Select(p=>p.plan_code).First();
|
||||||
|
var mold_code = _db.Queryable<ToolMolds>().Where(p => p.id == input.mold_id).Select(p => p.mold_code).First();
|
||||||
|
if (!string.IsNullOrEmpty(plan_code)&& !string.IsNullOrEmpty(mold_code)) {
|
||||||
|
_ = await _db.Updateable<ToolMoldMaintainRunRecord>().SetColumns(it => new ToolMoldMaintainRunRecord { plan_end_time = DateTime.Now }).Where(it => it.plan_code == plan_code && it.mold_code== mold_code).ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
|
||||||
List<ToolMoldMaintainItemRecord> records = new();
|
List<ToolMoldMaintainItemRecord> records = new();
|
||||||
foreach (MaintainItemInfo item in input.items)
|
foreach (MaintainItemInfo item in input.items)
|
||||||
@@ -505,6 +528,11 @@ namespace Tnb.EquipMgr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 模具保养计划执行-保养完成
|
/// 模具保养计划执行-保养完成
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using JNPF.Common.Enums;
|
using JNPF.Common.Core.Manager;
|
||||||
|
using JNPF.Common.Enums;
|
||||||
using JNPF.Common.Extension;
|
using JNPF.Common.Extension;
|
||||||
using JNPF.DependencyInjection;
|
using JNPF.DependencyInjection;
|
||||||
using JNPF.DynamicApiController;
|
using JNPF.DynamicApiController;
|
||||||
@@ -29,16 +30,19 @@ namespace Tnb.EquipMgr
|
|||||||
private readonly IRunService _runService;
|
private readonly IRunService _runService;
|
||||||
private readonly IVisualDevService _visualDevService;
|
private readonly IVisualDevService _visualDevService;
|
||||||
private static Dictionary<string, (string code, string name)> _dicMold = new();
|
private static Dictionary<string, (string code, string name)> _dicMold = new();
|
||||||
|
private readonly IUserManager _userManager;
|
||||||
public ToolMoldMaintainTaskService(
|
public ToolMoldMaintainTaskService(
|
||||||
ISqlSugarRepository<ToolMoldMaintainTask> repository,
|
ISqlSugarRepository<ToolMoldMaintainTask> repository,
|
||||||
IRunService runService,
|
IRunService runService,
|
||||||
IVisualDevService visualDevService
|
IVisualDevService visualDevService,
|
||||||
|
IUserManager userManager
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
_db = repository.AsSugarClient();
|
_db = repository.AsSugarClient();
|
||||||
_runService = runService;
|
_runService = runService;
|
||||||
_visualDevService = visualDevService;
|
_visualDevService = visualDevService;
|
||||||
OverideFuncs.GetListAsync = GetList;
|
OverideFuncs.GetListAsync = GetList;
|
||||||
|
_userManager = userManager;
|
||||||
//OverideFuncs.CreateAsync = Create;
|
//OverideFuncs.CreateAsync = Create;
|
||||||
}
|
}
|
||||||
public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc();
|
public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc();
|
||||||
@@ -100,5 +104,23 @@ namespace Tnb.EquipMgr
|
|||||||
throw Oops.Oh(ErrorCode.COM1001);
|
throw Oops.Oh(ErrorCode.COM1001);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 开始维修
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input">输入参数</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task StartWx(MoldStartWxInput input)
|
||||||
|
{
|
||||||
|
DateTime? StartTime = DateTime.Now;
|
||||||
|
int row = await _db.Updateable<ToolMoldMaintainTask>().SetColumns(it => new ToolMoldMaintainTask { status = "WXZ", modify_strat_time = StartTime, modify_id = _userManager.UserId })
|
||||||
|
.Where(it => input.id == it.id).ExecuteCommandAsync();
|
||||||
|
if (row < 1)
|
||||||
|
{
|
||||||
|
throw Oops.Oh(ErrorCode.COM1001);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
using JNPF.Common.Filter;
|
||||||
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||||
|
|
||||||
|
namespace Tnb.ProductionMgr.Entities.Dto
|
||||||
|
{
|
||||||
|
public class AndonPdaListInput : PageInputBase
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -68,17 +68,75 @@ namespace Tnb.ProductionMgr
|
|||||||
andon_info_name = b.name,
|
andon_info_name = b.name,
|
||||||
promoter_name = d.RealName,
|
promoter_name = d.RealName,
|
||||||
repair_name = c.RealName,
|
repair_name = c.RealName,
|
||||||
promoter_time = a.create_time == null ? "" : a.create_time.Value.ToString("yyyy-MM-dd hh:mm:ss"),
|
promoter_time = a.create_time == null ? "" : a.create_time.Value.ToString(DbTimeFormat.SS),
|
||||||
response_time = a.response_time == null ? "" : a.response_time.Value.ToString("yyyy-MM-dd hh:mm:ss"),
|
response_time = a.response_time == null ? "" : a.response_time.Value.ToString(DbTimeFormat.SS),
|
||||||
start_repair_time = a.start_repair_time == null ? "" : a.start_repair_time.Value.ToString("yyyy-MM-dd hh:mm:ss"),
|
start_repair_time = a.start_repair_time == null ? "" : a.start_repair_time.Value.ToString(DbTimeFormat.SS),
|
||||||
end_repair_time = a.end_repair_time == null ? "" : a.end_repair_time.Value.ToString("yyyy-MM-dd hh:mm:ss"),
|
end_repair_time = a.end_repair_time == null ? "" : a.end_repair_time.Value.ToString(DbTimeFormat.SS),
|
||||||
confirm_time = a.confirm_time == null ? "" : a.confirm_time.Value.ToString("yyyy-MM-dd hh:mm:ss"),
|
confirm_time = a.confirm_time == null ? "" : a.confirm_time.Value.ToString(DbTimeFormat.SS),
|
||||||
status = f.FullName,
|
status = f.FullName,
|
||||||
}).ToPagedListAsync(input.currentPage, input.pageSize);
|
}).ToPagedListAsync(input.currentPage, input.pageSize);
|
||||||
|
|
||||||
return PageResult<AndonPadListOutput>.SqlSugarPageResult(result);
|
return PageResult<AndonPadListOutput>.SqlSugarPageResult(result);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<dynamic> GetAndonPdaList(AndonPdaListInput input)
|
||||||
|
{
|
||||||
|
Dictionary<string, object> queryJson = string.IsNullOrEmpty(input.queryJson) ? new Dictionary<string, object>() : input.queryJson.ToObject<Dictionary<string, object>>();
|
||||||
|
string? status = queryJson.ContainsKey("status") ? queryJson["status"].ToString() : "";
|
||||||
|
List<string> statusList = new();
|
||||||
|
if (!string.IsNullOrEmpty(status))
|
||||||
|
{
|
||||||
|
switch (status)
|
||||||
|
{
|
||||||
|
case "1":
|
||||||
|
statusList.Add(DictConst.AndonStatusHJZ);
|
||||||
|
break;
|
||||||
|
case "2":
|
||||||
|
statusList.Add(DictConst.AndonStatusYXY);
|
||||||
|
statusList.Add(DictConst.AndonStatusCLZ);
|
||||||
|
break;
|
||||||
|
case "3":
|
||||||
|
statusList.Add(DictConst.AndonStatusDQR);
|
||||||
|
statusList.Add(DictConst.AndonStatusYWC);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (string.IsNullOrEmpty(input.sidx))
|
||||||
|
{
|
||||||
|
input.sidx = "create_time";
|
||||||
|
input.sort = "desc";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
SqlSugarPagedList<AndonPadListOutput> result = await _db.Queryable<AndonRecords>()
|
||||||
|
.LeftJoin<AndonInfo>((a, b) => a.andon_info_id == b.id)
|
||||||
|
.LeftJoin<UserEntity>((a, b, c) => a.repair_id == c.Id)
|
||||||
|
.LeftJoin<UserEntity>((a, b, c, d) => a.create_id == d.Id)
|
||||||
|
.LeftJoin<DictionaryTypeEntity>((a, b, c, d, e) => e.EnCode == DictConst.AndonStatus)
|
||||||
|
.LeftJoin<DictionaryDataEntity>((a, b, c, d, e, f) => a.status == f.EnCode && e.Id == f.DictionaryTypeId)
|
||||||
|
.WhereIF(statusList.Count > 0, a => statusList.Contains(a.status))
|
||||||
|
.Select((a, b, c, d, e, f) => new AndonPadListOutput
|
||||||
|
{
|
||||||
|
id = a.id,
|
||||||
|
andon_info_name = b.name,
|
||||||
|
promoter_name = d.RealName,
|
||||||
|
repair_name = c.RealName,
|
||||||
|
promoter_time = a.create_time == null ? "" : a.create_time.Value.ToString(DbTimeFormat.SS),
|
||||||
|
response_time = a.response_time == null ? "" : a.response_time.Value.ToString(DbTimeFormat.SS),
|
||||||
|
start_repair_time = a.start_repair_time == null ? "" : a.start_repair_time.Value.ToString(DbTimeFormat.SS),
|
||||||
|
end_repair_time = a.end_repair_time == null ? "" : a.end_repair_time.Value.ToString(DbTimeFormat.SS),
|
||||||
|
confirm_time = a.confirm_time == null ? "" : a.confirm_time.Value.ToString(DbTimeFormat.SS),
|
||||||
|
status = f.FullName,
|
||||||
|
})
|
||||||
|
.MergeTable()
|
||||||
|
.OrderBy($"{input.sidx} {input.sort}")
|
||||||
|
.ToPagedListAsync(input.currentPage, input.pageSize);
|
||||||
|
|
||||||
|
return PageResult<AndonPadListOutput>.SqlSugarPageResult(result);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<dynamic> AddAndon(AddAndonInput input)
|
public async Task<dynamic> AddAndon(AddAndonInput input)
|
||||||
@@ -247,19 +305,28 @@ namespace Tnb.ProductionMgr
|
|||||||
AndonRecords andonRecords = await _db.Queryable<AndonRecords>().SingleAsync(x => x.id == id);
|
AndonRecords andonRecords = await _db.Queryable<AndonRecords>().SingleAsync(x => x.id == id);
|
||||||
if (andonRecords != null)
|
if (andonRecords != null)
|
||||||
{
|
{
|
||||||
if (andonRecords.status != DictConst.AndonStatusYXY)
|
if (andonRecords.repair_id!=_userManager.UserId)
|
||||||
{
|
{
|
||||||
throw Oops.Bah($"状态错误");
|
UserEntity user = await _db.Queryable<UserEntity>().SingleAsync(x => x.Id == andonRecords.repair_id);
|
||||||
|
throw Oops.Bah($"您不是处理人");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_ = await _db.Updateable<AndonRecords>()
|
if (andonRecords.status != DictConst.AndonStatusYXY)
|
||||||
.SetColumns(x => x.start_repair_time == DateTime.Now)
|
{
|
||||||
.Where(x => x.id == id)
|
throw Oops.Bah($"状态错误");
|
||||||
.ExecuteCommandAsync();
|
}
|
||||||
return true;
|
else
|
||||||
|
{
|
||||||
|
_ = await _db.Updateable<AndonRecords>()
|
||||||
|
.SetColumns(x => x.start_repair_time == DateTime.Now)
|
||||||
|
.Where(x => x.id == id)
|
||||||
|
.ExecuteCommandAsync();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -274,19 +341,28 @@ namespace Tnb.ProductionMgr
|
|||||||
AndonRecords andonRecords = await _db.Queryable<AndonRecords>().SingleAsync(x => x.id == id);
|
AndonRecords andonRecords = await _db.Queryable<AndonRecords>().SingleAsync(x => x.id == id);
|
||||||
if (andonRecords != null)
|
if (andonRecords != null)
|
||||||
{
|
{
|
||||||
if (andonRecords.status != DictConst.AndonStatusCLZ)
|
if (andonRecords.repair_id!=_userManager.UserId)
|
||||||
{
|
{
|
||||||
throw Oops.Bah($"状态错误");
|
UserEntity user = await _db.Queryable<UserEntity>().SingleAsync(x => x.Id == andonRecords.repair_id);
|
||||||
|
throw Oops.Bah($"您不是处理人");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_ = await _db.Updateable<AndonRecords>()
|
if (andonRecords.status != DictConst.AndonStatusCLZ)
|
||||||
.SetColumns(x => x.end_repair_time == DateTime.Now)
|
{
|
||||||
.Where(x => x.id == id)
|
throw Oops.Bah($"状态错误");
|
||||||
.ExecuteCommandAsync();
|
}
|
||||||
return true;
|
else
|
||||||
|
{
|
||||||
|
_ = await _db.Updateable<AndonRecords>()
|
||||||
|
.SetColumns(x => x.end_repair_time == DateTime.Now)
|
||||||
|
.Where(x => x.id == id)
|
||||||
|
.ExecuteCommandAsync();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -301,19 +377,28 @@ namespace Tnb.ProductionMgr
|
|||||||
AndonRecords andonRecords = await _db.Queryable<AndonRecords>().SingleAsync(x => x.id == id);
|
AndonRecords andonRecords = await _db.Queryable<AndonRecords>().SingleAsync(x => x.id == id);
|
||||||
if (andonRecords != null)
|
if (andonRecords != null)
|
||||||
{
|
{
|
||||||
if (andonRecords.status != DictConst.AndonStatusYWC)
|
if (andonRecords.repair_id!=_userManager.UserId)
|
||||||
{
|
{
|
||||||
throw Oops.Bah($"状态错误");
|
UserEntity user = await _db.Queryable<UserEntity>().SingleAsync(x => x.Id == andonRecords.repair_id);
|
||||||
|
throw Oops.Bah($"您不是处理人");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_ = await _db.Updateable<AndonRecords>()
|
if (andonRecords.status != DictConst.AndonStatusYWC)
|
||||||
.SetColumns(x => x.confirm_time == DateTime.Now)
|
{
|
||||||
.Where(x => x.id == id)
|
throw Oops.Bah($"状态错误");
|
||||||
.ExecuteCommandAsync();
|
}
|
||||||
return true;
|
else
|
||||||
|
{
|
||||||
|
_ = await _db.Updateable<AndonRecords>()
|
||||||
|
.SetColumns(x => x.confirm_time == DateTime.Now)
|
||||||
|
.Where(x => x.id == id)
|
||||||
|
.ExecuteCommandAsync();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -609,6 +609,8 @@ namespace Tnb.WarehouseMgr
|
|||||||
.And((a, b, c) => a.status == (int)EnumCarryStatus.占用)
|
.And((a, b, c) => a.status == (int)EnumCarryStatus.占用)
|
||||||
.And((a, b, c) => c.is_type == ((int)EnumLocationType.存储库位).ToString())
|
.And((a, b, c) => c.is_type == ((int)EnumLocationType.存储库位).ToString())
|
||||||
.And((a, b, c) => b.material_id == os.material_id)
|
.And((a, b, c) => b.material_id == os.material_id)
|
||||||
|
.AndIF(!string.IsNullOrEmpty(os.material_specification), (a, b, c) => b.material_specification == os.material_specification)
|
||||||
|
.AndIF(!string.IsNullOrEmpty(os.container_no), (a, b, c) => b.container_no == os.container_no)
|
||||||
.AndIF(!string.IsNullOrEmpty(os.code_batch), (a, b, c) => b.code_batch == os.code_batch);
|
.AndIF(!string.IsNullOrEmpty(os.code_batch), (a, b, c) => b.code_batch == os.code_batch);
|
||||||
|
|
||||||
List<WmsCarryCode> carryCodesPart = await _db.Queryable<WmsCarryH>().InnerJoin<WmsCarryCode>((a, b) => a.id == b.carry_id).InnerJoin<BasLocation>((a, b, c) => a.location_id == c.id)
|
List<WmsCarryCode> carryCodesPart = await _db.Queryable<WmsCarryH>().InnerJoin<WmsCarryCode>((a, b) => a.id == b.carry_id).InnerJoin<BasLocation>((a, b, c) => a.location_id == c.id)
|
||||||
|
|||||||
Reference in New Issue
Block a user