Merge branch 'dev' of https://git.tuotong-tech.com/tnb/tnb.server into dev
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
namespace Tnb.EquipMgr
|
||||
{
|
||||
/// <summary>
|
||||
/// 点巡检记录执行状态
|
||||
/// </summary>
|
||||
public static class SpotInsRecordExecutionStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// 待执行
|
||||
/// </summary>
|
||||
public const string TOBEEXECUTED = "1";
|
||||
|
||||
/// <summary>
|
||||
/// 待复核
|
||||
/// </summary>
|
||||
public const string TOBECHECK = "1";
|
||||
|
||||
/// <summary>
|
||||
/// 已完成
|
||||
/// </summary>
|
||||
public const string COMPLETED = "1";
|
||||
}
|
||||
}
|
||||
100
EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpEquipType.cs
Normal file
100
EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpEquipType.cs
Normal file
@@ -0,0 +1,100 @@
|
||||
using SqlSugar;
|
||||
using Tnb.Common.Contracts;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities
|
||||
{
|
||||
///<summary>
|
||||
///设备类型
|
||||
///</summary>
|
||||
[SugarTable("eqp_equip_type")]
|
||||
public partial class EqpEquipType : BaseEntity<string>
|
||||
{
|
||||
public EqpEquipType()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:修改时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? modify_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:名称
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:编码
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? create_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:是否是特种设备0否1是
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int is_special_equipment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:排序
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int ordinal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:状态0 禁用 1 启用
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:是否是实验设备0否1是
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int is_lab { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建用户
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string create_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:修改用户
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string modify_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:备注
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:所属组织
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string org_id { get; set; }
|
||||
}
|
||||
}
|
||||
134
EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsRecordD.cs
Normal file
134
EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsRecordD.cs
Normal file
@@ -0,0 +1,134 @@
|
||||
using SqlSugar;
|
||||
using Tnb.Common.Contracts;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities;
|
||||
|
||||
///<summary>
|
||||
///点巡检执行记录子表
|
||||
///</summary>
|
||||
[SugarTable("eqp_spot_ins_record_d")]
|
||||
public partial class EqpSpotInsRecordD : BaseEntity<string>
|
||||
{
|
||||
public EqpSpotInsRecordD()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:点巡检执行记录id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string spot_ins_record_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:点巡检项id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string spot_ins_item_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:判断类型
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string judge_type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:上限值
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? high_value { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:是否包含上限值
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? high_value_is_include { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:下限值
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? low_value { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:是否包含下限值
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? low_value_is_include { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:标准值
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public double? standard_value { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:单位id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string unit_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:结果 1 通过 2 不通过
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? result { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:实际测量值
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public double? real_value { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:排序
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long ordinal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:编码
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:名称
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:判断内容
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string judge_content { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:点巡检方法
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string inspection_method { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:备注
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string remark { get; set; }
|
||||
}
|
||||
135
EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsRecordH.cs
Normal file
135
EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsRecordH.cs
Normal file
@@ -0,0 +1,135 @@
|
||||
using SqlSugar;
|
||||
using Tnb.Common.Contracts;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities
|
||||
{
|
||||
///<summary>
|
||||
///点巡检执行记录表
|
||||
///</summary>
|
||||
[SugarTable("eqp_spot_ins_record_h")]
|
||||
public partial class EqpSpotInsRecordH : BaseEntity<string>
|
||||
{
|
||||
public EqpSpotInsRecordH()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? create_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:修改时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? modify_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:设备id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string equip_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:点巡检设备模板id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string spot_ins_tem_equip_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:结果1 合格2不合格
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? result { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:执行时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? spot_record_date_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:不合格推送
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? is_send { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:推送时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? send_date_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:滞后推送时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? after_send_date_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:是否滞后推送
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? is_after_send { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建用户
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string create_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:修改用户
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string modify_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:点巡检结果备注
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string result_remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:状态 1待执行 2 待复核 3 已完成
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:执行人id
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string spot_record_user_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:设备类型id
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string equip_type_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:推送人id
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string send_id { get; set; }
|
||||
}
|
||||
}
|
||||
177
EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsTemEquipH.cs
Normal file
177
EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpSpotInsTemEquipH.cs
Normal file
@@ -0,0 +1,177 @@
|
||||
using SqlSugar;
|
||||
using Tnb.Common.Contracts;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities
|
||||
{
|
||||
///<summary>
|
||||
///点巡检设备模板表
|
||||
///</summary>
|
||||
[SugarTable("eqp_spot_ins_tem_equip_h")]
|
||||
public partial class EqpSpotInsTemEquipH : BaseEntity<string>
|
||||
{
|
||||
public EqpSpotInsTemEquipH()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? create_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:修改时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? modify_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:编码
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:名称
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:周期
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public decimal plan_cycle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:周期方式 1 单次 2 循环
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string plan_cycle_unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:计划执行通知提前量
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? plan_run_notice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建用户
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string create_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:修改用户
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string modify_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:执行滞后推送时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? plan_delay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:启用时间
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public DateTime start_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:是否启用
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string is_start { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:是否复核
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string is_repeat { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:不合格推送 0 不推送 1 推送
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? is_send { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:点巡检模板id
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string spot_ins_tem_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:TODO
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string equip_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:TODO
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:计划执行通知提前量单位 1 小时 2 天 3 周
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string plan_run_notice_unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:执行滞后推送时间单位 1 小时 2 天 3 周
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string plan_delay_unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:复核岗位id
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string repeat_post_info_user_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:责任岗位id
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string send_post_info_user_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:推送人id
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string send_post_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:所属组织
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string org_id { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
{
|
||||
public interface IEquSpotInsTemEquipService
|
||||
{
|
||||
// /// <summary>
|
||||
// /// 获取数
|
||||
// /// </summary>
|
||||
// /// <param name="dic"></param>
|
||||
// /// <returns></returns>
|
||||
// public Task<dynamic> GetTree();
|
||||
|
||||
/// <summary>
|
||||
/// 停止计划
|
||||
/// </summary>
|
||||
/// <param name="dic"></param>
|
||||
/// <returns></returns>
|
||||
public Task Stop(Dictionary<string, string> parameters);
|
||||
}
|
||||
}
|
||||
70
EquipMgr/Tnb.EquipMgr/EquSpotInsTemEquipService.cs
Normal file
70
EquipMgr/Tnb.EquipMgr/EquSpotInsTemEquipService.cs
Normal file
@@ -0,0 +1,70 @@
|
||||
using JNPF.Common.Enums;
|
||||
using JNPF.Common.Security;
|
||||
using JNPF.DependencyInjection;
|
||||
using JNPF.DynamicApiController;
|
||||
using JNPF.FriendlyException;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SqlSugar;
|
||||
using Tnb.EquipMgr.Interfaces;
|
||||
using Tnb.EquipMgr.Entities;
|
||||
|
||||
namespace Tnb.EquipMgr
|
||||
{
|
||||
/// <summary>
|
||||
/// 设备管理
|
||||
/// </summary>
|
||||
[ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)]
|
||||
[Route("api/[area]/[controller]/[action]")]
|
||||
public class EquSpotInsTemEquipService : IEquSpotInsTemEquipService, IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly ISqlSugarRepository<EqpSpotInsTemEquipH> _repository;
|
||||
|
||||
public EquSpotInsTemEquipService(ISqlSugarRepository<EqpSpotInsTemEquipH> repository)
|
||||
{
|
||||
_repository = repository;
|
||||
}
|
||||
|
||||
// public async Task<dynamic> GetTree()
|
||||
// {
|
||||
// List<EqpEquipment> eqpEquipments =
|
||||
// var data = _repository.AsSugarClient().Queryable<EqpEquipType>()
|
||||
// .Where(x => x.status == 1)
|
||||
// .Select((x) => new TreeModel
|
||||
// {
|
||||
// id = x.id,
|
||||
// parentId = "-1",
|
||||
// hasChildren = SqlFunc.Subqueryable<EqpEquipment>().Where(y=>y.eqp_type_id==x.id).Any(),
|
||||
// isLeaf = false,
|
||||
// num = SqlFunc.Subqueryable<EqpEquipment>().Where(y=>y.eqp_type_id==x.id).Count(),
|
||||
// children = SqlFunc.Subqueryable<EqpEquipment>().Where(y=>y.eqp_type_id==x.id).Select(y=>new TreeModel()
|
||||
// {
|
||||
//
|
||||
// }).ToList(model => ),
|
||||
// });
|
||||
// return new { list = 1 };
|
||||
// }
|
||||
|
||||
public async Task Stop(Dictionary<string, string> parameters)
|
||||
{
|
||||
string id = parameters["id"];
|
||||
DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
|
||||
{
|
||||
await _repository.UpdateAsync(x => new EqpSpotInsTemEquipH()
|
||||
{
|
||||
is_start = "0"
|
||||
}, x => x.id == id);
|
||||
List<string> ids = await _repository.AsSugarClient().Queryable<EqpSpotInsRecordH>()
|
||||
.Where(x => x.spot_ins_tem_equip_id == id && x.status == SpotInsRecordExecutionStatus.TOBEEXECUTED)
|
||||
.Select(x => x.id).ToListAsync();
|
||||
await _repository.AsSugarClient().Deleteable<EqpSpotInsRecordH>()
|
||||
.Where(x => x.spot_ins_tem_equip_id == id && x.status == SpotInsRecordExecutionStatus.TOBEEXECUTED).ExecuteCommandAsync();
|
||||
|
||||
await _repository.AsSugarClient().Deleteable<EqpSpotInsRecordD>()
|
||||
.Where(x => ids.Contains(x.spot_ins_record_id)).ExecuteCommandAsync();
|
||||
|
||||
});
|
||||
|
||||
if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
using SqlSugar;
|
||||
|
||||
namespace Tnb.ProductionMgr.Entities;
|
||||
|
||||
///<summary>
|
||||
///产线状态
|
||||
///</summary>
|
||||
[SugarTable("prd_workline_state")]
|
||||
public partial class PrdWorklineState
|
||||
{
|
||||
public PrdWorklineState()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:工序id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string process_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:当前产品序列号
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string lot_no { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:工单id
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string mo_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:更新时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? update_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:需要的物料
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string require_material_spec { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:扩展
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string extras { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:当前产品
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string product_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:当前产品
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string product_name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:当前产品
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string product_spec { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:产线id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey = true)]
|
||||
public string id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:产线代码
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string workline_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:工单代码
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string mo_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:模具id
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey = true)]
|
||||
public string mold_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:工艺路线id
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string route_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:工艺路线代码
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string route_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:工序代码
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string process_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:工位id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string station_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:工位代码
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string station_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:需要的物料
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string require_material_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:需要的物料
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string require_material_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:需要的物料
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string require_material_name { get; set; }
|
||||
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using Tnb.ProductionMgr.Entities.Dto;
|
||||
|
||||
namespace Tnb.ProductionMgr.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// 工单生成
|
||||
/// </summary>
|
||||
public interface IWorklineCommService
|
||||
{
|
||||
Task<dynamic> GetCartonQrcode(string workline);
|
||||
}
|
||||
}
|
||||
86
ProductionMgr/Tnb.ProductionMgr/WorklineCommService.cs
Normal file
86
ProductionMgr/Tnb.ProductionMgr/WorklineCommService.cs
Normal file
@@ -0,0 +1,86 @@
|
||||
using System.Dynamic;
|
||||
using System.Reflection.Emit;
|
||||
using Aop.Api.Domain;
|
||||
using JNPF.Common.Core.Manager;
|
||||
using JNPF.Common.Enums;
|
||||
using JNPF.Common.Extension;
|
||||
using JNPF.Common.Security;
|
||||
using JNPF.DependencyInjection;
|
||||
using JNPF.DynamicApiController;
|
||||
using JNPF.Extensitions.EventBus;
|
||||
using JNPF.FriendlyException;
|
||||
using JNPF.Logging;
|
||||
using JNPF.Systems.Interfaces.System;
|
||||
using JNPF.VisualDev;
|
||||
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
|
||||
using Mapster;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Senparc.Weixin.Work.AdvancedAPIs.MailList;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData;
|
||||
using Tnb.BasicData.Entitys.Entity;
|
||||
using Tnb.EquipMgr.Entities;
|
||||
using Tnb.ProductionMgr.Entities;
|
||||
using Tnb.ProductionMgr.Entities.Dto;
|
||||
using Tnb.ProductionMgr.Entities.Enums;
|
||||
using Tnb.ProductionMgr.Interfaces;
|
||||
|
||||
namespace Tnb.ProductionMgr;
|
||||
|
||||
/// <summary>
|
||||
/// 产线自动化通信接口
|
||||
/// </summary>
|
||||
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 704)]
|
||||
[Route("api/produce")]
|
||||
public class WorklineCommService : IWorklineCommService, IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly ISqlSugarRepository<PrdWorklineState> _repository;
|
||||
private readonly IDataBaseManager _dataBaseManager;
|
||||
private readonly IUserManager _userManager;
|
||||
private readonly IDictionaryDataService _dictionaryDataService;
|
||||
|
||||
public WorklineCommService(
|
||||
ISqlSugarRepository<PrdWorklineState> repository,
|
||||
IDataBaseManager dataBaseManager,
|
||||
IUserManager userManager,
|
||||
IDictionaryDataService dictionaryDataService
|
||||
)
|
||||
{
|
||||
_repository = repository;
|
||||
_dataBaseManager = dataBaseManager;
|
||||
_userManager = userManager;
|
||||
_dictionaryDataService = dictionaryDataService;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#region 外包装条码打印接口
|
||||
|
||||
/// <summary>
|
||||
/// 获取产线当前生产的箱号条码
|
||||
/// </summary>
|
||||
/// <param name="workline">所属产线</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("get-carton-qrcode")]
|
||||
[AllowAnonymous]
|
||||
public async Task<dynamic> GetCartonQrcode(string workline)
|
||||
{
|
||||
var line = await _repository.GetFirstAsync(a => a.id == workline);
|
||||
var productNo = line?.product_code;
|
||||
//TODO 仅测试接口用
|
||||
if (string.IsNullOrEmpty(productNo))
|
||||
{
|
||||
productNo = "16945" + Random.Shared.Next(0, 999999999).ToString(); //"16945155732431";
|
||||
}
|
||||
var pd = DateTime.Now;
|
||||
var exp = pd.AddYears(3);
|
||||
var lotNo = pd.ToString("yyMMddHH");
|
||||
string tpl = "(01){0}\n(11){1}\n(17){2}\n(10){3}";
|
||||
string qrcode = string.Format(tpl, productNo, pd.ToString("yyMM00"), exp.ToString("yyMM00"), lotNo);
|
||||
return new { qrcode };
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace Tnb.BasicData
|
||||
/// <summary>
|
||||
/// 自定义开发服务示例
|
||||
/// </summary>
|
||||
[ApiDescriptionSettings(Tag = "ProductionMgr", Area = "production", Order = 503)]
|
||||
[ApiDescriptionSettings(Tag = "ProductionManager", Area = "production", Order = 503)]
|
||||
[Route("api/[area]/[controller]/[action]")]
|
||||
[OverideVisualDev(ModelId)]
|
||||
public partial class SampleService : IOverideVisualDevService, IDynamicApiController, ITransient
|
||||
|
||||
@@ -119,7 +119,8 @@ public class FormDataParsing : ITransient
|
||||
{
|
||||
var len = data.ToString().Split('.').Last().Length;
|
||||
if (fieldsModel.precision > len) fieldsModel.precision = len;
|
||||
conversionData = data.ToString().Substring(0, data.ToString().IndexOf(".") + (int)fieldsModel.precision);
|
||||
conversionData = data.ToString().Substring(0, data.ToString().IndexOf(".") + (int)fieldsModel.precision + 1);//modifyby zhoukeda 20230512 增加+1
|
||||
conversionData = data.ParseToDouble();//modifyby zhoukeda 20230512
|
||||
}
|
||||
else conversionData = data;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user