This commit is contained in:
yang.lee
2023-11-07 09:05:44 +08:00
819 changed files with 9257 additions and 10606 deletions

View File

@@ -9,7 +9,7 @@ namespace Tnb.BasicData
/// 物料签收编码 /// 物料签收编码
/// </summary> /// </summary>
public const string MATERIAL_RECEIPT_CODE = "MaterialReceipt"; public const string MATERIAL_RECEIPT_CODE = "MaterialReceipt";
/// <summary> /// <summary>
/// 生产投料编码 /// 生产投料编码
/// </summary> /// </summary>
@@ -24,17 +24,17 @@ namespace Tnb.BasicData
/// 备件领用 /// 备件领用
/// </summary> /// </summary>
public const string SPAREPARTSREQUISITION_CODE = "SparePartsRequisition"; public const string SPAREPARTSREQUISITION_CODE = "SparePartsRequisition";
/// <summary> /// <summary>
/// 生产齐套领料 /// 生产齐套领料
/// </summary> /// </summary>
public const string PRDKITTINGOUTSTOCK_CODE = "PrdKittingOutStocK"; public const string PRDKITTINGOUTSTOCK_CODE = "PrdKittingOutStocK";
/// <summary> /// <summary>
/// 设备维修单 /// 设备维修单
/// </summary> /// </summary>
public const string EQPREPAIR_CODE = "EqpRepair"; public const string EQPREPAIR_CODE = "EqpRepair";
} }
} }

View File

@@ -6,7 +6,7 @@ namespace Tnb.BasicData
/// 2024-10-27 10:10 /// 2024-10-27 10:10
/// </summary> /// </summary>
public const string MM = "yyyy-MM-dd HH:mi"; public const string MM = "yyyy-MM-dd HH:mi";
/// <summary> /// <summary>
/// 2024-10-27 10:10:10 /// 2024-10-27 10:10:10
/// </summary> /// </summary>

View File

@@ -76,7 +76,7 @@ public static class DictConst
/// 工单状态-code /// 工单状态-code
/// </summary> /// </summary>
public const string MoTaskStatusCode = "OrderStatus"; public const string MoTaskStatusCode = "OrderStatus";
/// <summary> /// <summary>
/// 工单状态 已下发字典Id /// 工单状态 已下发字典Id
/// </summary> /// </summary>
@@ -137,12 +137,12 @@ public static class DictConst
/// 任务单状态key /// 任务单状态key
/// </summary> /// </summary>
public const string TaskStatus = "TaskStatus"; public const string TaskStatus = "TaskStatus";
/// <summary> /// <summary>
/// andon状态key /// andon状态key
/// </summary> /// </summary>
public const string AndonStatus = "AndonStatus"; public const string AndonStatus = "AndonStatus";
/// <summary> /// <summary>
/// andon状态呼叫中 /// andon状态呼叫中
/// </summary> /// </summary>
@@ -168,7 +168,17 @@ public static class DictConst
/// 产成品入库单 /// 产成品入库单
/// </summary> /// </summary>
public const string CHANCHENGPINRUKUDAN = "40"; public const string CHANCHENGPINRUKUDAN = "40";
/// <summary>
/// 生产领料单
/// </summary>
public const string SHENGCHANLINGLIAO = "23";
/// <summary>
/// 生产补料单
/// </summary>
public const string SHENGCHANBULIAO = "24";
#endregion #endregion

View File

