From 18694b48a0f596f730a8d975857b6a34cabbb67b Mon Sep 17 00:00:00 2001
From: hlb <894797954@qq.com>
Date: Tue, 28 Nov 2023 11:41:32 +0800
Subject: [PATCH 1/7] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=A7=84=E6=A0=BC?=
=?UTF-8?q?=E5=9E=8B=E5=8F=B7=E5=92=8C=E7=AE=B1=E5=8F=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Dto/Outputs/CarryCodeDetailOutput.cs | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Outputs/CarryCodeDetailOutput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Outputs/CarryCodeDetailOutput.cs
index 23538105..e3e8e379 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Outputs/CarryCodeDetailOutput.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Outputs/CarryCodeDetailOutput.cs
@@ -31,5 +31,13 @@
public string? material_name { get; set; }
public string? material_id { get; set; }
+ ///
+ /// 规格型号
+ ///
+ public string? material_specification { get; set; }
+ ///
+ /// 箱号
+ ///
+ public string? container_no { get; set; }
}
}
From c36679d418b2c56d0e6719881258e4ff14ad1784 Mon Sep 17 00:00:00 2001
From: qianjiawei <1184704771@qq.com>
Date: Tue, 28 Nov 2023 14:24:20 +0800
Subject: [PATCH 2/7] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=82=B9=E5=B7=A1?=
=?UTF-8?q?=E6=A3=80=E4=BF=9D=E5=85=BB=E7=BB=B4=E4=BF=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainRecordH.cs | 1 +
.../Tnb.EquipMgr.Entities/Entity/EqpMaintainTemEquipH.cs | 3 +++
EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainTemH.cs | 3 +++
.../Tnb.EquipMgr.Entities/Entity/EqpSpotInsTemEquipH.cs | 2 ++
EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsTemH.cs | 3 +++
EquipMgr/Tnb.EquipMgr/EqpMaintainTemService.cs | 2 ++
EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs | 6 +++---
EquipMgr/Tnb.EquipMgr/EqpSpotInsTemService.cs | 2 ++
.../Listener/GenerateMaintainPlanTimeWorker.cs | 4 ++++
.../Listener/GenerateSpotInspectionPlanTimeWorker.cs | 2 ++
10 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainRecordH.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainRecordH.cs
index 0b5aebc5..d6643199 100644
--- a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainRecordH.cs
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainRecordH.cs
@@ -164,4 +164,5 @@ public partial class EqpMaintainRecordH : BaseEntity
///
public string? org_id { get; set; }
+
}
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainTemEquipH.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainTemEquipH.cs
index 41edadb4..62ca2c7a 100644
--- a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainTemEquipH.cs
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainTemEquipH.cs
@@ -134,4 +134,7 @@ public partial class EqpMaintainTemEquipH : BaseEntity
///
public string? org_id { get; set; }
+ public string? duty_user_id { get; set; }
+ public string? repeat_user_id { get; set; }
+
}
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainTemH.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainTemH.cs
index 4fd84f75..6d1497d0 100644
--- a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainTemH.cs
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainTemH.cs
@@ -129,4 +129,7 @@ public partial class EqpMaintainTemH : BaseEntity
///
public string? org_id { get; set; }
+ public string? duty_user_id { get; set; }
+ public string? repeat_user_id { get; set; }
+
}
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsTemEquipH.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsTemEquipH.cs
index 8e63be09..29c9e05c 100644
--- a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsTemEquipH.cs
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsTemEquipH.cs
@@ -128,5 +128,7 @@ public partial class EqpSpotInsTemEquipH : BaseEntity
/// 所属组织
///
public string? org_id { get; set; }
+ public string? duty_user_id { get; set; }
+ public string? repeat_user_id { get; set; }
}
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsTemH.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsTemH.cs
index bd5b27af..dc246db5 100644
--- a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsTemH.cs
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsTemH.cs
@@ -124,4 +124,7 @@ public partial class EqpSpotInsTemH : BaseEntity
///
public string? org_id { get; set; }
+ public string? duty_user_id { get; set; }
+ public string? repeat_user_id { get; set; }
+
}
diff --git a/EquipMgr/Tnb.EquipMgr/EqpMaintainTemService.cs b/EquipMgr/Tnb.EquipMgr/EqpMaintainTemService.cs
index cb689602..4cec677a 100644
--- a/EquipMgr/Tnb.EquipMgr/EqpMaintainTemService.cs
+++ b/EquipMgr/Tnb.EquipMgr/EqpMaintainTemService.cs
@@ -74,6 +74,8 @@ namespace Tnb.EquipMgr
org_id = eqpMaintainTemH.org_id,
create_id = _userManager.UserId,
create_time = DateTime.Now,
+ duty_user_id= eqpMaintainTemH.duty_user_id,
+ repeat_user_id= eqpMaintainTemH.repeat_user_id
};
insertEqpMaintainTemEquipHs.Add(eqpMaintainTemEquipH);
diff --git a/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs b/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs
index d5388b94..58df680d 100644
--- a/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs
+++ b/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs
@@ -103,15 +103,15 @@ namespace Tnb.EquipMgr
code = (string)input.data["code"],
name = (string)input.data["name"],
equip_id = (string)input.data["equip_id"],
- expect_complete_time = input.data["expect_complete_time"] != null && input.data["expect_complete_time"].ToString() != "" ? Convert.ToDateTime(input.data["expect_complete_time"]) : null,
+ expect_complete_time = input.data["expect_complete_time"] != null && input.data["expect_complete_time"].ToString() != "" ? DateTimeOffset.FromUnixTimeSeconds(((long)input.data["expect_complete_time"]) / 1000).ToLocalTime().DateTime : null,
is_ugent = (int?)(long)input.data["is_ugent"],
attachment = input.data.ContainsKey("attachment") ? (string)input.data["attachment"] : null,
apply_user_id = (string)input.data["apply_user_id"],
create_id = (string)input.data["create_id"],
create_time = DateTime.Now,
org_id = (string)input.data["org_id"],
- remark = (string)input.data["remark"],
- description = (string)input.data["description"],
+ remark = input.data.ContainsKey("remark") ? (string)input.data["remark"] : "",
+ description = input.data.ContainsKey("description") ? (string)input.data["description"] : "",
status = RepairApplyStatus.TOBEEXECUTED
};
_ = await _repository.InsertAsync(eqpRepairApply);
diff --git a/EquipMgr/Tnb.EquipMgr/EqpSpotInsTemService.cs b/EquipMgr/Tnb.EquipMgr/EqpSpotInsTemService.cs
index 64dc3a39..64a5669f 100644
--- a/EquipMgr/Tnb.EquipMgr/EqpSpotInsTemService.cs
+++ b/EquipMgr/Tnb.EquipMgr/EqpSpotInsTemService.cs
@@ -74,6 +74,8 @@ namespace Tnb.EquipMgr
org_id = eqpSpotInsTemH.org_id,
create_id = _userManager.UserId,
create_time = DateTime.Now,
+ duty_user_id= eqpSpotInsTemH.duty_user_id,
+ repeat_user_id= eqpSpotInsTemH.repeat_user_id
};
insertEqpSpotInsTemEquipHs.Add(eqpSpotInsTemEquipH);
diff --git a/taskschedule/Tnb.TaskScheduler/Listener/GenerateMaintainPlanTimeWorker.cs b/taskschedule/Tnb.TaskScheduler/Listener/GenerateMaintainPlanTimeWorker.cs
index adfe18c8..192ca171 100644
--- a/taskschedule/Tnb.TaskScheduler/Listener/GenerateMaintainPlanTimeWorker.cs
+++ b/taskschedule/Tnb.TaskScheduler/Listener/GenerateMaintainPlanTimeWorker.cs
@@ -105,7 +105,11 @@ namespace JNPF.TaskScheduler.Listener
is_repeat = item.is_repeat,
repeat_post_info_user_id = item.repeat_post_info_user_id,
is_send = item.is_send,
+ repeat_user_id = item.repeat_user_id,
+ execute_user_id = item.duty_user_id,
create_time = DateTime.Now,
+
+
status = Tnb.EquipMgr.SpotInsRecordExecutionStatus.TOBEEXECUTED
});
}
diff --git a/taskschedule/Tnb.TaskScheduler/Listener/GenerateSpotInspectionPlanTimeWorker.cs b/taskschedule/Tnb.TaskScheduler/Listener/GenerateSpotInspectionPlanTimeWorker.cs
index 67761aed..14889bf3 100644
--- a/taskschedule/Tnb.TaskScheduler/Listener/GenerateSpotInspectionPlanTimeWorker.cs
+++ b/taskschedule/Tnb.TaskScheduler/Listener/GenerateSpotInspectionPlanTimeWorker.cs
@@ -104,6 +104,8 @@ namespace JNPF.TaskScheduler.Listener
repeat_post_info_user_id = item.repeat_post_info_user_id,
is_send = item.is_send,
create_time = DateTime.Now,
+ repeat_user_id= item.repeat_user_id,
+ spot_record_user_id=item.duty_user_id,
status = Tnb.EquipMgr.SpotInsRecordExecutionStatus.TOBEEXECUTED
});
}
From 61e476771fedc8d3bdf996e163142db9c4b530c8 Mon Sep 17 00:00:00 2001
From: qianjiawei <1184704771@qq.com>
Date: Tue, 28 Nov 2023 14:32:10 +0800
Subject: [PATCH 3/7] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=BB=B4=E4=BF=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs b/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs
index 58df680d..f49cdbc5 100644
--- a/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs
+++ b/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs
@@ -4,6 +4,7 @@ using JNPF.Common.Filter;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.FriendlyException;
+using JNPF.JsonSerialization;
using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Entitys.System;
using JNPF.Systems.Interfaces.System;
@@ -105,7 +106,7 @@ namespace Tnb.EquipMgr
equip_id = (string)input.data["equip_id"],
expect_complete_time = input.data["expect_complete_time"] != null && input.data["expect_complete_time"].ToString() != "" ? DateTimeOffset.FromUnixTimeSeconds(((long)input.data["expect_complete_time"]) / 1000).ToLocalTime().DateTime : null,
is_ugent = (int?)(long)input.data["is_ugent"],
- attachment = input.data.ContainsKey("attachment") ? (string)input.data["attachment"] : null,
+ attachment = input.data.ContainsKey("attachment") ? JSON.Serialize(input.data["attachment"]) : null,
apply_user_id = (string)input.data["apply_user_id"],
create_id = (string)input.data["create_id"],
create_time = DateTime.Now,
From fc7bbf74961febb003f8e7e6e3682dd0b0bad0f0 Mon Sep 17 00:00:00 2001
From: qianjiawei <1184704771@qq.com>
Date: Tue, 28 Nov 2023 16:53:35 +0800
Subject: [PATCH 4/7] 1
---
.../Tnb.EquipMgr/EqpRepairApplyService.cs | 32 +++++++++----------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs b/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs
index f49cdbc5..0617edca 100644
--- a/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs
+++ b/EquipMgr/Tnb.EquipMgr/EqpRepairApplyService.cs
@@ -99,22 +99,22 @@ namespace Tnb.EquipMgr
input.data["code"] = await _billRuleService.GetBillNumber(CodeTemplateConst.EQPREPAIR_CODE);
}
- EqpRepairApply eqpRepairApply = new()
- {
- code = (string)input.data["code"],
- name = (string)input.data["name"],
- equip_id = (string)input.data["equip_id"],
- expect_complete_time = input.data["expect_complete_time"] != null && input.data["expect_complete_time"].ToString() != "" ? DateTimeOffset.FromUnixTimeSeconds(((long)input.data["expect_complete_time"]) / 1000).ToLocalTime().DateTime : null,
- is_ugent = (int?)(long)input.data["is_ugent"],
- attachment = input.data.ContainsKey("attachment") ? JSON.Serialize(input.data["attachment"]) : null,
- apply_user_id = (string)input.data["apply_user_id"],
- create_id = (string)input.data["create_id"],
- create_time = DateTime.Now,
- org_id = (string)input.data["org_id"],
- remark = input.data.ContainsKey("remark") ? (string)input.data["remark"] : "",
- description = input.data.ContainsKey("description") ? (string)input.data["description"] : "",
- status = RepairApplyStatus.TOBEEXECUTED
- };
+ EqpRepairApply eqpRepairApply = new();
+
+ eqpRepairApply.code = (string)input.data["code"];
+ eqpRepairApply.name = (string)input.data["name"];
+ eqpRepairApply.equip_id = (string)input.data["equip_id"];
+ eqpRepairApply.expect_complete_time = input.data["expect_complete_time"] != null && input.data["expect_complete_time"].ToString() != "" ? DateTimeOffset.FromUnixTimeSeconds(((long)input.data["expect_complete_time"]) / 1000).ToLocalTime().DateTime : null;
+ eqpRepairApply.is_ugent = (int?)(long)input.data["is_ugent"];
+ eqpRepairApply.attachment = input.data.ContainsKey("attachment") ? JsonConvert.SerializeObject(input.data["attachment"]) : null;
+ eqpRepairApply.apply_user_id = (string)input.data["apply_user_id"];
+ eqpRepairApply.create_id = (string)input.data["create_id"];
+ eqpRepairApply.create_time = DateTime.Now;
+ eqpRepairApply.org_id = (string)input.data["org_id"];
+ eqpRepairApply.remark = input.data.ContainsKey("remark") ? (string)input.data["remark"] : "";
+ eqpRepairApply.description = input.data.ContainsKey("description") ? (string)input.data["description"] : "";
+ eqpRepairApply.status = RepairApplyStatus.TOBEEXECUTED;
+
_ = await _repository.InsertAsync(eqpRepairApply);
// VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleId, true);
From ba7d9813b44f5fb63d203a079fd30db70115ef2a Mon Sep 17 00:00:00 2001
From: qianjiawei <1184704771@qq.com>
Date: Wed, 29 Nov 2023 11:44:01 +0800
Subject: [PATCH 5/7] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=85=A5=E5=BA=93?=
=?UTF-8?q?=E9=A2=86=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Dto/EquipSparePartRecord.cs | 24 +++++++
.../Dto/EquipSparePartsQueryOutput.cs | 1 +
.../Tnb.EquipMgr/EqpEquipSparePartsService.cs | 66 ++++++++++++++++++-
.../GenerateMaintainPlanTimeWorker.cs | 23 ++++++-
.../GenerateSpotInspectionPlanTimeWorker.cs | 21 +++++-
5 files changed, 132 insertions(+), 3 deletions(-)
create mode 100644 EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipSparePartRecord.cs
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipSparePartRecord.cs b/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipSparePartRecord.cs
new file mode 100644
index 00000000..4bd1b2b5
--- /dev/null
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipSparePartRecord.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tnb.EquipMgr.Entities
+{
+ public class EquipSparePartRecordInput
+ {
+ public string? equip_id { get; set; }
+ }
+ public class EquipSparePartRecordOut
+ {
+ public string? id { get; set; }
+ public string? code { get; set; }
+ public string? name { get; set; }
+ public string? type { get; set; }
+ public string? execuser { get; set; }
+ public string? execdatetime { get; set; }
+ public int? num { get; set; }
+
+ }
+}
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipSparePartsQueryOutput.cs b/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipSparePartsQueryOutput.cs
index 33f096ac..37ccbbca 100644
--- a/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipSparePartsQueryOutput.cs
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipSparePartsQueryOutput.cs
@@ -8,6 +8,7 @@ namespace Tnb.EquipMgr.Entities.Dto
public string? code { get; set; }
public string? name { get; set; }
public string? specification { get; set; }
+ public int? num { get; set; }
}
}
\ No newline at end of file
diff --git a/EquipMgr/Tnb.EquipMgr/EqpEquipSparePartsService.cs b/EquipMgr/Tnb.EquipMgr/EqpEquipSparePartsService.cs
index bcd10817..2360799e 100644
--- a/EquipMgr/Tnb.EquipMgr/EqpEquipSparePartsService.cs
+++ b/EquipMgr/Tnb.EquipMgr/EqpEquipSparePartsService.cs
@@ -1,11 +1,14 @@
+using System.CodeDom.Compiler;
using JNPF.Common.Core.Manager;
using JNPF.Common.Filter;
using JNPF.Common.Security;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
+using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Entitys.System;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
+using NPOI.SS.Formula.Functions;
using SqlSugar;
using Tnb.EquipMgr.Entities;
using Tnb.EquipMgr.Entities.Dto;
@@ -68,6 +71,9 @@ namespace Tnb.EquipMgr
{
queryJson = JsonConvert.DeserializeObject>(input.queryJson);
}
+ var eqpSpareParts = await db.Queryable().ToListAsync();
+ var InstockDs= await db.Queryable().ToListAsync();
+ var RequisitionDs = await db.Queryable().ToListAsync();
SqlSugarPagedList result = await db.Queryable()
.LeftJoin((a, b) => a.spare_parts_id == b.id)
.LeftJoin((a, b, c) => c.EnCode == Tnb.BasicData.DictConst.SparePartsType && c.DeleteMark == null)
@@ -82,10 +88,68 @@ namespace Tnb.EquipMgr
type_name = d.FullName,
code = b.code,
name = b.name,
- specification = b.specification
+ specification = b.specification,
+ num = 0
}).ToPagedListAsync(input.currentPage, input.pageSize);
+ foreach (var item in result.list)
+ {
+ try
+ {
+ var part = eqpSpareParts.Where(p => p.code == item.code).First();
+ var Instocknum = InstockDs.Where(p => p.spare_parts_id == part.id).Sum(p => p.quantity);
+ var Requisitionum = RequisitionDs.Where(p => p.spare_parts_id == part.id).Sum(p => p.quantity);
+ item.num = Instocknum > Requisitionum ? Instocknum - Requisitionum : 0;
+ }
+ catch (Exception)
+ {
+ }
+ }
return PageResult.SqlSugarPageResult(result);
}
+
+ //获取备品备件历史
+ [HttpPost]
+ public async Task GetEquipSparePartRecord(EquipSparePartRecordInput input)
+ {
+ ISqlSugarClient db = _repository.AsSugarClient();
+ var partsids = await db.Queryable().Where(p => p.equip_id == input.equip_id).Select(p => p.spare_parts_id).ToListAsync();
+ var Instocks = await db.Queryable()
+ .LeftJoin((a, b) => a.instock_id == b.id)
+ .LeftJoin((a, b, c) => a.spare_parts_id == c.id)
+ .LeftJoin((a, b, c, d) => b.instock_id == d.Id)
+ .Where((a, b, c, d) => partsids.Contains(a.spare_parts_id!))
+ .Select((a, b, c, d) => new EquipSparePartRecordOut()
+ {
+ id = a.id,
+ code = c.code,
+ name = c.name,
+ type = "入库",
+ execuser = d.RealName,
+ execdatetime = b.create_time != null ? b.create_time.ToString() : "",
+ num = a.quantity
+ })
+ .ToListAsync();
+
+ var Requisitions = await db.Queryable()
+ .LeftJoin((a, b) => a.spare_parts_requisition_id == b.id)
+ .LeftJoin((a, b, c) => a.spare_parts_id == c.id)
+ .LeftJoin((a, b, c, d) => b.recipient_id == d.Id)
+ .Where((a, b, c, d) => partsids.Contains(a.spare_parts_id!))
+ .Select((a, b, c, d) => new EquipSparePartRecordOut()
+ {
+ id = a.id,
+ code = c.code,
+ name = c.name,
+ type = "领用",
+ execuser = d.RealName,
+ execdatetime = b.create_time != null ? b.create_time.ToString()!.Substring(0,19) : "",
+ num = a.quantity
+ })
+ .ToListAsync();
+ Instocks.AddRange(Requisitions);
+ var result = Instocks.OrderByDescending(p => DateTime.Parse(p.execdatetime!));
+ return result;
+ }
}
}
\ No newline at end of file
diff --git a/taskschedule/Tnb.TaskScheduler/Listener/GenerateMaintainPlanTimeWorker.cs b/taskschedule/Tnb.TaskScheduler/Listener/GenerateMaintainPlanTimeWorker.cs
index 192ca171..64fbc34b 100644
--- a/taskschedule/Tnb.TaskScheduler/Listener/GenerateMaintainPlanTimeWorker.cs
+++ b/taskschedule/Tnb.TaskScheduler/Listener/GenerateMaintainPlanTimeWorker.cs
@@ -1,5 +1,8 @@
using JNPF.Common.Security;
using JNPF.Logging;
+using JNPF.Message;
+using JNPF.Message.Interfaces.Message;
+using JNPF.Message.Service;
using SqlSugar;
using Tnb.EquipMgr.Entities;
@@ -15,7 +18,7 @@ namespace JNPF.TaskScheduler.Listener
// {
// _repository = repository;
// }
-
+ private IMessageService _sendMessageService => App.GetService();
[SpareTime("0 0 0 * * ?", "生成设备保养计划", ExecuteType = SpareTimeExecuteTypes.Serial, StartNow = false)]
public async void GenerateSpotInspectionPlan(SpareTimer timer, long count)
{
@@ -171,6 +174,24 @@ namespace JNPF.TaskScheduler.Listener
Console.WriteLine(dbResult.ErrorMessage);
Log.Error(dbResult.ErrorMessage);
}
+ else
+ {
+ List equipments = await db.Queryable().Where(x => x.life == Tnb.EquipMgr.EquipmentLife.ENABLE).ToListAsync();
+ foreach (var item in tobeCreateList)
+ {
+ try
+ {
+ if (equipments.FirstOrDefault(x => x.id == item.equip_id) == null)
+ continue;
+ var users = new List() { item.execute_user_id };
+ var title = equipments.FirstOrDefault(x => x.id == item.equip_id).code + "设备保养提醒";
+ await _sendMessageService.SentMessage(users, title, title);
+ }
+ catch (Exception)
+ {
+ }
+ }
+ }
Log.Information($"---------------生成{tobeCreateList.Count}个计划---------------");
}
}
diff --git a/taskschedule/Tnb.TaskScheduler/Listener/GenerateSpotInspectionPlanTimeWorker.cs b/taskschedule/Tnb.TaskScheduler/Listener/GenerateSpotInspectionPlanTimeWorker.cs
index 14889bf3..a473253d 100644
--- a/taskschedule/Tnb.TaskScheduler/Listener/GenerateSpotInspectionPlanTimeWorker.cs
+++ b/taskschedule/Tnb.TaskScheduler/Listener/GenerateSpotInspectionPlanTimeWorker.cs
@@ -1,5 +1,6 @@
using JNPF.Common.Security;
using JNPF.Logging;
+using JNPF.Message.Interfaces.Message;
using SqlSugar;
using Tnb.EquipMgr.Entities;
@@ -15,7 +16,7 @@ namespace JNPF.TaskScheduler.Listener
// {
// _repository = repository;
// }
-
+ private IMessageService _sendMessageService => App.GetService();
[SpareTime("0 0,30 * * * ?", "生成点巡检计划", ExecuteType = SpareTimeExecuteTypes.Serial, StartNow = false)]
public async void GenerateSpotInspectionPlan(SpareTimer timer, long count)
{
@@ -172,6 +173,24 @@ namespace JNPF.TaskScheduler.Listener
Console.WriteLine(dbResult.ErrorMessage);
Log.Error(dbResult.ErrorMessage);
}
+ else
+ {
+ List equipments = await db.Queryable().Where(x => x.life == Tnb.EquipMgr.EquipmentLife.ENABLE).ToListAsync();
+ foreach (var item in tobeCreateList)
+ {
+ try
+ {
+ if (equipments.FirstOrDefault(x => x.id == item.equip_id) == null)
+ continue;
+ var users = new List() { item.spot_record_user_id };
+ var title = equipments.FirstOrDefault(x => x.id == item.equip_id).code + "设备点巡检提醒";
+ await _sendMessageService.SentMessage(users, title, title);
+ }
+ catch (Exception)
+ {
+ }
+ }
+ }
Log.Information($"---------------生成{tobeCreateList.Count}个计划---------------");
}
}
From 297f90bd0c179817e74ade2f8f30b028924f83fd Mon Sep 17 00:00:00 2001
From: qianjiawei <1184704771@qq.com>
Date: Wed, 29 Nov 2023 16:56:59 +0800
Subject: [PATCH 6/7] =?UTF-8?q?=E5=A4=87=E4=BB=B6=E9=A2=86=E7=94=A8bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Tnb.EquipMgr/EqpSparePartsRequisitionHService.cs | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/EquipMgr/Tnb.EquipMgr/EqpSparePartsRequisitionHService.cs b/EquipMgr/Tnb.EquipMgr/EqpSparePartsRequisitionHService.cs
index 225f3154..0438198c 100644
--- a/EquipMgr/Tnb.EquipMgr/EqpSparePartsRequisitionHService.cs
+++ b/EquipMgr/Tnb.EquipMgr/EqpSparePartsRequisitionHService.cs
@@ -1,3 +1,4 @@
+using System.Linq;
using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Security;
@@ -117,7 +118,14 @@ namespace Tnb.EquipMgr
if (eqpSparePartsList.Count > 0)
{
- _ = await db.Insertable(eqpSparePartsList).ExecuteCommandAsync();
+ var datas= await db.Queryable().ToListAsync();
+ foreach (var item in eqpSparePartsList)
+ {
+ if (!datas.Where(p => p.equip_id == item.equip_id && p.spare_parts_id == item.spare_parts_id).Any())
+ _ = await db.Insertable(eqpSparePartsList).ExecuteCommandAsync();
+
+ }
+
}
}
From 325e1c8f07850629b65b8b462cfcfdcdd51286ee Mon Sep 17 00:00:00 2001
From: qianjiawei <1184704771@qq.com>
Date: Thu, 30 Nov 2023 14:02:58 +0800
Subject: [PATCH 7/7] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E4=BF=9D=E5=85=BB?=
=?UTF-8?q?=E7=82=B9=E5=B7=A1=E6=A3=80=E5=A4=8D=E6=A0=B8=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?=E9=99=84=E4=BB=B6=E4=B8=8A=E4=BC=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Dto/EquipMaintainRecordQueryOutput.cs | 2 ++
.../Dto/EquipSpotInsRecordQueryOutput.cs | 2 ++
.../Tnb.EquipMgr.Entities/Dto/MaintainRecordRepeatInput.cs | 1 +
.../Tnb.EquipMgr.Entities/Dto/SpotInsRecordRepeatInput.cs | 2 ++
EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainRecordH.cs | 5 +++++
EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsRecordH.cs | 6 ++++++
EquipMgr/Tnb.EquipMgr/EquMaintainRecordService.cs | 2 ++
EquipMgr/Tnb.EquipMgr/EquSpotInsRecordService.cs | 2 ++
8 files changed, 22 insertions(+)
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipMaintainRecordQueryOutput.cs b/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipMaintainRecordQueryOutput.cs
index 12b4ded0..ada9dbb8 100644
--- a/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipMaintainRecordQueryOutput.cs
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipMaintainRecordQueryOutput.cs
@@ -4,6 +4,8 @@ namespace Tnb.EquipMgr.Entities.Dto
{
public string? id { get; set; }
public string? attachment { get; set; }
+
+ public string? fhattachment { get; set; }
public string? create_time { get; set; }
public string? equip_id { get; set; }
public string? equip_id_id { get; set; }
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipSpotInsRecordQueryOutput.cs b/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipSpotInsRecordQueryOutput.cs
index ba40ffb9..3664bb2c 100644
--- a/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipSpotInsRecordQueryOutput.cs
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Dto/EquipSpotInsRecordQueryOutput.cs
@@ -4,6 +4,8 @@ namespace Tnb.EquipMgr.Entities.Dto
{
public string? id { get; set; }
public string? attachment { get; set; }
+
+ public string? fhattachment { get; set; }
public string? create_time { get; set; }
public string? equip_id { get; set; }
public string? repeat_remark { get; set; }
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Dto/MaintainRecordRepeatInput.cs b/EquipMgr/Tnb.EquipMgr.Entities/Dto/MaintainRecordRepeatInput.cs
index ff09b958..1f07e4c0 100644
--- a/EquipMgr/Tnb.EquipMgr.Entities/Dto/MaintainRecordRepeatInput.cs
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Dto/MaintainRecordRepeatInput.cs
@@ -7,6 +7,7 @@ namespace Tnb.EquipMgr.Entities.Dto
public string repeat_result { get; set; } = string.Empty;
public string? repeat_remark { get; set; }
+ public string? attachment { get; set; }
public List>? details { get; set; }
}
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Dto/SpotInsRecordRepeatInput.cs b/EquipMgr/Tnb.EquipMgr.Entities/Dto/SpotInsRecordRepeatInput.cs
index 35cc5b6d..35074944 100644
--- a/EquipMgr/Tnb.EquipMgr.Entities/Dto/SpotInsRecordRepeatInput.cs
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Dto/SpotInsRecordRepeatInput.cs
@@ -7,5 +7,7 @@ namespace Tnb.EquipMgr.Entities.Dto
public string? repeat_result { get; set; }
public string? repeat_remark { get; set; }
+
+ public string? attachment { get; set; }
}
}
\ No newline at end of file
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainRecordH.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainRecordH.cs
index d6643199..d0d33f2e 100644
--- a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainRecordH.cs
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpMaintainRecordH.cs
@@ -164,5 +164,10 @@ public partial class EqpMaintainRecordH : BaseEntity
///
public string? org_id { get; set; }
+ ///
+ /// 复核附件
+ ///
+ public string? fhattachment { get; set; }
+
}
diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsRecordH.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsRecordH.cs
index 38b993c6..5807603b 100644
--- a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsRecordH.cs
+++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsRecordH.cs
@@ -159,4 +159,10 @@ public partial class EqpSpotInsRecordH : BaseEntity
///
public string? repeat_result { get; set; }
+
+ ///
+ /// 复核附件
+ ///
+ public string? fhattachment { get; set; }
+
}
diff --git a/EquipMgr/Tnb.EquipMgr/EquMaintainRecordService.cs b/EquipMgr/Tnb.EquipMgr/EquMaintainRecordService.cs
index c7c003da..b1e45c66 100644
--- a/EquipMgr/Tnb.EquipMgr/EquMaintainRecordService.cs
+++ b/EquipMgr/Tnb.EquipMgr/EquMaintainRecordService.cs
@@ -214,6 +214,7 @@ namespace Tnb.EquipMgr
{
_ = await _repository.UpdateAsync(x => new EqpMaintainRecordH()
{
+ fhattachment=input.attachment,
repeat_result = input.repeat_result,
repeat_remark = input.repeat_remark,
repeat_user_id = _userManager.UserId,
@@ -244,6 +245,7 @@ namespace Tnb.EquipMgr
{
id = a.id,
attachment = a.attachment,
+ fhattachment= a.fhattachment,
create_time = a.create_time == null ? null : a.create_time.Value.ToString(DbTimeFormat.MM),
equip_id = b.code,
equip_id_id = a.equip_id,
diff --git a/EquipMgr/Tnb.EquipMgr/EquSpotInsRecordService.cs b/EquipMgr/Tnb.EquipMgr/EquSpotInsRecordService.cs
index 111e86a7..cc558030 100644
--- a/EquipMgr/Tnb.EquipMgr/EquSpotInsRecordService.cs
+++ b/EquipMgr/Tnb.EquipMgr/EquSpotInsRecordService.cs
@@ -183,6 +183,7 @@ namespace Tnb.EquipMgr
repeat_result = input.repeat_result,
repeat_remark = input.repeat_remark,
repeat_user_id = _userManager.UserId,
+ fhattachment=input.attachment,
repeat_time = DateTime.Now,
status = SpotInsRecordExecutionStatus.COMPLETED
}, x => x.id == input.id);
@@ -204,6 +205,7 @@ namespace Tnb.EquipMgr
{
id = a.id,
attachment = a.attachment,
+ fhattachment=a.fhattachment,
create_time = a.create_time == null ? null : a.create_time.Value.ToString(DbTimeFormat.MM),
equip_id = a.equip_id,
repeat_remark = a.repeat_remark,