Merge branch 'dev' of https://git.tuotong-tech.com/tnb/tnb.server into dev
This commit is contained in:
@@ -27,6 +27,22 @@ public static class DictConst
|
||||
/// 备品备件类型
|
||||
/// </summary>
|
||||
public const string SparePartsType = "SparePartsType";
|
||||
/// <summary>
|
||||
/// 注塑工单
|
||||
/// </summary>
|
||||
public const string PrdMoTypeZS = "25572555259157";
|
||||
/// <summary>
|
||||
/// 挤出工单
|
||||
/// </summary>
|
||||
public const string PrdMoTypeJC = "25019172714005";
|
||||
/// <summary>
|
||||
/// 组装工单
|
||||
/// </summary>
|
||||
public const string PrdMoTypeZZ = "25019181615125";
|
||||
/// <summary>
|
||||
/// 包装工单
|
||||
/// </summary>
|
||||
public const string PrdMoTypeBZ = "25019191681045";
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -52,7 +52,34 @@ namespace Tnb.ProductionMgr.Entities.Dto.PrdManage
|
||||
|
||||
public string? workline_name { get; set; }
|
||||
|
||||
public string? workshop_name { get; set; }
|
||||
|
||||
public string? mbom_version { get; set; }
|
||||
|
||||
public string station_name { get; set; }
|
||||
|
||||
public string equip_code { get; set; }
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 工单追溯二级列表输出类
|
||||
/// </summary>
|
||||
public class PrdMoFromManListOutput
|
||||
{
|
||||
// /// <summary>
|
||||
// /// 提报id
|
||||
// /// </summary>
|
||||
// public string id { get; set; }
|
||||
//
|
||||
// public string workgroup_name { get; set; }
|
||||
|
||||
public string employee_name { get; set; }
|
||||
public string work_time { get; set; }
|
||||
|
||||
public DateTime? start_time { get; set; }
|
||||
public DateTime? end_time { get; set; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -418,29 +418,101 @@ namespace Tnb.ProductionMgr
|
||||
public async Task<dynamic> PrdMoFromTwoList(Dictionary<string,string> dic)
|
||||
{
|
||||
string mo_id = dic.ContainsKey("mo_id") ? dic["mo_id"] : "";
|
||||
return await _db.Queryable<PrdMoTask>()
|
||||
.LeftJoin<BasMaterial>((a, b) => a.material_id == b.id)
|
||||
.LeftJoin<OrganizeEntity>((a, b, c) => a.workline_id == c.Id)
|
||||
.LeftJoin<BasMbom>((a, b, c, d) => a.bom_id == d.id)
|
||||
.WhereIF(!string.IsNullOrEmpty(mo_id),(a,b,c,d)=>a.mo_id==mo_id)
|
||||
.Select((a, b, c, d) =>
|
||||
new PrdMoFromTwoListOutput
|
||||
{
|
||||
id = a.id,
|
||||
mo_task_code = a.mo_task_code,
|
||||
material_id = a.material_id,
|
||||
material_code = b.code,
|
||||
material_name = b.name,
|
||||
material_standard = b.material_standard,
|
||||
act_start_date = a.act_start_date == null
|
||||
? ""
|
||||
: a.act_start_date.Value.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
act_end_date = a.act_end_date == null
|
||||
? ""
|
||||
: a.act_end_date.Value.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
workline_name = c.FullName,
|
||||
mbom_version = d.version
|
||||
}).ToListAsync();
|
||||
string mo_task_code = dic.ContainsKey("mo_task_code") ? dic["mo_task_code"] : "";
|
||||
string batch = dic.ContainsKey("batch") ? dic["batch"] : "";
|
||||
List<string> ids = new List<string>();
|
||||
if (!string.IsNullOrEmpty(batch))
|
||||
{
|
||||
ids = await _db.Queryable<PrdReport>().Where(x => x.batch.Contains(batch)).Select(x=>x.mo_task_id).ToListAsync();
|
||||
}
|
||||
|
||||
PrdMo prdMo = await _repository.GetSingleAsync(x => x.id == mo_id);
|
||||
if (prdMo.mo_type is DictConst.PrdMoTypeZS or DictConst.PrdMoTypeJC)
|
||||
{
|
||||
return await _db.Queryable<PrdMoTask>()
|
||||
.LeftJoin<BasMaterial>((a, b) => a.material_id == b.id)
|
||||
.LeftJoin<OrganizeRelationEntity>((a,b,c)=>a.eqp_id==c.ObjectId && c.ObjectType=="Eqp")
|
||||
.LeftJoin<OrganizeEntity>((a,b,c,d)=>c.OrganizeId==d.Id)
|
||||
.LeftJoin<OrganizeEntity>((a,b,c,d,e)=>d.OrganizeIdTree.Contains(e.Id) && e.Category==DictConst.RegionCategoryWorkshopCode)
|
||||
.LeftJoin<EqpEquipment>((a,b,c,d,e,f)=>a.eqp_id==f.id)
|
||||
.WhereIF(!string.IsNullOrEmpty(mo_id),(a,b,c,d)=>a.mo_id==mo_id)
|
||||
.WhereIF(!string.IsNullOrEmpty(mo_task_code),(a,b,c,d)=>a.mo_task_code==mo_task_code)
|
||||
.WhereIF(ids!=null && ids.Count>0,(a,b,c,d)=>ids.Contains(a.id))
|
||||
.Select((a, b, c, d,e,f) =>
|
||||
new PrdMoFromTwoListOutput
|
||||
{
|
||||
id = a.id,
|
||||
mo_task_code = a.mo_task_code,
|
||||
material_id = a.material_id,
|
||||
material_code = b.code,
|
||||
material_name = b.name,
|
||||
material_standard = b.material_standard,
|
||||
act_start_date = a.act_start_date == null ? "" : a.act_start_date.Value.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
act_end_date = a.act_end_date == null ? "" : a.act_end_date.Value.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
workshop_name = e.FullName,
|
||||
station_name = d.FullName,
|
||||
equip_code = f.code
|
||||
}).ToListAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
return await _db.Queryable<PrdMoTask>()
|
||||
.LeftJoin<BasMaterial>((a, b) => a.material_id == b.id)
|
||||
.LeftJoin<OrganizeEntity>((a, b, c) => a.workline_id == c.Id)
|
||||
.LeftJoin<BasMbom>((a, b, c, d) => a.bom_id == d.id)
|
||||
.WhereIF(!string.IsNullOrEmpty(mo_id),(a,b,c,d)=>a.mo_id==mo_id)
|
||||
.WhereIF(!string.IsNullOrEmpty(mo_task_code),(a,b,c,d)=>a.mo_task_code==mo_task_code)
|
||||
.WhereIF(ids!=null && ids.Count>0,(a,b,c,d)=>ids.Contains(a.id))
|
||||
.Select((a, b, c, d) =>
|
||||
new PrdMoFromTwoListOutput
|
||||
{
|
||||
id = a.id,
|
||||
mo_task_code = a.mo_task_code,
|
||||
material_id = a.material_id,
|
||||
material_code = b.code,
|
||||
material_name = b.name,
|
||||
material_standard = b.material_standard,
|
||||
act_start_date = a.act_start_date == null ? "" : a.act_start_date.Value.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
act_end_date = a.act_end_date == null ? "" : a.act_end_date.Value.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
workline_name = c.FullName,
|
||||
mbom_version = d.version
|
||||
}).ToListAsync();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 工单追溯人列表
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<dynamic> PrdMoFromManList(Dictionary<string,string> dic)
|
||||
{
|
||||
string mo_task_id = dic.ContainsKey("mo_task_id") ? dic["mo_task_id"] : "";
|
||||
string batch = dic.ContainsKey("batch") ? dic["batch"] : "";
|
||||
List<string> ids = new List<string>();
|
||||
if (!string.IsNullOrEmpty(batch))
|
||||
{
|
||||
ids = await _db.Queryable<PrdReport>().Where(x => x.batch.Contains(batch)).Select(x=>x.mo_task_id).ToListAsync();
|
||||
}
|
||||
|
||||
return await _db.Queryable<PrdReport>()
|
||||
.LeftJoin<UserEntity>((a, b) => a.create_id == b.Id)
|
||||
.WhereIF(!string.IsNullOrEmpty(mo_task_id), (a, b) => a.mo_task_id == mo_task_id)
|
||||
.WhereIF(ids!=null && ids.Count>0,(a,b)=>ids.Contains(a.mo_task_id))
|
||||
.GroupBy((a,b)=>new {a.create_id,employee_name = b.RealName})
|
||||
.Select((a, b) => new PrdMoFromManListOutput()
|
||||
{
|
||||
// id = a.id,
|
||||
employee_name = b.RealName,
|
||||
start_time = SqlFunc.AggregateMin(a.create_time),
|
||||
end_time = SqlFunc.AggregateMax(a.create_time)
|
||||
}).Mapper(x =>
|
||||
{
|
||||
x.work_time = (x.start_time == null ? "" : x.start_time.Value.ToString("yyyy-MM-dd HH:mm:ss")) + "~" + (x.end_time == null ? "" : x.end_time.Value.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
})
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -45,7 +45,7 @@ using Tnb.BasicData.Entities.Dto;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using Tnb.PerMgr.Entities;
|
||||
using Tnb.QcMgr.Interfaces;
|
||||
using Tnb.QcMgr.Entities.Dto;
|
||||
using Tnb.QcMgr.Entities;
|
||||
using Tnb.QcMgr.Entities.Enums;
|
||||
|
||||
// using Tnb.PerMgr.Entities;
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.QcMgr.Entities.Dto
|
||||
namespace Tnb.QcMgr.Entities
|
||||
{
|
||||
public class CheckItemsInput
|
||||
{
|
||||
|
||||
@@ -3,7 +3,6 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Tnb.QcMgr.Entities.Dto;
|
||||
|
||||
namespace Tnb.QcMgr.Entities
|
||||
{
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.QcMgr.Entities.Dto
|
||||
namespace Tnb.QcMgr.Entities
|
||||
{
|
||||
public class QcCheckExecHOut
|
||||
{
|
||||
|
||||
12
QcMgr/Tnb.QcMgr.Entities/Dto/SpcData.cs
Normal file
12
QcMgr/Tnb.QcMgr.Entities/Dto/SpcData.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.QcMgr.Entities
|
||||
{
|
||||
public class SpcDataInput
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
||||
using NPOI.SS.Formula.PTG;
|
||||
using Tnb.QcMgr.Entities.Enums;
|
||||
|
||||
namespace Tnb.QcMgr.Entities.Dto
|
||||
namespace Tnb.QcMgr.Entities
|
||||
{
|
||||
public class TriggerPlan
|
||||
{
|
||||
|
||||
@@ -7,7 +7,7 @@ using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Tnb.QcMgr.Entities.Entity
|
||||
namespace Tnb.QcMgr.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// 质检方案工位关联表
|
||||
|
||||
@@ -7,7 +7,7 @@ using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Tnb.QcMgr.Entities.Entity
|
||||
namespace Tnb.QcMgr.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// 不良等级
|
||||
|
||||
45
QcMgr/Tnb.QcMgr.Entities/Entity/QcSpcConfig.cs
Normal file
45
QcMgr/Tnb.QcMgr.Entities/Entity/QcSpcConfig.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Tnb.QcMgr.Entities
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// spc控制图系数
|
||||
/// </summary>
|
||||
[SugarTable("qc_spc_config")]
|
||||
public partial class QcSpcConfig : BaseEntity<string>
|
||||
{
|
||||
public QcSpcConfig()
|
||||
{
|
||||
id = SnowflakeIdHelper.NextId();
|
||||
}
|
||||
/// <summary>
|
||||
/// 控制图类型
|
||||
/// </summary>
|
||||
public string? spctype { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 子组容量
|
||||
/// </summary>
|
||||
public string? subcapacity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 控制图键
|
||||
/// </summary>
|
||||
public string? spckey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 控制图值
|
||||
/// </summary>
|
||||
public decimal? spcdata { get; set; }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
64
QcMgr/Tnb.QcMgr.Entities/Entity/QcSpcD.cs
Normal file
64
QcMgr/Tnb.QcMgr.Entities/Entity/QcSpcD.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Tnb.QcMgr.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// spc子表
|
||||
/// </summary>
|
||||
[SugarTable("qc_spc_d")]
|
||||
public partial class QcSpcD : BaseEntity<string>
|
||||
{
|
||||
public QcSpcD()
|
||||
{
|
||||
id = SnowflakeIdHelper.NextId();
|
||||
}
|
||||
/// <summary>
|
||||
/// 主表id
|
||||
/// </summary>
|
||||
public string? mainid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 检验时间
|
||||
/// </summary>
|
||||
public string? checktime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 批次
|
||||
/// </summary>
|
||||
public string? batch { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据
|
||||
/// </summary>
|
||||
public string? data { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 检查数量
|
||||
/// </summary>
|
||||
public int? checknum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 不良品数量
|
||||
/// </summary>
|
||||
public int? defectivenum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建用户
|
||||
/// </summary>
|
||||
public string? create_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime? create_time { get; set; }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
160
QcMgr/Tnb.QcMgr.Entities/Entity/QcSpcH.cs
Normal file
160
QcMgr/Tnb.QcMgr.Entities/Entity/QcSpcH.cs
Normal file
@@ -0,0 +1,160 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Tnb.QcMgr.Entities
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// spc主表
|
||||
/// </summary>
|
||||
[SugarTable("qc_spc_h")]
|
||||
public partial class QcSpcH : BaseEntity<string>
|
||||
{
|
||||
public QcSpcH()
|
||||
{
|
||||
id = SnowflakeIdHelper.NextId();
|
||||
}
|
||||
/// <summary>
|
||||
/// 编号
|
||||
/// </summary>
|
||||
public string? code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 检测项目
|
||||
/// </summary>
|
||||
public string? checkproject { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 检测类别
|
||||
/// </summary>
|
||||
public string? checktype { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 图类
|
||||
/// </summary>
|
||||
public string? graphtype { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 样本容量
|
||||
/// </summary>
|
||||
public int? samplesize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 小数位数
|
||||
/// </summary>
|
||||
public int? decimalplace { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 产品名称
|
||||
/// </summary>
|
||||
public string? productname { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 任务单编号
|
||||
/// </summary>
|
||||
public string? taskcode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 批次
|
||||
/// </summary>
|
||||
public string? batch { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 产线
|
||||
/// </summary>
|
||||
public string? productline { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 班次
|
||||
/// </summary>
|
||||
public string? work { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 设备
|
||||
/// </summary>
|
||||
public string? device { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 工序
|
||||
/// </summary>
|
||||
public string? process { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 供应商
|
||||
/// </summary>
|
||||
public string? supplier { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 客户
|
||||
/// </summary>
|
||||
public string? custom { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 规格上限
|
||||
/// </summary>
|
||||
public decimal? uplimit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 目标值
|
||||
/// </summary>
|
||||
public decimal? target { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 规格下限
|
||||
/// </summary>
|
||||
public decimal? lowerlimit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 子组容量
|
||||
/// </summary>
|
||||
public int? subcapacity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 判异规则
|
||||
/// </summary>
|
||||
public string? rule { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建用户
|
||||
/// </summary>
|
||||
public string? create_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime? create_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 修改用户
|
||||
/// </summary>
|
||||
public string? modify_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 修改时间
|
||||
/// </summary>
|
||||
public DateTime? modify_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所属组织
|
||||
/// </summary>
|
||||
public string? org_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 流程任务Id
|
||||
/// </summary>
|
||||
public string? f_flowtaskid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 流程引擎Id
|
||||
/// </summary>
|
||||
public string? f_flowid { get; set; }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Tnb.QcMgr.Entities.Dto;
|
||||
using Tnb.QcMgr.Entities;
|
||||
|
||||
namespace Tnb.QcMgr.Interfaces
|
||||
{
|
||||
|
||||
@@ -4,7 +4,6 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Tnb.QcMgr.Entities;
|
||||
using Tnb.QcMgr.Entities.Dto;
|
||||
|
||||
namespace Tnb.QcMgr.Interfaces
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Tnb.QcMgr.Entities.Dto;
|
||||
using Tnb.QcMgr.Entities;
|
||||
|
||||
namespace Tnb.QcMgr.Interfaces
|
||||
{
|
||||
|
||||
@@ -4,7 +4,6 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Tnb.QcMgr.Entities;
|
||||
using Tnb.QcMgr.Entities.Dto;
|
||||
|
||||
namespace Tnb.QcMgr.Interfaces
|
||||
{
|
||||
|
||||
25
QcMgr/Tnb.QcMgr.Interfaces/IQcSpcService.cs
Normal file
25
QcMgr/Tnb.QcMgr.Interfaces/IQcSpcService.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Tnb.QcMgr.Entities;
|
||||
|
||||
namespace Tnb.QcMgr.Interfaces
|
||||
{
|
||||
public interface IQcSpcService
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取spcd数据
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
public Task<dynamic> GetSpcItems(string id);
|
||||
|
||||
/// <summary>
|
||||
/// 保存spcd数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public Task SaveData(SpcDataInput SpcDataInput);
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,6 @@ using NPOI.Util;
|
||||
using SqlSugar;
|
||||
using Tnb.Common;
|
||||
using Tnb.QcMgr.Entities;
|
||||
using Tnb.QcMgr.Entities.Dto;
|
||||
using Tnb.QcMgr.Interfaces;
|
||||
|
||||
namespace Tnb.QcMgr
|
||||
|
||||
@@ -25,7 +25,7 @@ using Newtonsoft.Json;
|
||||
using SqlSugar;
|
||||
using Tnb.ProductionMgr.Entities;
|
||||
using Tnb.QcMgr.Entities;
|
||||
using Tnb.QcMgr.Entities.Dto;
|
||||
using Tnb.QcMgr.Entities;
|
||||
using Tnb.QcMgr.Entities.Entity;
|
||||
using Tnb.QcMgr.Entities.Enums;
|
||||
using Tnb.QcMgr.Interfaces;
|
||||
|
||||
@@ -17,7 +17,6 @@ using Newtonsoft.Json;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities;
|
||||
using Tnb.QcMgr.Entities;
|
||||
using Tnb.QcMgr.Entities.Dto;
|
||||
|
||||
namespace Tnb.QcMgr
|
||||
{ /// <summary>
|
||||
|
||||
@@ -27,7 +27,7 @@ using Tnb.EquipMgr.Entities;
|
||||
using Tnb.ProductionMgr.Entities.Dto;
|
||||
using Tnb.ProductionMgr.Entities;
|
||||
using Tnb.QcMgr.Entities;
|
||||
using Tnb.QcMgr.Entities.Dto;
|
||||
using Tnb.QcMgr.Entities;
|
||||
using Tnb.QcMgr.Entities.Entity;
|
||||
using Tnb.QcMgr.Interfaces;
|
||||
using JNPF.Common.Extension;
|
||||
|
||||
Reference in New Issue
Block a user