@@ -9,7 +9,7 @@ namespace Tnb.BasicData
/// 报工是否允许超过工单计划数 是1 否 0 /// 报工是否允许超过工单计划数 是1 否 0
/// </summary> /// </summary>
public const string IS_SURPASS = "is_surpass"; public const string IS_SURPASS = "is_surpass";
/// <summary> /// <summary>
/// 报工允许超过工单计划数百分比 例填写10就是10% /// 报工允许超过工单计划数百分比 例填写10就是10%
/// </summary> /// </summary>

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.BasicData;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.BasicData;
public class ModuleConst public class ModuleConst
{ {

View File

@@ -5,17 +5,17 @@ namespace Tnb.BasicData
#region wms #region wms
//mes生产入库接口 //mes生产入库接口
public const string MES_CREATE_INSTOCK = "/api/wms/wms-in-stock/mes-create-instock"; public const string MES_CREATE_INSTOCK = "/api/wms/wms-in-stock/mes-create-instock";
//载具签收接口 //载具签收接口
public const string MES_CARRY_SIGN = "/api/wms/wms-sign-for-delivery/mes-carry-sign"; public const string MES_CARRY_SIGN = "/api/wms/wms-sign-for-delivery/mes-carry-sign";
//生产出库接口 //生产出库接口
public const string MES_CREATE_OUTSTOCK = "/api/wms/wms-out-stock/mes-create-outstock"; public const string MES_CREATE_OUTSTOCK = "/api/wms/wms-out-stock/mes-create-outstock";
//齐套出库接口 //齐套出库接口
public const string MES_KITTING_OUT_STK = "/api/wms/wmskitting-out/mes-kitting-out-stk"; public const string MES_KITTING_OUT_STK = "/api/wms/wmskitting-out/mes-kitting-out-stk";
//物料标签查询接口 //物料标签查询接口
public const string MES_FETCH_IN_OUT_STOCK_INFO_BY_BAR_CODE = "/api/wms/wms-in-stock/mes-fetch-in-out-stock-info-by-bar-code"; public const string MES_FETCH_IN_OUT_STOCK_INFO_BY_BAR_CODE = "/api/wms/wms-in-stock/mes-fetch-in-out-stock-info-by-bar-code";

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.BasicData.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.BasicData.Entities.Dto
{ {
public class CalendarInput public class CalendarInput
{ {
@@ -12,9 +6,9 @@ namespace Tnb.BasicData.Entities.Dto
public string? datetype { get; set; } public string? datetype { get; set; }
public string? workhour { get; set; } public string? workhour { get; set; }
public string? worktype { get; set; } public string? worktype { get; set; }
public int? calendartype { get; set;} public int? calendartype { get; set; }
public string? content { get; set;} public string? content { get; set; }
} }
public class CalendarBatchInput public class CalendarBatchInput
{ {

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.BasicData.Entities.Dto.BasCalendar
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.BasicData.Entities.Dto.BasCalendar
{ {
public class CalendarOut public class CalendarOut
{ {

View File

@@ -4,7 +4,7 @@ namespace Tnb.BasicData.Entities.Dto
{ {
public string mbom_id { get; set; } = string.Empty; public string mbom_id { get; set; } = string.Empty;
public string mbom_process_id { get; set; } = string.Empty; public string mbom_process_id { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 当前页码:pageIndex. /// 当前页码:pageIndex.
/// </summary> /// </summary>
@@ -14,7 +14,7 @@ namespace Tnb.BasicData.Entities.Dto
/// 每页行数. /// 每页行数.
/// </summary> /// </summary>
public virtual int pageSize { get; set; } = 50; public virtual int pageSize { get; set; } = 50;
public string? queryJson { get; set; } public string? queryJson { get; set; }
} }
} }

View File

@@ -25,9 +25,9 @@ namespace Tnb.BasicData.Entities.Dto
/// 附件对象. /// 附件对象.
/// </summary> /// </summary>
public string attachment { get; set; } = string.Empty; public string attachment { get; set; } = string.Empty;
public string version { get; set; } = string.Empty; public string version { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>

View File

@@ -30,54 +30,54 @@ namespace Tnb.BasicData.Entities.Dto
/// 是否有下级 /// 是否有下级
/// </summary> /// </summary>
public bool hasChildren { get; set; } public bool hasChildren { get; set; }
/// <summary> /// <summary>
/// Desc:投料管控 /// Desc:投料管控
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? feeding_control {get;set;} public string? feeding_control { get; set; }
/// <summary> /// <summary>
/// Desc:损耗率 /// Desc:损耗率
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? loss_rate {get;set;} public string? loss_rate { get; set; }
/// </summary> /// </summary>
/// <summary> /// <summary>
/// 数量 /// 数量
/// </summary> /// </summary>
public decimal quantity { get; set; } public decimal quantity { get; set; }
/// <summary> /// <summary>
/// Desc:需要称量 /// Desc:需要称量
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? require_weight {get;set;} public string? require_weight { get; set; }
/// <summary> /// <summary>
/// Desc:替代物料 /// Desc:替代物料
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? substitute_material_id {get;set;} public string? substitute_material_id { get; set; }
/// <summary> /// <summary>
/// Desc:工艺路线 /// Desc:工艺路线
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? route_name {get;set;} public string? route_name { get; set; }
/// <summary> /// <summary>
/// Desc:版本号 /// Desc:版本号
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? version {get;set;} public string? version { get; set; }
} }
} }

View File

@@ -10,8 +10,8 @@ namespace Tnb.BasicData.Entities.Dto
/// 物料id /// 物料id
/// </summary> /// </summary>
public string? materialId { get; set; } public string? materialId { get; set; }
} }
} }

View File

@@ -12,7 +12,7 @@ namespace Tnb.BasicData.Entities.Dto
/// 物料类型 /// 物料类型
/// </summary> /// </summary>
public string types { get; set; } = string.Empty; public string types { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 当前页码:pageIndex. /// 当前页码:pageIndex.
/// </summary> /// </summary>

View File

@@ -9,27 +9,27 @@ namespace Tnb.BasicData.Entities.Dto
/// 物料id /// 物料id
/// </summary> /// </summary>
public string? id { get; set; } public string? id { get; set; }
/// <summary> /// <summary>
/// 编码 /// 编码
/// </summary> /// </summary>
public string? code { get; set; } public string? code { get; set; }
/// <summary> /// <summary>
/// 名称 /// 名称
/// </summary> /// </summary>
public string? name { get; set; } public string? name { get; set; }
/// <summary> /// <summary>
/// 描述 /// 描述
/// </summary> /// </summary>
public string? descrip { get; set; } public string? descrip { get; set; }
/// <summary> /// <summary>
/// 主单位id /// 主单位id
/// </summary> /// </summary>
public string? unit_id { get; set; } public string? unit_id { get; set; }
/// <summary> /// <summary>
/// 主单位名称 /// 主单位名称
/// </summary> /// </summary>

View File

@@ -11,7 +11,7 @@ namespace Tnb.BasicData.Entities.Dto
/// 物料编码名称查询 /// 物料编码名称查询
/// </summary> /// </summary>
public string material_info { get; set; } = string.Empty; public string material_info { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 当前页码:pageIndex. /// 当前页码:pageIndex.
/// </summary> /// </summary>

View File

@@ -1,5 +1,3 @@
using Tnb.BasicData.Entities;
namespace Tnb.BasicData.Entities.Dto namespace Tnb.BasicData.Entities.Dto
{ {
public class MbomDataOutput public class MbomDataOutput
@@ -8,57 +6,57 @@ namespace Tnb.BasicData.Entities.Dto
/// 生产bomid /// 生产bomid
/// </summary> /// </summary>
public string? id { get; set; } public string? id { get; set; }
/// <summary> /// <summary>
/// 物料id /// 物料id
/// </summary> /// </summary>
public string? material_id { get; set; } public string? material_id { get; set; }
/// <summary> /// <summary>
/// 数量 /// 数量
/// </summary> /// </summary>
public int num { get; set; } public int num { get; set; }
/// <summary> /// <summary>
/// 单位id /// 单位id
/// </summary> /// </summary>
public string? unit_id { get; set; } public string? unit_id { get; set; }
/// <summary> /// <summary>
/// 版本号 /// 版本号
/// </summary> /// </summary>
public string? version { get; set; } public string? version { get; set; }
/// <summary> /// <summary>
/// 有效开始时间 /// 有效开始时间
/// </summary> /// </summary>
public DateTime? start_time { get; set; } public DateTime? start_time { get; set; }
/// <summary> /// <summary>
/// 有效结束时间 /// 有效结束时间
/// </summary> /// </summary>
public DateTime? end_time { get; set; } public DateTime? end_time { get; set; }
/// <summary> /// <summary>
/// 物料清单id /// 物料清单id
/// </summary> /// </summary>
public string? ebom_id { get; set; } public string? ebom_id { get; set; }
/// <summary> /// <summary>
/// 工艺路线id /// 工艺路线id
/// </summary> /// </summary>
public string? route_id { get; set; } public string? route_id { get; set; }
/// <summary> /// <summary>
/// 物料均再首道工序投产 /// 物料均再首道工序投产
/// </summary> /// </summary>
public int? is_first { get; set; } public int? is_first { get; set; }
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>
public string? remark { get; set; } public string? remark { get; set; }
/// <summary> /// <summary>
/// 工序 /// 工序
/// </summary> /// </summary>
@@ -68,24 +66,24 @@ namespace Tnb.BasicData.Entities.Dto
public class MbomProcessOutDto public class MbomProcessOutDto
{ {
public string id { get; set; } = string.Empty; public string id { get; set; } = string.Empty;
/// <summary> /// <summary>
/// Desc:生产bomid /// Desc:生产bomid
/// Default: /// Default:
/// Nullable:False /// Nullable:False
/// </summary> /// </summary>
public string? mbom_id { get; set; } public string? mbom_id { get; set; }
/// <summary> /// <summary>
/// 工序编号 /// 工序编号
/// </summary> /// </summary>
public string? no { get; set; } public string? no { get; set; }
/// <summary> /// <summary>
/// 上道工序编号 /// 上道工序编号
/// </summary> /// </summary>
public string? last_process_no { get; set; } public string? last_process_no { get; set; }
/// <summary> /// <summary>
/// 下道工序编号 /// 下道工序编号
/// </summary> /// </summary>
@@ -111,26 +109,26 @@ namespace Tnb.BasicData.Entities.Dto
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? station { get; set; } public string? station { get; set; }
/// <summary> /// <summary>
/// Desc:副产出管控 0 不启用 1 启用 /// Desc:副产出管控 0 不启用 1 启用
/// Default: /// Default:
/// Nullable:False /// Nullable:False
/// </summary> /// </summary>
public int byproduct_status { get; set; } public int byproduct_status { get; set; }
/// <summary> /// <summary>
/// Desc:投产方式 /// Desc:投产方式
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? production_method {get;set;} public string? production_method { get; set; }
/// <summary> /// <summary>
/// 投入物料 /// 投入物料
/// </summary> /// </summary>
public List<BasMbomInput>? inputs { get; set; } public List<BasMbomInput>? inputs { get; set; }
/// <summary> /// <summary>
/// 产出物料 /// 产出物料
/// </summary> /// </summary>

View File

@@ -1,5 +1,3 @@
using Tnb.BasicData.Entities;
namespace Tnb.BasicData.Entities.Dto namespace Tnb.BasicData.Entities.Dto
{ {
public class MbomSaveDataInput public class MbomSaveDataInput
@@ -8,57 +6,57 @@ namespace Tnb.BasicData.Entities.Dto
/// 生产bomid /// 生产bomid
/// </summary> /// </summary>
public string id { get; set; } = string.Empty; public string id { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 物料id /// 物料id
/// </summary> /// </summary>
public string material_id { get; set; } = string.Empty; public string material_id { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 数量 /// 数量
/// </summary> /// </summary>
public int num { get; set; } public int num { get; set; }
/// <summary> /// <summary>
/// 单位id /// 单位id
/// </summary> /// </summary>
public string unit_id { get; set; } = string.Empty; public string unit_id { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 版本号 /// 版本号
/// </summary> /// </summary>
public string version { get; set; } = string.Empty; public string version { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 有效开始时间 /// 有效开始时间
/// </summary> /// </summary>
public DateTime? start_time { get; set; } public DateTime? start_time { get; set; }
/// <summary> /// <summary>
/// 有效结束时间 /// 有效结束时间
/// </summary> /// </summary>
public DateTime? end_time { get; set; } public DateTime? end_time { get; set; }
/// <summary> /// <summary>
/// 物料清单id /// 物料清单id
/// </summary> /// </summary>
public string ebom_id { get; set; } = string.Empty; public string ebom_id { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 工艺路线id /// 工艺路线id
/// </summary> /// </summary>
public string route_id { get; set; } = string.Empty; public string route_id { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 物料均再首道工序投产 /// 物料均再首道工序投产
/// </summary> /// </summary>
public int is_first { get; set; } public int is_first { get; set; }
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>
public string remark { get; set; } = string.Empty; public string remark { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 工序 /// 工序
/// </summary> /// </summary>
@@ -68,7 +66,7 @@ namespace Tnb.BasicData.Entities.Dto
public class MbomProcessDto public class MbomProcessDto
{ {
public string id { get; set; } = string.Empty; public string id { get; set; } = string.Empty;
/// <summary> /// <summary>
/// Desc:生产bomid /// Desc:生产bomid
/// Default: /// Default:
@@ -82,17 +80,17 @@ namespace Tnb.BasicData.Entities.Dto
/// Nullable:False /// Nullable:False
/// </summary> /// </summary>
public string? process_id { get; set; } public string? process_id { get; set; }
/// <summary> /// <summary>
/// 工序编号 /// 工序编号
/// </summary> /// </summary>
public string? no { get; set; } public string? no { get; set; }
/// <summary> /// <summary>
/// 上道工序编号 /// 上道工序编号
/// </summary> /// </summary>
public string? last_process_no { get; set; } public string? last_process_no { get; set; }
/// <summary> /// <summary>
/// 下道工序编号 /// 下道工序编号
/// </summary> /// </summary>
@@ -111,31 +109,31 @@ namespace Tnb.BasicData.Entities.Dto
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? station { get; set; } public string? station { get; set; }
/// <summary> /// <summary>
/// Desc:副产出管控 0 不启用 1 启用 /// Desc:副产出管控 0 不启用 1 启用
/// Default: /// Default:
/// Nullable:False /// Nullable:False
/// </summary> /// </summary>
public int byproduct_status { get; set; } public int byproduct_status { get; set; }
/// <summary> /// <summary>
/// 工艺路线子表id /// 工艺路线子表id
/// </summary> /// </summary>
public string route_detail_id { get; set; } = string.Empty; public string route_detail_id { get; set; } = string.Empty;
/// <summary> /// <summary>
/// Desc:投产方式 /// Desc:投产方式
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? production_method {get;set;} public string? production_method { get; set; }
/// <summary> /// <summary>
/// 投入物料 /// 投入物料
/// </summary> /// </summary>
public List<BasMbomInput>? inputs { get; set; } public List<BasMbomInput>? inputs { get; set; }
/// <summary> /// <summary>
/// 产出物料 /// 产出物料
/// </summary> /// </summary>

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.BasicData.Entitys.Dto.BasProcess
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.BasicData.Entitys.Dto.BasProcess
{ {
/// <summary> /// <summary>
/// 工序列表输出类 /// 工序列表输出类
@@ -14,7 +8,7 @@ namespace Tnb.BasicData.Entitys.Dto.BasProcess
public string id { get; set; } public string id { get; set; }
public string process_code { get; set; } public string process_code { get; set; }
public string process_name { get; set; } public string process_name { get; set; }
public string process_collection { get; set;} public string process_collection { get; set; }
public string status { get; set; } public string status { get; set; }
public string station { get; set; } public string station { get; set; }
public string must_pass { get; set; } public string must_pass { get; set; }
@@ -27,6 +21,6 @@ namespace Tnb.BasicData.Entitys.Dto.BasProcess
public string org_id { get; set; } public string org_id { get; set; }
public string create_id { get; set; } public string create_id { get; set; }
public string modify_id { get; set; } public string modify_id { get; set; }
public DateTime? modify_time { get; set;} public DateTime? modify_time { get; set; }
} }
} }

View File

@@ -6,7 +6,7 @@ namespace Tnb.BasicData.Entities.Dto
/// 工序id /// 工序id
/// </summary> /// </summary>
public string? process_id { get; set; } public string? process_id { get; set; }
/// <summary> /// <summary>
/// 工位id集合 /// 工位id集合
/// </summary> /// </summary>

View File

@@ -3,13 +3,13 @@ namespace Tnb.BasicData.Entities.Dto
public class VaildRouteOutput public class VaildRouteOutput
{ {
public string? id { get; set; } public string? id { get; set; }
public string? code { get; set; } public string? code { get; set; }
public string? name { get; set; } public string? name { get; set; }
public string start_time { get; set; } = string.Empty; public string start_time { get; set; } = string.Empty;
public string end_time { get; set; } = string.Empty; public string end_time { get; set; } = string.Empty;
} }
} }

View File

@@ -2,8 +2,8 @@ namespace Tnb.BasicData.Entitys
{ {
public class ElementSelectDto public class ElementSelectDto
{ {
public string?label { get; set; } public string? label { get; set; }
public string? value { get; set; } public string? value { get; set; }
} }
} }

View File

@@ -1,9 +1,4 @@
using System; using JNPF.Common.Security;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JNPF.Common.Security;
namespace Tnb.BasicData.Entities.Dto namespace Tnb.BasicData.Entities.Dto
{ {

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.BasicData.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.BasicData.Entities.Dto
{ {
/// <summary> /// <summary>
/// 子工单列表 /// 子工单列表
@@ -34,7 +28,7 @@ namespace Tnb.BasicData.Entities.Dto
/// <summary> /// <summary>
/// 数量 /// 数量
/// </summary> /// </summary>
public string num { get; set;} public string num { get; set; }
/// <summary> /// <summary>
/// 单位id /// 单位id
/// </summary> /// </summary>
@@ -64,7 +58,7 @@ namespace Tnb.BasicData.Entities.Dto
/// 工序排序序号 /// 工序排序序号
/// </summary> /// </summary>
public long? ordinal { get; set; } public long? ordinal { get; set; }
/// <summary> /// <summary>
/// 生产bom工序id /// 生产bom工序id
/// </summary> /// </summary>

View File

@@ -1,9 +1,4 @@
using System; using JNPF.Common.Contracts;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JNPF.Common.Contracts;
using JNPF.Common.Security; using JNPF.Common.Security;
using SqlSugar; using SqlSugar;

View File

@@ -1,7 +1,6 @@
using JNPF.Common.Contracts; using JNPF.Common.Contracts;
using JNPF.Common.Security; using JNPF.Common.Security;
using SqlSugar; using SqlSugar;
using SqlSugar.DbConvert;
namespace Tnb.BasicData.Entities; namespace Tnb.BasicData.Entities;
@@ -44,7 +43,7 @@ public partial class BasLocation : BaseEntity<string>
/// 是否使用 /// 是否使用
/// </summary> /// </summary>
//[SugarColumn(ColumnDataType = "varchar(32)", SqlParameterDbType = typeof(CommonPropertyConvert))] //[SugarColumn(ColumnDataType = "varchar(32)", SqlParameterDbType = typeof(CommonPropertyConvert))]
public string is_use { get; set; } public string is_use { get; set; }
/// <summary> /// <summary>
/// 是否最小 /// 是否最小

View File

@@ -248,7 +248,7 @@ public partial class BasMaterial : BaseEntity<string>
/// 是否包含入库数 /// 是否包含入库数
/// </summary> /// </summary>
public int? is_contain_into_num { get; set; } public int? is_contain_into_num { get; set; }
/// <summary> /// <summary>
/// 是否创建子工单 /// 是否创建子工单
/// </summary> /// </summary>

View File

@@ -43,7 +43,7 @@ public partial class BasMbomInput : BaseEntity<string>
/// 数量 /// 数量
/// </summary> /// </summary>
public decimal num { get; set; } public decimal num { get; set; }
/// <summary> /// <summary>
/// 单位id /// 单位id
/// </summary> /// </summary>

View File

@@ -43,7 +43,7 @@ public partial class BasMbomOutput : BaseEntity<string>
/// 产出数量(可小数分数) /// 产出数量(可小数分数)
/// </summary> /// </summary>
public string num { get; set; } = string.Empty; public string num { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 单位id /// 单位id
/// </summary> /// </summary>

View File

@@ -53,7 +53,7 @@ public partial class BasMbomProcess : BaseEntity<string>
/// 工艺路线子表id /// 工艺路线子表id
/// </summary> /// </summary>
public string route_detail_id { get; set; } = string.Empty; public string route_detail_id { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 是否时最后一道工序 /// 是否时最后一道工序
/// </summary> /// </summary>
@@ -63,7 +63,7 @@ public partial class BasMbomProcess : BaseEntity<string>
/// 排序 /// 排序
/// </summary> /// </summary>
public int ordinal { get; set; } public int ordinal { get; set; }
/// <summary> /// <summary>
/// 工序编号 /// 工序编号
/// </summary> /// </summary>

View File

@@ -113,7 +113,7 @@ public partial class BasRouteD : BaseEntity<string>
/// 产出比 /// 产出比
/// </summary> /// </summary>
public decimal? output_ratio { get; set; } public decimal? output_ratio { get; set; }
/// <summary> /// <summary>
/// 工序编号 /// 工序编号
/// </summary> /// </summary>

View File

@@ -1,9 +1,4 @@
using System; using JNPF.Common.Contracts;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JNPF.Common.Contracts;
using JNPF.Common.Security; using JNPF.Common.Security;
using SqlSugar; using SqlSugar;

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.BasicData.Entities.Enums
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.BasicData.Entities.Enums
{ {
public enum EnumCalendarType public enum EnumCalendarType
{ {

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.BasicData.Entities.Enums
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.BasicData.Entities.Enums
{ {
/// <summary> /// <summary>
/// 库位类型 /// 库位类型

View File

@@ -1,5 +1,4 @@
using Mapster; using Mapster;
using SqlSugar;
using Tnb.BasicData.Entities.Dto; using Tnb.BasicData.Entities.Dto;
namespace Tnb.BasicData.Entities namespace Tnb.BasicData.Entities

View File

@@ -1,12 +1,6 @@
using System; namespace Tnb.BasicData.Entitys.Model
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.BasicData.Entitys.Model
{ {
public class RouteTree public class RouteTree
{ {
/// <summary> /// <summary>
/// 工艺路线类型 /// 工艺路线类型
@@ -19,7 +13,7 @@ namespace Tnb.BasicData.Entitys.Model
} }
public class RouteName public class RouteName
{ {
public string Tag { get; set; } public string Tag { get; set; }
/// <summary> /// <summary>
@@ -29,5 +23,5 @@ namespace Tnb.BasicData.Entitys.Model
} }
} }

View File

@@ -1,5 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="$(SolutionDir)\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>net6.0</TargetFramework> <TargetFramework>net6.0</TargetFramework>

View File

@@ -1,9 +1,4 @@
using System; using Tnb.BasicData.Entities.Dto;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tnb.BasicData.Entities.Dto;
namespace Tnb.BasicData.Interfaces namespace Tnb.BasicData.Interfaces
{ {

View File

@@ -10,20 +10,20 @@ namespace Tnb.BasicData.Interfaces
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
public Task<dynamic> UploadNewVersion(UploadNewVersionInput input); public Task<dynamic> UploadNewVersion(UploadNewVersionInput input);
/// <summary> /// <summary>
/// 获取历史记录 /// 获取历史记录
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
public Task<dynamic> GetHistoryList(EsopHistoryListQueryInput input); public Task<dynamic> GetHistoryList(EsopHistoryListQueryInput input);
/// <summary> /// <summary>
/// 根据生产bom工序id获取实体 /// 根据生产bom工序id获取实体
/// </summary> /// </summary>
/// <param name="dic">mbomProcessId</param> /// <param name="dic">mbomProcessId</param>
/// <returns></returns> /// <returns></returns>
public Task<dynamic> GetEntityByMbomProcessId(Dictionary<string,string> dic); public Task<dynamic> GetEntityByMbomProcessId(Dictionary<string, string> dic);
} }
} }

View File

@@ -1,9 +1,4 @@
using System; using Tnb.BasicData.Entities;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tnb.BasicData.Entities;
namespace Tnb.BasicData.Interfaces namespace Tnb.BasicData.Interfaces
{ {

View File

@@ -10,8 +10,8 @@ namespace Tnb.BasicData.Interfaces
/// <param name="queryInput"></param> /// <param name="queryInput"></param>
/// <returns></returns> /// <returns></returns>
public Task<dynamic> GetMaterialSelectInfo(MaterialSelectQueryInput queryInput); public Task<dynamic> GetMaterialSelectInfo(MaterialSelectQueryInput queryInput);
/// <summary> /// <summary>
/// 获取可创建子工单的物料 /// 获取可创建子工单的物料
/// </summary> /// </summary>
@@ -25,7 +25,7 @@ namespace Tnb.BasicData.Interfaces
/// <param name="dic"></param> /// <param name="dic"></param>
/// <returns></returns> /// <returns></returns>
public Task<dynamic> GetMaterialByType(Dictionary<string, string> dic); public Task<dynamic> GetMaterialByType(Dictionary<string, string> dic);
/// <summary> /// <summary>
/// 根据物料类型获取物料列表 /// 根据物料类型获取物料列表
/// </summary> /// </summary>

View File

@@ -1,10 +1,6 @@
using JNPF.Common.Dtos.VisualDev;
using JNPF.VisualDev;
using Tnb.BasicData.Entities.Dto;
namespace Tnb.BasicData.Interfaces namespace Tnb.BasicData.Interfaces
{ {
public interface IBasProcessService public interface IBasProcessService
{ {
} }
} }

View File

@@ -1,6 +1,6 @@
namespace Tnb.BasicData.Interfaces namespace Tnb.BasicData.Interfaces
{ {
/// <summary> /// <summary>
/// 二维码 /// 二维码
/// </summary> /// </summary>
@@ -12,14 +12,14 @@ namespace Tnb.BasicData.Interfaces
/// <param name="code"></param> /// <param name="code"></param>
/// <returns></returns> /// <returns></returns>
public Task<dynamic> GetQrcodeByCode(Dictionary<string, string> dic); public Task<dynamic> GetQrcodeByCode(Dictionary<string, string> dic);
/// <summary> /// <summary>
/// 根据code获取工位信息 /// 根据code获取工位信息
/// </summary> /// </summary>
/// <param name="code"></param> /// <param name="code"></param>
/// <returns></returns> /// <returns></returns>
public Task<dynamic> GetWorkStationByCode(Dictionary<string, string> dic); public Task<dynamic> GetWorkStationByCode(Dictionary<string, string> dic);
/// <summary> /// <summary>
/// 获取工位信息 /// 获取工位信息
/// </summary> /// </summary>

View File

@@ -1,5 +1,4 @@
using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Filter;
namespace Tnb.BasicData.Interfaces namespace Tnb.BasicData.Interfaces
{ {
@@ -16,7 +15,7 @@ namespace Tnb.BasicData.Interfaces
/// </summary> /// </summary>
/// <param name="parameters">工艺路线id id</param> /// <param name="parameters">工艺路线id id</param>
public Task<string> Copy(Dictionary<string, string> parameters); public Task<string> Copy(Dictionary<string, string> parameters);
/// <summary> /// <summary>
/// 获取有效的已发布的工艺路线 /// 获取有效的已发布的工艺路线
/// </summary> /// </summary>

View File

@@ -1,5 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="$(SolutionDir)\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>net6.0</TargetFramework> <TargetFramework>net6.0</TargetFramework>

View File

@@ -1,19 +1,8 @@
using System; using JNPF.Common.Core.Manager;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Aop.Api.Domain;
using Aspose.Cells.Drawing;
using JNPF.Common.Core.Manager;
using JNPF.Common.Models.VisualDev;
using JNPF.DependencyInjection; using JNPF.DependencyInjection;
using JNPF.DynamicApiController; using JNPF.DynamicApiController;
using JNPF.JsonSerialization; using JNPF.JsonSerialization;
using JNPF.Systems.Interfaces.System;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using NPOI.SS.Formula.Functions;
using SqlSugar; using SqlSugar;
using Tnb.BasicData.Entities; using Tnb.BasicData.Entities;
using Tnb.BasicData.Entities.Dto; using Tnb.BasicData.Entities.Dto;
@@ -28,7 +17,7 @@ namespace Tnb.BasicData
/// </summary> /// </summary>
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)] [ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
[Route("api/[area]/[controller]/[action]")] [Route("api/[area]/[controller]/[action]")]
public class BasCalendarService: IBasCalendarService, IDynamicApiController, ITransient public class BasCalendarService : IBasCalendarService, IDynamicApiController, ITransient
{ {
private readonly ISqlSugarRepository<BasCalendar> _repository; private readonly ISqlSugarRepository<BasCalendar> _repository;
private readonly IUserManager _userManager; private readonly IUserManager _userManager;
@@ -38,6 +27,7 @@ namespace Tnb.BasicData
_repository = repository; _repository = repository;
_userManager = userManager; _userManager = userManager;
} }
/// <summary> /// <summary>
/// 保存工作日历 /// 保存工作日历
/// </summary> /// </summary>
@@ -46,17 +36,20 @@ namespace Tnb.BasicData
[HttpPost] [HttpPost]
public async Task SaveData(CalendarInput CalendarInput) public async Task SaveData(CalendarInput CalendarInput)
{ {
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
await db.Deleteable<BasCalendar>(p=>p.datetext== CalendarInput.datetext).ExecuteCommandAsync(); _ = await db.Deleteable<BasCalendar>(p => p.datetext == CalendarInput.datetext).ExecuteCommandAsync();
BasCalendar BasCalendar = new BasCalendar(); BasCalendar BasCalendar = new()
BasCalendar.datetext = CalendarInput.datetext; {
BasCalendar.datetype = CalendarInput.datetype; datetext = CalendarInput.datetext,
BasCalendar.workhour = CalendarInput.workhour; datetype = CalendarInput.datetype,
BasCalendar.worktype = CalendarInput.worktype; workhour = CalendarInput.workhour,
BasCalendar.create_id = _userManager.UserId; worktype = CalendarInput.worktype,
BasCalendar.create_time = DateTime.Now; create_id = _userManager.UserId,
await db.Insertable(BasCalendar).ExecuteCommandAsync(); create_time = DateTime.Now
};
_ = await db.Insertable(BasCalendar).ExecuteCommandAsync();
} }
/// <summary> /// <summary>
/// 获取工作日历 /// 获取工作日历
/// </summary> /// </summary>
@@ -64,95 +57,31 @@ namespace Tnb.BasicData
[HttpPost] [HttpPost]
public async Task<dynamic> GetWorkData(CalendarInput CalendarInput) public async Task<dynamic> GetWorkData(CalendarInput CalendarInput)
{ {
List<CalendarOut> CalendarOuts = new List<CalendarOut>(); List<CalendarOut> CalendarOuts = new();
if (CalendarInput.calendartype == (int)EnumCalendarType.) if (CalendarInput.calendartype == (int)EnumCalendarType.)
{ {
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
var lists = await db.Queryable<BasCalendar>().Where(p => p.worktype == CalendarInput.content).ToListAsync(); List<BasCalendar> lists = await db.Queryable<BasCalendar>().Where(p => p.worktype == CalendarInput.content).ToListAsync();
foreach (var list in lists) foreach (BasCalendar list in lists)
{ {
CalendarOut CalendarOut = new CalendarOut(); CalendarOut CalendarOut = new()
CalendarOut.datetext = list.datetext; {
CalendarOut.datetype = list.datetype; datetext = list.datetext,
CalendarOut.workhour = JSON.Deserialize<List<WorkHour>>(list.workhour); datetype = list.datetype,
CalendarOut.worktype = list.worktype; workhour = JSON.Deserialize<List<WorkHour>>(list.workhour),
worktype = list.worktype
};
CalendarOuts.Add(CalendarOut); CalendarOuts.Add(CalendarOut);
} }
} }
else if (CalendarInput.calendartype == (int)EnumCalendarType.) else if (CalendarInput.calendartype == (int)EnumCalendarType.)
{ {
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
var Shifts = await db.Queryable<BasShiftWorkgroup>().Where(p => p.workgroup_id == CalendarInput.content).Select(p=>p.shift_id).ToListAsync(); List<string> Shifts = await db.Queryable<BasShiftWorkgroup>().Where(p => p.workgroup_id == CalendarInput.content).Select(p => p.shift_id).ToListAsync();
if (Shifts != null && Shifts.Count > 0) if (Shifts != null && Shifts.Count > 0)
{ {
var BasTimePeriods = await db.Queryable<BasTimePeriod, BasShift>((a, b) => new object[] { JoinType.Inner, a.shifttype_id == b.id }) List<Shift> BasTimePeriods = await db.Queryable<BasTimePeriod, BasShift>((a, b) => new object[] { JoinType.Inner, a.shifttype_id == b.id })
.Where((a,b) => Shifts.Contains(a.shifttype_id!))
.Select((a, b) =>
new Shift
{
startday = b.shiftb_time,
endday = b.shifte_time,
workhour = new WorkHour { start=a.tpb_time,end=a.tpe_time },
}
).ToListAsync();
var BasTimePeriodRests = await db.Queryable<BasTimePeriodRest, BasShift>((a, b) => new object[] { JoinType.Inner, a.shift_type_id == b.id })
.Where((a, b) => Shifts.Contains(a.shift_type_id!))
.Select((a, b) =>
new Shift
{
startday = b.shiftb_time,
endday = b.shifte_time,
workhour = new WorkHour { start = a.tp_b_time, end = a.tp_e_time },
}).ToListAsync();
foreach (var BasTimePeriod in BasTimePeriods)
{
var start = DateTime.Parse(BasTimePeriod.startday!);
var end = DateTime.Parse(BasTimePeriod.endday!);
for (DateTime date = start; date <= end; date = date.AddDays(1))
{
if (CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).Any())
CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).First().workhour!.Add(BasTimePeriod.workhour!);
else
{
CalendarOut CalendarOut = new CalendarOut();
CalendarOut.datetext = date.ToString("yyyy-MM-dd");
CalendarOut.datetype = "workDay";
CalendarOut.workhour = new List<WorkHour> { BasTimePeriod.workhour! };
CalendarOuts.Add(CalendarOut);
}
}
}
foreach (var BasTimePeriodRest in BasTimePeriodRests)
{
var start = DateTime.Parse(BasTimePeriodRest.startday!);
var end = DateTime.Parse(BasTimePeriodRest.endday!);
for (DateTime date = start; date <= end; date = date.AddDays(1))
{
if (CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).Any())
CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).First().workhour!.Add(BasTimePeriodRest.workhour!);
else
{
CalendarOut CalendarOut = new CalendarOut();
CalendarOut.datetext = date.ToString("yyyy-MM-dd");
CalendarOut.datetype = "dayOff";
CalendarOut.workhour = new List<WorkHour> { BasTimePeriodRest.workhour! };
CalendarOuts.Add(CalendarOut);
}
}
}
}
}
else if (CalendarInput.calendartype == (int)EnumCalendarType.)
{
var db = _repository.AsSugarClient();
var groups = await db.Queryable<BasWorkgroupEmployee>().Where(p => p.employee_id == CalendarInput.content).Select(p => p.group_id).ToListAsync();
var Shifts = await db.Queryable<BasShiftWorkgroup>().Where(p => groups.Contains(p.workgroup_id)).Select(p => p.shift_id).ToListAsync();
if (Shifts != null && Shifts.Count > 0)
{
var BasTimePeriods = await db.Queryable<BasTimePeriod, BasShift>((a, b) => new object[] { JoinType.Inner, a.shifttype_id == b.id })
.Where((a, b) => Shifts.Contains(a.shifttype_id!)) .Where((a, b) => Shifts.Contains(a.shifttype_id!))
.Select((a, b) => .Select((a, b) =>
new Shift new Shift
@@ -163,8 +92,7 @@ namespace Tnb.BasicData
} }
).ToListAsync(); ).ToListAsync();
List<Shift> BasTimePeriodRests = await db.Queryable<BasTimePeriodRest, BasShift>((a, b) => new object[] { JoinType.Inner, a.shift_type_id == b.id })
var BasTimePeriodRests = await db.Queryable<BasTimePeriodRest, BasShift>((a, b) => new object[] { JoinType.Inner, a.shift_type_id == b.id })
.Where((a, b) => Shifts.Contains(a.shift_type_id!)) .Where((a, b) => Shifts.Contains(a.shift_type_id!))
.Select((a, b) => .Select((a, b) =>
new Shift new Shift
@@ -173,38 +101,119 @@ namespace Tnb.BasicData
endday = b.shifte_time, endday = b.shifte_time,
workhour = new WorkHour { start = a.tp_b_time, end = a.tp_e_time }, workhour = new WorkHour { start = a.tp_b_time, end = a.tp_e_time },
}).ToListAsync(); }).ToListAsync();
foreach (var BasTimePeriod in BasTimePeriods) foreach (Shift? BasTimePeriod in BasTimePeriods)
{ {
var start = DateTime.Parse(BasTimePeriod.startday!); DateTime start = DateTime.Parse(BasTimePeriod.startday!);
var end = DateTime.Parse(BasTimePeriod.endday!); DateTime end = DateTime.Parse(BasTimePeriod.endday!);
for (DateTime date = start; date <= end; date = date.AddDays(1)) for (DateTime date = start; date <= end; date = date.AddDays(1))
{ {
if (CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).Any()) if (CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).Any())
{
CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).First().workhour!.Add(BasTimePeriod.workhour!); CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).First().workhour!.Add(BasTimePeriod.workhour!);
}
else else
{ {
CalendarOut CalendarOut = new CalendarOut(); CalendarOut CalendarOut = new()
CalendarOut.datetext = date.ToString("yyyy-MM-dd"); {
CalendarOut.datetype = "workDay"; datetext = date.ToString("yyyy-MM-dd"),
CalendarOut.workhour = new List<WorkHour> { BasTimePeriod.workhour! }; datetype = "workDay",
workhour = new List<WorkHour> { BasTimePeriod.workhour! }
};
CalendarOuts.Add(CalendarOut); CalendarOuts.Add(CalendarOut);
} }
} }
} }
foreach (var BasTimePeriodRest in BasTimePeriodRests) foreach (Shift? BasTimePeriodRest in BasTimePeriodRests)
{ {
var start = DateTime.Parse(BasTimePeriodRest.startday!); DateTime start = DateTime.Parse(BasTimePeriodRest.startday!);
var end = DateTime.Parse(BasTimePeriodRest.endday!); DateTime end = DateTime.Parse(BasTimePeriodRest.endday!);
for (DateTime date = start; date <= end; date = date.AddDays(1)) for (DateTime date = start; date <= end; date = date.AddDays(1))
{ {
if (CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).Any()) if (CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).Any())
{
CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).First().workhour!.Add(BasTimePeriodRest.workhour!); CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).First().workhour!.Add(BasTimePeriodRest.workhour!);
}
else else
{ {
CalendarOut CalendarOut = new CalendarOut(); CalendarOut CalendarOut = new()
CalendarOut.datetext = date.ToString("yyyy-MM-dd"); {
CalendarOut.datetype = "dayOff"; datetext = date.ToString("yyyy-MM-dd"),
CalendarOut.workhour = new List<WorkHour> { BasTimePeriodRest.workhour! }; datetype = "dayOff",
workhour = new List<WorkHour> { BasTimePeriodRest.workhour! }
};
CalendarOuts.Add(CalendarOut);
}
}
}
}
}
else if (CalendarInput.calendartype == (int)EnumCalendarType.)
{
ISqlSugarClient db = _repository.AsSugarClient();
List<string> groups = await db.Queryable<BasWorkgroupEmployee>().Where(p => p.employee_id == CalendarInput.content).Select(p => p.group_id).ToListAsync();
List<string> Shifts = await db.Queryable<BasShiftWorkgroup>().Where(p => groups.Contains(p.workgroup_id)).Select(p => p.shift_id).ToListAsync();
if (Shifts != null && Shifts.Count > 0)
{
List<Shift> BasTimePeriods = await db.Queryable<BasTimePeriod, BasShift>((a, b) => new object[] { JoinType.Inner, a.shifttype_id == b.id })
.Where((a, b) => Shifts.Contains(a.shifttype_id!))
.Select((a, b) =>
new Shift
{
startday = b.shiftb_time,
endday = b.shifte_time,
workhour = new WorkHour { start = a.tpb_time, end = a.tpe_time },
}
).ToListAsync();
List<Shift> BasTimePeriodRests = await db.Queryable<BasTimePeriodRest, BasShift>((a, b) => new object[] { JoinType.Inner, a.shift_type_id == b.id })
.Where((a, b) => Shifts.Contains(a.shift_type_id!))
.Select((a, b) =>
new Shift
{
startday = b.shiftb_time,
endday = b.shifte_time,
workhour = new WorkHour { start = a.tp_b_time, end = a.tp_e_time },
}).ToListAsync();
foreach (Shift? BasTimePeriod in BasTimePeriods)
{
DateTime start = DateTime.Parse(BasTimePeriod.startday!);
DateTime end = DateTime.Parse(BasTimePeriod.endday!);
for (DateTime date = start; date <= end; date = date.AddDays(1))
{
if (CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).Any())
{
CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).First().workhour!.Add(BasTimePeriod.workhour!);
}
else
{
CalendarOut CalendarOut = new()
{
datetext = date.ToString("yyyy-MM-dd"),
datetype = "workDay",
workhour = new List<WorkHour> { BasTimePeriod.workhour! }
};
CalendarOuts.Add(CalendarOut);
}
}
}
foreach (Shift? BasTimePeriodRest in BasTimePeriodRests)
{
DateTime start = DateTime.Parse(BasTimePeriodRest.startday!);
DateTime end = DateTime.Parse(BasTimePeriodRest.endday!);
for (DateTime date = start; date <= end; date = date.AddDays(1))
{
if (CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).Any())
{
CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).First().workhour!.Add(BasTimePeriodRest.workhour!);
}
else
{
CalendarOut CalendarOut = new()
{
datetext = date.ToString("yyyy-MM-dd"),
datetype = "dayOff",
workhour = new List<WorkHour> { BasTimePeriodRest.workhour! }
};
CalendarOuts.Add(CalendarOut); CalendarOuts.Add(CalendarOut);
} }
} }
@@ -213,6 +222,7 @@ namespace Tnb.BasicData
} }
return CalendarOuts; return CalendarOuts;
} }
/// <summary> /// <summary>
/// 批量保存工作日历 /// 批量保存工作日历
/// </summary> /// </summary>
@@ -220,37 +230,39 @@ namespace Tnb.BasicData
/// <returns></returns> /// <returns></returns>
public async Task SaveBatchData(CalendarBatchInput CalendarBatchInput) public async Task SaveBatchData(CalendarBatchInput CalendarBatchInput)
{ {
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
DateTime start = DateTime.Parse(CalendarBatchInput.startenday![0]); DateTime start = DateTime.Parse(CalendarBatchInput.startenday![0]);
DateTime end = DateTime.Parse(CalendarBatchInput.startenday![1]); DateTime end = DateTime.Parse(CalendarBatchInput.startenday![1]);
List<BasCalendar> BasCalendars = new List<BasCalendar>(); List<BasCalendar> BasCalendars = new();
var lists=await db.Queryable<BasCalendar>().Where(p=>start<=DateTime.Parse(p.datetext!)&&end>= DateTime.Parse(p.datetext!)&& p.worktype== CalendarBatchInput.worktype).ToListAsync(); List<BasCalendar> lists = await db.Queryable<BasCalendar>().Where(p => start <= DateTime.Parse(p.datetext!) && end >= DateTime.Parse(p.datetext!) && p.worktype == CalendarBatchInput.worktype).ToListAsync();
var updatelist=new List<BasCalendar>(); List<BasCalendar> updatelist = new();
for (DateTime date = start; date <= end; date = date.AddDays(1)) for (DateTime date = start; date <= end; date = date.AddDays(1))
{ {
if (CalendarBatchInput.weekday!.Contains((int)date.DayOfWeek)) if (CalendarBatchInput.weekday!.Contains((int)date.DayOfWeek))
{ {
if (lists.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).Any()) if (lists.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).Any())
{ {
var BasCalendar = lists.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).First(); BasCalendar BasCalendar = lists.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).First();
BasCalendar.datetype = CalendarBatchInput.datetype; BasCalendar.datetype = CalendarBatchInput.datetype;
updatelist.Add(BasCalendar); updatelist.Add(BasCalendar);
} }
else else
{ {
BasCalendar BasCalendar = new BasCalendar(); BasCalendar BasCalendar = new()
BasCalendar.datetext = date.ToString("yyyy-MM-dd"); {
BasCalendar.datetype = CalendarBatchInput.datetype; datetext = date.ToString("yyyy-MM-dd"),
BasCalendar.workhour = CalendarBatchInput.workhour; datetype = CalendarBatchInput.datetype,
BasCalendar.worktype = CalendarBatchInput.worktype; workhour = CalendarBatchInput.workhour,
BasCalendar.create_id = _userManager.UserId; worktype = CalendarBatchInput.worktype,
BasCalendar.create_time = DateTime.Now; create_id = _userManager.UserId,
create_time = DateTime.Now
};
BasCalendars.Add(BasCalendar); BasCalendars.Add(BasCalendar);
} }
} }
} }
await db.Updateable(updatelist).ExecuteCommandAsync(); _ = await db.Updateable(updatelist).ExecuteCommandAsync();
await db.Insertable(BasCalendars).ExecuteCommandAsync(); _ = await db.Insertable(BasCalendars).ExecuteCommandAsync();
} }
} }
} }

View File

@@ -2,11 +2,10 @@ using JNPF.Common.Core.Manager;
using JNPF.DependencyInjection; using JNPF.DependencyInjection;
using JNPF.DynamicApiController; using JNPF.DynamicApiController;
using JNPF.Systems.Interfaces.System; using JNPF.Systems.Interfaces.System;
using JNPF.VisualDev;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using SqlSugar; using SqlSugar;
using Tnb.BasicData.Entities.Dto;
using Tnb.BasicData.Entities; using Tnb.BasicData.Entities;
using Tnb.BasicData.Entities.Dto;
using Tnb.BasicData.Interfaces; using Tnb.BasicData.Interfaces;
namespace Tnb.BasicData namespace Tnb.BasicData
@@ -16,14 +15,14 @@ namespace Tnb.BasicData
/// </summary> /// </summary>
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)] [ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
[Route("api/[area]/[controller]/[action]")] [Route("api/[area]/[controller]/[action]")]
public class BasDefectService: IBasDefectService,IDynamicApiController, ITransient public class BasDefectService : IBasDefectService, IDynamicApiController, ITransient
{ {
private readonly ISqlSugarRepository<BasDefect> _repository; private readonly ISqlSugarRepository<BasDefect> _repository;
private readonly DataBaseManager _dbManager; private readonly DataBaseManager _dbManager;
private readonly IDictionaryDataService _dictionaryDataService; private readonly IDictionaryDataService _dictionaryDataService;
public BasDefectService( public BasDefectService(
ISqlSugarRepository<BasDefect> repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService) ISqlSugarRepository<BasDefect> repository, DataBaseManager dbManager, IDictionaryDataService dictionaryDataService)
{ {
_repository = repository; _repository = repository;
_dbManager = dbManager; _dbManager = dbManager;
@@ -34,16 +33,16 @@ namespace Tnb.BasicData
public async Task<dynamic> GetDefectListByProcessId(Dictionary<string, string> dic) public async Task<dynamic> GetDefectListByProcessId(Dictionary<string, string> dic)
{ {
string processId = dic["processId"]; string processId = dic["processId"];
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
List<string> defectIds = await db.Queryable<BasProcessDefective>().Where(x=>x.process_id==processId).Select(x=>x.defective_id).ToListAsync(); List<string> defectIds = await db.Queryable<BasProcessDefective>().Where(x => x.process_id == processId).Select(x => x.defective_id).ToListAsync();
List<string?> defectTypeIds = await db.Queryable<BasDefect>().Where(x=>defectIds.Contains(x.id) && x.enabled==1).Select(x=>x.defect_type_id).ToListAsync(); List<string?> defectTypeIds = await db.Queryable<BasDefect>().Where(x => defectIds.Contains(x.id) && x.enabled == 1).Select(x => x.defect_type_id).ToListAsync();
return await _repository.AsSugarClient().Queryable<BasDefectType>() return await _repository.AsSugarClient().Queryable<BasDefectType>()
.Where((a) => defectTypeIds.Contains(a.id)) .Where((a) => defectTypeIds.Contains(a.id))
.Select(a => new .Select(a => new
{ {
defect_type_id = a.id, defect_type_id = a.id,
defect_type_name = a.defect_type_name, a.defect_type_name,
children = SqlFunc.Subqueryable<BasDefect>().Where(x=>x.defect_type_id==a.id && defectIds.Contains(x.id)).ToList(x=>new DefectOutput() children = SqlFunc.Subqueryable<BasDefect>().Where(x => x.defect_type_id == a.id && defectIds.Contains(x.id)).ToList(x => new DefectOutput()
{ {
id = x.id, id = x.id,
defect_code = x.defect_code, defect_code = x.defect_code,

View File

@@ -6,7 +6,6 @@ using JNPF.DependencyInjection;
using JNPF.DynamicApiController; using JNPF.DynamicApiController;
using JNPF.FriendlyException; using JNPF.FriendlyException;
using JNPF.Systems.Entitys.Permission; using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Interfaces.System;
using JNPF.VisualDev; using JNPF.VisualDev;
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData; using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
@@ -24,13 +23,13 @@ namespace Tnb.BasicData
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)] [ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
[Route("api/[area]/[controller]/[action]")] [Route("api/[area]/[controller]/[action]")]
[OverideVisualDev(ModelId)] [OverideVisualDev(ModelId)]
public class BasESopService : IBasESopService,IOverideVisualDevService,IDynamicApiController, ITransient public class BasESopService : IBasESopService, IOverideVisualDevService, IDynamicApiController, ITransient
{ {
public const string ModelId = "26919620992277"; public const string ModelId = "26919620992277";
private readonly ISqlSugarRepository<BasESop> _repository; private readonly ISqlSugarRepository<BasESop> _repository;
private readonly IUserManager _userManager; private readonly IUserManager _userManager;
public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc(); public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc();
public BasESopService( public BasESopService(
IUserManager userManager, IUserManager userManager,
ISqlSugarRepository<BasESop> repository) ISqlSugarRepository<BasESop> repository)
@@ -39,7 +38,7 @@ namespace Tnb.BasicData
_userManager = userManager; _userManager = userManager;
OverideFuncs.GetListAsync = GetList; OverideFuncs.GetListAsync = GetList;
} }
/// <summary> /// <summary>
/// ESOP列表 /// ESOP列表
/// </summary> /// </summary>
@@ -48,12 +47,12 @@ namespace Tnb.BasicData
[HttpPost] [HttpPost]
public async Task<dynamic> GetList(VisualDevModelListQueryInput input) public async Task<dynamic> GetList(VisualDevModelListQueryInput input)
{ {
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
Dictionary<string, object>? queryJson = string.IsNullOrEmpty(input.queryJson) ? null : input.queryJson.ToObject<Dictionary<string, object>>(); Dictionary<string, object>? queryJson = string.IsNullOrEmpty(input.queryJson) ? null : input.queryJson.ToObject<Dictionary<string, object>>();
string? code = queryJson!=null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : ""; string? code = queryJson != null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : "";
string? name = queryJson!=null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : ""; string? name = queryJson != null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : "";
string? version = queryJson!=null && queryJson.ContainsKey("version") ? queryJson["version"].ToString() : ""; string? version = queryJson != null && queryJson.ContainsKey("version") ? queryJson["version"].ToString() : "";
var list = await db.Queryable<BasESop, BasMbom, BasMbomProcess, UserEntity,BasProcess>((a, b, c, d,e) => new object[] SqlSugarPagedList<ESopListOutput> list = await db.Queryable<BasESop, BasMbom, BasMbomProcess, UserEntity, BasProcess>((a, b, c, d, e) => new object[]
{ {
JoinType.Left, a.mbom_id == b.id, JoinType.Left, a.mbom_id == b.id,
JoinType.Left, a.mbom_process_id == c.id, JoinType.Left, a.mbom_process_id == c.id,
@@ -63,8 +62,8 @@ namespace Tnb.BasicData
.WhereIF(!string.IsNullOrEmpty(code), (a, b, c, d) => a.code.Contains(code!)) .WhereIF(!string.IsNullOrEmpty(code), (a, b, c, d) => a.code.Contains(code!))
.WhereIF(!string.IsNullOrEmpty(name), (a, b, c, d) => a.name.Contains(name!)) .WhereIF(!string.IsNullOrEmpty(name), (a, b, c, d) => a.name.Contains(name!))
.WhereIF(!string.IsNullOrEmpty(version), (a, b, c, d) => a.version.Contains(version!)) .WhereIF(!string.IsNullOrEmpty(version), (a, b, c, d) => a.version.Contains(version!))
.Where((a,b,c)=>a.enabled==1) .Where((a, b, c) => a.enabled == 1)
.Select((a, b, c, d,e) => new ESopListOutput .Select((a, b, c, d, e) => new ESopListOutput
{ {
id = a.id, id = a.id,
code = a.code, code = a.code,
@@ -72,31 +71,31 @@ namespace Tnb.BasicData
mbom_id = b.version!, mbom_id = b.version!,
mbom_process_id = e.process_name!, mbom_process_id = e.process_name!,
version = a.version, version = a.version,
enabled = a.enabled==1 ? "是" : "否", enabled = a.enabled == 1 ? "是" : "否",
attachment = a.attachment, attachment = a.attachment,
remark = a.remark, remark = a.remark,
create_id = d.RealName, create_id = d.RealName,
create_time = a.create_time==null ? "" : a.create_time.Value.ToString("yyyy-MM-dd"), create_time = a.create_time == null ? "" : a.create_time.Value.ToString("yyyy-MM-dd"),
mbom_id_id = a.mbom_id, mbom_id_id = a.mbom_id,
mbom_process_id_id = a.mbom_process_id mbom_process_id_id = a.mbom_process_id
}).ToPagedListAsync((input?.currentPage??1), (input?.pageSize??50)); }).ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
return PageResult<ESopListOutput>.SqlSugarPageResult(list); return PageResult<ESopListOutput>.SqlSugarPageResult(list);
} }
[HttpPost] [HttpPost]
public async Task<dynamic> GetHistoryList(EsopHistoryListQueryInput input) public async Task<dynamic> GetHistoryList(EsopHistoryListQueryInput input)
{ {
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
Dictionary<string, string>? queryJson = new Dictionary<string, string>(); Dictionary<string, string>? queryJson = new();
if (input!=null && !string.IsNullOrEmpty(input.queryJson)) if (input != null && !string.IsNullOrEmpty(input.queryJson))
{ {
queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input?.queryJson ?? ""); queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input?.queryJson ?? "");
} }
string code = queryJson!=null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : ""; string code = queryJson != null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : "";
string name = queryJson!=null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : ""; string name = queryJson != null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : "";
string version = queryJson!=null && queryJson.ContainsKey("version") ? queryJson["version"].ToString() : ""; string version = queryJson != null && queryJson.ContainsKey("version") ? queryJson["version"].ToString() : "";
var list = await db.Queryable<BasESop, BasMbom, BasMbomProcess, UserEntity,BasProcess>((a, b, c, d,e) => new object[] SqlSugarPagedList<ESopListOutput> list = await db.Queryable<BasESop, BasMbom, BasMbomProcess, UserEntity, BasProcess>((a, b, c, d, e) => new object[]
{ {
JoinType.Left, a.mbom_id == b.id, JoinType.Left, a.mbom_id == b.id,
JoinType.Left, a.mbom_process_id == c.id, JoinType.Left, a.mbom_process_id == c.id,
@@ -106,8 +105,8 @@ namespace Tnb.BasicData
.WhereIF(!string.IsNullOrEmpty(code), (a, b, c, d) => a.code.Contains(code)) .WhereIF(!string.IsNullOrEmpty(code), (a, b, c, d) => a.code.Contains(code))
.WhereIF(!string.IsNullOrEmpty(name), (a, b, c, d) => a.name.Contains(name)) .WhereIF(!string.IsNullOrEmpty(name), (a, b, c, d) => a.name.Contains(name))
.WhereIF(!string.IsNullOrEmpty(version), (a, b, c, d) => a.version.Contains(version)) .WhereIF(!string.IsNullOrEmpty(version), (a, b, c, d) => a.version.Contains(version))
.Where((a,b,c)=>a.mbom_id==input!.mbom_id && a.mbom_process_id==input!.mbom_process_id) .Where((a, b, c) => a.mbom_id == input!.mbom_id && a.mbom_process_id == input!.mbom_process_id)
.Select((a, b, c, d,e) => new ESopListOutput .Select((a, b, c, d, e) => new ESopListOutput
{ {
id = a.id, id = a.id,
code = a.code, code = a.code,
@@ -115,27 +114,24 @@ namespace Tnb.BasicData
mbom_id = b.version!, mbom_id = b.version!,
mbom_process_id = e.process_name!, mbom_process_id = e.process_name!,
version = a.version, version = a.version,
enabled = a.enabled==1 ? "是" : "否", enabled = a.enabled == 1 ? "是" : "否",
attachment = a.attachment, attachment = a.attachment,
remark = a.remark, remark = a.remark,
create_id = d.RealName, create_id = d.RealName,
create_time = a.create_time==null ? "" : a.create_time.Value.ToString("yyyy-MM-dd"), create_time = a.create_time == null ? "" : a.create_time.Value.ToString("yyyy-MM-dd"),
mbom_id_id = a.mbom_id mbom_id_id = a.mbom_id
}).ToPagedListAsync((input?.currentPage??1), (input?.pageSize??50)); }).ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
return PageResult<ESopListOutput>.SqlSugarPageResult(list); return PageResult<ESopListOutput>.SqlSugarPageResult(list);
} }
[HttpPost] [HttpPost]
public async Task<dynamic> GetEntityByMbomProcessId(Dictionary<string, string> dic) public async Task<dynamic?> GetEntityByMbomProcessId(Dictionary<string, string> dic)
{ {
string mbomProcessId = dic["mbomProcessId"]; string mbomProcessId = dic["mbomProcessId"];
if (!string.IsNullOrEmpty(mbomProcessId)) return !string.IsNullOrEmpty(mbomProcessId)
{ ? await _repository.GetFirstAsync(x => x.mbom_process_id == mbomProcessId && x.enabled == 1)
return await _repository.GetFirstAsync(x => x.mbom_process_id == mbomProcessId && x.enabled == 1); : (dynamic)null;
}
return null!;
} }
[HttpPost] [HttpPost]
@@ -146,15 +142,15 @@ namespace Tnb.BasicData
throw Oops.Bah("已存在该版本"); throw Oops.Bah("已存在该版本");
} }
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
DbResult<bool> result = await db.Ado.UseTranAsync(async () => DbResult<bool> result = await db.Ado.UseTranAsync(async () =>
{ {
await _repository.UpdateAsync(x => new BasESop() _ = await _repository.UpdateAsync(x => new BasESop()
{ {
enabled = 0, enabled = 0,
}, x => x.mbom_id == input.mbom_id && x.mbom_process_id == input.mbom_process_id); }, x => x.mbom_id == input.mbom_id && x.mbom_process_id == input.mbom_process_id);
BasESop basESop = new BasESop() BasESop basESop = new()
{ {
code = input.code, code = input.code,
name = input.name, name = input.name,
@@ -169,13 +165,9 @@ namespace Tnb.BasicData
enabled = 1, enabled = 1,
}; };
await _repository.InsertAsync(basESop); _ = await _repository.InsertAsync(basESop);
}); });
if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008); return !result.IsSuccess ? throw Oops.Oh(ErrorCode.COM1008) : (dynamic)(result.IsSuccess ? "上传成功" : result.ErrorMessage);
return result.IsSuccess ? "上传成功" : result.ErrorMessage;
} }
} }
} }

View File

@@ -3,7 +3,6 @@ using JNPF.Common.Filter;
using JNPF.Common.Security; using JNPF.Common.Security;
using JNPF.DependencyInjection; using JNPF.DependencyInjection;
using JNPF.DynamicApiController; using JNPF.DynamicApiController;
using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Interfaces.System; using JNPF.Systems.Interfaces.System;
using JNPF.VisualDev; using JNPF.VisualDev;
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData; using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
@@ -11,7 +10,6 @@ using Microsoft.AspNetCore.Mvc;
using SqlSugar; using SqlSugar;
using Tnb.BasicData.Entities; using Tnb.BasicData.Entities;
using Tnb.BasicData.Entities.Dto; using Tnb.BasicData.Entities.Dto;
using Tnb.BasicData.Entitys.Dto.BasProcess;
using Tnb.BasicData.Interfaces; using Tnb.BasicData.Interfaces;
namespace Tnb.BasicData namespace Tnb.BasicData
@@ -22,23 +20,22 @@ namespace Tnb.BasicData
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)] [ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
[Route("api/[area]/[controller]/[action]")] [Route("api/[area]/[controller]/[action]")]
[OverideVisualDev(ModelId)] [OverideVisualDev(ModelId)]
public class BasEbomService : IBasEbomService,IOverideVisualDevService,IDynamicApiController, ITransient public class BasEbomService : IBasEbomService, IOverideVisualDevService, IDynamicApiController, ITransient
{ {
public const string ModelId = "25487105536805"; public const string ModelId = "25487105536805";
private readonly ISqlSugarRepository<BasMaterial> _repository; private readonly ISqlSugarRepository<BasMaterial> _repository;
private readonly DataBaseManager _dbManager; private readonly DataBaseManager _dbManager;
private readonly IDictionaryDataService _dictionaryDataService; private readonly IDictionaryDataService _dictionaryDataService;
public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc(); public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc();
public BasEbomService( public BasEbomService(
ISqlSugarRepository<BasMaterial> repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService) ISqlSugarRepository<BasMaterial> repository, DataBaseManager dbManager, IDictionaryDataService dictionaryDataService)
{ {
_repository = repository; _repository = repository;
_dbManager = dbManager; _dbManager = dbManager;
_dictionaryDataService = dictionaryDataService; _dictionaryDataService = dictionaryDataService;
OverideFuncs.GetListAsync = GetList; OverideFuncs.GetListAsync = GetList;
} }
/// <summary> /// <summary>
/// 物料清单列表 /// 物料清单列表
@@ -47,15 +44,15 @@ namespace Tnb.BasicData
/// <returns></returns> /// <returns></returns>
public async Task<dynamic> GetList(VisualDevModelListQueryInput input) public async Task<dynamic> GetList(VisualDevModelListQueryInput input)
{ {
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
Dictionary<string, object>? queryJson = (input==null || string.IsNullOrEmpty(input.queryJson)) ? null : input.queryJson.ToObject<Dictionary<string, object>>(); Dictionary<string, object>? queryJson = (input == null || string.IsNullOrEmpty(input.queryJson)) ? null : input.queryJson.ToObject<Dictionary<string, object>>();
string materialInfo = queryJson?["query_info"]?.ToString() ?? ""; string materialInfo = queryJson?["query_info"]?.ToString() ?? "";
var list = await db.Queryable<BasEbomH, BasMaterial, BasRouteH>((a, b, c) => new object[] SqlSugarPagedList<EbomListOutput> list = await db.Queryable<BasEbomH, BasMaterial, BasRouteH>((a, b, c) => new object[]
{ {
JoinType.Left, a.material_id == b.id, JoinType.Left, a.material_id == b.id,
JoinType.Left, a.route_id == c.id, JoinType.Left, a.route_id == c.id,
}) })
.WhereIF(!string.IsNullOrEmpty(materialInfo),(a,b,c)=>b.code.Contains(materialInfo) || b.name.Contains(materialInfo)) .WhereIF(!string.IsNullOrEmpty(materialInfo), (a, b, c) => b.code.Contains(materialInfo) || b.name.Contains(materialInfo))
.Select((a, b, c) => new EbomListOutput .Select((a, b, c) => new EbomListOutput
{ {
id = a.id, id = a.id,
@@ -67,12 +64,11 @@ namespace Tnb.BasicData
version = a.version, version = a.version,
route_id = c.name, route_id = c.name,
route_id_id = c.id, route_id_id = c.id,
}).ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
}).ToPagedListAsync((input?.currentPage ?? 1), (input?.pageSize ?? 50)); return PageResult<EbomListOutput>.SqlSugarPageResult(list);
return PageResult<EbomListOutput>.SqlSugarPageResult(list);
} }
/// <summary> /// <summary>
/// 获取物料清单树. /// 获取物料清单树.
/// </summary> /// </summary>
@@ -80,9 +76,9 @@ namespace Tnb.BasicData
[HttpPost] [HttpPost]
public async Task<dynamic> GetTree(EbomTreeQueryInput queryInput) public async Task<dynamic> GetTree(EbomTreeQueryInput queryInput)
{ {
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
var dic = await _dictionaryDataService.GetDicByKey(DictConst.MeasurementUnit); Dictionary<string, object> dic = await _dictionaryDataService.GetDicByKey(DictConst.MeasurementUnit);
// var momDbLink = await _repository.AsSugarClient().Queryable<DbLinkEntity>().FirstAsync(x => x.FullName == DbName.TNBMON); // var momDbLink = await _repository.AsSugarClient().Queryable<DbLinkEntity>().FirstAsync(x => x.FullName == DbName.TNBMON);
// if (momDbLink != null) // if (momDbLink != null)
// { // {
@@ -91,14 +87,14 @@ namespace Tnb.BasicData
if (string.IsNullOrEmpty(queryInput.materialId)) if (string.IsNullOrEmpty(queryInput.materialId))
{ {
var data = await db.Queryable<BasEbomD>() List<EbomTreeOutput> data = await db.Queryable<BasEbomD>()
.LeftJoin<BasEbomH>((a,b)=>a.ebom_id==b.id) .LeftJoin<BasEbomH>((a, b) => a.ebom_id == b.id)
.LeftJoin<BasMaterial>((a,b,c)=>a.material_id==c.id) .LeftJoin<BasMaterial>((a, b, c) => a.material_id == c.id)
.LeftJoin<BasEbomH>((a,b,c,d)=>a.material_id==d.material_id) .LeftJoin<BasEbomH>((a, b, c, d) => a.material_id == d.material_id)
.LeftJoin<BasRouteH>((a,b,c,d,e)=>d.route_id==e.id) .LeftJoin<BasRouteH>((a, b, c, d, e) => d.route_id == e.id)
.LeftJoin<BasMaterial>((a,b,c,d,e,f)=>a.substitute_material_id==f.id) .LeftJoin<BasMaterial>((a, b, c, d, e, f) => a.substitute_material_id == f.id)
.Where((a,b,c)=>a.ebom_id==queryInput.ebomId) .Where((a, b, c) => a.ebom_id == queryInput.ebomId)
.Select((a,b,c,d,e,f)=>new EbomTreeOutput .Select((a, b, c, d, e, f) => new EbomTreeOutput
{ {
material_id = c.name, material_id = c.name,
material_id_descrip = c.descrip, material_id_descrip = c.descrip,
@@ -112,7 +108,7 @@ namespace Tnb.BasicData
route_name = e.name, route_name = e.name,
version = d.version, version = d.version,
substitute_material_id = f.name, substitute_material_id = f.name,
hasChildren = SqlFunc.Subqueryable<BasEbomH>().Where(x=>x.material_id==a.material_id).Any(), hasChildren = SqlFunc.Subqueryable<BasEbomH>().Where(x => x.material_id == a.material_id).Any(),
}).Mapper(it => }).Mapper(it =>
{ {
it.material_id_unit_id = !string.IsNullOrEmpty(it.material_id_unit_id) ? dic[it.material_id_unit_id].ToString() : ""; it.material_id_unit_id = !string.IsNullOrEmpty(it.material_id_unit_id) ? dic[it.material_id_unit_id].ToString() : "";
@@ -121,14 +117,14 @@ namespace Tnb.BasicData
} }
else else
{ {
var data = await db.Queryable<BasEbomD>() List<EbomTreeOutput> data = await db.Queryable<BasEbomD>()
.LeftJoin<BasEbomH>((a,b)=>a.ebom_id==b.id) .LeftJoin<BasEbomH>((a, b) => a.ebom_id == b.id)
.LeftJoin<BasMaterial>((a,b,c)=>a.material_id==c.id) .LeftJoin<BasMaterial>((a, b, c) => a.material_id == c.id)
.LeftJoin<BasEbomH>((a,b,c,d)=>a.material_id==d.material_id) .LeftJoin<BasEbomH>((a, b, c, d) => a.material_id == d.material_id)
.LeftJoin<BasRouteH>((a,b,c,d,e)=>d.route_id==e.id) .LeftJoin<BasRouteH>((a, b, c, d, e) => d.route_id == e.id)
.LeftJoin<BasMaterial>((a,b,c,d,e,f)=>a.substitute_material_id==f.id) .LeftJoin<BasMaterial>((a, b, c, d, e, f) => a.substitute_material_id == f.id)
.Where((a,b,c)=>b.material_id==queryInput.materialId && a.ebom_id==b.id) .Where((a, b, c) => b.material_id == queryInput.materialId && a.ebom_id == b.id)
.Select((a,b,c,d,e,f)=>new EbomTreeOutput .Select((a, b, c, d, e, f) => new EbomTreeOutput
{ {
material_id = c.name, material_id = c.name,
material_id_descrip = c.descrip, material_id_descrip = c.descrip,
@@ -142,15 +138,13 @@ namespace Tnb.BasicData
route_name = e.name, route_name = e.name,
version = d.version, version = d.version,
substitute_material_id = f.name, substitute_material_id = f.name,
hasChildren = SqlFunc.Subqueryable<BasEbomH>().Where(x=>x.material_id==a.material_id).Any(), hasChildren = SqlFunc.Subqueryable<BasEbomH>().Where(x => x.material_id == a.material_id).Any(),
}).Mapper(it => }).Mapper(it =>
{ {
it.material_id_unit_id = !string.IsNullOrEmpty(it.material_id_unit_id) ? dic[it.material_id_unit_id].ToString() : ""; it.material_id_unit_id = !string.IsNullOrEmpty(it.material_id_unit_id) ? dic[it.material_id_unit_id].ToString() : "";
}).ToListAsync(); }).ToListAsync();
return data; return data;
} }
} }
/// <summary> /// <summary>
@@ -159,11 +153,11 @@ namespace Tnb.BasicData
/// <param name="parameters">物料id materialId</param> /// <param name="parameters">物料id materialId</param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public async Task<Dictionary<string,string>> GetEbomVersionAndRouteName(Dictionary<string,string> parameters) public async Task<Dictionary<string, string>> GetEbomVersionAndRouteName(Dictionary<string, string> parameters)
{ {
string materialId = parameters["materialId"]; string materialId = parameters["materialId"];
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
// var momDbLink = await _repository.AsSugarClient().Queryable<DbLinkEntity>().FirstAsync(x => x.FullName == DbName.TNBMON); // var momDbLink = await _repository.AsSugarClient().Queryable<DbLinkEntity>().FirstAsync(x => x.FullName == DbName.TNBMON);
// if (momDbLink != null) // if (momDbLink != null)
// { // {
@@ -171,16 +165,16 @@ namespace Tnb.BasicData
// } // }
var ebom = await db.Queryable<BasEbomH>() var ebom = await db.Queryable<BasEbomH>()
.LeftJoin<BasRouteH>((a,b)=>a.route_id==b.id) .LeftJoin<BasRouteH>((a, b) => a.route_id == b.id)
.OrderByDescending((a,b)=>a.create_time) .OrderByDescending((a, b) => a.create_time)
.Where((a,b) => a.material_id == materialId) .Where((a, b) => a.material_id == materialId)
.Select((a,b)=>new .Select((a, b) => new
{ {
a.id, a.id,
a.version, a.version,
b.name, b.name,
}).FirstAsync(); }).FirstAsync();
return new Dictionary<string,string>() return new Dictionary<string, string>()
{ {
["version"] = ebom?.version ?? "", ["version"] = ebom?.version ?? "",
["routeName"] = ebom?.name ?? "", ["routeName"] = ebom?.name ?? "",

View File

@@ -1,15 +1,8 @@
using System; using JNPF.DependencyInjection;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Aspose.Cells.Drawing;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController; using JNPF.DynamicApiController;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using SqlSugar; using SqlSugar;
using Tnb.BasicData.Entities; using Tnb.BasicData.Entities;
using Tnb.BasicData.Entities.Enums;
using Tnb.BasicData.Interfaces; using Tnb.BasicData.Interfaces;
using Tnb.WarehouseMgr.Entities.Enums; using Tnb.WarehouseMgr.Entities.Enums;
@@ -32,19 +25,27 @@ namespace Tnb.BasicData
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
public async Task<dynamic> GetUnStoreLocationListByCarryId([FromRoute]string carryId) public async Task<dynamic> GetUnStoreLocationListByCarryId([FromRoute] string carryId)
{ {
var items = await _db.Queryable<BasLocation>().Where(it => !string.IsNullOrEmpty(it.is_type) && Convert.ToInt32(it.is_type) != (int)EnumLocationType.).ToListAsync(); List<BasLocation> items = await _db.Queryable<BasLocation>().Where(it => !string.IsNullOrEmpty(it.is_type) && Convert.ToInt32(it.is_type) != (int)EnumLocationType.).ToListAsync();
return items; return items;
} }
public async Task<List<BasLocation>> GetLocationInfobyIds(IEnumerable<string> locIds) public async Task<List<BasLocation>> GetLocationInfobyIds(IEnumerable<string> locIds)
{ {
if (locIds == null) throw new ArgumentNullException(nameof(locIds)); if (locIds == null)
if (!locIds.Any()) throw new ArithmeticException($"parameter locIds.Count is not be empty"); {
var items = await _db.Queryable<BasLocation>().Where(it => locIds.Contains(it.id)).ToListAsync(); throw new ArgumentNullException(nameof(locIds));
}
if (!locIds.Any())
{
throw new ArithmeticException($"parameter locIds.Count is not be empty");
}
List<BasLocation> items = await _db.Queryable<BasLocation>().Where(it => locIds.Contains(it.id)).ToListAsync();
return items; return items;
} }
} }

View File

@@ -21,20 +21,20 @@ namespace Tnb.BasicData
/// </summary> /// </summary>
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)] [ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
[Route("api/[area]/[controller]/[action]")] [Route("api/[area]/[controller]/[action]")]
public class BasMaterialService : IBasMaterialService,IDynamicApiController, ITransient public class BasMaterialService : IBasMaterialService, IDynamicApiController, ITransient
{ {
private readonly ISqlSugarRepository<BasMaterial> _repository; private readonly ISqlSugarRepository<BasMaterial> _repository;
private readonly DataBaseManager _dbManager; private readonly DataBaseManager _dbManager;
private readonly IDictionaryDataService _dictionaryDataService; private readonly IDictionaryDataService _dictionaryDataService;
public BasMaterialService( public BasMaterialService(
ISqlSugarRepository<BasMaterial> repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService) ISqlSugarRepository<BasMaterial> repository, DataBaseManager dbManager, IDictionaryDataService dictionaryDataService)
{ {
_repository = repository; _repository = repository;
_dbManager = dbManager; _dbManager = dbManager;
_dictionaryDataService = dictionaryDataService; _dictionaryDataService = dictionaryDataService;
} }
/// <summary> /// <summary>
/// 复制物料 /// 复制物料
/// </summary> /// </summary>
@@ -44,7 +44,7 @@ namespace Tnb.BasicData
{ {
string id = parameters["id"]; string id = parameters["id"];
BasMaterial basMaterial = await _repository.GetByIdAsync(id); BasMaterial basMaterial = await _repository.GetByIdAsync(id);
List<BasMaterialUnit> materialUnits = await _repository.AsSugarClient().Queryable<BasMaterialUnit>().Where(x => x.material_id == id).ToListAsync(); List<BasMaterialUnit> materialUnits = await _repository.AsSugarClient().Queryable<BasMaterialUnit>().Where(x => x.material_id == id).ToListAsync();
List<BasMaterialIntoFactorySpecifications> materialIntoFactorySpecifications = await _repository.AsSugarClient().Queryable<BasMaterialIntoFactorySpecifications>().Where(x => x.material_id == id).ToListAsync(); List<BasMaterialIntoFactorySpecifications> materialIntoFactorySpecifications = await _repository.AsSugarClient().Queryable<BasMaterialIntoFactorySpecifications>().Where(x => x.material_id == id).ToListAsync();
@@ -53,27 +53,26 @@ namespace Tnb.BasicData
basMaterial.code += "_复制的请修改"; basMaterial.code += "_复制的请修改";
basMaterial.name += "_复制的请修改"; basMaterial.name += "_复制的请修改";
DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () => DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
{ {
await _repository.InsertAsync(basMaterial); _ = await _repository.InsertAsync(basMaterial);
foreach (BasMaterialUnit basMaterialUnit in materialUnits) foreach (BasMaterialUnit basMaterialUnit in materialUnits)
{ {
basMaterialUnit.id = SnowflakeIdHelper.NextId(); basMaterialUnit.id = SnowflakeIdHelper.NextId();
basMaterialUnit.material_id = newId; basMaterialUnit.material_id = newId;
} }
foreach (BasMaterialIntoFactorySpecifications basMaterialIntoFactorySpecification in materialIntoFactorySpecifications) foreach (BasMaterialIntoFactorySpecifications basMaterialIntoFactorySpecification in materialIntoFactorySpecifications)
{ {
basMaterialIntoFactorySpecification.id = SnowflakeIdHelper.NextId(); basMaterialIntoFactorySpecification.id = SnowflakeIdHelper.NextId();
basMaterialIntoFactorySpecification.material_id = newId; basMaterialIntoFactorySpecification.material_id = newId;
} }
await _repository.AsSugarClient().Insertable<BasMaterialUnit>(materialUnits).ExecuteCommandAsync(); _ = await _repository.AsSugarClient().Insertable<BasMaterialUnit>(materialUnits).ExecuteCommandAsync();
await _repository.AsSugarClient().Insertable<BasMaterialIntoFactorySpecifications>(materialIntoFactorySpecifications).ExecuteCommandAsync(); _ = await _repository.AsSugarClient().Insertable<BasMaterialIntoFactorySpecifications>(materialIntoFactorySpecifications).ExecuteCommandAsync();
}); });
if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008); return !result.IsSuccess ? throw Oops.Oh(ErrorCode.COM1008) : result.IsSuccess ? "复制成功" : result.ErrorMessage;
return result.IsSuccess ? "复制成功" : result.ErrorMessage;
} }
/// <summary> /// <summary>
@@ -84,14 +83,17 @@ namespace Tnb.BasicData
[HttpPost] [HttpPost]
public async Task<dynamic> GetMaterialSelectInfo(MaterialSelectQueryInput queryInput) public async Task<dynamic> GetMaterialSelectInfo(MaterialSelectQueryInput queryInput)
{ {
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
if (!string.IsNullOrEmpty(queryInput.ebom_id)) if (!string.IsNullOrEmpty(queryInput.ebom_id))
{ {
List<string> ids = await GetAllChildrenMaterialId(queryInput.ebom_id,0); List<string> ids = await GetAllChildrenMaterialId(queryInput.ebom_id, 0);
BasEbomH ebom = await db.Queryable<BasEbomH>().Where(x => x.id == queryInput.ebom_id).SingleAsync(); BasEbomH ebom = await db.Queryable<BasEbomH>().Where(x => x.id == queryInput.ebom_id).SingleAsync();
if(ebom!=null && !string.IsNullOrEmpty(ebom.material_id)) if (ebom != null && !string.IsNullOrEmpty(ebom.material_id))
{
ids.Add(ebom.material_id); ids.Add(ebom.material_id);
var result = await db.Queryable<BasMaterial>() }
SqlSugarPagedList<MaterialSelectOutput> result = await db.Queryable<BasMaterial>()
.LeftJoin<DictionaryTypeEntity>((a, b) => b.EnCode == DictConst.MeasurementUnit && b.DeleteMark == null) .LeftJoin<DictionaryTypeEntity>((a, b) => b.EnCode == DictConst.MeasurementUnit && b.DeleteMark == null)
.LeftJoin<DictionaryDataEntity>((a, b, c) => c.DictionaryTypeId == b.Id && a.unit_id == c.EnCode) .LeftJoin<DictionaryDataEntity>((a, b, c) => c.DictionaryTypeId == b.Id && a.unit_id == c.EnCode)
.WhereIF(!string.IsNullOrEmpty(queryInput.material_info), (a, b, c) => a.code.Contains(queryInput.material_info) || a.name.Contains(queryInput.material_info)) .WhereIF(!string.IsNullOrEmpty(queryInput.material_info), (a, b, c) => a.code.Contains(queryInput.material_info) || a.name.Contains(queryInput.material_info))
@@ -107,11 +109,11 @@ namespace Tnb.BasicData
}).ToPagedListAsync(queryInput.currentPage, queryInput.pageSize); }).ToPagedListAsync(queryInput.currentPage, queryInput.pageSize);
return PageResult<MaterialSelectOutput>.SqlSugarPageResult(result); return PageResult<MaterialSelectOutput>.SqlSugarPageResult(result);
} }
else else
{ {
var result = await db.Queryable<BasMaterial>() SqlSugarPagedList<MaterialSelectOutput> result = await db.Queryable<BasMaterial>()
.LeftJoin<DictionaryTypeEntity>((a, b) => b.EnCode == DictConst.MeasurementUnit && b.DeleteMark == null) .LeftJoin<DictionaryTypeEntity>((a, b) => b.EnCode == DictConst.MeasurementUnit && b.DeleteMark == null)
.LeftJoin<DictionaryDataEntity>((a, b, c) => c.DictionaryTypeId == b.Id && a.unit_id == c.EnCode) .LeftJoin<DictionaryDataEntity>((a, b, c) => c.DictionaryTypeId == b.Id && a.unit_id == c.EnCode)
.WhereIF(!string.IsNullOrEmpty(queryInput.material_info), (a, b, c) => a.code.Contains(queryInput.material_info) || a.name.Contains(queryInput.material_info)) .WhereIF(!string.IsNullOrEmpty(queryInput.material_info), (a, b, c) => a.code.Contains(queryInput.material_info) || a.name.Contains(queryInput.material_info))
@@ -132,16 +134,16 @@ namespace Tnb.BasicData
[HttpPost] [HttpPost]
public async Task<dynamic> GetCanCreateSubWorkOrderMaterial(MaterialSelectQueryInput queryInput) public async Task<dynamic> GetCanCreateSubWorkOrderMaterial(MaterialSelectQueryInput queryInput)
{ {
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
if (!string.IsNullOrEmpty(queryInput.ebom_id)) if (!string.IsNullOrEmpty(queryInput.ebom_id))
{ {
List<string> ids = await GetAllChildrenMaterialId(queryInput.ebom_id,0); List<string> ids = await GetAllChildrenMaterialId(queryInput.ebom_id, 0);
var result = await db.Queryable<BasMaterial>() SqlSugarPagedList<MaterialSelectOutput> result = await db.Queryable<BasMaterial>()
.LeftJoin<DictionaryTypeEntity>((a, b) => b.EnCode == DictConst.MeasurementUnit && b.DeleteMark == null) .LeftJoin<DictionaryTypeEntity>((a, b) => b.EnCode == DictConst.MeasurementUnit && b.DeleteMark == null)
.LeftJoin<DictionaryDataEntity>((a, b, c) => c.DictionaryTypeId == b.Id && a.unit_id == c.EnCode) .LeftJoin<DictionaryDataEntity>((a, b, c) => c.DictionaryTypeId == b.Id && a.unit_id == c.EnCode)
.WhereIF(!string.IsNullOrEmpty(queryInput.material_info), (a, b, c) => a.code.Contains(queryInput.material_info) || a.name.Contains(queryInput.material_info)) .WhereIF(!string.IsNullOrEmpty(queryInput.material_info), (a, b, c) => a.code.Contains(queryInput.material_info) || a.name.Contains(queryInput.material_info))
.WhereIF(!string.IsNullOrEmpty(queryInput.ebom_id), (a, b, c) => ids.Contains(a.id)) .WhereIF(!string.IsNullOrEmpty(queryInput.ebom_id), (a, b, c) => ids.Contains(a.id))
.Where((a,b,c)=>a.is_create_sub_work_order=="1") .Where((a, b, c) => a.is_create_sub_work_order == "1")
.Select((a, b, c) => new MaterialSelectOutput() .Select((a, b, c) => new MaterialSelectOutput()
{ {
id = a.id, id = a.id,
@@ -153,7 +155,7 @@ namespace Tnb.BasicData
}).ToPagedListAsync(queryInput.currentPage, queryInput.pageSize); }).ToPagedListAsync(queryInput.currentPage, queryInput.pageSize);
return PageResult<MaterialSelectOutput>.SqlSugarPageResult(result); return PageResult<MaterialSelectOutput>.SqlSugarPageResult(result);
} }
else else
{ {
@@ -166,32 +168,32 @@ namespace Tnb.BasicData
{ {
string types = dic["types"]; string types = dic["types"];
string[] typeArr = types.Split(","); string[] typeArr = types.Split(",");
List<BasMaterial> list = await _repository.AsSugarClient().Queryable<BasMaterial>().Where(x => x.state=="1").ToListAsync(); List<BasMaterial> list = await _repository.AsSugarClient().Queryable<BasMaterial>().Where(x => x.state == "1").ToListAsync();
List<BasMaterial> result = new List<BasMaterial>(); List<BasMaterial> result = new();
foreach (var type in typeArr) foreach (string type in typeArr)
{ {
result.AddRange(list.Where(x=>x.category_id.Contains(type))); result.AddRange(list.Where(x => x.category_id.Contains(type)));
} }
return result; return result;
} }
[HttpPost] [HttpPost]
public async Task<dynamic> GetMaterialByQueryJson(MaterialQueryInput input) public async Task<dynamic> GetMaterialByQueryJson(MaterialQueryInput input)
{ {
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
Dictionary<string, string>? queryJson = new Dictionary<string, string>(); Dictionary<string, string>? queryJson = new();
if (input!=null && !string.IsNullOrEmpty(input.queryJson)) if (input != null && !string.IsNullOrEmpty(input.queryJson))
{ {
queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input?.queryJson ?? ""); queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input?.queryJson ?? "");
} }
List<string> typeList = new List<string>(); List<string> typeList = new();
if(!string.IsNullOrEmpty(input!.types)) if (!string.IsNullOrEmpty(input!.types))
{ {
typeList = JsonConvert.DeserializeObject<List<string>>((input?.types??"")) ?? new List<string>(); typeList = JsonConvert.DeserializeObject<List<string>>(input?.types ?? "") ?? new List<string>();
} }
var query = db.Queryable<BasMaterial>() ISugarQueryable<BasMaterial> query = db.Queryable<BasMaterial>()
.Where(x => x.state == "1") .Where(x => x.state == "1")
.WhereIF(queryJson != null && queryJson.ContainsKey("name"), x => x.name.Contains(queryJson!["name"])) .WhereIF(queryJson != null && queryJson.ContainsKey("name"), x => x.name.Contains(queryJson!["name"]))
.WhereIF(queryJson != null && queryJson.ContainsKey("code"), x => x.code.Contains(queryJson!["code"])) .WhereIF(queryJson != null && queryJson.ContainsKey("code"), x => x.code.Contains(queryJson!["code"]))
@@ -199,43 +201,51 @@ namespace Tnb.BasicData
x => x.material_standard!.Contains(queryJson!["material_standard"])) x => x.material_standard!.Contains(queryJson!["material_standard"]))
.Select(x => x); .Select(x => x);
var list = new List<ISugarQueryable<BasMaterial>>(); List<ISugarQueryable<BasMaterial>> list = new();
foreach (var type in typeList) foreach (string type in typeList)
{ {
list.Add(query.Clone().Where(x=>x.category_id.Contains(type))); list.Add(query.Clone().Where(x => x.category_id.Contains(type)));
} }
if (list.Count <= 0) if (list.Count <= 0)
{ {
var result = await query.ToPagedListAsync((input?.currentPage??1), (input?.pageSize??50)); SqlSugarPagedList<BasMaterial> result = await query.ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
return PageResult<BasMaterial>.SqlSugarPageResult(result); return PageResult<BasMaterial>.SqlSugarPageResult(result);
} }
else else
{ {
var result = await db.UnionAll(list).Select<BasMaterial>().ToPagedListAsync((input?.currentPage??1), (input?.pageSize??50)); SqlSugarPagedList<BasMaterial> result = await db.UnionAll(list).Select<BasMaterial>().ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
return PageResult<BasMaterial>.SqlSugarPageResult(result); return PageResult<BasMaterial>.SqlSugarPageResult(result);
} }
} }
/// <summary> /// <summary>
/// 获取物料清单下所子集物料id /// 获取物料清单下所子集物料id
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
private async Task<List<string>> GetAllChildrenMaterialId(string ebomId,int index) private async Task<List<string>> GetAllChildrenMaterialId(string ebomId, int index)
{ {
if (string.IsNullOrEmpty(ebomId)) return new List<string>(); if (string.IsNullOrEmpty(ebomId))
List<string> ids = new List<string>(); {
if (index++ > 10) return ids; return new List<string>();
var list = await _repository.AsSugarClient().Queryable<BasEbomD>().Where(x => x.ebom_id == ebomId) }
List<string> ids = new();
if (index++ > 10)
{
return ids;
}
List<string> list = await _repository.AsSugarClient().Queryable<BasEbomD>().Where(x => x.ebom_id == ebomId)
.Select<string>(x => x.material_id).ToListAsync(); .Select<string>(x => x.material_id).ToListAsync();
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
foreach (var id in list) foreach (string id in list)
{ {
//获取最新创建的物料清单 //获取最新创建的物料清单
var ebom = await _repository.AsSugarClient().Queryable<BasEbomH>().Where(x=>x.material_id==id).OrderByDescending(x=>x.create_time).FirstAsync(); BasEbomH ebom = await _repository.AsSugarClient().Queryable<BasEbomH>().Where(x => x.material_id == id).OrderByDescending(x => x.create_time).FirstAsync();
ids.AddRange(await GetAllChildrenMaterialId(ebom?.id ?? "",index)); ids.AddRange(await GetAllChildrenMaterialId(ebom?.id ?? "", index));
} }
ids.AddRange(list); ids.AddRange(list);
} }

View File

@@ -1,5 +1,6 @@
using JNPF.Common.Core.Manager; using JNPF.Common.Core.Manager;
using JNPF.Common.Enums; using JNPF.Common.Enums;
using JNPF.Common.Extension;
using JNPF.Common.Filter; using JNPF.Common.Filter;
using JNPF.Common.Security; using JNPF.Common.Security;
using JNPF.DependencyInjection; using JNPF.DependencyInjection;
@@ -11,10 +12,8 @@ using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using SqlSugar; using SqlSugar;
using Tnb.BasicData.Entities; using Tnb.BasicData.Entities;
using Tnb.BasicData.Interfaces;
using Tnb.BasicData.Entities.Dto; using Tnb.BasicData.Entities.Dto;
using NPOI.OpenXmlFormats.Dml; using Tnb.BasicData.Interfaces;
using JNPF.Common.Extension;
namespace Tnb.BasicData namespace Tnb.BasicData
{ {
@@ -56,10 +55,10 @@ namespace Tnb.BasicData
/// <returns></returns> /// <returns></returns>
public async Task<dynamic> GetList(VisualDevModelListQueryInput input) public async Task<dynamic> GetList(VisualDevModelListQueryInput input)
{ {
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
Dictionary<string, object>? queryJson = string.IsNullOrEmpty(input.queryJson) ? null : input.queryJson.ToObject<Dictionary<string, object>>(); Dictionary<string, object>? queryJson = string.IsNullOrEmpty(input.queryJson) ? null : input.queryJson.ToObject<Dictionary<string, object>>();
string materialInfo = queryJson?["query_info"]?.ToString() ?? ""; string materialInfo = queryJson?["query_info"]?.ToString() ?? "";
var list = await db.Queryable<BasMbom, BasMaterial, BasEbomH, BasRouteH>((a, b, c, d) => new object[] SqlSugarPagedList<MbomListOutput> list = await db.Queryable<BasMbom, BasMaterial, BasEbomH, BasRouteH>((a, b, c, d) => new object[]
{ {
JoinType.Left, a.material_id == b.id, JoinType.Left, a.material_id == b.id,
JoinType.Left, a.ebom_id == c.id, JoinType.Left, a.ebom_id == c.id,
@@ -75,8 +74,8 @@ namespace Tnb.BasicData
ebom_id = c.version, ebom_id = c.version,
route_id = d.name, route_id = d.name,
route_id_id = c.id, route_id_id = c.id,
start_time = a.start_time==null ? "" : a.start_time.Value.ToString("yyyy-MM-dd"), start_time = a.start_time == null ? "" : a.start_time.Value.ToString("yyyy-MM-dd"),
end_time = a.end_time==null ? "" : a.end_time.Value.ToString("yyyy-MM-dd"), end_time = a.end_time == null ? "" : a.end_time.Value.ToString("yyyy-MM-dd"),
is_first = SqlFunc.IIF(a.is_first == 0, "否", "是"), is_first = SqlFunc.IIF(a.is_first == 0, "否", "是"),
}).ToPagedListAsync(input.currentPage, input.pageSize); }).ToPagedListAsync(input.currentPage, input.pageSize);
@@ -90,13 +89,13 @@ namespace Tnb.BasicData
/// <returns></returns> /// <returns></returns>
public async Task<dynamic> GetInfo(string id) public async Task<dynamic> GetInfo(string id)
{ {
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
BasMbom mbom = await _repository.GetSingleAsync(x => x.id == id); BasMbom mbom = await _repository.GetSingleAsync(x => x.id == id);
List<BasMbomProcess> processes = await db.Queryable<BasMbomProcess>().Where(x => x.mbom_id == id).OrderBy(x=>x.ordinal).ToListAsync(); List<BasMbomProcess> processes = await db.Queryable<BasMbomProcess>().Where(x => x.mbom_id == id).OrderBy(x => x.ordinal).ToListAsync();
List<BasMbomInput> inputs = await db.Queryable<BasMbomInput>().Where(x => x.mbom_id == id).ToListAsync(); List<BasMbomInput> inputs = await db.Queryable<BasMbomInput>().Where(x => x.mbom_id == id).ToListAsync();
List<BasMbomOutput> outputs = await db.Queryable<BasMbomOutput>().Where(x => x.mbom_id == id).ToListAsync(); List<BasMbomOutput> outputs = await db.Queryable<BasMbomOutput>().Where(x => x.mbom_id == id).ToListAsync();
MbomDataOutput mbomDataOutput = new MbomDataOutput(); MbomDataOutput mbomDataOutput = new();
List<MbomProcessOutDto> mbomProcessOutDtos = new List<MbomProcessOutDto>(); List<MbomProcessOutDto> mbomProcessOutDtos = new();
mbomDataOutput.id = mbom.id; mbomDataOutput.id = mbom.id;
mbomDataOutput.ebom_id = mbom.ebom_id; mbomDataOutput.ebom_id = mbom.ebom_id;
@@ -158,9 +157,12 @@ namespace Tnb.BasicData
public async Task<dynamic> GetSubMoListByBomId([FromRoute] string bomId) public async Task<dynamic> GetSubMoListByBomId([FromRoute] string bomId)
{ {
if (string.IsNullOrEmpty(bomId)) throw new ArgumentException($"parameter {nameof(bomId)} not be null or empty"); if (string.IsNullOrEmpty(bomId))
{
throw new ArgumentException($"parameter {nameof(bomId)} not be null or empty");
}
var result = await _db.Queryable<BasMbom>() List<SubBomListOutput> result = await _db.Queryable<BasMbom>()
.LeftJoin<BasMbomProcess>((a, b) => a.id == b.mbom_id) .LeftJoin<BasMbomProcess>((a, b) => a.id == b.mbom_id)
.LeftJoin<BasRouteH>((a, b, c) => a.route_id == c.id) .LeftJoin<BasRouteH>((a, b, c) => a.route_id == c.id)
// .LeftJoin<BasRouteD>((a, b, c, d) => b.process_id == d.process_id && c.id == d.route_id) // .LeftJoin<BasRouteD>((a, b, c, d) => b.process_id == d.process_id && c.id == d.route_id)
@@ -182,7 +184,7 @@ namespace Tnb.BasicData
}) })
.Mapper(it => it.output_qty = it.num.ParseToInt()) .Mapper(it => it.output_qty = it.num.ParseToInt())
.ToListAsync(); .ToListAsync();
return result; return result;
} }
@@ -194,7 +196,7 @@ namespace Tnb.BasicData
.Where(x => x.mbom_process_id == id) .Where(x => x.mbom_process_id == id)
.Select(x => new .Select(x => new
{ {
material_id = x.material_id, x.material_id,
}).ToListAsync(); }).ToListAsync();
return result; return result;
@@ -231,13 +233,13 @@ namespace Tnb.BasicData
material_name = b.name, material_name = b.name,
start_time = a.start_time.HasValue ? a.start_time.Value.ToString(DbTimeFormat.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, end_time = a.end_time.HasValue ? a.end_time.Value.ToString(DbTimeFormat.SS) : null,
version = a.version, a.version,
route_id = c.id, route_id = c.id,
route_name = c.name, route_name = c.name,
}) })
.ToListAsync(); .ToListAsync();
} }
// /// <summary> // /// <summary>
// /// 保存生产bom // /// 保存生产bom
// /// </summary> // /// </summary>
@@ -512,7 +514,7 @@ namespace Tnb.BasicData
// } // }
// return result.IsSuccess ? "保存成功" : result.ErrorMessage; // return result.IsSuccess ? "保存成功" : result.ErrorMessage;
// } // }
/// <summary> /// <summary>
/// 保存生产bom /// 保存生产bom
/// </summary> /// </summary>
@@ -529,7 +531,7 @@ namespace Tnb.BasicData
{ {
string mbomId = SnowflakeIdHelper.NextId(); string mbomId = SnowflakeIdHelper.NextId();
string orgId = _userManager.GetUserInfo().Result.organizeId; string orgId = _userManager.GetUserInfo().Result.organizeId;
BasMbom mbom = new BasMbom() BasMbom mbom = new()
{ {
id = mbomId, id = mbomId,
org_id = orgId, org_id = orgId,
@@ -554,15 +556,15 @@ namespace Tnb.BasicData
errorCode = ErrorCode.COM1004; errorCode = ErrorCode.COM1004;
throw Oops.Oh(ErrorCode.COM1004); throw Oops.Oh(ErrorCode.COM1004);
} }
await _repository.InsertAsync(mbom); _ = await _repository.InsertAsync(mbom);
List<BasMbomProcess> processes = new List<BasMbomProcess>(); List<BasMbomProcess> processes = new();
List<BasMbomInput> inputs = new List<BasMbomInput>(); List<BasMbomInput> inputs = new();
List<BasMbomOutput> outputs = new List<BasMbomOutput>(); List<BasMbomOutput> outputs = new();
if (mbomSaveDataInput != null && mbomSaveDataInput.processes != null) if (mbomSaveDataInput != null && mbomSaveDataInput.processes != null)
{ {
int index = 0; int index = 0;
foreach (var process in mbomSaveDataInput.processes) foreach (MbomProcessDto? process in mbomSaveDataInput.processes)
{ {
string mbomProcessId = SnowflakeIdHelper.NextId(); string mbomProcessId = SnowflakeIdHelper.NextId();
processes.Add(new BasMbomProcess() processes.Add(new BasMbomProcess()
@@ -586,7 +588,7 @@ namespace Tnb.BasicData
if (process.inputs != null) if (process.inputs != null)
{ {
foreach (var input in process.inputs) foreach (BasMbomInput input in process.inputs)
{ {
string inputId = SnowflakeIdHelper.NextId(); string inputId = SnowflakeIdHelper.NextId();
inputs.Add(new BasMbomInput() inputs.Add(new BasMbomInput()
@@ -605,7 +607,7 @@ namespace Tnb.BasicData
if (process.outputs != null) if (process.outputs != null)
{ {
foreach (var output in process.outputs) foreach (BasMbomOutput output in process.outputs)
{ {
string outputId = SnowflakeIdHelper.NextId(); string outputId = SnowflakeIdHelper.NextId();
outputs.Add(new BasMbomOutput() outputs.Add(new BasMbomOutput()
@@ -626,17 +628,17 @@ namespace Tnb.BasicData
if (processes.Count > 0) if (processes.Count > 0)
{ {
await _repository.AsSugarClient().Insertable<BasMbomProcess>(processes).ExecuteCommandAsync(); _ = await _repository.AsSugarClient().Insertable<BasMbomProcess>(processes).ExecuteCommandAsync();
} }
if (inputs.Count > 0) if (inputs.Count > 0)
{ {
await _repository.AsSugarClient().Insertable<BasMbomInput>(inputs).ExecuteCommandAsync(); _ = await _repository.AsSugarClient().Insertable<BasMbomInput>(inputs).ExecuteCommandAsync();
} }
if (outputs.Count > 0) if (outputs.Count > 0)
{ {
await _repository.AsSugarClient().Insertable<BasMbomOutput>(outputs).ExecuteCommandAsync(); _ = await _repository.AsSugarClient().Insertable<BasMbomOutput>(outputs).ExecuteCommandAsync();
} }
} }
else//修改 else//修改
@@ -651,7 +653,7 @@ namespace Tnb.BasicData
string orgId = _userManager.GetUserInfo().Result.organizeId; string orgId = _userManager.GetUserInfo().Result.organizeId;
if (mbomSaveDataInput != null) if (mbomSaveDataInput != null)
{ {
await _repository.UpdateAsync(x => new BasMbom() _ = await _repository.UpdateAsync(x => new BasMbom()
{ {
// org_id = orgId, // org_id = orgId,
material_id = mbomSaveDataInput.material_id, material_id = mbomSaveDataInput.material_id,
@@ -670,12 +672,12 @@ namespace Tnb.BasicData
}, x => x.id == mbomSaveDataInput.id); }, x => x.id == mbomSaveDataInput.id);
} }
// List<BasMbomProcess> processes = new List<BasMbomProcess>(); // List<BasMbomProcess> processes = new List<BasMbomProcess>();
List<BasMbomInput> inputs = new List<BasMbomInput>(); List<BasMbomInput> inputs = new();
List<BasMbomOutput> outputs = new List<BasMbomOutput>(); List<BasMbomOutput> outputs = new();
if (mbomSaveDataInput != null && mbomSaveDataInput.processes != null) if (mbomSaveDataInput != null && mbomSaveDataInput.processes != null)
{ {
foreach (var process in mbomSaveDataInput.processes) foreach (MbomProcessDto? process in mbomSaveDataInput.processes)
{ {
string mbomProcessId = process.id; string mbomProcessId = process.id;
// string mbomProcessId = SnowflakeIdHelper.NextId(); // string mbomProcessId = SnowflakeIdHelper.NextId();
@@ -692,9 +694,9 @@ namespace Tnb.BasicData
// route_detail_id = process.route_detail_id, // route_detail_id = process.route_detail_id,
// //
// }); // });
decimal preparation_time = process?.preparation_time ?? 0; decimal preparation_time = process?.preparation_time ?? 0;
await _repository.AsSugarClient().Updateable<BasMbomProcess>() _ = await _repository.AsSugarClient().Updateable<BasMbomProcess>()
.SetColumns(x => x.preparation_time == preparation_time) .SetColumns(x => x.preparation_time == preparation_time)
.SetColumns(x => x.station == process!.station) .SetColumns(x => x.station == process!.station)
.SetColumns(x => x.byproduct_status == process!.byproduct_status) .SetColumns(x => x.byproduct_status == process!.byproduct_status)
@@ -703,7 +705,7 @@ namespace Tnb.BasicData
if (process!.inputs != null) if (process!.inputs != null)
{ {
foreach (var input in process.inputs) foreach (BasMbomInput input in process.inputs)
{ {
string inputId = SnowflakeIdHelper.NextId(); string inputId = SnowflakeIdHelper.NextId();
inputs.Add(new BasMbomInput() inputs.Add(new BasMbomInput()
@@ -722,7 +724,7 @@ namespace Tnb.BasicData
if (process.outputs != null) if (process.outputs != null)
{ {
foreach (var output in process.outputs) foreach (BasMbomOutput output in process.outputs)
{ {
string outputId = SnowflakeIdHelper.NextId(); string outputId = SnowflakeIdHelper.NextId();
outputs.Add(new BasMbomOutput() outputs.Add(new BasMbomOutput()
@@ -744,9 +746,9 @@ namespace Tnb.BasicData
if (mbomSaveDataInput != null && !string.IsNullOrEmpty(mbomSaveDataInput.id)) if (mbomSaveDataInput != null && !string.IsNullOrEmpty(mbomSaveDataInput.id))
{ {
// await _repository.AsSugarClient().Deleteable<BasMbomProcess>().Where(x => x.mbom_id == mbomSaveDataInput.id).ExecuteCommandAsync(); // await _repository.AsSugarClient().Deleteable<BasMbomProcess>().Where(x => x.mbom_id == mbomSaveDataInput.id).ExecuteCommandAsync();
await _repository.AsSugarClient().Deleteable<BasMbomInput>().Where(x => x.mbom_id == mbomSaveDataInput.id).ExecuteCommandAsync(); _ = await _repository.AsSugarClient().Deleteable<BasMbomInput>().Where(x => x.mbom_id == mbomSaveDataInput.id).ExecuteCommandAsync();
await _repository.AsSugarClient().Deleteable<BasMbomOutput>().Where(x => x.mbom_id == mbomSaveDataInput.id).ExecuteCommandAsync(); _ = await _repository.AsSugarClient().Deleteable<BasMbomOutput>().Where(x => x.mbom_id == mbomSaveDataInput.id).ExecuteCommandAsync();
} }
// if (processes.Count > 0) // if (processes.Count > 0)
// { // {
@@ -755,12 +757,12 @@ namespace Tnb.BasicData
if (inputs.Count > 0) if (inputs.Count > 0)
{ {
await _repository.AsSugarClient().Insertable<BasMbomInput>(inputs).ExecuteCommandAsync(); _ = await _repository.AsSugarClient().Insertable<BasMbomInput>(inputs).ExecuteCommandAsync();
} }
if (outputs.Count > 0) if (outputs.Count > 0)
{ {
await _repository.AsSugarClient().Insertable<BasMbomOutput>(outputs).ExecuteCommandAsync(); _ = await _repository.AsSugarClient().Insertable<BasMbomOutput>(outputs).ExecuteCommandAsync();
} }
} }

View File

@@ -1,4 +1,3 @@
using Aop.Api.Domain;
using JNPF.Common.Core.Manager; using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Enums; using JNPF.Common.Enums;
@@ -7,20 +6,15 @@ using JNPF.DependencyInjection;
using JNPF.DynamicApiController; using JNPF.DynamicApiController;
using JNPF.FriendlyException; using JNPF.FriendlyException;
using JNPF.Systems.Entitys.Permission; using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Entitys.System;
using JNPF.Systems.Interfaces.System;
using JNPF.VisualDev; using JNPF.VisualDev;
using JNPF.VisualDev.Entitys; using JNPF.VisualDev.Entitys;
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData; using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
using JNPF.VisualDev.Interfaces; using JNPF.VisualDev.Interfaces;
using Mapster;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using SqlSugar; using SqlSugar;
using Tnb.BasicData;
using Tnb.BasicData.Entities; using Tnb.BasicData.Entities;
using Tnb.BasicData.Entitys.Dto.BasProcess; using Tnb.BasicData.Entitys.Dto.BasProcess;
using Tnb.BasicData.Interfaces;
namespace Tnb.BasicData namespace Tnb.BasicData
{ {
@@ -64,21 +58,16 @@ namespace Tnb.BasicData
/// <returns></returns> /// <returns></returns>
private async Task<dynamic> GetList(VisualDevModelListQueryInput input) private async Task<dynamic> GetList(VisualDevModelListQueryInput input)
{ {
var result = new SqlSugarPagedList<ProcessListOutput>(); SqlSugarPagedList<ProcessListOutput> result = new();
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
var organize = await db.Queryable<OrganizeEntity>().FirstAsync(it => it.EnCode == input.station_code && it.Category == DictConst.RegionCategoryStationCode); OrganizeEntity organize = await db.Queryable<OrganizeEntity>().FirstAsync(it => it.EnCode == input.station_code && it.Category == DictConst.RegionCategoryStationCode);
if (organize != null) if (organize != null)
{ {
var whereExpr = Expressionable.Create<BasProcess, BasProcessStation>(); Expressionable<BasProcess, BasProcessStation> whereExpr = Expressionable.Create<BasProcess, BasProcessStation>();
var curProcessIds = await db.Queryable<BasProcessStation>().Where(it => it.station_id == organize.Id).Select(it => it.process_id).Distinct().ToListAsync(); List<string> curProcessIds = await db.Queryable<BasProcessStation>().Where(it => it.station_id == organize.Id).Select(it => it.process_id).Distinct().ToListAsync();
if (curProcessIds?.Count > 0) whereExpr = curProcessIds?.Count > 0
{ ? whereExpr.And((a, b) => curProcessIds.Contains(a.id)).Or((a, b) => string.IsNullOrEmpty(b.process_id))
whereExpr = whereExpr.And((a, b) => curProcessIds.Contains(a.id)).Or((a, b) => string.IsNullOrEmpty(b.process_id)); : whereExpr.And((a, b) => string.IsNullOrEmpty(b.process_id));
}
else
{
whereExpr = whereExpr.And((a, b) => string.IsNullOrEmpty(b.process_id));
}
result = await db.Queryable<BasProcess>().LeftJoin<BasProcessStation>((a, b) => a.id == b.process_id).Where(whereExpr.ToExpression()).Select(a => new ProcessListOutput result = await db.Queryable<BasProcess>().LeftJoin<BasProcessStation>((a, b) => a.id == b.process_id).Where(whereExpr.ToExpression()).Select(a => new ProcessListOutput
{ {
id = a.id, id = a.id,
@@ -118,8 +107,8 @@ namespace Tnb.BasicData
string processId = visualDevModelDataCrInput.data["ReturnIdentity"].ToString() ?? ""; string processId = visualDevModelDataCrInput.data["ReturnIdentity"].ToString() ?? "";
List<BasProcessStation> list = new List<BasProcessStation>(); List<BasProcessStation> list = new();
foreach (var item in (JArray)visualDevModelDataCrInput.data["station"]) foreach (JToken item in (JArray)visualDevModelDataCrInput.data["station"])
{ {
string processStationId = SnowflakeIdHelper.NextId(); string processStationId = SnowflakeIdHelper.NextId();
@@ -134,11 +123,10 @@ namespace Tnb.BasicData
}); });
} }
await _repository.AsSugarClient().Insertable<BasProcessStation>(list).ExecuteCommandAsync(); _ = await _repository.AsSugarClient().Insertable<BasProcessStation>(list).ExecuteCommandAsync();
}); });
if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008); return !result.IsSuccess ? throw Oops.Oh(ErrorCode.COM1008) : (dynamic)(result.IsSuccess ? "保存成功" : result.ErrorMessage);
return result.IsSuccess ? "保存成功" : result.ErrorMessage;
} }

View File

@@ -1,7 +1,5 @@
using JNPF.Common.Core.Manager;
using JNPF.DependencyInjection; using JNPF.DependencyInjection;
using JNPF.DynamicApiController; using JNPF.DynamicApiController;
using JNPF.VisualDev.Interfaces;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using SqlSugar; using SqlSugar;
using Tnb.BasicData.Entities; using Tnb.BasicData.Entities;
@@ -28,7 +26,7 @@ namespace Tnb.BasicData
public async Task<dynamic> Stop(Dictionary<string, string> dic) public async Task<dynamic> Stop(Dictionary<string, string> dic)
{ {
string id = dic["id"]; string id = dic["id"];
await _repository.UpdateAsync(x => new BasPushRuleLog() _ = await _repository.UpdateAsync(x => new BasPushRuleLog()
{ {
is_push = 0, is_push = 0,
}, x => x.biz_id == id); }, x => x.biz_id == id);

View File

@@ -6,8 +6,6 @@ using JNPF.Systems.Interfaces.System;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using SqlSugar; using SqlSugar;
using Tnb.BasicData.Entities; using Tnb.BasicData.Entities;
using Tnb.BasicData.Entities.Dto;
using Tnb.BasicData.Entitys.Dto.BasProcess;
using Tnb.BasicData.Interfaces; using Tnb.BasicData.Interfaces;
using Tnb.EquipMgr.Entities; using Tnb.EquipMgr.Entities;
using Tnb.WarehouseMgr.Entities; using Tnb.WarehouseMgr.Entities;
@@ -19,14 +17,14 @@ namespace Tnb.BasicData
/// </summary> /// </summary>
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)] [ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
[Route("api/[area]/[controller]/[action]")] [Route("api/[area]/[controller]/[action]")]
public class BasQrcodeService : IBasQrcodeService,IDynamicApiController, ITransient public class BasQrcodeService : IBasQrcodeService, IDynamicApiController, ITransient
{ {
private readonly ISqlSugarRepository<BasMaterial> _repository; private readonly ISqlSugarRepository<BasMaterial> _repository;
private readonly DataBaseManager _dbManager; private readonly DataBaseManager _dbManager;
private readonly IDictionaryDataService _dictionaryDataService; private readonly IDictionaryDataService _dictionaryDataService;
public BasQrcodeService( public BasQrcodeService(
ISqlSugarRepository<BasMaterial> repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService) ISqlSugarRepository<BasMaterial> repository, DataBaseManager dbManager, IDictionaryDataService dictionaryDataService)
{ {
_repository = repository; _repository = repository;
_dbManager = dbManager; _dbManager = dbManager;
@@ -34,22 +32,26 @@ namespace Tnb.BasicData
} }
[HttpPost] [HttpPost]
public async Task<dynamic> GetQrcodeByCode(Dictionary<string, string> dic) public async Task<dynamic?> GetQrcodeByCode(Dictionary<string, string> dic)
{ {
string code = dic.ContainsKey("code") ? dic["code"] : ""; string code = dic.ContainsKey("code") ? dic["code"] : "";
if (string.IsNullOrEmpty(code)) return null; if (string.IsNullOrEmpty(code))
{
return null;
}
var result = await _repository.AsSugarClient().Queryable<BasQrcode>() var result = await _repository.AsSugarClient().Queryable<BasQrcode>()
.LeftJoin<OrganizeEntity>((a, b) => a.source_id == b.Id) .LeftJoin<OrganizeEntity>((a, b) => a.source_id == b.Id)
.LeftJoin<EqpEquipment>((a, b, c) => a.source_id == c.id) .LeftJoin<EqpEquipment>((a, b, c) => a.source_id == c.id)
.LeftJoin<ToolLocation>((a, b, c, d) => a.source_id == d.id) .LeftJoin<ToolLocation>((a, b, c, d) => a.source_id == d.id)
.LeftJoin<BasLocation>((a,b,c,d,e)=>a.source_id==e.id) .LeftJoin<BasLocation>((a, b, c, d, e) => a.source_id == e.id)
.LeftJoin<WmsCarryH>((a,b,c,d,e,f)=>a.source_id==f.id) .LeftJoin<WmsCarryH>((a, b, c, d, e, f) => a.source_id == f.id)
.Where((a, b, c, d) => a.code == code) .Where((a, b, c, d) => a.code == code)
.Select((a, b, c, d,e,f) => new .Select((a, b, c, d, e, f) => new
{ {
id = a.id, a.id,
source_id = a.source_id, a.source_id,
source_name = a.source_name, a.source_name,
org_code = b.EnCode, org_code = b.EnCode,
org_name = b.FullName, org_name = b.FullName,
equip_code = a.code, equip_code = a.code,
@@ -57,27 +59,31 @@ namespace Tnb.BasicData
tool_location_code = d.location_code, tool_location_code = d.location_code,
bas_location_name = e.location_name, bas_location_name = e.location_name,
bas_location_code = e.location_code, bas_location_code = e.location_code,
carry_name = f.carry_name, f.carry_name,
carry_code = f.carry_code, f.carry_code,
}).FirstAsync(); }).FirstAsync();
return result; return result;
} }
[HttpPost] [HttpPost]
public async Task<dynamic> GetWorkStationByCode(Dictionary<string, string> dic) public async Task<dynamic?> GetWorkStationByCode(Dictionary<string, string> dic)
{ {
string code = dic.ContainsKey("code") ? dic["code"] : ""; string code = dic.ContainsKey("code") ? dic["code"] : "";
if (string.IsNullOrEmpty(code)) return null; if (string.IsNullOrEmpty(code))
{
return null;
}
var result = await _repository.AsSugarClient().Queryable<BasQrcode>() var result = await _repository.AsSugarClient().Queryable<BasQrcode>()
.LeftJoin<OrganizeEntity>((a, b) => a.source_id == b.Id) .LeftJoin<OrganizeEntity>((a, b) => a.source_id == b.Id)
.LeftJoin<OrganizeRelationEntity>((a,b,c)=>a.source_id==c.ObjectId && c.ObjectType=="Eqp") .LeftJoin<OrganizeRelationEntity>((a, b, c) => a.source_id == c.ObjectId && c.ObjectType == "Eqp")
.LeftJoin<OrganizeEntity>((a,b,c,d)=>c.OrganizeId==d.Id) .LeftJoin<OrganizeEntity>((a, b, c, d) => c.OrganizeId == d.Id)
.Where((a, b, c) => a.code == code) .Where((a, b, c) => a.code == code)
.Select((a, b, c,d) => new .Select((a, b, c, d) => new
{ {
id = a.id, a.id,
source_id = a.source_id, a.source_id,
source_name = a.source_name, a.source_name,
org_id = b.Id, org_id = b.Id,
org_code = b.EnCode, org_code = b.EnCode,
org_name = b.FullName, org_name = b.FullName,

View File

@@ -9,8 +9,8 @@ using JNPF.FriendlyException;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using SqlSugar; using SqlSugar;
using Tnb.BasicData.Entities; using Tnb.BasicData.Entities;
using Tnb.BasicData.Interfaces;
using Tnb.BasicData.Entities.Dto; using Tnb.BasicData.Entities.Dto;
using Tnb.BasicData.Interfaces;
namespace Tnb.BasicData namespace Tnb.BasicData
{ {
@@ -19,11 +19,11 @@ namespace Tnb.BasicData
/// </summary> /// </summary>
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 701)] [ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 701)]
[Route("api/[area]/[controller]/[action]")] [Route("api/[area]/[controller]/[action]")]
public class BasRouteService : IBasRouteService,IDynamicApiController, ITransient public class BasRouteService : IBasRouteService, IDynamicApiController, ITransient
{ {
private readonly ISqlSugarRepository<BasRouteH> _repository; private readonly ISqlSugarRepository<BasRouteH> _repository;
public BasRouteService( public BasRouteService(
UserManager userManager, UserManager userManager,
ISqlSugarRepository<BasRouteH> repository) ISqlSugarRepository<BasRouteH> repository)
@@ -40,12 +40,12 @@ namespace Tnb.BasicData
{ {
string id = parameters["id"]; string id = parameters["id"];
await _repository.UpdateAsync(x => new BasRouteH() _ = await _repository.UpdateAsync(x => new BasRouteH()
{ {
status = "1", status = "1",
}, x => x.id == id); }, x => x.id == id);
} }
/// <summary> /// <summary>
/// 复制工艺路线 /// 复制工艺路线
/// </summary> /// </summary>
@@ -55,7 +55,7 @@ namespace Tnb.BasicData
{ {
string id = parameters["id"]; string id = parameters["id"];
BasRouteH basRouteH = await _repository.GetByIdAsync(id); BasRouteH basRouteH = await _repository.GetByIdAsync(id);
List<BasRouteD> basRouteDs = await _repository.AsSugarClient().Queryable<BasRouteD>().Where(x => x.route_id == id).ToListAsync(); List<BasRouteD> basRouteDs = await _repository.AsSugarClient().Queryable<BasRouteD>().Where(x => x.route_id == id).ToListAsync();
string newId = SnowflakeIdHelper.NextId(); string newId = SnowflakeIdHelper.NextId();
@@ -64,42 +64,41 @@ namespace Tnb.BasicData
basRouteH.name += "_复制的请修改"; basRouteH.name += "_复制的请修改";
basRouteH.status = "0"; basRouteH.status = "0";
DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () => DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
{ {
await _repository.InsertAsync(basRouteH); _ = await _repository.InsertAsync(basRouteH);
foreach (BasRouteD basRouteD in basRouteDs) foreach (BasRouteD basRouteD in basRouteDs)
{ {
basRouteD.id = SnowflakeIdHelper.NextId(); basRouteD.id = SnowflakeIdHelper.NextId();
basRouteD.route_id = newId; basRouteD.route_id = newId;
} }
await _repository.AsSugarClient().Insertable<BasRouteD>(basRouteDs).ExecuteCommandAsync(); _ = await _repository.AsSugarClient().Insertable<BasRouteD>(basRouteDs).ExecuteCommandAsync();
}); });
if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008); return !result.IsSuccess ? throw Oops.Oh(ErrorCode.COM1008) : result.IsSuccess ? "复制成功" : result.ErrorMessage;
return result.IsSuccess ? "复制成功" : result.ErrorMessage;
} }
/// <summary> /// <summary>
/// 获取有效的已发布的工艺路线 /// 获取有效的已发布的工艺路线
/// </summary> /// </summary>
[HttpPost] [HttpPost]
public async Task<dynamic> GetValidRouteList([FromBody]VisualDevDataFieldDataListInput pageInput) public async Task<dynamic> GetValidRouteList([FromBody] VisualDevDataFieldDataListInput pageInput)
{ {
var db = _repository.AsSugarClient(); ISqlSugarClient db = _repository.AsSugarClient();
var result = await db.Queryable<BasRouteH>() SqlSugarPagedList<VaildRouteOutput> result = await db.Queryable<BasRouteH>()
.Where(x => x.status == "1" .Where(x => x.status == "1"
&& ((x.start_time != null && x.start_time.Value <= DateTime.Now && x.end_time != null && x.end_time.Value>=DateTime.Now) && ((x.start_time != null && x.start_time.Value <= DateTime.Now && x.end_time != null && x.end_time.Value >= DateTime.Now)
|| (x.start_time==null && x.end_time>=DateTime.Now) || (x.start_time == null && x.end_time >= DateTime.Now)
|| (x.end_time==null && x.start_time<=DateTime.Now) || (x.end_time == null && x.start_time <= DateTime.Now)
|| (x.start_time == null && x.end_time == null) || (x.start_time == null && x.end_time == null)
)).Select(x=>new VaildRouteOutput() )).Select(x => new VaildRouteOutput()
{ {
id = x.id, id = x.id,
code = x.code, code = x.code,
name = x.name, name = x.name,
start_time = x.start_time==null ? "" : x.start_time.Value.ToString("yyyy-MM-dd"), start_time = x.start_time == null ? "" : x.start_time.Value.ToString("yyyy-MM-dd"),
end_time = x.end_time==null ? "" : x.end_time.Value.ToString("yyyy-MM-dd"), end_time = x.end_time == null ? "" : x.end_time.Value.ToString("yyyy-MM-dd"),
}).ToPagedListAsync(pageInput.currentPage, pageInput.pageSize); }).ToPagedListAsync(pageInput.currentPage, pageInput.pageSize);
return PageResult<VaildRouteOutput>.SqlSugarPageResult(result); return PageResult<VaildRouteOutput>.SqlSugarPageResult(result);
} }

View File

@@ -1,5 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="$(SolutionDir)\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>net6.0</TargetFramework> <TargetFramework>net6.0</TargetFramework>

View File

@@ -1,5 +1,13 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir> <SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir>
<LangVersion>latest</LangVersion>
<NoWarn>$(NoWarn);CS1591;</NoWarn>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DebugType>none</DebugType>
<DebugSymbols>false</DebugSymbols>
</PropertyGroup>
</Project> </Project>

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Consts
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Consts
{ {
public class MoldPlanMaintainStatus public class MoldPlanMaintainStatus
{ {

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Consts
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Consts
{ {
public class MoldUseStatus public class MoldUseStatus
{ {

View File

@@ -9,12 +9,12 @@ namespace Tnb.EquipMgr
/// 待执行 /// 待执行
/// </summary> /// </summary>
public const string TOBEEXECUTED = "1"; public const string TOBEEXECUTED = "1";
/// <summary> /// <summary>
/// 待复核 /// 待复核
/// </summary> /// </summary>
public const string TOBECHECK = "2"; public const string TOBECHECK = "2";
/// <summary> /// <summary>
/// 已完成 /// 已完成
/// </summary> /// </summary>

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
public class BaseMoldMaintainInput public class BaseMoldMaintainInput
{ {

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
public class CheckItemOutput public class CheckItemOutput
{ {

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 根据模具ID、计划ID获取保养组及项目信息 /// 根据模具ID、计划ID获取保养组及项目信息

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
public class ClosedownEndListOutput public class ClosedownEndListOutput
{ {

View File

@@ -14,11 +14,11 @@ namespace Tnb.EquipMgr.Entities.Dto
public string execute_time { get; set; } public string execute_time { get; set; }
public string repeat_user_id { get; set; } public string repeat_user_id { get; set; }
public string repeat_user_id_id { get; set; } public string repeat_user_id_id { get; set; }
public string execute_user_id{ get; set; } public string execute_user_id { get; set; }
public string execute_user_id_id { get; set; } public string execute_user_id_id { get; set; }
public string repeat_time { get; set; } public string repeat_time { get; set; }
public string last_execute_time { get; set; } public string last_execute_time { get; set; }
public DateTime? date_repeat_time { get; set; } public DateTime? date_repeat_time { get; set; }
public DateTime? date_create_time { get; set; } public DateTime? date_create_time { get; set; }
public DateTime? date_execute_time { get; set; } public DateTime? date_execute_time { get; set; }

View File

@@ -12,10 +12,10 @@ namespace Tnb.EquipMgr.Entities.Dto
public string spot_record_date_time { get; set; } public string spot_record_date_time { get; set; }
public string repeat_user_id { get; set; } public string repeat_user_id { get; set; }
public string repeat_user_id_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 { get; set; }
public string spot_record_user_id_id { get; set; } public string spot_record_user_id_id { get; set; }
public string repeat_time { get; set; } public string repeat_time { get; set; }
public DateTime? date_repeat_time { get; set; } public DateTime? date_repeat_time { get; set; }
public DateTime? date_create_time { get; set; } public DateTime? date_create_time { get; set; }
public DateTime? date_spot_record_date_time { get; set; } public DateTime? date_spot_record_date_time { get; set; }

View File

@@ -5,7 +5,7 @@ namespace Tnb.EquipMgr.Entities.Dto
public string? id { get; set; } public string? id { get; set; }
public string? data_source { get; set; } public string? data_source { get; set; }
public string create_id { get; set; } = string.Empty; public string create_id { get; set; } = string.Empty;
public string? create_time { get; set; } public string? create_time { get; set; }
public string? data_type { get; set; } public string? data_type { get; set; }
public string? enabled { get; set; } public string? enabled { get; set; }
public string? equip_id { get; set; } public string? equip_id { get; set; }

View File

@@ -6,7 +6,7 @@ namespace Tnb.EquipMgr.Entities.Dto
public string? attachment { get; set; } public string? attachment { get; set; }
public string? create_id { get; set; } public string? create_id { get; set; }
public string? create_id_id { get; set; } public string? create_id_id { get; set; }
public string? create_time { get; set; } public string? create_time { get; set; }
public string? equip_id { get; set; } public string? equip_id { get; set; }
public string? equip_id_id { get; set; } public string? equip_id_id { get; set; }
public string? file_name { get; set; } public string? file_name { get; set; }

View File

@@ -3,7 +3,7 @@ namespace Tnb.EquipMgr.Entities.Dto
public class EquipQueryInput public class EquipQueryInput
{ {
public string equip_id { get; set; } = string.Empty; public string equip_id { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 当前页码:pageIndex. /// 当前页码:pageIndex.
/// </summary> /// </summary>
@@ -13,7 +13,7 @@ namespace Tnb.EquipMgr.Entities.Dto
/// 每页行数. /// 每页行数.
/// </summary> /// </summary>
public virtual int pageSize { get; set; } = 50; public virtual int pageSize { get; set; } = 50;
public string? queryJson { get; set; } public string? queryJson { get; set; }
} }
} }

View File

@@ -4,6 +4,6 @@ namespace Tnb.EquipMgr.Entities.Dto
{ {
public string id { get; set; } = string.Empty; public string id { get; set; } = string.Empty;
public string reason { get; set; } = string.Empty; public string reason { get; set; } = string.Empty;
} }
} }

View File

@@ -3,7 +3,7 @@ namespace Tnb.EquipMgr.Entities.Dto
public class EquipSparePartsInput public class EquipSparePartsInput
{ {
public string equip_id { get; set; } = string.Empty; public string equip_id { get; set; } = string.Empty;
public List<string>? spare_parts_ids { get; set; } public List<string>? spare_parts_ids { get; set; }
} }
} }

View File

@@ -8,6 +8,6 @@ namespace Tnb.EquipMgr.Entities.Dto
public string? code { get; set; } public string? code { get; set; }
public string? name { get; set; } public string? name { get; set; }
public string? specification { get; set; } public string? specification { get; set; }
} }
} }

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 设备列表输出类 /// 设备列表输出类

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
public class MaintainInfoQueryinput public class MaintainInfoQueryinput
{ {

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 生成保养计划输入参数 /// 生成保养计划输入参数

View File

@@ -1,11 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NPOI.HSSF.Record.Chart;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 保养计划模具列表输出参数 /// 保养计划模具列表输出参数

View File

@@ -5,9 +5,9 @@ namespace Tnb.EquipMgr.Entities.Dto
public string id { get; set; } = string.Empty; public string id { get; set; } = string.Empty;
public string repeat_result { get; set; } = string.Empty; public string repeat_result { get; set; } = string.Empty;
public string? repeat_remark { get; set; } public string? repeat_remark { get; set; }
public List<Dictionary<string,string>>? details { get; set; } public List<Dictionary<string, string>>? details { get; set; }
} }
} }

View File

@@ -3,7 +3,7 @@ namespace Tnb.EquipMgr.Entities.Dto
public class MaintainRecordRepeatOutput public class MaintainRecordRepeatOutput
{ {
public EqpMaintainRecordH? model { get; set; } public EqpMaintainRecordH? model { get; set; }
public List<EqpMaintainRecordD>? details { get; set; } public List<EqpMaintainRecordD>? details { get; set; }
} }
} }

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 保养规则关联模具列表输出参数 /// 保养规则关联模具列表输出参数

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 修改维修单任务状态输入参数 /// 修改维修单任务状态输入参数
@@ -18,6 +12,6 @@ namespace Tnb.EquipMgr.Entities.Dto
/// <summary> /// <summary>
/// 维修单状态 DWX(待维修)、WXZ(维修中)、YWC(已维修) /// 维修单状态 DWX(待维修)、WXZ(维修中)、YWC(已维修)
/// </summary> /// </summary>
public string status { get; set; } public string status { get; set; }
} }
} }

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 物料列表输出类 /// 物料列表输出类

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
public class RelevanceMoldListOutput public class RelevanceMoldListOutput
{ {

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 模具保养删除参数 /// 模具保养删除参数

View File

@@ -1,15 +1,9 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 关联保养组与模具输入参数 /// 关联保养组与模具输入参数
/// </summary> /// </summary>
public class MoldMaintainGroupItemRelationInput :BaseMoldMaintainInput public class MoldMaintainGroupItemRelationInput : BaseMoldMaintainInput
{ {
} }
} }

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 模具保养项输入参数 /// 模具保养项输入参数

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 模具保养项列表输出 /// 模具保养项列表输出

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 模具保养计划执行查询输出参数 /// 模具保养计划执行查询输出参数

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 模具保养执行输入参数 /// 模具保养执行输入参数
@@ -34,7 +28,7 @@ namespace Tnb.EquipMgr.Entities.Dto
public string starttime { get; set; } public string starttime { get; set; }
} }
public class MaintainItemInfo public class MaintainItemInfo
{ {
public string item_group_id { get; set; } public string item_group_id { get; set; }

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
public class MoldMaintainUpInput public class MoldMaintainUpInput
{ {
@@ -15,6 +9,6 @@ namespace Tnb.EquipMgr.Entities.Dto
/// <summary> /// <summary>
/// 维修状态 /// 维修状态
/// </summary> /// </summary>
public string status{ get; set; } public string status { get; set; }
} }
} }

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 模具规则选择列表输出类 /// 模具规则选择列表输出类

View File

@@ -1,11 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
public class PadMainListOutput public class PadMainListOutput
{ {

View File

@@ -5,11 +5,11 @@ namespace Tnb.EquipMgr.Entities.Dto
public class PadRepairListInput : PageInputBase public class PadRepairListInput : PageInputBase
{ {
public string status { get; set; } public string status { get; set; }
public string equip_info { get; set; } public string equip_info { get; set; }
public DateTime? start_time { get; set; } public DateTime? start_time { get; set; }
public DateTime? end_time { get; set; } public DateTime? end_time { get; set; }
} }
} }

View File

@@ -3,9 +3,9 @@ namespace Tnb.EquipMgr.Entities.Dto
public class PadRepairListOutput public class PadRepairListOutput
{ {
public string id { get; set; } public string id { get; set; }
public string code { get; set; } public string code { get; set; }
public string name { get; set; } public string name { get; set; }
public string equip_id { get; set; } public string equip_id { get; set; }
public string equip_id_id { get; set; } public string equip_id_id { get; set; }

View File

@@ -1,9 +1,4 @@
using System; using JNPF.Common.Filter;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JNPF.Common.Filter;
namespace Tnb.EquipMgr.Entities.Dto namespace Tnb.EquipMgr.Entities.Dto
{ {

View File

@@ -13,9 +13,9 @@ namespace Tnb.EquipMgr.Entities.Dto
public string status { get; set; } public string status { get; set; }
public string repairer_id { get; set; } public string repairer_id { get; set; }
public string? repairer_id_id { get; set; } public string? repairer_id_id { get; set; }
public string apply_user_id { get; set; } public string apply_user_id { get; set; }
public string apply_user_id_id { get; set; } public string apply_user_id_id { get; set; }
} }
} }

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 模具保养计划制定-计划关联模具输入参数 /// 模具保养计划制定-计划关联模具输入参数

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 模具规则定义,关键模具输入参数 /// 模具规则定义,关键模具输入参数
@@ -27,7 +21,7 @@ namespace Tnb.EquipMgr.Entities.Dto
} }
public class RowIdItem public class RowIdItem
{ {
/// <summary> /// <summary>
/// 模具id /// 模具id

View File

@@ -3,22 +3,22 @@ namespace Tnb.EquipMgr.Entities.Dto
public class RepairApplyOutRegisterInput public class RepairApplyOutRegisterInput
{ {
public string? id { get; set; } public string? id { get; set; }
/// <summary> /// <summary>
/// 实际维修供应商id /// 实际维修供应商id
/// </summary> /// </summary>
public string? real_supplier_id { get; set; } public string? real_supplier_id { get; set; }
/// <summary> /// <summary>
/// 附件 /// 附件
/// </summary> /// </summary>
public string? attachment { get; set; } public string? attachment { get; set; }
/// <summary> /// <summary>
/// 费用 /// 费用
/// </summary> /// </summary>
public decimal? cost { get; set; } public decimal? cost { get; set; }
/// <summary> /// <summary>
/// 修复时间 /// 修复时间
/// </summary> /// </summary>
@@ -28,12 +28,12 @@ namespace Tnb.EquipMgr.Entities.Dto
/// 维修耗时 /// 维修耗时
/// </summary> /// </summary>
public decimal? repair_take_time { get; set; } public decimal? repair_take_time { get; set; }
/// <summary> /// <summary>
/// 维修备注 /// 维修备注
/// </summary> /// </summary>
public string? repair_remark { get; set; } public string? repair_remark { get; set; }
/// <summary> /// <summary>
/// 报修申请id /// 报修申请id
/// </summary> /// </summary>

View File

@@ -3,27 +3,27 @@ namespace Tnb.EquipMgr.Entities.Dto
public class RepairApplyRegisterInput public class RepairApplyRegisterInput
{ {
public string? id { get; set; } public string? id { get; set; }
/// <summary> /// <summary>
/// 故障ID /// 故障ID
/// </summary> /// </summary>
public string? fault_id { get; set; } public string? fault_id { get; set; }
/// <summary> /// <summary>
/// 是否完成 /// 是否完成
/// </summary> /// </summary>
public string? is_complete { get; set; } public string? is_complete { get; set; }
/// <summary> /// <summary>
/// 完成时间 /// 完成时间
/// </summary> /// </summary>
public DateTime? complete_time { get; set; } public DateTime? complete_time { get; set; }
/// <summary> /// <summary>
/// 维修耗时 /// 维修耗时
/// </summary> /// </summary>
public int? repair_take_time { get; set; } public int? repair_take_time { get; set; }
/// <summary> /// <summary>
/// 是否停机 /// 是否停机
/// </summary> /// </summary>
@@ -33,17 +33,17 @@ namespace Tnb.EquipMgr.Entities.Dto
/// 停机时长 /// 停机时长
/// </summary> /// </summary>
public int? halt_take_time { get; set; } public int? halt_take_time { get; set; }
/// <summary> /// <summary>
/// 维修描述 /// 维修描述
/// </summary> /// </summary>
public string? repair_description { get; set; } public string? repair_description { get; set; }
/// <summary> /// <summary>
/// 维修图片 /// 维修图片
/// </summary> /// </summary>
public string? repair_img { get; set; } public string? repair_img { get; set; }
/// <summary> /// <summary>
/// 是否外修 /// 是否外修
/// </summary> /// </summary>

View File

@@ -3,15 +3,15 @@ namespace Tnb.EquipMgr.Entities.Dto
public class RepairDelayInput public class RepairDelayInput
{ {
public string? repair_apply_id { get; set; } public string? repair_apply_id { get; set; }
public string? equip_id { get; set; } public string? equip_id { get; set; }
public string? repair_request_sender_id { get; set; } public string? repair_request_sender_id { get; set; }
public string? repair_sender_id { get; set; } public string? repair_sender_id { get; set; }
public DateTime expected_time { get; set; } public DateTime expected_time { get; set; }
public string? delay_reason { get; set; } public string? delay_reason { get; set; }
} }
} }

Some files were not shown because too many files have changed in this diff Show More