diff --git a/BasicData/Tnb.BasicData.Entities/Consts/CodeTemplateConst.cs b/BasicData/Tnb.BasicData.Entities/Consts/CodeTemplateConst.cs
index 39390136..494db034 100644
--- a/BasicData/Tnb.BasicData.Entities/Consts/CodeTemplateConst.cs
+++ b/BasicData/Tnb.BasicData.Entities/Consts/CodeTemplateConst.cs
@@ -29,5 +29,12 @@ namespace Tnb.BasicData
/// 生产齐套领料
///
public const string PRDKITTINGOUTSTOCK_CODE = "PrdKittingOutStocK";
+
+ ///
+ /// 设备维修单
+ ///
+ public const string EQPREPAIR_CODE = "EqpRepair";
+
+
}
}
\ No newline at end of file
diff --git a/BasicData/Tnb.BasicData.Entities/Consts/DbTimeFormat.cs b/BasicData/Tnb.BasicData.Entities/Consts/DbTimeFormat.cs
new file mode 100644
index 00000000..640564f5
--- /dev/null
+++ b/BasicData/Tnb.BasicData.Entities/Consts/DbTimeFormat.cs
@@ -0,0 +1,15 @@
+namespace Tnb.BasicData
+{
+ public static class DbTimeFormat
+ {
+ ///
+ /// 2024-10-27 10:10
+ ///
+ public const string MM = "yyyy-MM-dd HH:mi";
+
+ ///
+ /// 2024-10-27 10:10:10
+ ///
+ public const string SS = "yyyy-MM-dd HH:mi:ss";
+ }
+}
\ No newline at end of file
diff --git a/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs b/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs
index 5cae0a5c..3d130676 100644
--- a/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs
+++ b/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs
@@ -217,8 +217,10 @@ public static class DictConst
/// 设备维修状态
///
public const string RepairStatus = "RepairStatus";
-
-
+ ///
+ /// 设备保养类型
+ ///
+ public const string EqpMaintainType = "EqpMaintainType";
#endregion
}
\ No newline at end of file
diff --git a/BasicData/Tnb.BasicData/BasMbomService.cs b/BasicData/Tnb.BasicData/BasMbomService.cs
index dbf68bd7..ace5e263 100644
--- a/BasicData/Tnb.BasicData/BasMbomService.cs
+++ b/BasicData/Tnb.BasicData/BasMbomService.cs
@@ -229,8 +229,8 @@ namespace Tnb.BasicData
bom_id = a.id,
material_code = b.code,
material_name = b.name,
- start_time = a.start_time.HasValue ? a.start_time.Value.ToString("yyyy-MM-dd HH:mm:ss") : null,
- end_time = a.end_time.HasValue ? a.end_time.Value.ToString("yyyy-MM-dd HH:mm:ss") : null,
+ start_time = a.start_time.HasValue ? a.start_time.Value.ToString(DbTimeFormat.SS) : null,
+ end_time = a.end_time.HasValue ? a.end_time.Value.ToString(DbTimeFormat.SS) : null,
version = a.version,
route_id = c.id,
route_name = c.name,
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Dto/EqpMaintainRecordListOutput.cs b/EquipMgr/Tnb.EquipMgr.Entities/Dto/EqpMaintainRecordListOutput.cs
new file mode 100644
index 00000000..807b00eb
--- /dev/null
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Dto/EqpMaintainRecordListOutput.cs
@@ -0,0 +1,27 @@
+namespace Tnb.EquipMgr.Entities.Dto
+{
+ public class EqpMaintainRecordListOutput
+ {
+ public string id { get; set; }
+ public string equip_id { get; set; }
+ public string equip_id_id { get; set; }
+ public string status { get; set; }
+ public string result { get; set; }
+ public string result_remark { get; set; }
+ public string repeat_result { get; set; }
+ public string repeat_remark { get; set; }
+ public string create_time { get; set; }
+ public string execute_time { get; set; }
+ public string repeat_user_id { get; set; }
+ public string repeat_user_id_id { get; set; }
+ public string execute_user_id{ get; set; }
+ public string execute_user_id_id { get; set; }
+ public string repeat_time { get; set; }
+ public string last_execute_time { get; set; }
+
+ public DateTime? date_repeat_time { get; set; }
+ public DateTime? date_create_time { get; set; }
+ public DateTime? date_execute_time { get; set; }
+ public DateTime? date_last_execute_time { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Dto/EqpSpotInsRecordListOutput.cs b/EquipMgr/Tnb.EquipMgr.Entities/Dto/EqpSpotInsRecordListOutput.cs
new file mode 100644
index 00000000..97af0a07
--- /dev/null
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Dto/EqpSpotInsRecordListOutput.cs
@@ -0,0 +1,23 @@
+namespace Tnb.EquipMgr.Entities.Dto
+{
+ public class EqpSpotInsRecordListOutput
+ {
+ public string id { get; set; }
+ public string equip_id { get; set; }
+ public string equip_id_id { get; set; }
+ public string status { get; set; }
+ public string result { get; set; }
+ public string repeat_result { get; set; }
+ public string create_time { get; set; }
+ public string spot_record_date_time { get; set; }
+ public string repeat_user_id { get; set; }
+ public string repeat_user_id_id { get; set; }
+ public string spot_record_user_id{ get; set; }
+ public string spot_record_user_id_id { get; set; }
+ public string repeat_time { get; set; }
+
+ public DateTime? date_repeat_time { get; set; }
+ public DateTime? date_create_time { get; set; }
+ public DateTime? date_spot_record_date_time { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Dto/PadRepairListInput.cs b/EquipMgr/Tnb.EquipMgr.Entities/Dto/PadRepairListInput.cs
new file mode 100644
index 00000000..daf60528
--- /dev/null
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Dto/PadRepairListInput.cs
@@ -0,0 +1,15 @@
+using JNPF.Common.Filter;
+
+namespace Tnb.EquipMgr.Entities.Dto
+{
+ public class PadRepairListInput : PageInputBase
+ {
+ public string status { get; set; }
+
+ public string equip_info { get; set; }
+
+ public DateTime? start_time { get; set; }
+ public DateTime? end_time { get; set; }
+
+ }
+}
\ No newline at end of file
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Dto/PadRepairListOutput.cs b/EquipMgr/Tnb.EquipMgr.Entities/Dto/PadRepairListOutput.cs
new file mode 100644
index 00000000..ef577df0
--- /dev/null
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Dto/PadRepairListOutput.cs
@@ -0,0 +1,24 @@
+namespace Tnb.EquipMgr.Entities.Dto
+{
+ public class PadRepairListOutput
+ {
+ public string id { get; set; }
+
+ public string code { get; set; }
+
+ public string name { get; set; }
+ public string equip_id { get; set; }
+ public string equip_id_id { get; set; }
+ public string apply_user_id { get; set; }
+ public string apply_user_id_id { get; set; }
+ public string expect_complete_time { get; set; }
+ public string is_ugent { get; set; }
+ public string description { get; set; }
+ public string remark { get; set; }
+ public string create_time { get; set; }
+ public string complete_time { get; set; }
+ public string repairer_id { get; set; }
+ public string repairer_id_id { get; set; }
+ public string status { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/EquipMgr/Tnb.EquipMgr.Interfaces/IEqpRepairApplyService.cs b/EquipMgr/Tnb.EquipMgr.Interfaces/IEqpRepairApplyService.cs
index f23044b1..00a88135 100644
--- a/EquipMgr/Tnb.EquipMgr.Interfaces/IEqpRepairApplyService.cs
+++ b/EquipMgr/Tnb.EquipMgr.Interfaces/IEqpRepairApplyService.cs
@@ -59,5 +59,11 @@ namespace Tnb.EquipMgr.Interfaces
///
///
public Task GetRepairRecordList(EquipQueryInput input);
+
+ ///
+ /// 看板端设备报修维修列表接口
+ ///
+ ///
+ public Task GetPadRepairList(PadRepairListInput input);
}
}
\ No newline at end of file
diff --git a/EquipMgr/Tnb.EquipMgr/EqpDaqService.cs b/EquipMgr/Tnb.EquipMgr/EqpDaqService.cs
index 6c233f6d..39e605a2 100644
--- a/EquipMgr/Tnb.EquipMgr/EqpDaqService.cs
+++ b/EquipMgr/Tnb.EquipMgr/EqpDaqService.cs
@@ -9,6 +9,7 @@ using SqlSugar;
using Tnb.EquipMgr.Entities;
using Tnb.EquipMgr.Entities.Dto;
using Tnb.EquipMgr.Interfaces;
+using Tnb.BasicData;
namespace Tnb.EquipMgr
{
@@ -48,7 +49,7 @@ namespace Tnb.EquipMgr
id = a.id,
data_source = a.data_source,
create_id = b.RealName,
- create_time = a.create_time==null ? null : a.create_time.Value.ToString("yyyy-MM-dd HH:mm"),
+ create_time = a.create_time==null ? null : a.create_time.Value.ToString(DbTimeFormat.MM),
data_type = a.data_type,
enabled = a.enabled==1 ? "是" : "否",
equip_id = a.equip_id,
diff --git a/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs b/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs
index f6047912..6a78f6c6 100644
--- a/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs
+++ b/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs
@@ -1,4 +1,5 @@
using JNPF.Common.Core.Manager;
+using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Enums;
using JNPF.Common.Filter;
using JNPF.Common.Security;
@@ -6,9 +7,15 @@ using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.FriendlyException;
using JNPF.Systems.Entitys.Permission;
+using JNPF.Systems.Entitys.System;
+using JNPF.Systems.Interfaces.System;
+using JNPF.VisualDev;
+using JNPF.VisualDev.Entitys;
+using JNPF.VisualDev.Interfaces;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using SqlSugar;
+using Tnb.BasicData;
using Tnb.EquipMgr.Entities;
using Tnb.EquipMgr.Entities.Dto;
using Tnb.EquipMgr.Interfaces;
@@ -20,16 +27,61 @@ namespace Tnb.EquipMgr
///
[ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)]
[Route("api/[area]/[controller]/[action]")]
- public class EqpRepairApplyService : IEqpRepairApplyService, IDynamicApiController, ITransient
+ [OverideVisualDev(ModuleId)]
+ public class EqpRepairApplyService : IEqpRepairApplyService, IOverideVisualDevService, IDynamicApiController, ITransient
{
+ private const string ModuleId = "26165698078741";
private readonly ISqlSugarRepository _repository;
+ private readonly IVisualDevService _visualDevService;
+ private readonly IRunService _runService;
+ private readonly IBillRullService _billRuleService;
private readonly IUserManager _userManager;
+
+ public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc();
public EqpRepairApplyService(ISqlSugarRepository repository,
+ IVisualDevService visualDevService,
+ IRunService runService,
+ IBillRullService billRullService,
IUserManager userManager)
{
_repository = repository;
+ _visualDevService = visualDevService;
+ _runService = runService;
_userManager = userManager;
+ _billRuleService = billRullService;
+ OverideFuncs.CreateAsync = Create;
+ }
+
+ private async Task Create(VisualDevModelDataCrInput input)
+ {
+ if (!input.data.ContainsKey("create_time"))
+ {
+ input.data.Add("create_time",DateTime.Now);
+ }
+
+ if (!input.data.ContainsKey("create_id"))
+ {
+ input.data.Add("create_id",_userManager.UserId);
+ }
+
+ if (!input.data.ContainsKey("apply_user_id"))
+ {
+ input.data.Add("apply_user_id",_userManager.UserId);
+ }
+
+ if (!input.data.ContainsKey("org_id"))
+ {
+ input.data.Add("org_id",_userManager.GetUserInfo().Result.organizeId);
+ }
+
+ if (!input.data.ContainsKey("code"))
+ {
+ input.data.Add("code",await _billRuleService.GetBillNumber(CodeTemplateConst.EQPREPAIR_CODE));
+ }
+ VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleId, true);
+ await _runService.Create(templateEntity, input);
+ return await Task.FromResult(true);
}
[HttpPost]
@@ -49,7 +101,7 @@ namespace Tnb.EquipMgr
string id = dic["id"];
await _repository.UpdateAsync(x => new EqpRepairApply()
{
- status = RepairApplyStatus.CLOSE
+ status = RepairApplyStatus.CLOSE,
}, x => x.id == id);
return "关闭成功";
}
@@ -59,23 +111,48 @@ namespace Tnb.EquipMgr
{
string id = dic["id"];
string repairerId = dic["repairerId"];
- await _repository.UpdateAsync(x => new EqpRepairApply()
+ EqpRepairApply eqpRepairApply = await _repository.GetSingleAsync(x=>x.id==id);
+ if (eqpRepairApply.status == RepairApplyStatus.TOBEEXECUTED ||
+ eqpRepairApply.status == RepairApplyStatus.REFUSE)
{
- repairer_id = repairerId,
- status = RepairApplyStatus.TOBERECEIVED,
- }, x => x.id == id);
- return "指派成功";
+ await _repository.UpdateAsync(x => new EqpRepairApply()
+ {
+ repairer_id = repairerId,
+ status = RepairApplyStatus.TOBERECEIVED,
+ }, x => x.id == id);
+ return "指派成功";
+ }
+ else
+ {
+ throw Oops.Bah("状态错误");
+ }
+
}
[HttpPost]
public async Task Receive(Dictionary dic)
{
string id = dic["id"];
- await _repository.UpdateAsync(x => new EqpRepairApply()
+ EqpRepairApply eqpRepairApply = await _repository.GetSingleAsync(x=>x.id==id);
+ if (eqpRepairApply.status == RepairApplyStatus.TOBERECEIVED)
{
- status = RepairApplyStatus.RECEIVED,
- }, x => x.id == id);
- return "接收成功";
+ if (_userManager.UserId == eqpRepairApply.repairer_id)
+ {
+ await _repository.UpdateAsync(x => new EqpRepairApply()
+ {
+ status = RepairApplyStatus.RECEIVED,
+ }, x => x.id == id);
+ return "接收成功";
+ }
+ else
+ {
+ throw Oops.Bah("该任务没有指派给您,无法接收");
+ }
+ }
+ else
+ {
+ throw Oops.Bah("状态错误");
+ }
}
[HttpPost]
@@ -86,21 +163,37 @@ namespace Tnb.EquipMgr
var db = _repository.AsSugarClient();
DbResult result = await db.Ado.UseTranAsync(async () =>
{
- await _repository.UpdateAsync(x => new EqpRepairApply()
+ EqpRepairApply eqpRepairApply = await _repository.GetSingleAsync(x=>x.id==id);
+ if (eqpRepairApply.status == RepairApplyStatus.TOBERECEIVED)
{
- status = RepairApplyStatus.REFUSE,
- }, x => x.id == id);
- EqpRepairRefuse eqpRepairRefuse = new EqpRepairRefuse()
+ if (_userManager.UserId == eqpRepairApply.repairer_id)
+ {
+ await _repository.UpdateAsync(x => new EqpRepairApply()
+ {
+ status = RepairApplyStatus.REFUSE,
+ }, x => x.id == id);
+ EqpRepairRefuse eqpRepairRefuse = new EqpRepairRefuse()
+ {
+ repair_apply_id = id,
+ reason = reason,
+ create_id = _userManager.UserId,
+ create_time = DateTime.Now,
+ org_id = _userManager.GetUserInfo().Result.organizeId
+ };
+ await db.Insertable(eqpRepairRefuse).ExecuteCommandAsync();
+ }
+ else
+ {
+ throw Oops.Bah("该任务没有指派给您,无法拒绝");
+ }
+ }
+ else
{
- repair_apply_id = id,
- reason = reason,
- create_id = _userManager.UserId,
- create_time = DateTime.Now,
- org_id = _userManager.GetUserInfo().Result.organizeId
- };
- await db.Insertable(eqpRepairRefuse).ExecuteCommandAsync();
+ throw Oops.Bah("状态错误");
+ }
+
});
- if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008);
+ if(!result.IsSuccess) throw Oops.Oh(result.ErrorMessage);
return "拒绝成功";
}
@@ -114,23 +207,39 @@ namespace Tnb.EquipMgr
[HttpPost]
public async Task Register(RepairApplyRegisterInput input)
{
- string status = input.is_out_apply==1 ? RepairApplyStatus.TOBEOUTAPPLY : RepairApplyStatus.COMPLETED;
- await _repository.UpdateAsync(x => new EqpRepairApply()
+ EqpRepairApply eqpRepairApply = await _repository.GetSingleAsync(x=>x.id==input.id);
+ if (eqpRepairApply.status == RepairApplyStatus.TOBERECEIVED)
{
- fault_id = input.fault_id,
- is_complete = input.is_complete,
- complete_time = input.complete_time,
- repair_take_time = input.repair_take_time,
- is_halt = input.is_halt,
- halt_take_time = input.halt_take_time,
- repair_description = input.repair_description,
- repair_img = input.repair_img,
- is_out_apply = input.is_out_apply,
- status = status,
- }, x => x.id == input.id);
+ if (_userManager.UserId == eqpRepairApply.repairer_id)
+ {
+ string status = input.is_out_apply==1 ? RepairApplyStatus.TOBEOUTAPPLY : RepairApplyStatus.COMPLETED;
+ await _repository.UpdateAsync(x => new EqpRepairApply()
+ {
+ fault_id = input.fault_id,
+ is_complete = input.is_complete,
+ complete_time = input.complete_time,
+ repair_take_time = input.repair_take_time,
+ is_halt = input.is_halt,
+ halt_take_time = input.halt_take_time,
+ repair_description = input.repair_description,
+ repair_img = input.repair_img,
+ is_out_apply = input.is_out_apply,
+ status = status,
+ }, x => x.id == input.id);
+ return "登记成功";
+ }
+ else
+ {
+ throw Oops.Bah("您不是责任人");
+ }
+ }
+ else
+ {
+ throw Oops.Bah("状态错误");
+ }
- return "登记成功";
+
}
[HttpPost]
@@ -161,6 +270,7 @@ namespace Tnb.EquipMgr
.LeftJoin((a,b)=>a.apply_user_id==b.Id)
.LeftJoin((a,b,c)=>a.repairer_id==c.Id)
.Where(a=>a.equip_id==input.equip_id)
+ .OrderByDescending(a=>a.create_time)
.Select((a,b,c) => new EquipRepairRecordQueryOutput
{
id = a.id,
@@ -171,11 +281,87 @@ namespace Tnb.EquipMgr
is_ugent = a.is_ugent==1 ? "是" : "否",
description = a.description,
repair_description = a.repair_description,
- complete_time = a.complete_time==null ? null : a.complete_time.Value.ToString("yyyy-MM-dd HH:mm"),
+ complete_time = a.complete_time==null ? null : a.complete_time.Value.ToString(DbTimeFormat.MM),
repairer_id = c.RealName
}).ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult.SqlSugarPageResult(result);
}
+
+ [HttpPost]
+ public async Task GetPadRepairList(PadRepairListInput input)
+ {
+
+ DateTime? start_time = input.start_time;
+ DateTime? end_time = input.end_time;
+ List statusList = new List();
+ if (!string.IsNullOrEmpty(input.status))
+ {
+ switch (input.status)
+ {
+ case "1" :
+ statusList.Add(RepairApplyStatus.TOBEEXECUTED);
+ statusList.Add(RepairApplyStatus.REFUSE);
+ break;
+ case "2" :
+ statusList.Add(RepairApplyStatus.TOBERECEIVED);
+ statusList.Add(RepairApplyStatus.RECEIVED);
+ statusList.Add(RepairApplyStatus.OUTAPPLYAPPROVE);
+ statusList.Add(RepairApplyStatus.APPROVEPASS);
+ statusList.Add(RepairApplyStatus.APPROVENOTPASS);
+ statusList.Add(RepairApplyStatus.TOBEOUTAPPLY);
+ break;
+ case "3" :
+ statusList.Add(RepairApplyStatus.COMPLETED);
+ statusList.Add(RepairApplyStatus.CLOSE);
+ statusList.Add(RepairApplyStatus.REPEAL);
+ break;
+ }
+ }
+
+ if (string.IsNullOrEmpty(input.sidx))
+ {
+ input.sidx = "a.create_time";
+ input.sort = "desc";
+ }
+ else
+ {
+ input.sidx = "a." + input.sidx;
+ }
+
+ var db = _repository.AsSugarClient();
+ var result = await db.Queryable()
+ .LeftJoin((a,b)=>a.apply_user_id==b.Id)
+ .LeftJoin((a,b,c)=>a.repairer_id==c.Id)
+ .LeftJoin((a,b,c,d)=>a.equip_id==d.id)
+ .LeftJoin((a,b,c,d,e)=>e.EnCode==DictConst.RepairStatus)
+ .LeftJoin((a,b,c,d,e,f)=>e.Id==f.DictionaryTypeId && a.status==f.EnCode)
+ .WhereIF(!string.IsNullOrEmpty(input.equip_info),(a,b,c,d)=>d.code.Contains(input.equip_info) || d.name.Contains(input.equip_info))
+ .WhereIF(!string.IsNullOrEmpty(input.status),(a,b,c,d)=>statusList.Contains(a.status))
+ .WhereIF(input.status=="3" && start_time!=null,a=>a.complete_time!=null && a.complete_time>=start_time)
+ .WhereIF(input.status=="3" && end_time!=null,a=>a.complete_time!=null && a.complete_time<=end_time)
+ .OrderBy($"{input.sidx} {input.sort}")
+ .Select((a,b,c,d,e,f) => new PadRepairListOutput
+ {
+ id = a.id,
+ equip_id = d.code+"/"+d.name,
+ equip_id_id = a.equip_id,
+ code = a.code,
+ name = a.name,
+ apply_user_id =b.RealName,
+ apply_user_id_id =b.Id,
+ is_ugent = a.is_ugent==1 ? "是" : "否",
+ description = a.description,
+ create_time = a.create_time==null ? "" : a.create_time.Value.ToString(DbTimeFormat.SS),
+ complete_time = a.complete_time==null ? "" : a.complete_time.Value.ToString(DbTimeFormat.SS),
+ expect_complete_time = a.expect_complete_time==null ? "" : a.expect_complete_time.Value.ToString(DbTimeFormat.SS),
+ repairer_id = c.RealName,
+ repairer_id_id = c.Id,
+ remark = a.remark,
+ status = f.FullName
+ }).ToPagedListAsync((input?.currentPage ?? 1), (input?.pageSize ?? 50));
+
+ return PageResult.SqlSugarPageResult(result);
+ }
}
}
\ No newline at end of file
diff --git a/EquipMgr/Tnb.EquipMgr/EqpRepairOutApplyService.cs b/EquipMgr/Tnb.EquipMgr/EqpRepairOutApplyService.cs
index 173720bd..a4fd2432 100644
--- a/EquipMgr/Tnb.EquipMgr/EqpRepairOutApplyService.cs
+++ b/EquipMgr/Tnb.EquipMgr/EqpRepairOutApplyService.cs
@@ -51,91 +51,66 @@ namespace Tnb.EquipMgr
[HttpPost]
public async Task OutApply(RepairOutApplyInput input)
{
-
- var db = _repository.AsSugarClient();
- string id = string.IsNullOrEmpty(input.id) ? SnowflakeIdHelper.NextId() : input.id;
- DbResult result = await db.Ado.UseTranAsync(async () =>
+ EqpRepairApply eqpRepairApply = await _repository.AsSugarClient().Queryable().SingleAsync(x=>x.id==input.repair_apply_id);
+ if (eqpRepairApply.status == RepairApplyStatus.TOBEOUTAPPLY ||
+ eqpRepairApply.status == RepairApplyStatus.APPROVENOTPASS)
{
- if (string.IsNullOrEmpty(input.id))
+ var db = _repository.AsSugarClient();
+ string id = string.IsNullOrEmpty(input.id) ? SnowflakeIdHelper.NextId() : input.id;
+ DbResult result = await db.Ado.UseTranAsync(async () =>
{
- // await _repository.InsertAsync(new EqpRepairOutApply
- // {
- // id = id,
- // repair_apply_id = input.repair_apply_id,
- // equip_id = input.equip_id,
- // supplier_id = input.supplier_id,
- // estimated_cost = input.estimated_cost,
- // construction_period_requirement = input.construction_period_requirement,
- // out_apply_reason = input.out_apply_reason,
- // remark = input.remark,
- // create_id = _userManager.UserId,
- // create_time = DateTime.Now,
- // approve_status = RepairOutApplyStatus.TOBEAPPROVE,
- // });
- }
- else
- {
- // await _repository.UpdateAsync(x=>new EqpRepairOutApply
- // {
- // repair_apply_id = input.repair_apply_id,
- // equip_id = input.equip_id,
- // supplier_id = input.supplier_id,
- // estimated_cost = input.estimated_cost,
- // construction_period_requirement = input.construction_period_requirement,
- // out_apply_reason = input.out_apply_reason,
- // remark = input.remark,
- // create_id = _userManager.UserId,
- // create_time = DateTime.Now,
- // approve_status = RepairOutApplyStatus.TOBEAPPROVE,
- // },x=>x.id==input.id);
- }
-
- await db.Updateable()
- .SetColumns(x=>x.status == RepairApplyStatus.OUTAPPLYAPPROVE)
- .Where(x=>x.id==input.repair_apply_id).ExecuteCommandAsync();
-
-
-
- });
-
- if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008);
-
- if (result.IsSuccess)
- {
- if (string.IsNullOrEmpty(input.id))
- {
- await _flowTaskService.Create(new FlowTaskSubmitModel()
+ if (string.IsNullOrEmpty(input.id))
{
- flowId = flowId,
- parentId = "0",
- formData = new JObject()
- {
- {"id",id},
- {"flowId",flowId},
- {"repair_apply_id",input.repair_apply_id},
- {"equip_id",input.equip_id},
- {"create_id",_userManager.UserId},
- {"supplier_id",input.supplier_id},
- {"estimated_cost",input.estimated_cost},
- {"construction_period_requirement",input.construction_period_requirement},
- {"out_apply_reason",input.out_apply_reason},
- {"remark",input.remark},
- {"approve_status",RepairOutApplyStatus.TOBEAPPROVE},
- }
-
- });
- }
- else
- {
- var entity = await _repository.GetSingleAsync(x=>x.id==input.id);
- if (entity != null)
+ // await _repository.InsertAsync(new EqpRepairOutApply
+ // {
+ // id = id,
+ // repair_apply_id = input.repair_apply_id,
+ // equip_id = input.equip_id,
+ // supplier_id = input.supplier_id,
+ // estimated_cost = input.estimated_cost,
+ // construction_period_requirement = input.construction_period_requirement,
+ // out_apply_reason = input.out_apply_reason,
+ // remark = input.remark,
+ // create_id = _userManager.UserId,
+ // create_time = DateTime.Now,
+ // approve_status = RepairOutApplyStatus.TOBEAPPROVE,
+ // });
+ }
+ else
{
-
- await _flowTaskService.Update("",new FlowTaskSubmitModel()
+ // await _repository.UpdateAsync(x=>new EqpRepairOutApply
+ // {
+ // repair_apply_id = input.repair_apply_id,
+ // equip_id = input.equip_id,
+ // supplier_id = input.supplier_id,
+ // estimated_cost = input.estimated_cost,
+ // construction_period_requirement = input.construction_period_requirement,
+ // out_apply_reason = input.out_apply_reason,
+ // remark = input.remark,
+ // create_id = _userManager.UserId,
+ // create_time = DateTime.Now,
+ // approve_status = RepairOutApplyStatus.TOBEAPPROVE,
+ // },x=>x.id==input.id);
+ }
+
+ await db.Updateable()
+ .SetColumns(x=>x.status == RepairApplyStatus.OUTAPPLYAPPROVE)
+ .Where(x=>x.id==input.repair_apply_id).ExecuteCommandAsync();
+
+
+
+ });
+
+ if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008);
+
+ if (result.IsSuccess)
+ {
+ if (string.IsNullOrEmpty(input.id))
+ {
+ await _flowTaskService.Create(new FlowTaskSubmitModel()
{
flowId = flowId,
parentId = "0",
- id = entity?.flow_task_id??"",
formData = new JObject()
{
{"id",id},
@@ -153,9 +128,43 @@ namespace Tnb.EquipMgr
});
}
+ else
+ {
+ var entity = await _repository.GetSingleAsync(x=>x.id==input.id);
+ if (entity != null)
+ {
+
+ await _flowTaskService.Update("",new FlowTaskSubmitModel()
+ {
+ flowId = flowId,
+ parentId = "0",
+ id = entity?.flow_task_id??"",
+ formData = new JObject()
+ {
+ {"id",id},
+ {"flowId",flowId},
+ {"repair_apply_id",input.repair_apply_id},
+ {"equip_id",input.equip_id},
+ {"create_id",_userManager.UserId},
+ {"supplier_id",input.supplier_id},
+ {"estimated_cost",input.estimated_cost},
+ {"construction_period_requirement",input.construction_period_requirement},
+ {"out_apply_reason",input.out_apply_reason},
+ {"remark",input.remark},
+ {"approve_status",RepairOutApplyStatus.TOBEAPPROVE},
+ }
+
+ });
+ }
+ }
}
+ return result.IsSuccess ? "操作成功" : result.ErrorMessage;
}
- return result.IsSuccess ? "操作成功" : result.ErrorMessage;
+ else
+ {
+ throw Oops.Bah("状态错误");
+ }
+
}
[HttpPost]
diff --git a/EquipMgr/Tnb.EquipMgr/EquMaintainRecordService.cs b/EquipMgr/Tnb.EquipMgr/EquMaintainRecordService.cs
index d80b10d1..043561b7 100644
--- a/EquipMgr/Tnb.EquipMgr/EquMaintainRecordService.cs
+++ b/EquipMgr/Tnb.EquipMgr/EquMaintainRecordService.cs
@@ -2,16 +2,20 @@ using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Enums;
using JNPF.Common.Filter;
+using JNPF.Common.Security;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.FriendlyException;
using JNPF.Systems.Entitys.Permission;
+using JNPF.Systems.Entitys.System;
using JNPF.VisualDev;
using JNPF.VisualDev.Entitys;
+using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
using JNPF.VisualDev.Interfaces;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using SqlSugar;
+using Tnb.BasicData;
using Tnb.EquipMgr.Entities;
using Tnb.EquipMgr.Entities.Dto;
using Tnb.EquipMgr.Interfaces;
@@ -42,8 +46,70 @@ namespace Tnb.EquipMgr
_visualDevService = visualDevService;
_runService = runService;
_userManager = userManager;
+ OverideFuncs.GetListAsync = GetList;
// OverideFuncs.UpdateAsync = ExecuteSpotIns;
}
+
+ private async Task