From aad4888c14dadaa24d4810e1e9e4333ff7ca0689 Mon Sep 17 00:00:00 2001
From: zhoukeda <1315948824@qq.com>
Date: Mon, 6 Nov 2023 10:08:32 +0800
Subject: [PATCH 01/10] =?UTF-8?q?=E4=B8=80=E8=88=AC=E5=87=BA=E5=BA=93?=
=?UTF-8?q?=E7=94=B3=E8=AF=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Consts/DictConst.cs | 10 ++
.../Dto/PrdManage/GeneralOutstockInput.cs | 29 +++++
.../Entity/PrdOutstockD.cs | 2 +-
.../IPrdOutstockService.cs | 8 +-
.../Tnb.ProductionMgr/PrdOutstockService.cs | 122 +++++++++++++++++-
5 files changed, 168 insertions(+), 3 deletions(-)
create mode 100644 ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/GeneralOutstockInput.cs
diff --git a/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs b/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs
index da84b4d4..69611399 100644
--- a/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs
+++ b/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs
@@ -169,6 +169,16 @@ public static class DictConst
///
public const string CHANCHENGPINRUKUDAN = "40";
+ ///
+ /// 生产领料单
+ ///
+ public const string SHENGCHANLINGLIAO = "23";
+
+ ///
+ /// 生产补料单
+ ///
+ public const string SHENGCHANBULIAO = "24";
+
#endregion
diff --git a/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/GeneralOutstockInput.cs b/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/GeneralOutstockInput.cs
new file mode 100644
index 00000000..79368c6f
--- /dev/null
+++ b/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/GeneralOutstockInput.cs
@@ -0,0 +1,29 @@
+namespace Tnb.ProductionMgr.Entities.Dto
+{
+ public class GeneralOutstockInput
+ {
+ ///
+ /// 目标库位编号
+ ///
+ public string location_code { get; set; } = string.Empty;
+
+ /// 所属工位
+ ///
+ public string? workstation_id { get; set; }
+
+ ///
+ /// 任务单
+ ///
+ public string? mo_task_id { get; set; }
+
+ public List details { get; set; } = new List();
+ }
+
+ public class GeneralOutstockDInput
+ {
+ public string material_id { get; set; }
+ public string material_code { get; set; }
+ public string material_name { get; set; }
+ public decimal num { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdOutstockD.cs b/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdOutstockD.cs
index 960834c6..86c1328a 100644
--- a/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdOutstockD.cs
+++ b/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdOutstockD.cs
@@ -32,7 +32,7 @@ public partial class PrdOutstockD : BaseEntity
///
/// 出库需求数量
///
- public string? pr_qty { get; set; }
+ public decimal? pr_qty { get; set; }
///
/// 来源单据id
diff --git a/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdOutstockService.cs b/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdOutstockService.cs
index 3d8bed0f..0a669e72 100644
--- a/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdOutstockService.cs
+++ b/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdOutstockService.cs
@@ -1,3 +1,5 @@
+using Tnb.ProductionMgr.Entities.Dto;
+
namespace Tnb.ProductionMgr.Interfaces
{
///
@@ -5,6 +7,10 @@ namespace Tnb.ProductionMgr.Interfaces
///
public interface IPrdOutstockService
{
-
+ ///
+ /// 一般出库申请
+ ///
+ ///
+ public Task GeneralOutstock(GeneralOutstockInput input);
}
}
\ No newline at end of file
diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdOutstockService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdOutstockService.cs
index fef2d924..da415616 100644
--- a/ProductionMgr/Tnb.ProductionMgr/PrdOutstockService.cs
+++ b/ProductionMgr/Tnb.ProductionMgr/PrdOutstockService.cs
@@ -7,6 +7,9 @@ using JNPF.Extras.CollectiveOAuth.Models;
using JNPF.Extras.CollectiveOAuth.Utils;
using JNPF.FriendlyException;
using JNPF.Logging;
+using JNPF.Systems.Entitys.Permission;
+using JNPF.Systems.Entitys.System;
+using JNPF.Systems.Interfaces.Permission;
using JNPF.Systems.Interfaces.System;
using JNPF.VisualDev;
using JNPF.VisualDev.Entitys;
@@ -14,10 +17,12 @@ using JNPF.VisualDev.Interfaces;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
+using Spire.Pdf.Exporting.XPS.Schema;
using SqlSugar;
using Tnb.BasicData;
using Tnb.BasicData.Entities;
using Tnb.ProductionMgr.Entities;
+using Tnb.ProductionMgr.Entities.Dto;
using Tnb.ProductionMgr.Interfaces;
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
@@ -37,10 +42,11 @@ namespace Tnb.ProductionMgr
private readonly IRunService _runService;
private readonly IVisualDevService _visualDevService;
private readonly IDictionaryDataService _dictionaryDataService;
+ private readonly IOrganizeService _organizeService;
private readonly IUserManager _userManager;
public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc();
- public PrdOutstockService(ISqlSugarRepository repository, IRunService runService, IUserManager userManager,IVisualDevService visualDevService, IDictionaryDataService dictionaryDataService)
+ public PrdOutstockService(ISqlSugarRepository repository, IOrganizeService organizeService,IRunService runService, IUserManager userManager,IVisualDevService visualDevService, IDictionaryDataService dictionaryDataService)
{
_db = repository.AsSugarClient();
_runService = runService;
@@ -48,6 +54,7 @@ namespace Tnb.ProductionMgr
_dictionaryDataService = dictionaryDataService;
_repository = repository;
_userManager = userManager;
+ _organizeService = organizeService;
OverideFuncs.CreateAsync = Create;
}
@@ -114,5 +121,118 @@ namespace Tnb.ProductionMgr
}
}
+
+ public async Task GeneralOutstock(GeneralOutstockInput generalOutstockInput)
+ {
+ try
+ {
+ var db = _repository.AsSugarClient();
+ string warehouse_id = "26103348825381";//二楼缓存仓
+
+ MESCreateOutstockInput input = new MESCreateOutstockInput();
+ input.outstock = new MESWmsOutstockHInput();
+ input.outstockDs = new List();
+
+ PrdMoTask prdMoTask = await db.Queryable().SingleAsync(x=>x.id==generalOutstockInput.mo_task_id);
+ BasLocation location = await db.Queryable().Where(x=>x.location_code==generalOutstockInput.location_code).FirstAsync();
+ if (location == null) throw Oops.Bah("未找到库位");
+ string locationId = location.id;
+
+ input.outstock.bill_type = DictConst.SHENGCHANLINGLIAO;
+ // input.outstock.bill_date = visualDevModelDataCrInput.data.ContainsKey("bill_date") ? Convert.ToDateTime(visualDevModelDataCrInput.data["bill_date"].ToString()) : DateTime.Now;
+ input.outstock.bill_date = DateTime.Now;
+ input.outstock.org_id = _userManager.GetUserInfo().Result.organizeId;
+ input.outstock.warehouse_id = warehouse_id;
+ input.outstock.create_id = _userManager.UserId;
+ input.outstock.location_code = location?.location_code ?? "";
+ OrganizeEntity workline = await _organizeService.GetAnyParentByWorkstationId(generalOutstockInput.workstation_id, DictConst.RegionCategoryWorklineCode);
+
+ List materialIds = generalOutstockInput.details.Select(x => x.material_id).ToList();
+ Dictionary unitIdDic = await db.Queryable()
+ .LeftJoin((a, b) => b.EnCode == DictConst.MeasurementUnit)
+ .LeftJoin((a, b, c) => b.Id == c.DictionaryTypeId && a.unit_id == c.EnCode)
+ .Where((a,b,c)=>materialIds.Contains(a.id))
+ .Select((a, b, c) => new
+ {
+ key = a.id,
+ value = c.Id
+ })
+ .ToDictionaryAsync(x => x.key, x => x.value);
+
+ foreach (var item in generalOutstockInput.details)
+ {
+ input.outstockDs.Add(new MESWmsOutstockDInput()
+ {
+ material_id = item.material_id,
+ material_code = item.material_code,
+ pr_qty = item.num,
+ unit_id = unitIdDic[item.material_id].ToString()
+ });
+ }
+
+ string domain = (App.HttpContext.Request.IsHttps ? "https://" : "http://") + App.HttpContext.Request.Host;
+ Dictionary header = new Dictionary()
+ {
+ ["Authorization"] = App.HttpContext.Request.Headers["Authorization"]
+ };
+ var sendResult = HttpUtils.RequestPost(domain + WebApiConst.MES_CREATE_OUTSTOCK,JsonConvert.SerializeObject(input),header);
+ Log.Information(sendResult);
+
+ AuthResponse authResponse = JsonConvert.DeserializeObject(sendResult);
+ if (authResponse.code != 200)
+ {
+ throw Oops.Bah(authResponse.msg);
+ }
+ else
+ {
+ PrdOutstockH prdOutstockH = new PrdOutstockH();
+ prdOutstockH.bill_type = DictConst.SHENGCHANLINGLIAO;
+ prdOutstockH.warehouse_id = warehouse_id;
+ prdOutstockH.location_code = generalOutstockInput.location_code;
+ prdOutstockH.create_id = _userManager.UserId;
+ prdOutstockH.org_id = _userManager.GetUserInfo().Result.organizeId;
+ prdOutstockH.bill_date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+ prdOutstockH.workstation = generalOutstockInput.workstation_id;
+ prdOutstockH.workline = workline?.Id ?? "";
+
+ List prdOutstockDs = new List();
+ foreach (var item in generalOutstockInput.details)
+ {
+ prdOutstockDs.Add(new PrdOutstockD()
+ {
+ material_id = item.material_id,
+ material_code = item.material_code,
+ material_name = item.material_name,
+ pr_qty = item.num,
+ unit_id = unitIdDic[item.material_id].ToString(),
+ outstock_id = prdOutstockH.id,
+ source_id = prdMoTask.mo_task_code
+ });
+ }
+
+ DbResult result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
+ {
+ await _repository.InsertAsync(prdOutstockH);
+ if (prdOutstockDs.Count > 0)
+ {
+ await db.Insertable(prdOutstockDs).ExecuteCommandAsync();
+ }
+ });
+
+ if (!result.IsSuccess)
+ {
+ throw Oops.Bah(result.ErrorMessage);
+ }
+
+ }
+ return await Task.FromResult(true);
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e);
+ Log.Error(e.Message);
+ throw Oops.Bah(e.Message);
+ }
+ }
}
}
\ No newline at end of file
From 8c8284a72d66c4a4cf3613d04f5ef52cad91a5f8 Mon Sep 17 00:00:00 2001
From: zhoukeda <1315948824@qq.com>
Date: Mon, 6 Nov 2023 10:27:22 +0800
Subject: [PATCH 02/10] 1
---
ProductionMgr/Tnb.ProductionMgr/PrdOutstockService.cs | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdOutstockService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdOutstockService.cs
index da415616..cdd4c2b0 100644
--- a/ProductionMgr/Tnb.ProductionMgr/PrdOutstockService.cs
+++ b/ProductionMgr/Tnb.ProductionMgr/PrdOutstockService.cs
@@ -148,6 +148,7 @@ namespace Tnb.ProductionMgr
OrganizeEntity workline = await _organizeService.GetAnyParentByWorkstationId(generalOutstockInput.workstation_id, DictConst.RegionCategoryWorklineCode);
List materialIds = generalOutstockInput.details.Select(x => x.material_id).ToList();
+ List basMaterials = await db.Queryable().Where(x=>materialIds.Contains(x.id)).ToListAsync();
Dictionary unitIdDic = await db.Queryable()
.LeftJoin((a, b) => b.EnCode == DictConst.MeasurementUnit)
.LeftJoin((a, b, c) => b.Id == c.DictionaryTypeId && a.unit_id == c.EnCode)
@@ -164,7 +165,7 @@ namespace Tnb.ProductionMgr
input.outstockDs.Add(new MESWmsOutstockDInput()
{
material_id = item.material_id,
- material_code = item.material_code,
+ material_code = basMaterials.First(x=>x.id==item.material_id).code,
pr_qty = item.num,
unit_id = unitIdDic[item.material_id].ToString()
});
@@ -201,8 +202,8 @@ namespace Tnb.ProductionMgr
prdOutstockDs.Add(new PrdOutstockD()
{
material_id = item.material_id,
- material_code = item.material_code,
- material_name = item.material_name,
+ material_code = basMaterials.First(x=>x.id==item.material_id).code,
+ material_name = basMaterials.First(x=>x.id==item.material_id).name,
pr_qty = item.num,
unit_id = unitIdDic[item.material_id].ToString(),
outstock_id = prdOutstockH.id,
From a055ac33ef6810f5f1ab94656121e06a20af17c0 Mon Sep 17 00:00:00 2001
From: zhoukeda <1315948824@qq.com>
Date: Mon, 6 Nov 2023 15:30:31 +0800
Subject: [PATCH 03/10] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=B7=A5=E4=BD=8Did?=
=?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=BD=93=E5=89=8D=E8=BF=9B=E8=A1=8C=E4=B8=AD?=
=?UTF-8?q?=E7=9A=84=E4=BB=BB=E5=8A=A1=E5=8D=95=20=E7=94=9F=E4=BA=A7?=
=?UTF-8?q?=E6=8A=95=E6=96=99=E6=96=B0=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../IPrdMoTaskService.cs | 9 +-
.../Tnb.ProductionMgr/PrdFeedingService.cs | 126 ++++++++++++++++++
.../Tnb.ProductionMgr/PrdMoTaskService.cs | 21 ++-
3 files changed, 154 insertions(+), 2 deletions(-)
diff --git a/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdMoTaskService.cs b/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdMoTaskService.cs
index 29f0b0aa..ba1668ad 100644
--- a/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdMoTaskService.cs
+++ b/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdMoTaskService.cs
@@ -25,6 +25,13 @@ namespace Tnb.ProductionMgr.Interfaces
///
///
Task GetMaterialPreparationPlan();
-
+
+ ///
+ /// 根据工位获取进行中的任务单信息
+ ///
+ ///
+ ///
+ Task GetPrdMoTaskInfoByStationId(Dictionary dic);
+
}
}
diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdFeedingService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdFeedingService.cs
index 183953d8..61872a53 100644
--- a/ProductionMgr/Tnb.ProductionMgr/PrdFeedingService.cs
+++ b/ProductionMgr/Tnb.ProductionMgr/PrdFeedingService.cs
@@ -36,6 +36,7 @@ namespace Tnb.ProductionMgr
{
private readonly ISqlSugarRepository _repository;
private readonly IUserManager _userManager;
+ private readonly IPrdMoTaskService _prdMoTaskService;
private readonly IBillRullService _billRullService;
// private readonly WmsSignForDeliveryService _wmsSignForDeliveryService;
@@ -44,12 +45,14 @@ namespace Tnb.ProductionMgr
public PrdFeedingService(
ISqlSugarRepository repository,
IBillRullService billRullService,
+ IPrdMoTaskService prdMoTaskService,
// WmsSignForDeliveryService wmsSignForDeliveryService,
IUserManager userManager
)
{
_repository = repository;
_userManager = userManager;
+ _prdMoTaskService = prdMoTaskService;
// _wmsSignForDeliveryService = _wmsSignForDeliveryService;
_billRullService = billRullService;
}
@@ -331,6 +334,129 @@ namespace Tnb.ProductionMgr
if(!result.IsSuccess) throw Oops.Bah(result.ErrorMessage);
return result.IsSuccess ? "签收成功" : result.ErrorMessage;
}
+
+
+ ///
+ /// 生产投料
+ ///
+ ///
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task Feeding(MaterialReceiptNewInput input)
+ {
+ var db = _repository.AsSugarClient();
+ var moTask = await _prdMoTaskService.GetPrdMoTaskInfoByStationId(new Dictionary()
+ {
+ {"station_id",input.station_id}
+ });
+
+ if (moTask == null) throw Oops.Bah("找不到任务单");
+ PrdFeedingH prdFeedingH = null;
+ List list = new List();
+ DbResult result2 = new DbResult();
+ DbResult result = await db.Ado.UseTranAsync(async () =>
+ {
+ var parentMoTask = await db.Queryable().FirstAsync(x => x.id == moTask.parent_id);
+ string worklineId = moTask.workline_id;
+ if (parentMoTask != null && !string.IsNullOrEmpty(parentMoTask.workline_id))
+ {
+ worklineId = parentMoTask.workline_id;
+ }
+ var carry = await db.Queryable().SingleAsync(x => x.carry_code == input.carry_code);
+ var workline = await db.Queryable().SingleAsync(x => x.Id == worklineId);
+ var workshop = await db.Queryable().SingleAsync(x=>x.Id==workline.ParentId);
+ var inputMaterials = await db.Queryable()
+ .Where(x => x.mbom_id == moTask.bom_id && x.mbom_process_id == moTask.mbom_process_id)
+ .Select(x=>x.material_id)
+ .ToListAsync();
+
+
+ string code = await _billRullService.GetBillNumber(Tnb.BasicData.CodeTemplateConst.FEEDING_CODE);
+ prdFeedingH = new PrdFeedingH()
+ {
+ code = code,
+ station_id = input.station_id,
+ mo_task_id = moTask.id,
+ process_id = moTask.process_id,
+ equip_id = input.equip_id,
+ workshop_id = workshop?.Id,
+ carry_id = carry.id,
+ workline_id = moTask.workline_id,
+ carry_code = input.carry_code,
+ // remark = input.remark,
+ mbom_process_id = moTask.mbom_process_id,
+ create_id = _userManager.UserId,
+ create_time = DateTime.Now,
+ org_id = _userManager.GetUserInfo().Result.organizeId
+ };
+
+ if (input.details != null && input.details.Count > 0)
+ {
+ foreach (var item in input.details)
+ {
+ if(!inputMaterials.Contains(item["material_id"]))
+ throw new Exception("该物料不是生产bom投入物料,不能签收");
+
+ var detail = await db.Queryable()
+ .Where(x => x.member_carry_code == input.carry_code && x.is_all_feeding == 0).FirstAsync();
+ decimal num = Convert.ToDecimal(item["num"]);
+ list.Add(new PrdFeedingD
+ {
+ feeding_id = prdFeedingH.id,
+ material_receipt_detail_id = detail?.id,
+ material_id = item["material_id"],
+ num = num,
+ batch = item["batch"],
+ unit_id = item["unit_id"],
+ carry_id = carry.id,
+ status = "0",
+ use_num = 0,
+ });
+
+ if (detail != null)
+ {
+ if(detail.feeding_num + num > detail.num)
+ {
+ throw new Exception("投料数量不能大于签收数量");
+ }else if (detail.feeding_num + num == detail.num)
+ {
+ await db.Updateable()
+ .SetColumns(x => x.feeding_num == x.feeding_num + num)
+ .SetColumns(x => x.is_all_feeding == 1)
+ .Where(x => x.id == detail.id)
+ .ExecuteCommandAsync();
+ }
+ else
+ {
+ await db.Updateable()
+ .SetColumns(x => x.feeding_num == x.feeding_num + num)
+ .Where(x => x.id == detail.id)
+ .ExecuteCommandAsync();
+ }
+ }
+ else
+ {
+ throw new Exception("没有签收单,无法投料");
+ }
+ }
+ }
+ else
+ {
+ throw new Exception("没有签收物料");
+ }
+
+
+ await db.Insertable(prdFeedingH).ExecuteCommandAsync();
+ await db.Insertable(list).ExecuteCommandAsync();
+
+ });
+
+
+ if(!result.IsSuccess) throw Oops.Bah(result.ErrorMessage);
+ return result.IsSuccess ? "签收成功" : result.ErrorMessage;
+ }
[HttpPost]
public async Task GetFeedingRecordTree()
diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs
index 7f2dea96..0a34213d 100644
--- a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs
+++ b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs
@@ -1447,6 +1447,7 @@ namespace Tnb.ProductionMgr
var row = -1;
var report = await db.Queryable().FirstAsync(it => it.mo_task_id == input.mo_task_id);
var prdMoTask = await db.Queryable().SingleAsync(x => x.id == input.mo_task_id);
+ var equip = await db.Queryable().SingleAsync(x=>x.id==prdMoTask.eqp_id);
var prdMo = await db.Queryable().SingleAsync(x => x.id == prdMoTask.mo_id);
var mbomProcess = await db.Queryable().SingleAsync(x => x.id == prdMoTask.mbom_process_id);
@@ -1724,6 +1725,11 @@ namespace Tnb.ProductionMgr
// }
// }
+ if (equip.tube == "1")
+ {
+
+ }
+
});
if (!result.IsSuccess) throw Oops.Bah(result.ErrorMessage);
@@ -2627,6 +2633,7 @@ namespace Tnb.ProductionMgr
rate_num = SqlFunc.Subqueryable().Where(o => o.id == a.bom_id)
.OrderByDesc(o => o.create_time).Select(o => o.num),
parent_id = b.parent_id,
+ workstation_id = b.workstation_id,
material_id = b.material_id,
material_code = c.code,
children = SqlFunc.Subqueryable()
@@ -2643,7 +2650,7 @@ namespace Tnb.ProductionMgr
var prdMoTaskList = await _db.Queryable()
.LeftJoin((a, b) => a.material_id == b.id)
- .Where(a => a.schedule_type == 2 && string.IsNullOrEmpty(a.parent_id) && a.estimated_start_date.Value.ToString("yyyy-MM-dd") == now)
+ .Where(a => a.schedule_type == 2 && string.IsNullOrEmpty(a.parent_id) && a.estimated_start_date.Value.ToString("yyyy-MM-dd") == now && (a.mo_task_status==DictConst.MoStatusPauseCode || a.mo_task_status==DictConst.ToBeScheduledEncode || a.mo_task_status==DictConst.ToBeStartedEnCode || a.mo_task_status==DictConst.InProgressEnCode))
.Select((a,b)=>new MaterialPreparationPlanOutput()
{
mo_task_id = a.id,
@@ -2672,6 +2679,18 @@ namespace Tnb.ProductionMgr
return prdMoTaskList;
}
+ ///
+ /// 根据工位获取进行中的任务单信息
+ ///
+ ///
+ ///
+ public async Task GetPrdMoTaskInfoByStationId(Dictionary dic)
+ {
+ string station_id = dic.ContainsKey("station_id") ? dic["station_id"] : "";
+ if (string.IsNullOrEmpty(station_id)) throw Oops.Bah("工位错误");
+
+ return await _db.Queryable().Where(x => x.workstation_id == station_id && x.parent_id!=null && x.mo_task_status==DictConst.InProgressEnCode).FirstAsync();
+ }
}
From bab70ddd518f684fac5a1185833931d888bc0ed5 Mon Sep 17 00:00:00 2001
From: zhoukeda <1315948824@qq.com>
Date: Mon, 6 Nov 2023 15:41:25 +0800
Subject: [PATCH 04/10] 1
---
ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs | 2 ++
1 file changed, 2 insertions(+)
diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs
index 0a34213d..5d9d1af0 100644
--- a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs
+++ b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs
@@ -2619,6 +2619,7 @@ namespace Tnb.ProductionMgr
/// 获取备料计划
///
///
+ [HttpPost]
public async Task GetMaterialPreparationPlan()
{
string now = DateTime.Now.ToString("yyyy-MM-dd");
@@ -2684,6 +2685,7 @@ namespace Tnb.ProductionMgr
///
///
///
+ [HttpPost]
public async Task GetPrdMoTaskInfoByStationId(Dictionary dic)
{
string station_id = dic.ContainsKey("station_id") ? dic["station_id"] : "";
From 9ee80fe00f1a7c13d4a3810234b64fbbb6506012 Mon Sep 17 00:00:00 2001
From: zhoukeda <1315948824@qq.com>
Date: Mon, 6 Nov 2023 16:20:10 +0800
Subject: [PATCH 05/10] =?UTF-8?q?=E7=9F=AD=E7=AE=A1=E6=8C=A4=E5=87=BA?=
=?UTF-8?q?=E5=85=A5=E5=BA=93=E7=94=B3=E8=AF=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../IPrdInstockService.cs | 8 ++
.../Tnb.ProductionMgr/PrdInstockService.cs | 110 ++++++++++++++++++
.../Tnb.ProductionMgr/PrdMoTaskService.cs | 24 ++--
3 files changed, 135 insertions(+), 7 deletions(-)
diff --git a/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdInstockService.cs b/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdInstockService.cs
index 5cca73d3..9f0cb544 100644
--- a/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdInstockService.cs
+++ b/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdInstockService.cs
@@ -1,3 +1,4 @@
+using Tnb.ProductionMgr.Entities;
using Tnb.ProductionMgr.Entities.Dto;
namespace Tnb.ProductionMgr.Interfaces
@@ -28,5 +29,12 @@ namespace Tnb.ProductionMgr.Interfaces
///
///
public Task InstockTypeOne(InstockInput inut);
+
+ ///
+ /// 短管挤出入库申请
+ ///
+ ///
+ ///
+ public Task InstockTubeOne(PrdReport prdReport);
}
}
\ No newline at end of file
diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdInstockService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdInstockService.cs
index a854e8d2..0ae748de 100644
--- a/ProductionMgr/Tnb.ProductionMgr/PrdInstockService.cs
+++ b/ProductionMgr/Tnb.ProductionMgr/PrdInstockService.cs
@@ -389,5 +389,115 @@ namespace Tnb.ProductionMgr
if(!result2.IsSuccess) throw Oops.Oh(ErrorCode.COM1008);
return result2.IsSuccess ? "申请成功" : result2.ErrorMessage;
}
+
+ [HttpPost]
+ public async Task InstockTubeOne(PrdReport prdReport)
+ {
+ var db = _repository.AsSugarClient();
+ string location_code = "JMXHC-01";
+ string warehouse_id = "26103348825381";
+
+ PrdInstockH prdInstockH = null;
+ List prdInstockDs = new List() { };
+ DbResult result2 = new DbResult();
+ BasMaterial basMaterial = await db.Queryable().SingleAsync(x=>x.id==prdReport.material_id);
+ DbResult result = await db.Ado.UseTranAsync(async () =>
+ {
+ OrganizeEntity workline = await _organizeService.GetAnyParentByWorkstationId(prdReport.station, DictConst.RegionCategoryWorklineCode);
+ OrganizeEntity workshop = await _organizeService.GetAnyParentByWorkstationId(prdReport.station, DictConst.RegionCategoryWorkshopCode);
+
+ prdInstockH = new PrdInstockH()
+ {
+ bill_type = DictConst.CHANCHENGPINRUKUDAN,
+ bill_date = DateTime.Now,
+ create_id = _userManager.UserId,
+ location_code = location_code,
+ carry_code = prdReport.material_box_code,
+ is_check = 1,
+ station_id = prdReport.station,
+ workline_id = workline?.Id ?? "",
+ workshop_id = workshop?.Id ?? "",
+ org_id = _userManager.GetUserInfo().Result.organizeId,
+ warehouse_id = warehouse_id,
+ status = 0,
+ };
+
+ prdInstockDs.Add(new PrdInstockD()
+ {
+ instock_id = prdInstockH.id,
+ report_id = prdReport.create_id,
+ material_id = prdReport.material_id,
+ material_code = basMaterial.code,
+ unit_id = prdReport.unit_id,
+ barcode = prdReport.barcode,
+ code_batch = prdReport.barcode+"0001",
+ quantity = (int)prdReport.reported_qty,
+ });
+ });
+
+ if (result.IsSuccess)
+ {
+ MESCreateInstockInput mesCreateInstockInput = new MESCreateInstockInput();
+ mesCreateInstockInput.instock = new MESWmsInstockHInput()
+ {
+ org_id = _userManager.GetUserInfo().Result.organizeId,
+ bill_date = DateTime.Now,
+ bill_type = DictConst.CHANCHENGPINRUKUDAN,
+ warehouse_id = warehouse_id,
+ source_id = prdInstockH.id,
+ create_id = _userManager.UserId,
+ carry_code = prdReport.material_box_code,
+ location_code = location_code,
+ is_check = 1,
+ };
+ mesCreateInstockInput.instockds = new List();
+ mesCreateInstockInput.instockcodes = new List();
+ mesCreateInstockInput.instockds.Add(new MESWmsInstockDInput()
+ {
+ material_id = prdReport.material_id,
+ material_code = basMaterial.code,
+ unit_id = prdReport.unit_id,
+ code_batch = prdReport.barcode,
+ pr_qty = (int)prdReport.reported_qty,
+ });
+
+ mesCreateInstockInput.instockcodes.Add(new MESWmsInstockCodeInput()
+ {
+ material_id = prdReport.material_id,
+ material_code = basMaterial.code,
+ unit_id = prdReport.unit_id,
+ barcode = prdReport.barcode,
+ code_batch = prdReport.barcode+"0001",
+ codeqty = (int)prdReport.reported_qty,
+ });
+ string domain = (App.HttpContext.Request.IsHttps ? "https://" : "http://") + App.HttpContext.Request.Host;
+ Dictionary header = new Dictionary()
+ {
+ ["Authorization"] = App.HttpContext.Request.Headers["Authorization"]
+ };
+ var sendResult = HttpUtils.RequestPost(domain + WebApiConst.MES_CREATE_INSTOCK,JsonConvert.SerializeObject(mesCreateInstockInput),header);
+ Log.Information(sendResult);
+ AuthResponse authResponse = JsonConvert.DeserializeObject(sendResult);
+ if (authResponse.code != 200 || !authResponse.data.ObjToBool())
+ {
+ throw Oops.Bah(authResponse.msg);
+ }
+ else
+ {
+ result2 = await db.Ado.UseTranAsync(async () =>
+ {
+ await _repository.InsertAsync(prdInstockH);
+
+ if (prdInstockDs.Count > 0)
+ {
+ await db.Insertable(prdInstockDs).ExecuteCommandAsync();
+ }
+ });
+
+ }
+ }
+
+ return result2.IsSuccess ? "true" : "false";
+ }
}
}
\ No newline at end of file
diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs
index 5d9d1af0..1a02c437 100644
--- a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs
+++ b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs
@@ -70,6 +70,7 @@ namespace Tnb.ProductionMgr
private static Dictionary _dicProcess = new Dictionary();
private readonly ISqlSugarClient _db;
private readonly IBillRullService _billRuleService;
+ private readonly IPrdInstockService _prdInstockService;
private readonly IQcCheckPlanService _qcCheckPlanService;
public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc();
@@ -79,6 +80,7 @@ namespace Tnb.ProductionMgr
IDictionaryDataService dictionaryDataService,
IRunService runService,
IBillRullService billRullService,
+ IPrdInstockService prdInstockService,
IVisualDevService visualDevService,
IQcCheckPlanService qcCheckPlanService
)
@@ -92,6 +94,7 @@ namespace Tnb.ProductionMgr
OverideFuncs.DeleteAsync = Delete;
OverideFuncs.GetListAsync = GetList;
_billRuleService = billRullService;
+ _prdInstockService = prdInstockService;
_qcCheckPlanService=qcCheckPlanService;
}
@@ -1442,12 +1445,12 @@ namespace Tnb.ProductionMgr
public async Task PrdReport(PrdReportCrInput input)
{
var db = _repository.AsSugarClient();
+ var prdMoTask = await db.Queryable().SingleAsync(x => x.id == input.mo_task_id);
+ var equip = await db.Queryable().SingleAsync(x=>x.id==prdMoTask.eqp_id);
+ var report = await db.Queryable().FirstAsync(it => it.mo_task_id == input.mo_task_id);
DbResult result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
{
var row = -1;
- var report = await db.Queryable().FirstAsync(it => it.mo_task_id == input.mo_task_id);
- var prdMoTask = await db.Queryable().SingleAsync(x => x.id == input.mo_task_id);
- var equip = await db.Queryable().SingleAsync(x=>x.id==prdMoTask.eqp_id);
var prdMo = await db.Queryable().SingleAsync(x => x.id == prdMoTask.mo_id);
var mbomProcess = await db.Queryable().SingleAsync(x => x.id == prdMoTask.mbom_process_id);
@@ -1725,13 +1728,20 @@ namespace Tnb.ProductionMgr
// }
// }
- if (equip.tube == "1")
- {
-
- }
+
});
+ if (result.IsSuccess)
+ {
+ if (equip.tube == "1")
+ {
+ string resultMsg = await _prdInstockService.InstockTubeOne(report);
+ if (resultMsg == "true") return true;
+ throw Oops.Bah(resultMsg);
+ }
+ }
+
if (!result.IsSuccess) throw Oops.Bah(result.ErrorMessage);
return result.IsSuccess;
}
From e0972cb1b9ad909c0c55f589da9f57b420de1085 Mon Sep 17 00:00:00 2001
From: zhoukeda <1315948824@qq.com>
Date: Mon, 6 Nov 2023 16:38:23 +0800
Subject: [PATCH 06/10] bug
---
.../Dto/PrdManage/MaterialPreparationPlanOutput.cs | 1 +
ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs | 10 ++++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/MaterialPreparationPlanOutput.cs b/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/MaterialPreparationPlanOutput.cs
index f8c367bd..c8f0b087 100644
--- a/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/MaterialPreparationPlanOutput.cs
+++ b/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/MaterialPreparationPlanOutput.cs
@@ -18,6 +18,7 @@ namespace Tnb.ProductionMgr.Entities.Dto.PrdManage
public string parent_id { get; set; }
public string material_id { get; set; }
public string material_code { get; set; }
+ public string workstation_id { get; set; }
public List children { get; set; } = new List();
}
diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs
index 1a02c437..cda260c3 100644
--- a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs
+++ b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs
@@ -2700,8 +2700,14 @@ namespace Tnb.ProductionMgr
{
string station_id = dic.ContainsKey("station_id") ? dic["station_id"] : "";
if (string.IsNullOrEmpty(station_id)) throw Oops.Bah("工位错误");
-
- return await _db.Queryable().Where(x => x.workstation_id == station_id && x.parent_id!=null && x.mo_task_status==DictConst.InProgressEnCode).FirstAsync();
+ var prdMoTask = await _db.Queryable().Where(x => x.workstation_id == station_id && x.parent_id!=null && x.mo_task_status==DictConst.InProgressEnCode).FirstAsync();
+ if (prdMoTask != null)
+ {
+ BasMaterial basMaterial = await _db.Queryable().SingleAsync(x => x.id == prdMoTask.material_id);
+ prdMoTask.material_name = basMaterial.name;
+ }
+
+ return prdMoTask;
}
}
From 55eba2d422745df0e314288772a952843fe3cabf Mon Sep 17 00:00:00 2001
From: qianjiawei <1184704771@qq.com>
Date: Mon, 6 Nov 2023 17:52:20 +0800
Subject: [PATCH 07/10] REDIS
---
.../Enums/Eagvmode.cs | 17 ++++
.../Tnb.ProductionMgr/RedisBackGround.cs | 97 ++++++++++++++-----
.../Tnb.ProductionMgr/RedisDataService.cs | 17 ++--
3 files changed, 100 insertions(+), 31 deletions(-)
create mode 100644 ProductionMgr/Tnb.ProductionMgr.Entities/Enums/Eagvmode.cs
diff --git a/ProductionMgr/Tnb.ProductionMgr.Entities/Enums/Eagvmode.cs b/ProductionMgr/Tnb.ProductionMgr.Entities/Enums/Eagvmode.cs
new file mode 100644
index 00000000..16320af9
--- /dev/null
+++ b/ProductionMgr/Tnb.ProductionMgr.Entities/Enums/Eagvmode.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tnb.ProductionMgr.Entities.Enums
+{
+ public enum Eagvmode
+ {
+ 无请求=0,
+ 空框请求=1,
+ 满框请求=2,
+ 空满框请求=3,
+ 收到请求=4
+ }
+}
diff --git a/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs b/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs
index 2a2150c6..0d5cb241 100644
--- a/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs
+++ b/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs
@@ -10,6 +10,8 @@ using Newtonsoft.Json;
using UAParser;
using Tnb.ProductionMgr.Interfaces;
using Tnb.ProductionMgr.Entities.Dto;
+using JNPF.ClayObject.Extensions;
+using Tnb.ProductionMgr.Entities.Enums;
namespace Tnb.ProductionMgr
{
@@ -25,37 +27,84 @@ namespace Tnb.ProductionMgr
_redisCache = redisCache;
_prdInstockService = prdInstockService;
}
- //获取装箱状态
- private void GetPackStatus(object state)
+ //获取注塑装箱状态
+ private void GetZSPackStatus(object state)
{
- Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss}");
- Console.WriteLine($"获取装箱状态");
- /*
- var data = _redisCache.GetHash("TY4C-JICHU", "weight_4").Result;
- var res = JsonConvert.DeserializeObject(data);
- if (res != null && res["Value"] != null)
+ // Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss}");
+ // Console.WriteLine($"获取注塑装箱状态");
+ string[] strs = new string[1] { "TY4C-ZHUSU1" };
+ string sign = "agvMode";
+ foreach (string s in strs)
{
- InstockInput instockInput = new InstockInput();
- instockInput.equip_code = res["Value"]!.ToString();
- _prdInstockService.InstockTypeOne(instockInput);
- Console.WriteLine(decimal.Parse(res["Value"]!.ToString()));
- }*/
+ var dic = _redisCache.HGetAll(s).Result;
+ foreach (var kv in dic)
+ {
+ if (!kv.Key.Contains(sign))
+ continue;
+ var res = JsonConvert.DeserializeObject(kv.Value);
+ if (res != null && res["Value"] != null)
+ {
+ if (int.Parse(res["Value"]!.ToString()) != (int)Eagvmode.无请求 || int.Parse(res["Value"]!.ToString()) != (int)Eagvmode.收到请求)
+ {
+ InstockInput instockInput = new InstockInput();
+ instockInput.equip_code = res["TagName"]!.ToString();
+ _prdInstockService.InstockTypeOne(instockInput);
+ }
+ }
+ }
+ }
+ }
+ //获取挤出装箱状态
+ private void GetJCPackStatus(object state)
+ {
+ // Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss}");
+ // Console.WriteLine($"获取挤出装箱状态");
+ string[] strs = new string[1] { "TY4C-SHUSONG-JC" };
+ string sign = "AGVFullCall";
+ foreach (string s in strs)
+ {
+ var dic = _redisCache.HGetAll(s).Result;
+ foreach (var kv in dic)
+ {
+ if (!kv.Key.Contains(sign))
+ continue;
+ var res = JsonConvert.DeserializeObject(kv.Value);
+ if (res != null && res["Value"] != null)
+ {
+ if (res.Value("Value"))
+ {
+ InstockInput instockInput = new InstockInput();
+ instockInput.equip_code = res["TagName"]!.ToString();
+ _prdInstockService.InstockTypeOne(instockInput);
+ }
+ }
+ }
+ }
}
//获取限位状态
private void GetLimitStatus(object state)
{
- Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss}");
- Console.WriteLine($"获取限位状态");
- /*
- var data = _redisCache.GetHash("TY4C-JICHU", "weight_4").Result;
- var res = JsonConvert.DeserializeObject(data);
- if (res != null && res["Value"] != null)
+ // Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss}");
+ // Console.WriteLine($"获取限位状态");
+ string[] strs = new string[1] { "TY4C-WAIBAO" };
+ string sign = "AGVCall";
+ foreach (string s in strs)
{
- InstockInput instockInput = new InstockInput();
- instockInput.equip_code = res["Value"]!.ToString();
- _prdInstockService.InstockTypeOne(instockInput);
- Console.WriteLine(decimal.Parse(res["Value"]!.ToString()));
- }*/
+ var dic = _redisCache.HGetAll(s).Result;
+ foreach (var kv in dic)
+ {
+ if (!kv.Key.Contains(sign))
+ continue;
+ var res = JsonConvert.DeserializeObject(kv.Value);
+ if (res != null && res["Value"] != null)
+ {
+ if (res.Value("Value"))
+ {
+ //
+ }
+ }
+ }
+ }
}
public void Dispose()
{
diff --git a/ProductionMgr/Tnb.ProductionMgr/RedisDataService.cs b/ProductionMgr/Tnb.ProductionMgr/RedisDataService.cs
index d9ea93f4..8f4836f5 100644
--- a/ProductionMgr/Tnb.ProductionMgr/RedisDataService.cs
+++ b/ProductionMgr/Tnb.ProductionMgr/RedisDataService.cs
@@ -33,20 +33,23 @@ namespace Tnb.ProductionMgr
[HttpPost]
public async Task GetWeight(string device, string jihao)
{
- /*
- var dic = _redisCache.HGetAll("TY4C-ZHUSU1");
- string a= "weighCall_7&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_7\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_4&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_4\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_6&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_6\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_2&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_2\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_5&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_5\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_11&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_11\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_1&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_1\",\"StatusCode\":0,\"Value\":1.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:31:03\"}$weight_12&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_12\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_11&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_11\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_9&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_9\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_4&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_4\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_7&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_7\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_14&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_14\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_7&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_7\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_10&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_10\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_1&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_1\",\"StatusCode\":0,\"Value\":true,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:10:51\"}$weighDone_12&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_12\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_14&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_14\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_14&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_14\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_11&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_11\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_5&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_5\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_9&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_9\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_13&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_13\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_8&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_8\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_2&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_2\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_2&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_2\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_8&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_8\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_3&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_3\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_14&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_14\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_9&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_9\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_7&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_7\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_3&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_3\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_8&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_8\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_1&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_1\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_12&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_12\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_4&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_4\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_1&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_1\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_6&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_6\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_2&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_2\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_3&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_3\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_10&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_10\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_10&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_10\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_13&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_13\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$State&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"State\",\"StatusCode\":0,\"Value\":\"OK\",\"TagValueType\":\"Unkown\",\"TimeStamp\":\"2023-11-02 11:14:28\"}$weighCall_12&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_12\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_6&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_6\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_13&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_13\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_10&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_10\",\"StatusCode\":0,\"Value\":33.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 10:19:44\"}$weighDone_11&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_11\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_9&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_9\",\"StatusCode\":0,\"Value\":11.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 10:15:26\"}$weight_8&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_8\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_4&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_4\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_6&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_6\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_5&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_5\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_5&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_5\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_13&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_13\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_3&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_3\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$";
+ /*
+ var dic =await _redisCache.HGetAll("TY4C-JICHU");
+ string a = "";
foreach (var kvp in dic)
{
a += kvp.Key + "&" + kvp.Value + "$";
}
- var ss= a.Split('$', StringSplitOptions.RemoveEmptyEntries);
+
+
+ string aa = "";
+ var ss= aa.Split('$', StringSplitOptions.RemoveEmptyEntries);
foreach (var s in ss)
{
var b = s.Split('&');
- _redisCache.HSet("TY4C-ZHUSU1", b[0], b[1]);
- }
- */
+ await _redisCache.HSet("TY4C-JICHU", b[0], b[1]);
+ }*/
+
decimal result = 0;
bool flag = await _redisCache.HashExist(device, jihao);
if (!flag)
From 6a2154edd9e0b3b95e911e46d93cf7724493eaef Mon Sep 17 00:00:00 2001
From: "fei.pan"
Date: Mon, 6 Nov 2023 18:08:22 +0800
Subject: [PATCH 08/10] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=90=8C=E6=97=B6?=
=?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=A4=9A=E4=B8=AA=E5=AD=97=E5=85=B8=E7=B1=BB?=
=?UTF-8?q?=E5=9E=8B=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Directory.Build.props | 8 ++
Tnb.Server.sln | 9 +--
clear_bin_obj.cmd | 76 -------------------
common/Tnb.Common/Tnb.Common.csproj | 2 +-
.../System/IDictionaryTypeService.cs | 6 ++
.../System/DictionaryDataService.cs | 20 +++++
.../System/DictionaryTypeService.cs | 11 ++-
.../{OutputParser.cs => VmQueryParser.cs} | 20 +++--
visualdev/Tnb.Vengine/Domain/Vmodel.cs | 3 +
9 files changed, 66 insertions(+), 89 deletions(-)
delete mode 100644 clear_bin_obj.cmd
rename visualdev/Tnb.Vengine/Domain/{OutputParser.cs => VmQueryParser.cs} (86%)
diff --git a/Directory.Build.props b/Directory.Build.props
index 8e0a6337..d59ff165 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -1,5 +1,13 @@
$(MSBuildThisFileDirectory)
+ latest
+ $(NoWarn);CS1591;
+
+
+ none
+ false
+
+
\ No newline at end of file
diff --git a/Tnb.Server.sln b/Tnb.Server.sln
index 42180ae7..1b62b7aa 100644
--- a/Tnb.Server.sln
+++ b/Tnb.Server.sln
@@ -22,7 +22,6 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "解决方案项", "解决方案项", "{7876D0A1-7141-4904-8A3B-88DF61BEE7EE}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
- clear_bin_obj.cmd = clear_bin_obj.cmd
common.props = common.props
Directory.Build.props = Directory.Build.props
dotnet.ruleset = dotnet.ruleset
@@ -295,14 +294,14 @@ Global
{DB646C4B-D6FB-44CB-A8F6-C0F6AA83AB8A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DB646C4B-D6FB-44CB-A8F6-C0F6AA83AB8A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DB646C4B-D6FB-44CB-A8F6-C0F6AA83AB8A}.Release|Any CPU.Build.0 = Release|Any CPU
- {DB646C4B-D6FB-44CB-A8F6-C0F6AA83AB8A}.tianyi|Any CPU.ActiveCfg = tianyi|Any CPU
- {DB646C4B-D6FB-44CB-A8F6-C0F6AA83AB8A}.tianyi|Any CPU.Build.0 = tianyi|Any CPU
+ {DB646C4B-D6FB-44CB-A8F6-C0F6AA83AB8A}.tianyi|Any CPU.ActiveCfg = Debug|Any CPU
+ {DB646C4B-D6FB-44CB-A8F6-C0F6AA83AB8A}.tianyi|Any CPU.Build.0 = Debug|Any CPU
{0282541C-4295-4A2A-A826-54E9C69718D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0282541C-4295-4A2A-A826-54E9C69718D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0282541C-4295-4A2A-A826-54E9C69718D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0282541C-4295-4A2A-A826-54E9C69718D9}.Release|Any CPU.Build.0 = Release|Any CPU
- {0282541C-4295-4A2A-A826-54E9C69718D9}.tianyi|Any CPU.ActiveCfg = tianyi|Any CPU
- {0282541C-4295-4A2A-A826-54E9C69718D9}.tianyi|Any CPU.Build.0 = tianyi|Any CPU
+ {0282541C-4295-4A2A-A826-54E9C69718D9}.tianyi|Any CPU.ActiveCfg = Debug|Any CPU
+ {0282541C-4295-4A2A-A826-54E9C69718D9}.tianyi|Any CPU.Build.0 = Debug|Any CPU
{08A36D02-DC53-4895-9E1C-E02BC1BBA890}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{08A36D02-DC53-4895-9E1C-E02BC1BBA890}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08A36D02-DC53-4895-9E1C-E02BC1BBA890}.Release|Any CPU.ActiveCfg = Release|Any CPU
diff --git a/clear_bin_obj.cmd b/clear_bin_obj.cmd
deleted file mode 100644
index 242e75da..00000000
--- a/clear_bin_obj.cmd
+++ /dev/null
@@ -1,76 +0,0 @@
-@echo off&chcp 936>nul&setlocal enabledelayedexpansion
-title ɾbinobjļС
-echo;
-if [%1] equ [] (set fp=%~dp0) else (set fp=%1)
-set fp="%fp%" & set fp=%fp:"=%
-if "%fp%" neq "" if "%fp:~-1%" neq "\" set fp=%fp%\
-set nowPath="%fp%"
-
-set /a findFileCount=0
-set /a findFolderCount=0
-set /a findAllCount=0
-set /a delFileCount=0
-set /a delFolderCount=0
-set /a fileSize=0
-set delFileOrFolder=*.vshost.*,bin,obj,.vs
-
-
-echo; &echo Ŀ¼%nowPath%
-echo; &echo ɾָĿ¼µģ
-set delType=%delFileOrFolder%
-:loop
-for /f "tokens=1* delims=," %%a in ("%delType%") do echo %%a &set delType=%%b
-if defined delType goto :loop
-:: echo; &echo ˳رմڡ &pause>nul
-:: echo; &echo --------------------------------------------------
-echo ɾб
-
-rem search delete specify file or folder(such as:*.pdb,*.vshost.*)
-::for /r %nowPath% %%i in (*.pdb,*.vshost.*) do (echo del "%%i")
-for /r %nowPath% %%i in (%delFileOrFolder%) do (IF EXIST "%%i" (echo "%%i"&IF EXIST "%%i\.\" (set /a findFolderCount+=1) else set /a findFileCount+=1
- set fs=0&(for /f "tokens=3* delims= " %%a in ('dir "%%i" /a-d /s /-c ^| find /i "ļ"') do set fs=%%a)&call :bigNumAdd !fileSize! !fs! fileSize
-))
-set /a findAllCount=%findFolderCount%+%findFileCount%
-echo;&if %findAllCount% equ 0 echo [file or folder not found] &goto end
-call :numToThousand %fileSize% fileSize
-echo ҵ%findAllCount%ɾļ%findFileCount%ļУ%findFolderCount%ܹС%fileSize% bytes
-echo --------------------------------------------------
-set /p var=ǷȷɾļļУ[Y/N]:
-if /i "%var%"=="Y" (goto DelFileAndFolder) else goto cancelDel
-
-:DelFileAndFolder
-rem delete specify file or folder(such as:obj,bin,*.pdb,*.vshost.*)
-::for /r %nowPath% %%i in (%delFileOrFolder%) do (IF EXIST "%%i" IF EXIST "%%i\.\" (echo "%%i\.\") ELSE echo "%%i")
-for /r %nowPath% %%i in (%delFileOrFolder%) do (IF EXIST "%%i" (echo Deleting file "%%i"&IF EXIST "%%i\.\" (RD /s /q "%%i" &set /a delFolderCount+=1) else del "%%i" &set /a delFileCount+=1))
-echo; &echo [Delete completed] delete %delFileCount% files, delete %delFolderCount% folders, total size %fileSize% bytes &echo;
-goto end
-
-:cancelDel
-echo; &echo [Cancel deletion] &echo;
-
-:end
-Pause
-goto :eof
-
-
-::ӷ call _ADD <> <> [ر]
-::ֱ֧ʮƵ64λֺ64λС,һμ0.01
-:bigNumAdd <> <> [ر] // by jack on 2021-09-03
-(setlocal enabledelayedexpansion
-set L=&for /l %%a in (1,1,8) do set L=!L!00000000
-for /f "tokens=1-3 delims=." %%a in ("!L!%1.!L!") do set at=%%a&set aw=%%b%%c
-for /f "tokens=1-3 delims=." %%a in ("!L!%2.!L!") do set bt=%%a&set bw=%%b%%c
-set a=!at:~-64!!aw:~,64!&set b=!bt:~-64!!bw:~,64!&set e=&set v=200000000
-for /l %%a in (8,8,128)do set/a v=1!b:~-%%a,8!+1!a:~-%%a,8!+!v:~-9,-8!-2&set e=!v:~-8!!e!
-set e=!e:0= !&for /f "tokens=*" %%a in ("!e:~,-64!_.!e:~64!") do set e=%%~nxa
-set e=!e:_=!&for %%a in ("!e: =0!") do endlocal&(if %3.==. (echo %%~a) else set %3=%%~a)
-exit/b)
-
-::ַתǧַʾ
-:numToThousand <ֲ> [ر]
-(setlocal enabledelayedexpansion&set n=%~1
-set len=0&for /l %%i in (0,1,1000) do if "!n:~%%i,1!."=="." set len=%%i&goto :breakFor
-:breakFor
-set nv=&for /l %%a in (1,1,%len%)do (set nv=!n:~-%%a,1!!nv!&set/a m=%%a%%3&if !m!==0 if not %%a==%len% set nv=,!nv!)
-endlocal&(if %2.==. (echo %nv%) else set %2=%nv%)
-exit/b)
\ No newline at end of file
diff --git a/common/Tnb.Common/Tnb.Common.csproj b/common/Tnb.Common/Tnb.Common.csproj
index b8426126..21b2e243 100644
--- a/common/Tnb.Common/Tnb.Common.csproj
+++ b/common/Tnb.Common/Tnb.Common.csproj
@@ -1,5 +1,5 @@
-
+
net6.0
diff --git a/system/Tnb.Systems.Interfaces/System/IDictionaryTypeService.cs b/system/Tnb.Systems.Interfaces/System/IDictionaryTypeService.cs
index d4599d1c..29b9a2cf 100644
--- a/system/Tnb.Systems.Interfaces/System/IDictionaryTypeService.cs
+++ b/system/Tnb.Systems.Interfaces/System/IDictionaryTypeService.cs
@@ -16,6 +16,12 @@ public interface IDictionaryTypeService
///
Task> GetList();
+ ///
+ /// 获取部分列表.
+ ///
+ ///
+ Task> GetListMany(string[] ids);
+
///
/// 信息.
///
diff --git a/system/Tnb.Systems/System/DictionaryDataService.cs b/system/Tnb.Systems/System/DictionaryDataService.cs
index 3a42488d..e4171e29 100644
--- a/system/Tnb.Systems/System/DictionaryDataService.cs
+++ b/system/Tnb.Systems/System/DictionaryDataService.cs
@@ -95,6 +95,26 @@ public class DictionaryDataService : IDictionaryDataService, IDynamicApiControll
}
}
+ ///
+ /// 获取部分数据字典列表(多个分类).
+ ///
+ [HttpGet("Many")]
+ public async Task GetListMany(string[] dictionaryTypeIds)
+ {
+ var dictionaryData = await _repository.AsQueryable().Where(d => d.DeleteMark == null && d.EnabledMark == 1 && dictionaryTypeIds.Contains(d.DictionaryTypeId))
+ .OrderBy(o => o.SortCode).OrderBy(o => o.CreatorTime, OrderByType.Desc).OrderBy(o => o.LastModifyTime, OrderByType.Desc).ToListAsync();
+ var dictionaryType = await _dictionaryTypeService.GetListMany(dictionaryTypeIds);
+ var data = dictionaryType.Adapt>();
+ data.ForEach(dataall =>
+ {
+ if (dataall.isTree == 1)
+ dataall.dictionaryList = dictionaryData.FindAll(d => d.DictionaryTypeId == dataall.id).Adapt>().ToTree();
+ else
+ dataall.dictionaryList = dictionaryData.FindAll(d => d.DictionaryTypeId == dataall.id).Adapt>();
+ });
+ return new { list = data };
+ }
+
///
/// 获取所有数据字典列表(分类+内容).
///
diff --git a/system/Tnb.Systems/System/DictionaryTypeService.cs b/system/Tnb.Systems/System/DictionaryTypeService.cs
index d02b1089..2498f0cb 100644
--- a/system/Tnb.Systems/System/DictionaryTypeService.cs
+++ b/system/Tnb.Systems/System/DictionaryTypeService.cs
@@ -165,13 +165,22 @@ public class DictionaryTypeService : IDictionaryTypeService, IDynamicApiControll
///
/// 列表.
///
- ///
[NonAction]
public async Task> GetList()
{
return await _repository.AsQueryable().Where(x => x.DeleteMark == null).OrderBy(x => x.SortCode).OrderBy(x => x.CreatorTime, OrderByType.Desc).ToListAsync();
}
+ ///
+ /// 列表.
+ ///
+ [NonAction]
+ public async Task> GetListMany(string[] ids)
+ {
+ return await _repository.AsQueryable().Where(x => x.DeleteMark == null && ids.Contains(x.Id)).OrderBy(x => x.SortCode).OrderBy(x => x.CreatorTime, OrderByType.Desc).ToListAsync();
+ }
+
+
///
/// 递归获取所有分类.
///
diff --git a/visualdev/Tnb.Vengine/Domain/OutputParser.cs b/visualdev/Tnb.Vengine/Domain/VmQueryParser.cs
similarity index 86%
rename from visualdev/Tnb.Vengine/Domain/OutputParser.cs
rename to visualdev/Tnb.Vengine/Domain/VmQueryParser.cs
index 2a90c0b9..68763d1f 100644
--- a/visualdev/Tnb.Vengine/Domain/OutputParser.cs
+++ b/visualdev/Tnb.Vengine/Domain/VmQueryParser.cs
@@ -8,14 +8,14 @@ using Tnb.Vengine.DataAccess;
namespace Tnb.Vengine.Domain
{
- public class OutputParser
+ public class VmQueryParser
{
private readonly IDataAccess _dataAccess;
private readonly Vmodel _root;
private List _outputs;
private Dictionary _selectProps = new Dictionary();
private Dictionary _navModels = new Dictionary();
- public OutputParser(IDataAccess dataAccess, Vmodel rootModel, string output)
+ public VmQueryParser(IDataAccess dataAccess, Vmodel rootModel, string output)
{
_dataAccess = dataAccess;
_root = rootModel;
@@ -54,6 +54,10 @@ namespace Tnb.Vengine.Domain
private async Task LoadNavModel()
{
+ foreach (var selVm in _selectProps.Values)
+ {
+ //if(selVm.navModel != null)
+ }
var navProps = _root.navProps.Where(a => _selectProps.Values.Any(b => b.vmPath.StartsWith(a.code + "."))).ToList();
await LoadVmodelNavigateAsync(navProps);
}
@@ -74,8 +78,8 @@ namespace Tnb.Vengine.Domain
internal class OutputSelect
{
- public string vmId { get; set; } = string.Empty;
- public string vmCode { get; set; } = string.Empty;
+ public Vmodel? navModel { get; set; }
+ public string navPath { get; set; } = string.Empty;
public string vmPath { get; set; } = string.Empty;
public eNavigateType navType { get; set; } = eNavigateType.None;
public List navPaths { get; set; } = new List();
@@ -89,9 +93,13 @@ namespace Tnb.Vengine.Domain
}
public OutputSelect(Vmodel model)
{
- vmId = model.id;
- vmCode = model.vmCode;
vmPath = Vmodel.MAIN_ALIES;
}
}
+
+ internal class NavigateVmodel
+ {
+ public Vmodel? navModel { get; set; }
+ public string navPath { get; set; }
+ }
}
diff --git a/visualdev/Tnb.Vengine/Domain/Vmodel.cs b/visualdev/Tnb.Vengine/Domain/Vmodel.cs
index 89b0d03f..070ce510 100644
--- a/visualdev/Tnb.Vengine/Domain/Vmodel.cs
+++ b/visualdev/Tnb.Vengine/Domain/Vmodel.cs
@@ -139,6 +139,9 @@ public partial class Vmodel : Entity
public string fullCode
{ get { return areaCode + "/" + vmCode; } }
+ [SugarColumn(IsIgnore = true)]
+ public Vmodel? parent { get; set; }
+
///
/// 主键
///
From c6b8dfc8618e5f4d6e5a318391f697bbfc5dacd8 Mon Sep 17 00:00:00 2001
From: "fei.pan"
Date: Mon, 6 Nov 2023 19:35:59 +0800
Subject: [PATCH 09/10] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E5=BC=95=E7=94=A8commo?=
=?UTF-8?q?n.props?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Consts/CodeTemplateConst.cs | 10 +-
.../Consts/DbTimeFormat.cs | 2 +-
.../Consts/DictConst.cs | 12 +-
.../Consts/FactoryConfigConst.cs | 2 +-
.../Consts/ModuleConst.cs | 8 +-
.../Consts/WebApiConst.cs | 16 +-
.../Dto/BasCalendar/CalendarInput.cs | 12 +-
.../Dto/BasCalendar/CalendarOut.cs | 8 +-
.../Dto/BasESop/EsopHistoryListQueryInput.cs | 4 +-
.../Dto/BasESop/UploadNewVersionInput.cs | 4 +-
.../Dto/BasEbom/EbomTreeOutput.cs | 28 +-
.../Dto/BasEbom/EbomTreeQueryInput.cs | 6 +-
.../Dto/BasMaterial/MaterialQueryInput.cs | 2 +-
.../Dto/BasMaterial/MaterialSelectOutput.cs | 12 +-
.../BasMaterial/MaterialSelectQueryInput.cs | 2 +-
.../Dto/BasMbom/MbomDataOutput.cs | 42 +-
.../Dto/BasMbom/MbomSaveDataInput.cs | 44 +-
.../Dto/BasProcess/ProcessListOutput.cs | 12 +-
.../Dto/BasProcess/ProcessStationInput.cs | 2 +-
.../Dto/BasRoute/VaildRouteOutput.cs | 6 +-
.../Dto/ElementSelectDto.cs | 4 +-
.../Dto/ProcessManage/RouteLineTreeOutput.cs | 7 +-
.../Dto/SubBomListOutput.cs | 12 +-
.../Entity/BasCalendar.cs | 7 +-
.../Entity/BasLocation.cs | 3 +-
.../Entity/BasMaterial.cs | 2 +-
.../Entity/BasMbomInput.cs | 2 +-
.../Entity/BasMbomOutput.cs | 2 +-
.../Entity/BasMbomProcess.cs | 4 +-
.../Entity/BasRouteD.cs | 2 +-
.../Entity/BasShiftWorkgroup.cs | 7 +-
.../Enums/EnumCalendarType.cs | 8 +-
.../Enums/EnumLocationType.cs | 8 +-
.../Tnb.BasicData.Entities/Mapper/Mapper.cs | 1 -
.../Model/RouteModel.cs | 14 +-
.../Tnb.BasicData.Entities.csproj | 1 -
.../IBasCalendarService.cs | 7 +-
.../IBasESopService.cs | 8 +-
.../IBasLocationService.cs | 7 +-
.../IBasMaterialService.cs | 6 +-
.../IBasProcessService.cs | 6 +-
.../IBasQrcodeService.cs | 6 +-
.../IBasRouteService.cs | 3 +-
.../Tnb.BasicData.Interfaces.csproj | 1 -
BasicData/Tnb.BasicData/BasCalendarService.cs | 280 ++++----
BasicData/Tnb.BasicData/BasDefectService.cs | 19 +-
BasicData/Tnb.BasicData/BasESopService.cs | 80 ++-
BasicData/Tnb.BasicData/BasEbomService.cs | 84 ++-
BasicData/Tnb.BasicData/BasLocationService.cs | 29 +-
BasicData/Tnb.BasicData/BasMaterialService.cs | 108 ++--
BasicData/Tnb.BasicData/BasMbomService.cs | 88 +--
BasicData/Tnb.BasicData/BasProcessService.cs | 36 +-
.../Tnb.BasicData/BasPushRuleLogService.cs | 4 +-
BasicData/Tnb.BasicData/BasQrcodeService.cs | 52 +-
BasicData/Tnb.BasicData/BasRouteService.cs | 43 +-
BasicData/Tnb.BasicData/Tnb.BasicData.csproj | 1 -
.../Consts/MoldPlanMaintainStatus.cs | 8 +-
.../Consts/MoldUseStatus.cs | 8 +-
.../Consts/SpotInsRecordExecutionStatus.cs | 4 +-
.../Dto/BaseMoldMaintainInput.cs | 8 +-
.../Dto/CheckItemOutput.cs | 8 +-
.../Dto/CheckItemQueryinput.cs | 8 +-
.../Dto/ClosedownEndListOutput.cs | 8 +-
.../Dto/EqpMaintainRecordListOutput.cs | 6 +-
.../Dto/EqpSpotInsRecordListOutput.cs | 4 +-
.../Dto/EquipDaqQueryOutput.cs | 2 +-
.../Dto/EquipFileQueryOutput.cs | 2 +-
.../Dto/EquipQueryInput.cs | 4 +-
.../Dto/EquipRepairRefuseInput.cs | 2 +-
.../Dto/EquipSparePartsInput.cs | 2 +-
.../Dto/EquipSparePartsQueryOutput.cs | 2 +-
.../Dto/EquipmentListOutput.cs | 8 +-
.../Dto/MaintainInfoQueryinput.cs | 8 +-
.../Dto/MaintainPlanCrInput.cs | 8 +-
.../Dto/MaintainPlanMoldLstOutput.cs | 9 +-
.../Dto/MaintainRecordRepeatInput.cs | 6 +-
.../Dto/MaintainRecordRepeatOutput.cs | 2 +-
.../Dto/MaintainRuleMoldListOutput.cs | 8 +-
.../Dto/MaintainStatusUpInput.cs | 10 +-
.../Dto/MaterialListOutput.cs | 8 +-
.../Dto/MoldListOutput.cs | 8 +-
.../Dto/MoldMaintainDelInput.cs | 8 +-
.../Dto/MoldMaintainGroupItemRelationInput.cs | 10 +-
.../Dto/MoldMaintainItemInput.cs | 8 +-
.../Dto/MoldMaintainItemListOutput.cs | 8 +-
.../Dto/MoldMaintainPlanRunQueryOutput.cs | 8 +-
.../Dto/MoldMaintainRunUpInput.cs | 10 +-
.../Dto/MoldMaintainUpInput.cs | 10 +-
.../Dto/MoldRuleSelectorListOutput.cs | 8 +-
.../Dto/PadMainListOutput.cs | 9 +-
.../Dto/PadRepairListInput.cs | 6 +-
.../Dto/PadRepairListOutput.cs | 4 +-
.../Dto/PdaMaintainInput.cs | 7 +-
.../Dto/PdaRepairApplyListOutput.cs | 4 +-
.../Dto/RelevanceMoldFromPlanInput.cs | 8 +-
.../Dto/RelevanceMoldInput.cs | 10 +-
.../Dto/RepairApplyOutRegisterInput.cs | 12 +-
.../Dto/RepairApplyRegisterInput.cs | 16 +-
.../Dto/RepairDelayInput.cs | 10 +-
.../Dto/RepairOutApplyInput.cs | 2 +-
.../Dto/SpotInsRecordExecuteInput.cs | 10 +-
.../Dto/SpotInsRecordRepeatInput.cs | 4 +-
.../Dto/SpotInsRecordRepeatOutput.cs | 2 +-
.../Dto/SpotInsTemPublishInput.cs | 2 +-
.../Tnb.EquipMgr.Entities/Dto/ToolInput.cs | 8 +-
.../Dto/ToolMoldInput.cs | 10 +-
.../Dto/WorklineAndEquipTreeOutput.cs | 2 +-
.../Entity/EqpEquipment.cs | 10 +-
.../Entity/EqpMaintainTemEquipH.cs | 2 +-
.../Entity/EqpMaintainTemH.cs | 2 +-
.../Entity/EqpRepairAnalysisRecord.cs | 3 +-
.../Entity/EqpRepairApply.cs | 4 +-
.../Entity/EqpRepairCompletionRecord.cs | 3 +-
.../Entity/EqpRepairDelay.cs | 3 -
.../Entity/EqpRepairOutApply.cs | 8 +-
.../Entity/EqpSpEquipCheckRecord.cs | 2 +-
.../Entity/EqpSpotInsRecordD.cs | 2 +-
.../Entity/MoldMaintenance.cs | 5 +-
.../Entity/ToolModelCheckItem.cs | 1 -
.../Entity/ToolModelCheckPeriod.cs | 1 -
.../Entity/ToolMoldMaintainPlan.cs | 7 +-
.../Entity/ToolMolds.part.cs | 6 +-
.../Enums/MaintainStatus.cs | 14 +-
.../Tnb.EquipMgr.Entities/Mapper/Mapper.cs | 3 +-
.../Tnb.EquipMgr.Entities.csproj | 1 -
.../IEqpEquipFileService.cs | 1 -
.../IEqpEquipSparePartsService.cs | 2 +-
.../IEqpMaintainRecordService.cs | 5 +-
.../IEqpMaintainTemEquipService.cs | 2 +-
.../IEqpRepairApplyService.cs | 30 +-
.../IEqpRepairDelayService.cs | 2 +-
.../IEqpRepairOutApplyService.cs | 10 +-
.../IEqpSpEquipCheckRecordService.cs | 2 +-
.../IEqpSparePartsRequisitionHService.cs | 2 +-
.../IEqpWorkshopChangeLogService.cs | 2 +-
.../IEquSpotInsRecordService.cs | 5 +-
.../IEquipmentService.cs | 6 +-
.../IToolMoldHouseService.cs | 8 +-
.../IToolMoldLocationService.cs | 8 +-
.../IToolMoldMaintainGroupService.cs | 8 +-
.../IToolMoldMaintainPlanRunService.cs | 8 +-
.../IToolMoldMaintainPlanService.cs | 8 +-
.../IToolMoldMaintainRuleService.cs | 8 +-
.../IToolMoldMaintainTaskService.cs | 7 +-
.../IToolMoldMaterialService.cs | 8 +-
.../IToolMoldRequisitionService.cs | 2 +-
.../IToolMoldsService.cs | 8 +-
.../Tnb.EquipMgr.Interfaces.csproj | 1 -
.../App/AppEqpRepairApplyService.cs | 36 +-
.../Tnb.EquipMgr/BaseMoldMaintainService.cs | 17 +-
EquipMgr/Tnb.EquipMgr/EqpDaqService.cs | 22 +-
EquipMgr/Tnb.EquipMgr/EqpEquipFileService.cs | 31 +-
EquipMgr/Tnb.EquipMgr/EqpEquipScrapService.cs | 10 +-
.../Tnb.EquipMgr/EqpEquipSparePartsService.cs | 13 +-
.../EqpMaintainTemEquipService.cs | 13 +-
.../Tnb.EquipMgr/EqpMaintainTemService.cs | 20 +-
.../Tnb.EquipMgr/EqpRepairApplyService.cs | 133 ++--
.../Tnb.EquipMgr/EqpRepairDelayService.cs | 4 +-
.../Tnb.EquipMgr/EqpRepairOutApplyService.cs | 31 +-
.../Tnb.EquipMgr/EqpRepairRefuseService.cs | 1 -
.../EqpSpEquipCheckRecordService.cs | 5 +-
.../EqpSparePartsRequisitionHService.cs | 24 +-
EquipMgr/Tnb.EquipMgr/EqpSpotInsTemService.cs | 21 +-
EquipMgr/Tnb.EquipMgr/EqpSubEquipService.cs | 22 +-
.../EqpTechnologyParameterService.cs | 8 +-
.../EqpWorkshopChangeLogService.cs | 17 +-
.../Tnb.EquipMgr/EquMaintainRecordService.cs | 130 ++--
.../Tnb.EquipMgr/EquSpotInsRecordService.cs | 114 ++--
.../Tnb.EquipMgr/EquSpotInsTemEquipService.cs | 13 +-
EquipMgr/Tnb.EquipMgr/EquipmentService.cs | 55 +-
.../Tnb.EquipMgr/MoldMaintainBaseService.cs | 8 +-
EquipMgr/Tnb.EquipMgr/Tnb.EquipMgr.csproj | 1 -
EquipMgr/Tnb.EquipMgr/ToolMoldHouseService.cs | 9 +-
.../Tnb.EquipMgr/ToolMoldLocationService.cs | 22 +-
.../ToolMoldMaintainGroupService.cs | 17 +-
.../ToolMoldMaintainPlanService.cs | 9 +-
.../ToolMoldMaintainRuleService.cs | 23 +-
.../ToolMoldMaintainRunService.cs | 48 +-
.../ToolMoldMaintainTaskService.cs | 15 +-
.../Tnb.EquipMgr/ToolMoldMaterialService.cs | 101 ++-
.../ToolMoldRequisitionService.cs | 38 +-
.../Tnb.EquipMgr/ToolMoldReturnService.cs | 8 +-
EquipMgr/Tnb.EquipMgr/ToolMoldsService.cs | 14 +-
.../Dto/ProcessParamOutput.cs | 4 +-
.../Dto/ProcessParamTypeChildrenOutput.cs | 2 +-
.../Entity/PerProcessStandardsD.cs | 4 +-
.../Entity/PerProcessStandardsH.cs | 2 +-
.../IPerProcessParamService.cs | 3 +-
.../IPerProcessParamTypeService.cs | 4 +-
.../IPerProcessStandardsService.cs | 6 +-
PerMgr/Tnb.PerMgr/PerProcessParamService.cs | 9 +-
.../Tnb.PerMgr/PerProcessParamTypeService.cs | 80 +--
.../Tnb.PerMgr/PerProcessStandardsService.cs | 83 ++-
PerMgr/Tnb.PerMgr/Tnb.PerMgr.csproj | 4 +-
.../Consts/DictionaryConstants.cs | 12 +-
.../Consts/ModuleConst.cs | 8 +-
.../Dto/DictionaryTreeOutput.cs | 8 +-
.../Dto/PrdManage/AddAndonInput.cs | 4 +-
.../Dto/PrdManage/AndonPadListInput.cs | 4 +-
.../Dto/PrdManage/AndonPadListOutput.cs | 20 +-
.../Dto/PrdManage/AndonRecordInput.cs | 8 +-
.../Dto/PrdManage/CloseDownStartInput.cs | 8 +-
.../Dto/PrdManage/ClosedownHistoryOutput.cs | 8 +-
.../Dto/PrdManage/ClosedownHistoryQuery.cs | 7 +-
.../PrdManage/CountEstimatedEndTimeInput.cs | 12 +-
.../Dto/PrdManage/EquipmentListOutput.cs | 8 +-
.../Dto/PrdManage/FeedingRecordTreeOutput.cs | 6 +-
.../Dto/PrdManage/GanntSaveInput.cs | 4 +-
.../Dto/PrdManage/GenSubMoCrInput.cs | 10 +-
.../Dto/PrdManage/GeneralOutstockInput.cs | 4 +-
.../Dto/PrdManage/IcmoUpInput.cs | 10 +-
.../Dto/PrdManage/KittingOutInput.cs | 34 +-
.../Dto/PrdManage/KittingOutNewInput.cs | 12 +-
.../MaterialPreparationPlanOutput.cs | 2 +-
.../Dto/PrdManage/MaterialReceiptInput.cs | 24 +-
.../Dto/PrdManage/MaterialReceiptNewInput.cs | 10 +-
.../Dto/PrdManage/MoCrInput.cs | 8 +-
.../Dto/PrdManage/MoldListOutput.cs | 11 +-
.../Dto/PrdManage/PADPackageTaskPageOutput.cs | 36 +-
.../Dto/PrdManage/PackPrdTaskUpInput.cs | 8 +-
.../Dto/PrdManage/PackReportTreeOutput.cs | 7 +-
.../Dto/PrdManage/PackSchedlingCrInput.cs | 10 +-
.../PrdManage/PackScheldToBeIssueListInput.cs | 8 +-
.../PackSechelToBeIssueListOutput.cs | 11 +-
.../PrdManage/PackingSchedulingListOutput.cs | 8 +-
.../Dto/PrdManage/PrdInstockInput.cs | 14 +-
.../Dto/PrdManage/PrdMoFromOneListOutput.cs | 100 +--
.../Dto/PrdManage/PrdMoFromQueryInput.cs | 18 +-
.../Dto/PrdManage/PrdMoListOuput.cs | 4 +-
.../Dto/PrdManage/PrdMoListTreeOutput.cs | 11 +-
.../Dto/PrdManage/PrdMoTaskDefectOutput.cs | 12 +-
.../Dto/PrdManage/PrdMoTaskFromEqpIdInput.cs | 8 +-
.../Dto/PrdManage/PrdMoTaskIssueListOutput.cs | 4 +-
.../Dto/PrdManage/PrdMoTaskOutput.cs | 19 +-
.../Dto/PrdManage/PrdMotreeOutput.cs | 7 +-
.../Dto/PrdManage/PrdPackReportQueryInput.cs | 8 +-
.../Dto/PrdManage/PrdReportCrInput.cs | 12 +-
.../Dto/PrdManage/PrdReportOutput.cs | 10 +-
.../Dto/PrdManage/PrdTaskOperInput.cs | 10 +-
.../Dto/PrdManage/PrdTaskOperOutput.cs | 11 +-
.../Dto/PrdManage/PrdTaskReleaseUpInput.cs | 8 +-
.../Dto/PrdManage/PrdTaskSortOutput.cs | 13 +-
.../PrdManage/ProductionSchedulingCrInput.cs | 16 +-
.../Dto/PrdManage/ReportRecordListOutput.cs | 6 +-
.../Dto/PrdManage/SelfTestScrappedInput.cs | 10 +-
.../Dto/PrdManage/SwapMoldUpInput.cs | 8 +-
.../Dto/PrdManage/TaskOperRecordOutput.cs | 9 +-
.../Dto/PrdManage/TransferPlatformUpInput.cs | 9 +-
.../Dto/PrdManage/UnPackSchedlingInput.cs | 8 +-
.../Entity/AndonBreakDown.cs | 7 +-
.../Entity/AndonInfo.cs | 11 +-
.../Entity/AndonRecords.cs | 15 +-
.../Entity/AndonTypecs.cs | 11 +-
.../Entity/AppPrdMoTaskLogListOutput.cs | 6 +-
.../Entity/AppPrdMoTaskOneListOutput.cs | 6 +-
.../Entity/CheckMoldInput.cs | 2 +-
.../Entity/MoldsEntity.cs | 5 +-
.../Entity/PrdFeedingD.cs | 4 +-
.../Entity/PrdInstockD.cs | 2 +-
.../Entity/PrdInstockH.cs | 4 +-
.../Entity/PrdMaterialReceiptD.cs | 6 +-
.../Entity/PrdMaterialReceiptH.cs | 4 +-
.../Entity/PrdMo.cs | 6 +-
.../Entity/PrdMoTask.cs | 10 +-
.../Entity/PrdMoTask.part.cs | 4 -
.../Entity/PrdMoTaskLog.cs | 2 +-
.../Entity/PrdOnwipTool.cs | 3 +-
.../Entity/PrdReport.cs | 12 +-
.../Entity/PrdScrapped.cs | 5 +-
.../Entity/PrdTask.cs | 7 +-
.../Entity/PrdTaskLog.cs | 5 +-
.../Enums/Eagvmode.cs | 18 +-
.../Enums/MoBehavior.cs | 13 +-
.../Mapper/Mapper.cs | 2 -
.../Tnb.ProductionMgr.Entities.csproj | 1 -
.../IAndonRecordService.cs | 16 +-
.../IAndonService.cs | 7 +-
.../IPrdCancelCloseDownService.cs | 8 +-
.../IPrdFeedingService.cs | 2 +-
.../IPrdInstockService.cs | 6 +-
.../IPrdKittingOutService.cs | 2 +-
.../IPrdMoTaskIssueService.cs | 8 +-
.../IPrdMoTaskService.cs | 8 +-
.../IPrdPackReportService.cs | 8 +-
.../IPrdTaskManageService.cs | 8 +-
.../IProductionReportRecordService.cs | 8 +-
.../IRedisDataService.cs | 9 +-
.../IWorklineCommService.cs | 4 +-
.../Tnb.ProductionMgr.Interfaces.csproj | 1 -
.../APP/AppPrdMoTaskLogService.cs | 23 +-
.../APP/AppPrdMoTaskOneService.cs | 15 +-
.../APP/AppPrdMoTaskTwoService.cs | 19 +-
.../Tnb.ProductionMgr/AndonRecordService.cs | 192 +++---
.../Tnb.ProductionMgr/AndonService.cs | 26 +-
.../Tnb.ProductionMgr/AndonTypeService.cs | 11 +-
.../PrdCancelCloseDownService.cs | 50 +-
.../Tnb.ProductionMgr/PrdFeedingService.cs | 84 ++-
.../Tnb.ProductionMgr/PrdInstockService.cs | 108 ++--
.../Tnb.ProductionMgr/PrdKittingOutService.cs | 71 +--
.../PrdMaterialReceiptService.cs | 42 +-
.../Tnb.ProductionMgr/PrdMoService.cs | 309 ++++-----
.../PrdMoTaskIssueService.cs | 46 +-
.../Tnb.ProductionMgr/PrdMoTaskService.cs | 602 +++++++++---------
.../Tnb.ProductionMgr/PrdOutstockService.cs | 48 +-
.../Tnb.ProductionMgr/PrdPackReportService.cs | 126 ++--
.../Tnb.ProductionMgr/PrdTaskManageService.cs | 105 ++-
.../ProductionReportRecordService.cs | 72 +--
.../Tnb.ProductionMgr/RedisBackGround.cs | 19 +-
.../Tnb.ProductionMgr/RedisDataService.cs | 41 +-
.../Tnb.ProductionMgr.csproj | 1 -
.../WorkOrderSchedulingService.cs | 11 +-
QcMgr/Tnb.QcMgr.Entities/Dto/CheckItem.cs | 8 +-
QcMgr/Tnb.QcMgr.Entities/Dto/CheckItems.cs | 16 +-
QcMgr/Tnb.QcMgr.Entities/Dto/CheckPlan.cs | 8 +-
QcMgr/Tnb.QcMgr.Entities/Dto/CheckTask.cs | 14 +-
QcMgr/Tnb.QcMgr.Entities/Dto/CheckTaskData.cs | 10 +-
QcMgr/Tnb.QcMgr.Entities/Dto/SpcData.cs | 9 +-
QcMgr/Tnb.QcMgr.Entities/Dto/Trigger.cs | 10 +-
.../Entity/QcAqlSampleCode.cs | 7 +-
.../Entity/QcAqlSamplePlan.cs | 7 +-
.../Tnb.QcMgr.Entities/Entity/QcCheckExecD.cs | 7 +-
.../Tnb.QcMgr.Entities/Entity/QcCheckExecH.cs | 7 +-
.../Tnb.QcMgr.Entities/Entity/QcCheckItem.cs | 7 +-
.../Entity/QcCheckItemsD.cs | 7 +-
.../Entity/QcCheckItemsH.cs | 7 +-
.../Entity/QcCheckItemsR.cs | 7 +-
.../Entity/QcCheckPlanAdd.cs | 7 +-
.../Tnb.QcMgr.Entities/Entity/QcCheckPlanD.cs | 9 +-
.../Tnb.QcMgr.Entities/Entity/QcCheckPlanH.cs | 7 +-
.../Entity/QcCheckPlanMaterial.cs | 7 +-
.../Entity/QcCheckPlanProcess.cs | 7 +-
.../Entity/QcCheckPlanWork.cs | 7 +-
.../Tnb.QcMgr.Entities/Entity/QcCheckType.cs | 7 +-
.../Tnb.QcMgr.Entities/Entity/QcErrorCause.cs | 7 +-
.../Tnb.QcMgr.Entities/Entity/QcErrorLevel.cs | 7 +-
.../Tnb.QcMgr.Entities/Entity/QcSpcConfig.cs | 7 +-
QcMgr/Tnb.QcMgr.Entities/Entity/QcSpcD.cs | 7 +-
QcMgr/Tnb.QcMgr.Entities/Entity/QcSpcH.cs | 7 +-
.../Entity/QcTriggerEvent.cs | 7 +-
.../Entity/QcTriggerPlan.cs | 7 +-
.../Enums/EnumTriggerType.cs | 8 +-
.../Tnb.QcMgr.Entities.csproj | 1 -
.../IQcCheckItemService.cs | 7 +-
.../IQcCheckPlanService.cs | 9 +-
.../IQcCheckTaskService.cs | 7 +-
.../IQcCheckTypeService.cs | 9 +-
QcMgr/Tnb.QcMgr.Interfaces/IQcSpcService.cs | 7 +-
.../Tnb.QcMgr.Interfaces.csproj | 1 -
QcMgr/Tnb.QcMgr/QcCheckItemService.cs | 21 +-
QcMgr/Tnb.QcMgr/QcCheckPlanService.cs | 23 +-
QcMgr/Tnb.QcMgr/QcCheckTaskResultService.cs | 21 +-
QcMgr/Tnb.QcMgr/QcCheckTaskService.cs | 39 +-
QcMgr/Tnb.QcMgr/QcCheckTypeService.cs | 16 +-
QcMgr/Tnb.QcMgr/QcSpcService.cs | 30 +-
QcMgr/Tnb.QcMgr/Tnb.QcMgr.csproj | 1 -
Tnb.Server.sln | 30 -
.../Attributes/CallerAttribute.cs | 8 +-
.../Attributes/RelationalFieldAttribute.cs | 8 +-
.../Attributes/ServiceModuleAttribute.cs | 8 +-
.../Attributes/TimedAttribute.cs | 8 +-
.../Configs/AgvRequestConfig.cs | 8 +-
.../Configs/ElevatorControlConfiguration.cs | 8 +-
.../Consts/ElevatorConsts.cs | 8 +-
.../Consts/GenericEnumDicionary.cs | 9 +-
.../Consts/WmsCarryConst.cs | 12 +-
.../Consts/WmsWareHouseConst.cs | 14 +-
.../Dto/Inputs/BarCodePrintInput.cs | 8 +-
.../Dto/Inputs/ChainStatusReportingUpInput.cs | 8 +-
.../Dto/Inputs/ConfirmInput.cs | 4 +-
.../Dto/Inputs/ExChangeCarryInput.cs | 8 +-
.../Dto/Inputs/GenPreTaskUpInput.cs | 12 +-
.../Dto/Inputs/InOutStockApplyforUpInput.cs | 7 +-
.../Dto/Inputs/MESCarryQueryInput.cs | 8 +-
.../Dto/Inputs/MESCarryQueryResultInput.cs | 8 +-
.../Dto/Inputs/MESCarrySignInput.cs | 2 +-
.../Inputs/MESCollocationSchemeQueryInput.cs | 7 +-
.../Dto/Inputs/MESCreateInstockInput.cs | 24 +-
.../Dto/Inputs/MESCreateOutstockInput.cs | 16 +-
.../Dto/Inputs/MESEmptyCarryInStockInput.cs | 18 +-
.../Dto/Inputs/MESEmptyCarryOutStkInput.cs | 16 +-
.../Dto/Inputs/MESKittingOutStkInput.cs | 36 +-
.../Dto/Inputs/ModifyPoliciesStatusInput.cs | 7 +-
.../Dto/Inputs/NotifyMessage.cs | 8 +-
.../Dto/Inputs/RobotCallBackInput.cs | 8 +-
.../Dto/Inputs/SacnBarCodeInStockInput.cs | 8 +-
.../Dto/Inputs/SignForDeliveryInput.cs | 12 +-
.../Dto/Inputs/TaskCallBackInput.cs | 6 +-
.../Dto/Inputs/TaskChainCallBackInput.cs | 4 +-
.../Dto/Inputs/TaskCompleUpInput.cs | 8 +-
.../Dto/Inputs/TaskExecuteAfterUpInput.cs | 8 +-
.../Dto/Inputs/TaskExecuteUpInput.cs | 8 +-
.../Dto/Inputs/TimedtaskInput.cs | 8 +-
.../Dto/Inputs/WareHouseUpInput.cs | 8 +-
.../Dto/Outputs/CarryCodeDetailOutput.cs | 8 +-
.../Dto/Outputs/CarryInfoOutput.cs | 10 +-
.../Dto/Outputs/CarryQueryOutput.cs | 14 +-
.../Dto/Outputs/CollocationSchemeOutput.cs | 11 +-
.../Dto/Outputs/InStockDetailOutput.cs | 8 +-
.../Dto/Outputs/MaterailLabelOutput.cs | 10 +-
.../Dto/Outputs/OutStockDetailOutput.cs | 8 +-
.../Dto/Outputs/Result.cs | 9 +-
.../Dto/Queries/InOutStockDetailQuery.cs | 7 +-
.../Dto/Queries/InStockStrategyQuery.cs | 8 +-
.../Dto/Queries/MaterialLabelQuery.cs | 8 +-
.../Dto/Queries/OutStockStrategyQuery.cs | 8 +-
.../Entity/Constraints/IInOutStockCode.cs | 10 +-
.../Entity/Constraints/IInOutStockDetail.cs | 7 +-
.../Entity/Constraints/ITaskManagerDel.cs | 10 +-
.../Constraints/IUpdatePoliciesStatus.cs | 8 +-
.../Entity/Constraints/IWmsCarryEntity.cs | 8 +-
.../Entity/Constraints/IWmsRoadEntity.cs | 8 +-
.../Entity/WmsCarryCode.part.cs | 2 -
.../Entity/WmsCarryH.cs | 1 -
.../Entity/WmsCarryH.part.cs | 2 -
.../Entity/WmsCheckstockD.part.cs | 2 -
.../Entity/WmsDistaskH.part.cs | 2 -
.../Entity/WmsElevatorH.cs | 3 +-
.../Entity/WmsElevatorH.part.cs | 5 +-
.../Entity/WmsInstockCode.cs | 3 -
.../Entity/WmsInstockCode.part.cs | 6 -
.../Entity/WmsInstockD.part.cs | 2 -
.../Entity/WmsInstockPolicies.part.cs | 3 -
.../Entity/WmsOutstockCode.part.cs | 4 -
.../Entity/WmsOutstockPolicies.part.cs | 3 -
.../Entity/WmsPretaskH.part.cs | 2 -
.../Entity/WmsSetsortingH.part.cs | 2 -
.../Entity/WmsStockReportH.part.cs | 8 +-
.../Enums/EnumAgvControl.cs | 8 +-
.../Enums/EnumAgvStatus.cs | 8 +-
.../Enums/EnumCarryStatus.cs | 8 +-
.../Enums/EnumCheckConclusion.cs | 7 +-
.../Enums/EnumCheckStatus.cs | 8 +-
.../Enums/EnumCheckType.cs | 8 +-
.../Enums/EnumDoorStatus.cs | 8 +-
.../Enums/EnumInOutStockType.cs | 12 +-
.../Enums/EnumLocationType.cs | 8 +-
.../Enums/EnumOutStatus.cs | 8 +-
.../Enums/EnumRunStatus.cs | 8 +-
.../Enums/EnumSysStatus.cs | 8 +-
.../Enums/EnumTaskChainType.cs | 8 +-
.../Enums/EnumWareHouseModule.cs | 12 +-
.../Enums/TimeSpanUnit.cs | 8 +-
.../Exceptions/TimedTaskException.cs | 7 +-
.../Mapper/Mapper.cs | 6 +-
.../Tnb.WarehouseMgr.Entities.csproj | 1 -
.../IBasRegionUserService.cs | 8 +-
.../IElevatorControlService.cs | 8 +-
.../IPdaStroage.cs | 8 +-
.../ITaskMessageNotify.cs | 7 +-
.../IWHStorageService.cs | 7 +-
.../IWareHouseService.cs | 9 +-
.../IWmsCarryBindService.cs | 7 +-
.../IWmsCarryLedgerService.cs | 8 +-
.../IWmsCarryMoveInStockService.cs | 7 +-
.../IWmsCarryQueryService.cs | 7 +-
.../IWmsCarryService.cs | 3 +-
.../IWmsCollocationSchemeSevice.cs | 7 +-
.../IWmsDeliveryService.cs | 8 +-
.../IWmsEmptyInstockService.cs | 7 +-
.../IWmsEmptyOutstockService.cs | 9 +-
.../IWmsFeedingService.cs | 8 +-
.../IWmsInStockService.cs | 8 +-
.../IWmsKittingInStkService.cs | 7 +-
.../IWmsOutStockService.cs | 7 +-
.../IWmsPDATransferSignService.cs | 8 +-
.../IWmsPdaWHService.cs | 8 +-
.../IWmsRouteMgrService.cs | 8 +-
.../IWmsSetSortingService.cs | 8 +-
.../IWmsSignForDeliveryService.cs | 8 +-
.../IWmskittingOutService.cs | 7 +-
.../Tnb.WarehouseMgr.Interfaces/Interface1.cs | 8 +-
.../Tnb.WarehouseMgr.Interfaces.csproj | 1 -
.../Tnb.WarehouseMgr/BasRegionUserService.cs | 9 +-
.../Tnb.WarehouseMgr/BaseWareHouseService.cs | 30 +-
.../BaseWareHouseService`1.cs | 8 +-
.../Tnb.WarehouseMgr/DeviceProviderService.cs | 13 +-
.../ElevatorControlService.cs | 12 +-
.../TaskStatusChangeSubscriber.cs | 12 +-
.../Extensions/BackgroundServiceExtensions.cs | 8 +-
.../WareHouseBasedControllerActivator.cs | 17 +-
.../Filters/NotifyFilterAttribute.cs | 7 +-
.../LocationDefinitionService.cs | 33 +-
.../PDATransferSignService.cs | 25 +-
.../Tnb.WarehouseMgr/PcStroageService.cs | 11 +-
.../Tnb.WarehouseMgr/PdaStroageService.cs | 9 +-
.../Tnb.WarehouseMgr/Print/PPLBUtility.cs | 8 +-
.../Tnb.WarehouseMgr/TaskManagerDelBase.cs | 8 +-
.../Tnb.WarehouseMgr/TaskMesageNotify.cs | 7 +-
.../TimedTaskBackgroundService.cs | 26 +-
.../Tnb.WarehouseMgr/Tnb.WarehouseMgr.csproj | 1 -
.../Tnb.WarehouseMgr/WareHouseService.cs | 8 +-
.../Tnb.WarehouseMgr/WmsCarryBindService.cs | 15 +-
.../Tnb.WarehouseMgr/WmsCarryLedgerService.cs | 31 +-
.../WmsCarryMoveInStockService.cs | 15 +-
.../WmsCarryMoveOutStockService.cs | 10 +-
.../Tnb.WarehouseMgr/WmsCarryQueryService.cs | 13 +-
.../Tnb.WarehouseMgr/WmsCarryService.cs | 8 +-
.../Tnb.WarehouseMgr/WmsCarryUnbindService.cs | 16 +-
.../Tnb.WarehouseMgr/WmsCheckTaskService.cs | 10 +-
.../WmsCollocationSchemeSevice.cs | 12 +-
.../Tnb.WarehouseMgr/WmsDeliveryService.cs | 11 +-
.../Tnb.WarehouseMgr/WmsDistaskService.cs | 8 +-
.../WmsEmptyInstockService.cs | 12 +-
.../WmsEmptyOutstockService .cs | 12 +-
.../Tnb.WarehouseMgr/WmsFeedingService.cs | 10 +-
.../WmsInStockPoliciesService.cs | 7 +-
.../Tnb.WarehouseMgr/WmsInStockService.cs | 16 +-
.../WmsKittingInStkService.cs | 9 +-
.../Tnb.WarehouseMgr/WmsOutBaleService.cs | 10 +-
.../Tnb.WarehouseMgr/WmsOutStockService.cs | 19 +-
.../Tnb.WarehouseMgr/WmsPDABindService.cs | 17 +-
.../WmsPDACarryBindService.cs | 15 +-
.../WmsPDACarryMoveInStockService.cs | 13 +-
.../WmsPDACarryMoveOutStockService.cs | 10 +-
.../WmsPDACarryReplaceService.cs | 27 +-
.../WmsPDACarryUnbindService .cs | 18 +-
.../Tnb.WarehouseMgr/WmsPDADeliveryService.cs | 12 +-
.../WmsPDAEmptyInstockService.cs | 10 +-
.../WmsPDAEmptyOutstockService .cs | 11 +-
.../WmsPDAExceptionCancelService.cs | 22 +-
.../WmsPDAExceptionCompleteService.cs | 21 +-
.../WmsPDAExceptionReexcuteService.cs | 19 +-
.../Tnb.WarehouseMgr/WmsPDAFeedingService.cs | 12 +-
.../Tnb.WarehouseMgr/WmsPDAInStockService.cs | 17 +-
.../Tnb.WarehouseMgr/WmsPDAInbaleService.cs | 14 +-
.../WmsPDAKittingInStkService.cs | 20 +-
.../WmsPDAOutBaleServiceService.cs | 16 +-
.../WmsPDAScanInStockService.cs | 11 +-
.../Tnb.WarehouseMgr/WmsPDATransferService.cs | 13 +-
.../Tnb.WarehouseMgr/WmsPointService.cs | 14 +-
.../Tnb.WarehouseMgr/WmsPretaskService.cs | 10 +-
.../WmsRobotCallbackService.cs | 13 +-
.../Tnb.WarehouseMgr/WmsRouteMgrService.cs | 18 +-
.../Tnb.WarehouseMgr/WmsSetSortingService.cs | 16 +-
.../WmsSignForDeliveryService.cs | 12 +-
.../Tnb.WarehouseMgr/WmsStockReportService.cs | 12 +-
.../Tnb.WarehouseMgr/WmsTransferService.cs | 18 +-
.../Tnb.WarehouseMgr/WmskittingOutService.cs | 21 +-
.../Extensions/ConfigureEventBusExtensions.cs | 18 +-
.../Extensions/ConfigureLoggingExtensions.cs | 123 ++--
.../ConfigureMvcControllerExtensions.cs | 31 +-
.../Extensions/ConfigureSqlSugarExtensions.cs | 6 +-
apihost/Tnb.API.Entry/Handlers/JwtHandler.cs | 1 -
apihost/Tnb.API.Entry/Program.cs | 36 +-
apihost/Tnb.API.Entry/Startup.cs | 14 +-
apihost/Tnb.API.Entry/Tnb.API.Entry.csproj | 1 -
app/Tnb.Apps.Entitys/Tnb.Apps.Entitys.csproj | 1 -
.../Tnb.Apps.Interfaces.csproj | 1 -
app/Tnb.Apps/AppMenuService.cs | 2 +-
app/Tnb.Apps/Tnb.Apps.csproj | 1 -
.../AuthRequests/AlipayMpAuthRequest.cs | 10 +-
.../Request/AuthRequests/CodingAuthRequest.cs | 4 +-
.../AuthRequests/DingTalkScanAuthRequest.cs | 9 +-
.../Request/AuthRequests/DouYinAuthRequest.cs | 2 +-
.../Request/AuthRequests/ElemeAuthRequest.cs | 8 +-
.../Request/AuthRequests/FeiShuAuthRequest.cs | 4 +-
.../Request/AuthRequests/GithubAuthRequest.cs | 2 +-
.../Request/AuthRequests/GitlabAuthRequest.cs | 2 +-
.../Request/AuthRequests/GoogleAuthRequest.cs | 2 +-
.../Request/AuthRequests/HuaweiAuthRequest.cs | 4 +-
.../AuthRequests/KujialeAuthRequest.cs | 2 +-
.../AuthRequests/LinkedinAuthRequest.cs | 2 +-
.../AuthRequests/MeituanAuthRequest.cs | 2 +-
.../AuthRequests/MicrosoftAuthRequest.cs | 4 +-
.../AuthRequests/PinterestAuthRequest.cs | 2 +-
.../Request/AuthRequests/QQAuthRequest.cs | 2 +-
.../Request/AuthRequests/RenrenAuthRequest.cs | 2 +-
.../AuthRequests/StackOverflowAuthRequest.cs | 2 +-
.../AuthRequests/TeambitionAuthRequest.cs | 4 +-
.../AuthRequests/ToutiaoAuthRequest.cs | 2 +-
.../WeChatEnterpriseAuthRequest.cs | 2 +-
.../WeChatEnterpriseScanAuthRequest.cs | 2 +-
.../AuthRequests/WeChatMpAuthRequest.cs | 6 +-
.../AuthRequests/WeChatOpenAuthRequest.cs | 8 +-
.../Request/AuthRequests/WeiboAuthRequest.cs | 4 +-
.../Tnb.CollectiveOAuth.csproj | 2 -
.../Utils/ConfigurationManager.cs | 4 +-
.../Utils/GlobalAuthUtil.cs | 6 +-
.../Constants/EventSubscribeEventConsts.cs | 8 +-
.../Sources/TaskStatusChangeSource.cs | 8 +-
.../Storers/RabbitMQEventSourceStorer.cs | 6 +-
.../Filter/LogExceptionHandler.cs | 6 +-
.../Filter/RequestActionFilter.cs | 12 +-
.../Manager/DataBase/DataBaseManager.cs | 82 +--
.../Manager/DataBase/IDataBaseManager.cs | 2 +-
.../Manager/Files/FileManager.cs | 6 +-
.../Manager/User/UserManager.cs | 4 +-
.../Manager/User/UserManager.part.cs | 20 +-
common/Tnb.Common.Core/Tnb.Common.Core.csproj | 1 -
common/Tnb.Common/Cache/MemoryCache.cs | 4 +-
common/Tnb.Common/Cache/RedisCache.cs | 4 +-
.../Captcha/General/GeneralCaptcha.cs | 6 +-
common/Tnb.Common/Contracts/BaseEntity`1.cs | 10 +-
common/Tnb.Common/Contracts/CEntityBase.cs | 1 -
common/Tnb.Common/DataValidation/Check.cs | 11 +-
.../VisualDev/VisualDevModelDataCrInput.cs | 2 +-
common/Tnb.Common/Enums/AccountType.cs | 4 +-
common/Tnb.Common/Enums/FileLocation.cs | 4 +-
common/Tnb.Common/Enums/Gender.cs | 4 +-
common/Tnb.Common/Enums/HttpStatusCode.cs | 4 +-
common/Tnb.Common/Enums/LoginMethod.cs | 4 +-
common/Tnb.Common/Enums/NoticeStatus.cs | 4 +-
common/Tnb.Common/Enums/NoticeUserStatus.cs | 4 +-
common/Tnb.Common/Enums/PreviewType.cs | 4 +-
common/Tnb.Common/Enums/QueryType.cs | 4 +-
common/Tnb.Common/Enums/RequestType.cs | 2 +-
.../ConcurrentDictionaryExtensions.cs | 4 +-
.../Extension/ConfigurationExtensions.cs | 7 +-
.../Extension/DictionaryExtensions.cs | 3 +-
common/Tnb.Common/Extension/EnumExtensions.cs | 6 +-
.../Extension/EnumerableExtensions.cs | 7 +-
.../Extension/LambdaExpressionExtensions.cs | 9 +-
.../Tnb.Common/Extension/StreamExtensions.cs | 4 +-
.../Extension/StringBuilderExtensions.cs | 4 +-
.../Tnb.Common/Extension/StringExtensions.cs | 8 +-
common/Tnb.Common/Extension/TaskExtensions.cs | 12 +-
.../Extension/TnbStringExtensions.cs | 3 +-
.../Models/NPOI/ExcelColumnModel.cs | 4 +-
.../Models/SocialsLoginConfigModel.cs | 4 +-
common/Tnb.Common/Net/IUserAgent.cs | 5 +-
.../Options/ConfigureSwaggerUIOptions.cs | 7 +-
common/Tnb.Common/Options/OauthOptions.cs | 5 +-
common/Tnb.Common/Options/SocialsOptions.cs | 3 +-
.../Security/CodeGenExportDataHelper.cs | 1 -
.../Tnb.Common/Security/ExcelImportHelper.cs | 10 +-
common/Tnb.Common/Security/FileHelper.cs | 10 +-
common/Tnb.Common/Security/NetHelper.cs | 1 -
common/Tnb.Common/Security/PinyinHelper.cs | 28 +-
common/Tnb.Common/Security/QueryTreeHelper.cs | 4 +-
.../Tnb.Common/Security/SnowflakeIdHelper.cs | 90 ++-
.../Tnb.Common/Utils/DateTimeJsonConverter.cs | 6 +-
common/Tnb.Common/Utils/DeepCopyHelper.cs | 7 +-
common/Tnb.Common/Utils/Dijkstra.cs | 10 +-
common/Tnb.Common/Utils/HttpClientHelper.cs | 12 +-
.../Tnb.Common/Utils/ParameterCheckHelper.cs | 9 +-
.../Utils/SkipNormalizationAttribute.cs | 8 +-
...alizationAttributeConventionalRegistrar.cs | 11 +-
common/Tnb.Common/Utils/ThrowIf.cs | 196 +++---
.../Extensions/TenantLinkExtensions.cs | 1 -
.../Internal/SqlSugarPagedList.cs | 2 +-
.../Repositories/ISqlSugarRepository.cs | 2 -
.../Repositories/SqlSugarRepository.cs | 1 -
common/Tnb.SqlSugar/Tnb.SqlSugar.csproj | 1 -
common/Tnb.Thirdparty/Email/MailUtil.cs | 2 +-
common/Tnb.Thirdparty/Tnb.Thirdparty.csproj | 1 -
.../Middlewares/WebSocketMiddleware.cs | 3 +-
common/Tnb.WebSockets/Tnb.WebSockets.csproj | 1 -
.../Dto/MessageAccount/EmailSendTestQuery.cs | 4 +-
message/Tnb.Message.Entitys/Mapper/Mapper.cs | 1 -
.../Tnb.Message.Entitys.csproj | 1 -
.../Tnb.Message.Interfaces.csproj | 1 -
message/Tnb.Message/Service/ImReplyService.cs | 4 +-
.../Service/MessageDataTypeService.cs | 11 +-
.../Service/MessageMonitorService.cs | 2 -
message/Tnb.Message/Service/MessageService.cs | 4 +-
.../Service/MessageTemplateService.cs | 2 +-
.../Tnb.Message/Service/SendMessageService.cs | 8 +-
.../Tnb.Message/Service/ShortLinkService.cs | 4 +-
.../Tnb.Message/Service/WechatOpenService.cs | 6 +-
message/Tnb.Message/Tnb.Message.csproj | 1 -
system/Tnb.OAuth/Dto/CurrentUserOutput.cs | 1 -
system/Tnb.OAuth/Dto/LockScreenInput.cs | 4 +-
system/Tnb.OAuth/Dto/LoginInput.cs | 4 +-
system/Tnb.OAuth/OAuthService.cs | 38 +-
system/Tnb.OAuth/Tnb.OAuth.csproj | 1 -
.../Department/DepartmentCrInput.cs | 1 -
.../OrganizeAdminIsTratorCrInput.cs | 2 +-
.../Socials/SocialsUserListOutput.cs | 5 +-
.../User/GetDefaultCurrentValueInput.cs | 3 +-
.../Dto/Permission/User/UserListAllOutput.cs | 1 -
.../UsersCurrent/UsersCurrentInfoUpInput.cs | 1 -
.../UsersCurrentSystemLogOutput.cs | 4 +-
.../Dto/System/ComFields/ComFieldsUpInput.cs | 4 +-
.../DataBase/DatabaseTableDataCleanInput.cs | 9 +-
.../DataSync/DbSyncActionsExecuteInput.cs | 2 +-
.../Dto/System/DataSync/DbSyncOutput.cs | 2 +-
.../InterfaceOauth/InterfaceOauthInput.cs | 4 +-
.../InterfaceOauth/InterfaceOauthOutput.cs | 7 +-
.../Dto/System/PrintDev/PrintDevListOutput.cs | 3 +-
.../Dto/System/SysConfig/SetAdminInput.cs | 4 +-
.../Dto/System/SysLog/LogExceptionOutput.cs | 3 +-
.../Entity/Permission/OrganizeEntity.part.cs | 5 +-
.../Entity/Permission/SignImgEntity.cs | 3 +-
.../Entity/Permission/TenantSocialsEntity.cs | 3 +-
.../Entity/Permission/UserEntity.cs | 3 +-
.../Entity/Permission/UserEntity.part.cs | 4 +-
.../Entity/Permission/UserRelationEntity.cs | 3 +-
.../Entity/System/SmsTemplateEntity.cs | 3 +-
.../Entity/System/SynThirdInfoEntity.cs | 3 +-
.../Entity/System/SysConfigEntity.cs | 3 +-
.../Entity/System/TimeTaskEntity.cs | 3 +-
.../Entity/System/TimeTaskLogEntity.cs | 3 +-
system/Tnb.Systems.Entitys/Enum/AreaType.cs | 4 +-
.../Tnb.Systems.Entitys/Enum/ErrorStrategy.cs | 4 +-
.../Tnb.Systems.Entitys/Enum/MenuCategory.cs | 4 +-
system/Tnb.Systems.Entitys/Enum/MenuType.cs | 4 +-
system/Tnb.Systems.Entitys/Enum/SysConfig.cs | 4 +-
.../Mapper/ConnectionMapper.cs | 7 +-
.../SocialsUser/SocialsUserModel.cs | 2 +-
.../Model/System/DataBase/DbEntityInfo.cs | 2 -
.../System/DataBase/DynamicDbTableModel.cs | 4 +-
.../Tnb.Systems.Entitys.csproj | 1 -
.../Common/IFileService.cs | 5 +-
.../Permission/IOrganizeService.cs | 2 +-
.../Permission/ISocialsUserService.cs | 2 +-
.../Permission/IUserRelationService.cs | 3 +-
.../Permission/IUsersService.cs | 4 +-
.../System/IDataInterfaceService.cs | 4 +-
.../System/IModuleColumnService.cs | 3 +-
.../Tnb.Systems.Interfaces.csproj | 1 -
system/Tnb.Systems/Common/HeartbeatService.cs | 27 +-
system/Tnb.Systems/Common/SampleService.cs | 20 +-
system/Tnb.Systems/Common/TestService.cs | 20 +-
.../Permission/AuthorizeService.cs | 4 +-
.../Permission/DepartmentService.cs | 30 +-
system/Tnb.Systems/Permission/GroupService.cs | 2 +-
.../OrganizeAdministratorService.cs | 16 +-
.../Tnb.Systems/Permission/OrganizeService.cs | 35 +-
.../Tnb.Systems/Permission/PositionService.cs | 1 -
.../Permission/SocialsUserService.cs | 3 +-
.../Permission/UserRelationService.cs | 2 +-
.../Permission/UsersCurrentService.cs | 18 +-
system/Tnb.Systems/Permission/UsersService.cs | 25 +-
system/Tnb.Systems/System/BillRuleService.cs | 2 +-
.../System/DataInterfaceService.cs | 18 +-
system/Tnb.Systems/System/DataSyncService.cs | 2 +-
.../System/DictionaryDataService.cs | 3 +-
.../System/InterfaceOauthService.cs | 2 +-
.../Tnb.Systems/System/ModuleColumnService.cs | 9 +-
.../System/ModuleDataAuthorizeService.cs | 1 -
.../Tnb.Systems/System/ModuleFormService.cs | 1 -
system/Tnb.Systems/System/MonitorService.cs | 5 +-
system/Tnb.Systems/System/PrintDevService.cs | 10 +-
system/Tnb.Systems/System/PrintLogService.cs | 4 +-
system/Tnb.Systems/System/ProvinceService.cs | 1 -
system/Tnb.Systems/System/SysLogService.cs | 4 +-
system/Tnb.Systems/System/SystemService.cs | 4 +-
system/Tnb.Systems/Tnb.Systems.csproj | 1 -
.../Dto/TaskScheduler/TimeTaskUpInput.cs | 2 +-
.../Entity/SnowId.cs | 4 +-
.../Entity/TimeTaskEntity.cs | 3 +-
.../Mapper/Mapper.cs | 1 -
.../Tnb.TaskScheduler.Entitys.csproj | 1 -
.../Tnb.TaskScheduler.Interfaces.csproj | 1 -
.../GenerateMaintainPlanTimeWorker.cs | 29 +-
.../GenerateSpEquipCheckPlanTimeWorker.cs | 35 +-
.../GenerateSpotInspectionPlanTimeWorker.cs | 31 +-
.../Listener/MoldMaintainTask.cs | 21 +-
.../Listener/PushMsgTimeWorker.cs | 50 +-
.../Listener/QcTaskTimeWorker.cs | 16 +-
.../Tnb.TaskScheduler/TimeTaskService.cs | 18 +-
.../Tnb.TaskScheduler.csproj | 1 -
.../Tnb.Vengine/AppService/BaseAppService.cs | 5 -
.../AppService/VengineAppService.cs | 2 +-
.../AppService/VengineAppServiceT.cs | 1 -
.../AppService/VmodelAppService.cs | 3 +-
.../CodeGenerator/TemplateContext.cs | 1 -
.../Tnb.Vengine/DataAccess/DataAccess.cs | 2 -
visualdev/Tnb.Vengine/Domain/VmQueryParser.cs | 9 +-
.../Core/FormDataParsing.cs | 9 +-
.../Model/IndexSearchFieldModel.cs | 1 -
.../IOverideVisualDevService.cs | 55 +-
.../OverideVisualDevAttribute.cs | 26 +-
.../OverideVisualDev/OverideVisualDevFunc.cs | 39 +-
.../OverideVisualDevManager.cs | 48 +-
...ideVisualDevServiceCollectionExtensions.cs | 38 +-
.../BackEnd/CodeGenControlsAttributeHelper.cs | 3 +-
.../BackEnd/GetCodeGenIndexButtonHelper.cs | 4 +-
.../Tnb.VisualDev.Engine.csproj | 1 -
.../Dto/Dashboard/EmailHomeOutput.cs | 22 +
.../Dto/Screen/ScreenInfoOutput.cs | 4 +-
.../VisualDevModelListQueryInput.cs | 2 +-
.../Entity/EmailReceiveEntity.cs | 93 +++
.../Entity/VisualCategoryEntity.cs | 3 +-
.../Entity/VisualEntity.cs | 3 +-
.../Tnb.VisualDev.Entitys.csproj | 1 -
.../Tnb.VisualDev.Interfaces.csproj | 1 -
.../CodeGen/DataParsing/ControlParsing.cs | 12 +-
visualdev/Tnb.VisualDev/CodeGenService.cs | 34 +-
visualdev/Tnb.VisualDev/DashboardService.cs | 3 +-
visualdev/Tnb.VisualDev/HmiService.cs | 8 +-
visualdev/Tnb.VisualDev/PortalService.cs | 4 +-
visualdev/Tnb.VisualDev/RunService.cs | 4 +-
visualdev/Tnb.VisualDev/Tnb.VisualDev.csproj | 1 -
visualdev/Tnb.VisualDev/VisualDevService.cs | 10 +-
.../Dto/FlowBefore/FlowBeforeInfoOutput.cs | 2 +-
.../Dto/FlowMonitor/FlowMonitorListOutput.cs | 2 +-
.../LeaveApply/LeaveApplyInput.cs | 3 +-
.../WorkFlowForm/SalesOrderEntryEntity.cs | 4 +-
.../Tnb.WorkFlow.Entitys/Mapper/Mapper.cs | 1 -
.../Model/Conifg/FuncConfig.cs | 1 -
.../Model/Conifg/MsgConfig.cs | 1 -
.../Tnb.WorkFlow.Entitys.csproj | 1 -
.../Service/IFlowTaskService.cs | 7 +-
.../Service/IFlowTemplateService.cs | 3 +-
.../Service/ILeaveApplyService.cs | 4 +-
.../Tnb.WorkFlow.Interfaces.csproj | 1 -
.../Tnb.WorkFlow/Manager/FlowTaskMsgUtil.cs | 8 +-
.../Tnb.WorkFlow/Manager/FlowTaskOtherUtil.cs | 8 +-
.../Repository/FlowTaskRepository.cs | 9 +-
.../Tnb.WorkFlow/Service/FlowBeforeService.cs | 6 +-
.../Service/FlowDelegateService.cs | 2 +-
.../Tnb.WorkFlow/Service/FlowEngineService.cs | 4 +-
.../Tnb.WorkFlow/Service/FlowFormService.cs | 3 -
.../Tnb.WorkFlow/Service/FlowLaunchService.cs | 2 +-
.../Tnb.WorkFlow/Service/FlowTaskService.cs | 1 -
.../Service/FlowTemplateService.cs | 2 -
workflow/Tnb.WorkFlow/Tnb.WorkFlow.csproj | 1 -
.../WorkFlowForm/LeaveApplyService.cs | 1 -
.../WorkFlowForm/SalesOrderService.cs | 1 -
810 files changed, 3910 insertions(+), 6695 deletions(-)
create mode 100644 visualdev/Tnb.VisualDev.Entitys/Dto/Dashboard/EmailHomeOutput.cs
create mode 100644 visualdev/Tnb.VisualDev.Entitys/Entity/EmailReceiveEntity.cs
diff --git a/BasicData/Tnb.BasicData.Entities/Consts/CodeTemplateConst.cs b/BasicData/Tnb.BasicData.Entities/Consts/CodeTemplateConst.cs
index 494db034..171f491c 100644
--- a/BasicData/Tnb.BasicData.Entities/Consts/CodeTemplateConst.cs
+++ b/BasicData/Tnb.BasicData.Entities/Consts/CodeTemplateConst.cs
@@ -9,7 +9,7 @@ namespace Tnb.BasicData
/// 物料签收编码
///
public const string MATERIAL_RECEIPT_CODE = "MaterialReceipt";
-
+
///
/// 生产投料编码
///
@@ -24,17 +24,17 @@ namespace Tnb.BasicData
/// 备件领用
///
public const string SPAREPARTSREQUISITION_CODE = "SparePartsRequisition";
-
+
///
/// 生产齐套领料
///
public const string PRDKITTINGOUTSTOCK_CODE = "PrdKittingOutStocK";
-
+
///
/// 设备维修单
///
public const string EQPREPAIR_CODE = "EqpRepair";
-
-
+
+
}
}
\ No newline at end of file
diff --git a/BasicData/Tnb.BasicData.Entities/Consts/DbTimeFormat.cs b/BasicData/Tnb.BasicData.Entities/Consts/DbTimeFormat.cs
index 640564f5..a9ec1d59 100644
--- a/BasicData/Tnb.BasicData.Entities/Consts/DbTimeFormat.cs
+++ b/BasicData/Tnb.BasicData.Entities/Consts/DbTimeFormat.cs
@@ -6,7 +6,7 @@ namespace Tnb.BasicData
/// 2024-10-27 10:10
///
public const string MM = "yyyy-MM-dd HH:mi";
-
+
///
/// 2024-10-27 10:10:10
///
diff --git a/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs b/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs
index 69611399..ab3fad04 100644
--- a/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs
+++ b/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs
@@ -76,7 +76,7 @@ public static class DictConst
/// 工单状态-code
///
public const string MoTaskStatusCode = "OrderStatus";
-
+
///
/// 工单状态 已下发字典Id
///
@@ -137,12 +137,12 @@ public static class DictConst
/// 任务单状态key
///
public const string TaskStatus = "TaskStatus";
-
+
///
/// andon状态key
///
public const string AndonStatus = "AndonStatus";
-
+
///
/// andon状态呼叫中
///
@@ -168,17 +168,17 @@ public static class DictConst
/// 产成品入库单
///
public const string CHANCHENGPINRUKUDAN = "40";
-
+
///
/// 生产领料单
///
public const string SHENGCHANLINGLIAO = "23";
-
+
///
/// 生产补料单
///
public const string SHENGCHANBULIAO = "24";
-
+
#endregion
diff --git a/BasicData/Tnb.BasicData.Entities/Consts/FactoryConfigConst.cs b/BasicData/Tnb.BasicData.Entities/Consts/FactoryConfigConst.cs
index 9b46621b..1b16c47f 100644
--- a/BasicData/Tnb.BasicData.Entities/Consts/FactoryConfigConst.cs
+++ b/BasicData/Tnb.BasicData.Entities/Consts/FactoryConfigConst.cs
@@ -9,7 +9,7 @@ namespace Tnb.BasicData
/// 报工是否允许超过工单计划数 是:1 否 :0
///
public const string IS_SURPASS = "is_surpass";
-
+
///
/// 报工允许超过工单计划数百分比 例:填写10就是10%
///
diff --git a/BasicData/Tnb.BasicData.Entities/Consts/ModuleConst.cs b/BasicData/Tnb.BasicData.Entities/Consts/ModuleConst.cs
index 20eb49d8..3f0bbdf7 100644
--- a/BasicData/Tnb.BasicData.Entities/Consts/ModuleConst.cs
+++ b/BasicData/Tnb.BasicData.Entities/Consts/ModuleConst.cs
@@ -1,10 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tnb.BasicData;
+namespace Tnb.BasicData;
public class ModuleConst
{
diff --git a/BasicData/Tnb.BasicData.Entities/Consts/WebApiConst.cs b/BasicData/Tnb.BasicData.Entities/Consts/WebApiConst.cs
index e29717ed..59f584f4 100644
--- a/BasicData/Tnb.BasicData.Entities/Consts/WebApiConst.cs
+++ b/BasicData/Tnb.BasicData.Entities/Consts/WebApiConst.cs
@@ -5,17 +5,17 @@ namespace Tnb.BasicData
#region wms
//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";
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarInput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarInput.cs
index c2faa9be..4cf8c782 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarInput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarInput.cs
@@ -1,10 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tnb.BasicData.Entities.Dto
+namespace Tnb.BasicData.Entities.Dto
{
public class CalendarInput
{
@@ -12,9 +6,9 @@ namespace Tnb.BasicData.Entities.Dto
public string? datetype { get; set; }
public string? workhour { 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
{
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarOut.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarOut.cs
index 70c527c3..da4b6bee 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarOut.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarOut.cs
@@ -1,10 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tnb.BasicData.Entities.Dto.BasCalendar
+namespace Tnb.BasicData.Entities.Dto.BasCalendar
{
public class CalendarOut
{
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasESop/EsopHistoryListQueryInput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasESop/EsopHistoryListQueryInput.cs
index 33d28b4d..7e03704a 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasESop/EsopHistoryListQueryInput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasESop/EsopHistoryListQueryInput.cs
@@ -4,7 +4,7 @@ namespace Tnb.BasicData.Entities.Dto
{
public string mbom_id { get; set; } = string.Empty;
public string mbom_process_id { get; set; } = string.Empty;
-
+
///
/// 当前页码:pageIndex.
///
@@ -14,7 +14,7 @@ namespace Tnb.BasicData.Entities.Dto
/// 每页行数.
///
public virtual int pageSize { get; set; } = 50;
-
+
public string? queryJson { get; set; }
}
}
\ No newline at end of file
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasESop/UploadNewVersionInput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasESop/UploadNewVersionInput.cs
index 7a36813c..0f9b2daf 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasESop/UploadNewVersionInput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasESop/UploadNewVersionInput.cs
@@ -25,9 +25,9 @@ namespace Tnb.BasicData.Entities.Dto
/// 附件对象.
///
public string attachment { get; set; } = string.Empty;
-
+
public string version { get; set; } = string.Empty;
-
+
///
/// 备注
///
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomTreeOutput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomTreeOutput.cs
index 15303f02..fc446c5c 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomTreeOutput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomTreeOutput.cs
@@ -30,54 +30,54 @@ namespace Tnb.BasicData.Entities.Dto
/// 是否有下级
///
public bool hasChildren { get; set; }
-
+
///
/// Desc:投料管控
/// Default:NULL::character varying
/// Nullable:True
///
- public string? feeding_control {get;set;}
-
+ public string? feeding_control { get; set; }
+
///
/// Desc:损耗率
/// Default:NULL::character varying
/// Nullable:True
///
- public string? loss_rate {get;set;}
-
+ public string? loss_rate { get; set; }
+
///
///
/// 数量
///
public decimal quantity { get; set; }
-
+
///
/// Desc:需要称量
/// Default:NULL::character varying
/// Nullable:True
///
- public string? require_weight {get;set;}
-
+ public string? require_weight { get; set; }
+
///
/// Desc:替代物料
/// Default:NULL::character varying
/// Nullable:True
///
- public string? substitute_material_id {get;set;}
-
+ public string? substitute_material_id { get; set; }
+
///
/// Desc:工艺路线
/// Default:NULL::character varying
/// Nullable:True
///
- public string? route_name {get;set;}
-
+ public string? route_name { get; set; }
+
///
/// Desc:版本号
/// Default:NULL::character varying
/// Nullable:True
///
- public string? version {get;set;}
-
+ public string? version { get; set; }
+
}
}
\ No newline at end of file
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomTreeQueryInput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomTreeQueryInput.cs
index 7bfe858f..0e29e017 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomTreeQueryInput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomTreeQueryInput.cs
@@ -10,8 +10,8 @@ namespace Tnb.BasicData.Entities.Dto
/// 物料id
///
public string? materialId { get; set; }
-
-
-
+
+
+
}
}
\ No newline at end of file
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasMaterial/MaterialQueryInput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasMaterial/MaterialQueryInput.cs
index 7e5fd547..82b6ecf3 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasMaterial/MaterialQueryInput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasMaterial/MaterialQueryInput.cs
@@ -12,7 +12,7 @@ namespace Tnb.BasicData.Entities.Dto
/// 物料类型
///
public string types { get; set; } = string.Empty;
-
+
///
/// 当前页码:pageIndex.
///
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasMaterial/MaterialSelectOutput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasMaterial/MaterialSelectOutput.cs
index 4838899a..bdfdf94e 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasMaterial/MaterialSelectOutput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasMaterial/MaterialSelectOutput.cs
@@ -9,27 +9,27 @@ namespace Tnb.BasicData.Entities.Dto
/// 物料id
///
public string? id { get; set; }
-
+
///
/// 编码
///
public string? code { get; set; }
-
+
///
/// 名称
///
- public string? name { get; set; }
-
+ public string? name { get; set; }
+
///
/// 描述
///
public string? descrip { get; set; }
-
+
///
/// 主单位id
///
public string? unit_id { get; set; }
-
+
///
/// 主单位名称
///
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasMaterial/MaterialSelectQueryInput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasMaterial/MaterialSelectQueryInput.cs
index 45394189..e5a3a034 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasMaterial/MaterialSelectQueryInput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasMaterial/MaterialSelectQueryInput.cs
@@ -11,7 +11,7 @@ namespace Tnb.BasicData.Entities.Dto
/// 物料编码名称查询
///
public string material_info { get; set; } = string.Empty;
-
+
///
/// 当前页码:pageIndex.
///
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasMbom/MbomDataOutput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasMbom/MbomDataOutput.cs
index 1698923a..6862e074 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasMbom/MbomDataOutput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasMbom/MbomDataOutput.cs
@@ -1,5 +1,3 @@
-using Tnb.BasicData.Entities;
-
namespace Tnb.BasicData.Entities.Dto
{
public class MbomDataOutput
@@ -8,57 +6,57 @@ namespace Tnb.BasicData.Entities.Dto
/// 生产bomid
///
public string? id { get; set; }
-
+
///
/// 物料id
///
public string? material_id { get; set; }
-
+
///
/// 数量
///
public int num { get; set; }
-
+
///
/// 单位id
///
public string? unit_id { get; set; }
-
+
///
/// 版本号
///
public string? version { get; set; }
-
+
///
/// 有效开始时间
///
public DateTime? start_time { get; set; }
-
+
///
/// 有效结束时间
///
public DateTime? end_time { get; set; }
-
+
///
/// 物料清单id
///
public string? ebom_id { get; set; }
-
+
///
/// 工艺路线id
///
public string? route_id { get; set; }
-
+
///
/// 物料均再首道工序投产
///
public int? is_first { get; set; }
-
+
///
/// 备注
///
public string? remark { get; set; }
-
+
///
/// 工序
///
@@ -68,24 +66,24 @@ namespace Tnb.BasicData.Entities.Dto
public class MbomProcessOutDto
{
public string id { get; set; } = string.Empty;
-
+
///
/// Desc:生产bomid
/// Default:
/// Nullable:False
///
public string? mbom_id { get; set; }
-
+
///
/// 工序编号
///
public string? no { get; set; }
-
+
///
/// 上道工序编号
///
public string? last_process_no { get; set; }
-
+
///
/// 下道工序编号
///
@@ -111,26 +109,26 @@ namespace Tnb.BasicData.Entities.Dto
/// Nullable:True
///
public string? station { get; set; }
-
+
///
/// Desc:副产出管控 0 不启用 1 启用
/// Default:
/// Nullable:False
///
public int byproduct_status { get; set; }
-
+
///
/// Desc:投产方式
/// Default:NULL::character varying
/// Nullable:True
///
- public string? production_method {get;set;}
-
+ public string? production_method { get; set; }
+
///
/// 投入物料
///
public List? inputs { get; set; }
-
+
///
/// 产出物料
///
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasMbom/MbomSaveDataInput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasMbom/MbomSaveDataInput.cs
index 4c6552a8..aa3bd507 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasMbom/MbomSaveDataInput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasMbom/MbomSaveDataInput.cs
@@ -1,5 +1,3 @@
-using Tnb.BasicData.Entities;
-
namespace Tnb.BasicData.Entities.Dto
{
public class MbomSaveDataInput
@@ -8,57 +6,57 @@ namespace Tnb.BasicData.Entities.Dto
/// 生产bomid
///
public string id { get; set; } = string.Empty;
-
+
///
/// 物料id
///
public string material_id { get; set; } = string.Empty;
-
+
///
/// 数量
///
public int num { get; set; }
-
+
///
/// 单位id
///
public string unit_id { get; set; } = string.Empty;
-
+
///
/// 版本号
///
public string version { get; set; } = string.Empty;
-
+
///
/// 有效开始时间
///
public DateTime? start_time { get; set; }
-
+
///
/// 有效结束时间
///
public DateTime? end_time { get; set; }
-
+
///
/// 物料清单id
///
public string ebom_id { get; set; } = string.Empty;
-
+
///
/// 工艺路线id
///
public string route_id { get; set; } = string.Empty;
-
+
///
/// 物料均再首道工序投产
///
public int is_first { get; set; }
-
+
///
/// 备注
///
public string remark { get; set; } = string.Empty;
-
+
///
/// 工序
///
@@ -68,7 +66,7 @@ namespace Tnb.BasicData.Entities.Dto
public class MbomProcessDto
{
public string id { get; set; } = string.Empty;
-
+
///
/// Desc:生产bomid
/// Default:
@@ -82,17 +80,17 @@ namespace Tnb.BasicData.Entities.Dto
/// Nullable:False
///
public string? process_id { get; set; }
-
+
///
/// 工序编号
///
public string? no { get; set; }
-
+
///
/// 上道工序编号
///
public string? last_process_no { get; set; }
-
+
///
/// 下道工序编号
///
@@ -111,31 +109,31 @@ namespace Tnb.BasicData.Entities.Dto
/// Nullable:True
///
public string? station { get; set; }
-
+
///
/// Desc:副产出管控 0 不启用 1 启用
/// Default:
/// Nullable:False
///
public int byproduct_status { get; set; }
-
+
///
/// 工艺路线子表id
///
public string route_detail_id { get; set; } = string.Empty;
-
+
///
/// Desc:投产方式
/// Default:NULL::character varying
/// Nullable:True
///
- public string? production_method {get;set;}
-
+ public string? production_method { get; set; }
+
///
/// 投入物料
///
public List? inputs { get; set; }
-
+
///
/// 产出物料
///
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasProcess/ProcessListOutput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasProcess/ProcessListOutput.cs
index 390f2f02..22000b8e 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasProcess/ProcessListOutput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasProcess/ProcessListOutput.cs
@@ -1,10 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tnb.BasicData.Entitys.Dto.BasProcess
+namespace Tnb.BasicData.Entitys.Dto.BasProcess
{
///
/// 工序列表输出类
@@ -14,7 +8,7 @@ namespace Tnb.BasicData.Entitys.Dto.BasProcess
public string id { get; set; }
public string process_code { 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 station { 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 create_id { get; set; }
public string modify_id { get; set; }
- public DateTime? modify_time { get; set;}
+ public DateTime? modify_time { get; set; }
}
}
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasProcess/ProcessStationInput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasProcess/ProcessStationInput.cs
index ea21a076..010b0d57 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasProcess/ProcessStationInput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasProcess/ProcessStationInput.cs
@@ -6,7 +6,7 @@ namespace Tnb.BasicData.Entities.Dto
/// 工序id
///
public string? process_id { get; set; }
-
+
///
/// 工位id集合
///
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasRoute/VaildRouteOutput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasRoute/VaildRouteOutput.cs
index 040ab357..622d4515 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasRoute/VaildRouteOutput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasRoute/VaildRouteOutput.cs
@@ -3,13 +3,13 @@ namespace Tnb.BasicData.Entities.Dto
public class VaildRouteOutput
{
public string? id { get; set; }
-
+
public string? code { get; set; }
-
+
public string? name { get; set; }
public string start_time { get; set; } = string.Empty;
-
+
public string end_time { get; set; } = string.Empty;
}
}
\ No newline at end of file
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/ElementSelectDto.cs b/BasicData/Tnb.BasicData.Entities/Dto/ElementSelectDto.cs
index bfeaa24d..2f6d23c5 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/ElementSelectDto.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/ElementSelectDto.cs
@@ -2,8 +2,8 @@ namespace Tnb.BasicData.Entitys
{
public class ElementSelectDto
{
- public string?label { get; set; }
-
+ public string? label { get; set; }
+
public string? value { get; set; }
}
}
\ No newline at end of file
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/ProcessManage/RouteLineTreeOutput.cs b/BasicData/Tnb.BasicData.Entities/Dto/ProcessManage/RouteLineTreeOutput.cs
index aab0daec..0cdeeee1 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/ProcessManage/RouteLineTreeOutput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/ProcessManage/RouteLineTreeOutput.cs
@@ -1,9 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using JNPF.Common.Security;
+using JNPF.Common.Security;
namespace Tnb.BasicData.Entities.Dto
{
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/SubBomListOutput.cs b/BasicData/Tnb.BasicData.Entities/Dto/SubBomListOutput.cs
index 27de3443..f2f1d541 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/SubBomListOutput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/SubBomListOutput.cs
@@ -1,10 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tnb.BasicData.Entities.Dto
+namespace Tnb.BasicData.Entities.Dto
{
///
/// 子工单列表
@@ -34,7 +28,7 @@ namespace Tnb.BasicData.Entities.Dto
///
/// 数量
///
- public string num { get; set;}
+ public string num { get; set; }
///
/// 单位id
///
@@ -64,7 +58,7 @@ namespace Tnb.BasicData.Entities.Dto
/// 工序排序序号
///
public long? ordinal { get; set; }
-
+
///
/// 生产bom工序id
///
diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasCalendar.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasCalendar.cs
index 06066055..4050fdc2 100644
--- a/BasicData/Tnb.BasicData.Entities/Entity/BasCalendar.cs
+++ b/BasicData/Tnb.BasicData.Entities/Entity/BasCalendar.cs
@@ -1,9 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using JNPF.Common.Contracts;
+using JNPF.Common.Contracts;
using JNPF.Common.Security;
using SqlSugar;
diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasLocation.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasLocation.cs
index 42fff12b..375db58b 100644
--- a/BasicData/Tnb.BasicData.Entities/Entity/BasLocation.cs
+++ b/BasicData/Tnb.BasicData.Entities/Entity/BasLocation.cs
@@ -1,7 +1,6 @@
using JNPF.Common.Contracts;
using JNPF.Common.Security;
using SqlSugar;
-using SqlSugar.DbConvert;
namespace Tnb.BasicData.Entities;
@@ -44,7 +43,7 @@ public partial class BasLocation : BaseEntity
/// 是否使用
///
//[SugarColumn(ColumnDataType = "varchar(32)", SqlParameterDbType = typeof(CommonPropertyConvert))]
- public string is_use { get; set; }
+ public string is_use { get; set; }
///
/// 是否最小
diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasMaterial.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasMaterial.cs
index b9147f91..847f2e4d 100644
--- a/BasicData/Tnb.BasicData.Entities/Entity/BasMaterial.cs
+++ b/BasicData/Tnb.BasicData.Entities/Entity/BasMaterial.cs
@@ -248,7 +248,7 @@ public partial class BasMaterial : BaseEntity
/// 是否包含入库数
///
public int? is_contain_into_num { get; set; }
-
+
///
/// 是否创建子工单
///
diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasMbomInput.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasMbomInput.cs
index ba4adbed..6769d48a 100644
--- a/BasicData/Tnb.BasicData.Entities/Entity/BasMbomInput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Entity/BasMbomInput.cs
@@ -43,7 +43,7 @@ public partial class BasMbomInput : BaseEntity
/// 数量
///
public decimal num { get; set; }
-
+
///
/// 单位id
///
diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasMbomOutput.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasMbomOutput.cs
index 8dfa838f..8ade2a09 100644
--- a/BasicData/Tnb.BasicData.Entities/Entity/BasMbomOutput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Entity/BasMbomOutput.cs
@@ -43,7 +43,7 @@ public partial class BasMbomOutput : BaseEntity
/// 产出数量(可小数分数)
///
public string num { get; set; } = string.Empty;
-
+
///
/// 单位id
///
diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasMbomProcess.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasMbomProcess.cs
index 8ee30b99..c2078542 100644
--- a/BasicData/Tnb.BasicData.Entities/Entity/BasMbomProcess.cs
+++ b/BasicData/Tnb.BasicData.Entities/Entity/BasMbomProcess.cs
@@ -53,7 +53,7 @@ public partial class BasMbomProcess : BaseEntity
/// 工艺路线子表id
///
public string route_detail_id { get; set; } = string.Empty;
-
+
///
/// 是否时最后一道工序
///
@@ -63,7 +63,7 @@ public partial class BasMbomProcess : BaseEntity
/// 排序
///
public int ordinal { get; set; }
-
+
///
/// 工序编号
///
diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasRouteD.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasRouteD.cs
index ea695f32..111fb9cf 100644
--- a/BasicData/Tnb.BasicData.Entities/Entity/BasRouteD.cs
+++ b/BasicData/Tnb.BasicData.Entities/Entity/BasRouteD.cs
@@ -113,7 +113,7 @@ public partial class BasRouteD : BaseEntity
/// 产出比
///
public decimal? output_ratio { get; set; }
-
+
///
/// 工序编号
///
diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasShiftWorkgroup.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasShiftWorkgroup.cs
index deb24b43..378b141b 100644
--- a/BasicData/Tnb.BasicData.Entities/Entity/BasShiftWorkgroup.cs
+++ b/BasicData/Tnb.BasicData.Entities/Entity/BasShiftWorkgroup.cs
@@ -1,9 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using JNPF.Common.Contracts;
+using JNPF.Common.Contracts;
using JNPF.Common.Security;
using SqlSugar;
diff --git a/BasicData/Tnb.BasicData.Entities/Enums/EnumCalendarType.cs b/BasicData/Tnb.BasicData.Entities/Enums/EnumCalendarType.cs
index 03afed7b..f1d512fb 100644
--- a/BasicData/Tnb.BasicData.Entities/Enums/EnumCalendarType.cs
+++ b/BasicData/Tnb.BasicData.Entities/Enums/EnumCalendarType.cs
@@ -1,10 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tnb.BasicData.Entities.Enums
+namespace Tnb.BasicData.Entities.Enums
{
public enum EnumCalendarType
{
diff --git a/BasicData/Tnb.BasicData.Entities/Enums/EnumLocationType.cs b/BasicData/Tnb.BasicData.Entities/Enums/EnumLocationType.cs
index 8e021211..27dc426f 100644
--- a/BasicData/Tnb.BasicData.Entities/Enums/EnumLocationType.cs
+++ b/BasicData/Tnb.BasicData.Entities/Enums/EnumLocationType.cs
@@ -1,10 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tnb.BasicData.Entities.Enums
+namespace Tnb.BasicData.Entities.Enums
{
///
/// 库位类型
diff --git a/BasicData/Tnb.BasicData.Entities/Mapper/Mapper.cs b/BasicData/Tnb.BasicData.Entities/Mapper/Mapper.cs
index 12c508bc..3200bb9d 100644
--- a/BasicData/Tnb.BasicData.Entities/Mapper/Mapper.cs
+++ b/BasicData/Tnb.BasicData.Entities/Mapper/Mapper.cs
@@ -1,5 +1,4 @@
using Mapster;
-using SqlSugar;
using Tnb.BasicData.Entities.Dto;
namespace Tnb.BasicData.Entities
diff --git a/BasicData/Tnb.BasicData.Entities/Model/RouteModel.cs b/BasicData/Tnb.BasicData.Entities/Model/RouteModel.cs
index 83c5553a..91c2ded3 100644
--- a/BasicData/Tnb.BasicData.Entities/Model/RouteModel.cs
+++ b/BasicData/Tnb.BasicData.Entities/Model/RouteModel.cs
@@ -1,12 +1,6 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tnb.BasicData.Entitys.Model
+namespace Tnb.BasicData.Entitys.Model
{
- public class RouteTree
+ public class RouteTree
{
///
/// 工艺路线类型
@@ -19,7 +13,7 @@ namespace Tnb.BasicData.Entitys.Model
}
- public class RouteName
+ public class RouteName
{
public string Tag { get; set; }
///
@@ -29,5 +23,5 @@ namespace Tnb.BasicData.Entitys.Model
}
-
+
}
diff --git a/BasicData/Tnb.BasicData.Entities/Tnb.BasicData.Entities.csproj b/BasicData/Tnb.BasicData.Entities/Tnb.BasicData.Entities.csproj
index bc02f09d..57e42217 100644
--- a/BasicData/Tnb.BasicData.Entities/Tnb.BasicData.Entities.csproj
+++ b/BasicData/Tnb.BasicData.Entities/Tnb.BasicData.Entities.csproj
@@ -1,5 +1,4 @@
-
net6.0
diff --git a/BasicData/Tnb.BasicData.Interfaces/IBasCalendarService.cs b/BasicData/Tnb.BasicData.Interfaces/IBasCalendarService.cs
index 4eaf8a89..8610f687 100644
--- a/BasicData/Tnb.BasicData.Interfaces/IBasCalendarService.cs
+++ b/BasicData/Tnb.BasicData.Interfaces/IBasCalendarService.cs
@@ -1,9 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Tnb.BasicData.Entities.Dto;
+using Tnb.BasicData.Entities.Dto;
namespace Tnb.BasicData.Interfaces
{
diff --git a/BasicData/Tnb.BasicData.Interfaces/IBasESopService.cs b/BasicData/Tnb.BasicData.Interfaces/IBasESopService.cs
index 1e4e57ed..086e6a6c 100644
--- a/BasicData/Tnb.BasicData.Interfaces/IBasESopService.cs
+++ b/BasicData/Tnb.BasicData.Interfaces/IBasESopService.cs
@@ -10,20 +10,20 @@ namespace Tnb.BasicData.Interfaces
///
///
public Task UploadNewVersion(UploadNewVersionInput input);
-
+
///
/// 获取历史记录
///
///
///
public Task GetHistoryList(EsopHistoryListQueryInput input);
-
+
///
/// 根据生产bom工序id获取实体
///
/// mbomProcessId
///
- public Task GetEntityByMbomProcessId(Dictionary dic);
-
+ public Task GetEntityByMbomProcessId(Dictionary dic);
+
}
}
\ No newline at end of file
diff --git a/BasicData/Tnb.BasicData.Interfaces/IBasLocationService.cs b/BasicData/Tnb.BasicData.Interfaces/IBasLocationService.cs
index f3ddd99c..c967411c 100644
--- a/BasicData/Tnb.BasicData.Interfaces/IBasLocationService.cs
+++ b/BasicData/Tnb.BasicData.Interfaces/IBasLocationService.cs
@@ -1,9 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Tnb.BasicData.Entities;
+using Tnb.BasicData.Entities;
namespace Tnb.BasicData.Interfaces
{
diff --git a/BasicData/Tnb.BasicData.Interfaces/IBasMaterialService.cs b/BasicData/Tnb.BasicData.Interfaces/IBasMaterialService.cs
index 1da4bc94..ddfc341b 100644
--- a/BasicData/Tnb.BasicData.Interfaces/IBasMaterialService.cs
+++ b/BasicData/Tnb.BasicData.Interfaces/IBasMaterialService.cs
@@ -10,8 +10,8 @@ namespace Tnb.BasicData.Interfaces
///
///
public Task GetMaterialSelectInfo(MaterialSelectQueryInput queryInput);
-
-
+
+
///
/// 获取可创建子工单的物料
///
@@ -25,7 +25,7 @@ namespace Tnb.BasicData.Interfaces
///
///
public Task GetMaterialByType(Dictionary dic);
-
+
///
/// 根据物料类型获取物料列表
///
diff --git a/BasicData/Tnb.BasicData.Interfaces/IBasProcessService.cs b/BasicData/Tnb.BasicData.Interfaces/IBasProcessService.cs
index 594f103b..8664ea95 100644
--- a/BasicData/Tnb.BasicData.Interfaces/IBasProcessService.cs
+++ b/BasicData/Tnb.BasicData.Interfaces/IBasProcessService.cs
@@ -1,10 +1,6 @@
-using JNPF.Common.Dtos.VisualDev;
-using JNPF.VisualDev;
-using Tnb.BasicData.Entities.Dto;
-
namespace Tnb.BasicData.Interfaces
{
public interface IBasProcessService
- {
+ {
}
}
\ No newline at end of file
diff --git a/BasicData/Tnb.BasicData.Interfaces/IBasQrcodeService.cs b/BasicData/Tnb.BasicData.Interfaces/IBasQrcodeService.cs
index cf09636b..c7f7387d 100644
--- a/BasicData/Tnb.BasicData.Interfaces/IBasQrcodeService.cs
+++ b/BasicData/Tnb.BasicData.Interfaces/IBasQrcodeService.cs
@@ -1,6 +1,6 @@
namespace Tnb.BasicData.Interfaces
{
-
+
///
/// 二维码
///
@@ -12,14 +12,14 @@ namespace Tnb.BasicData.Interfaces
///
///
public Task GetQrcodeByCode(Dictionary dic);
-
+
///
/// 根据code获取工位信息
///
///
///
public Task GetWorkStationByCode(Dictionary dic);
-
+
///
/// 获取工位信息
///
diff --git a/BasicData/Tnb.BasicData.Interfaces/IBasRouteService.cs b/BasicData/Tnb.BasicData.Interfaces/IBasRouteService.cs
index 0fbaa1c1..c884639d 100644
--- a/BasicData/Tnb.BasicData.Interfaces/IBasRouteService.cs
+++ b/BasicData/Tnb.BasicData.Interfaces/IBasRouteService.cs
@@ -1,5 +1,4 @@
using JNPF.Common.Dtos.VisualDev;
-using JNPF.Common.Filter;
namespace Tnb.BasicData.Interfaces
{
@@ -16,7 +15,7 @@ namespace Tnb.BasicData.Interfaces
///
/// 工艺路线id id
public Task Copy(Dictionary parameters);
-
+
///
/// 获取有效的已发布的工艺路线
///
diff --git a/BasicData/Tnb.BasicData.Interfaces/Tnb.BasicData.Interfaces.csproj b/BasicData/Tnb.BasicData.Interfaces/Tnb.BasicData.Interfaces.csproj
index 40c23903..862aac48 100644
--- a/BasicData/Tnb.BasicData.Interfaces/Tnb.BasicData.Interfaces.csproj
+++ b/BasicData/Tnb.BasicData.Interfaces/Tnb.BasicData.Interfaces.csproj
@@ -1,5 +1,4 @@
-
net6.0
diff --git a/BasicData/Tnb.BasicData/BasCalendarService.cs b/BasicData/Tnb.BasicData/BasCalendarService.cs
index 61d2e75c..b6a5dc14 100644
--- a/BasicData/Tnb.BasicData/BasCalendarService.cs
+++ b/BasicData/Tnb.BasicData/BasCalendarService.cs
@@ -1,19 +1,8 @@
-using System;
-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.Common.Core.Manager;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.JsonSerialization;
-using JNPF.Systems.Interfaces.System;
-using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
-using NPOI.SS.Formula.Functions;
using SqlSugar;
using Tnb.BasicData.Entities;
using Tnb.BasicData.Entities.Dto;
@@ -28,7 +17,7 @@ namespace Tnb.BasicData
///
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
[Route("api/[area]/[controller]/[action]")]
- public class BasCalendarService: IBasCalendarService, IDynamicApiController, ITransient
+ public class BasCalendarService : IBasCalendarService, IDynamicApiController, ITransient
{
private readonly ISqlSugarRepository _repository;
private readonly IUserManager _userManager;
@@ -38,6 +27,7 @@ namespace Tnb.BasicData
_repository = repository;
_userManager = userManager;
}
+
///
/// 保存工作日历
///
@@ -46,17 +36,20 @@ namespace Tnb.BasicData
[HttpPost]
public async Task SaveData(CalendarInput CalendarInput)
{
- var db = _repository.AsSugarClient();
- await db.Deleteable(p=>p.datetext== CalendarInput.datetext).ExecuteCommandAsync();
- BasCalendar BasCalendar = new BasCalendar();
- BasCalendar.datetext = CalendarInput.datetext;
- BasCalendar.datetype = CalendarInput.datetype;
- BasCalendar.workhour = CalendarInput.workhour;
- BasCalendar.worktype = CalendarInput.worktype;
- BasCalendar.create_id = _userManager.UserId;
- BasCalendar.create_time = DateTime.Now;
- await db.Insertable(BasCalendar).ExecuteCommandAsync();
+ ISqlSugarClient db = _repository.AsSugarClient();
+ _ = await db.Deleteable(p => p.datetext == CalendarInput.datetext).ExecuteCommandAsync();
+ BasCalendar BasCalendar = new()
+ {
+ datetext = CalendarInput.datetext,
+ datetype = CalendarInput.datetype,
+ workhour = CalendarInput.workhour,
+ worktype = CalendarInput.worktype,
+ create_id = _userManager.UserId,
+ create_time = DateTime.Now
+ };
+ _ = await db.Insertable(BasCalendar).ExecuteCommandAsync();
}
+
///
/// 获取工作日历
///
@@ -64,95 +57,31 @@ namespace Tnb.BasicData
[HttpPost]
public async Task GetWorkData(CalendarInput CalendarInput)
{
- List CalendarOuts = new List();
+ List CalendarOuts = new();
if (CalendarInput.calendartype == (int)EnumCalendarType.分类)
{
- var db = _repository.AsSugarClient();
- var lists = await db.Queryable().Where(p => p.worktype == CalendarInput.content).ToListAsync();
-
- foreach (var list in lists)
+ ISqlSugarClient db = _repository.AsSugarClient();
+ List lists = await db.Queryable().Where(p => p.worktype == CalendarInput.content).ToListAsync();
+
+ foreach (BasCalendar list in lists)
{
- CalendarOut CalendarOut = new CalendarOut();
- CalendarOut.datetext = list.datetext;
- CalendarOut.datetype = list.datetype;
- CalendarOut.workhour = JSON.Deserialize>(list.workhour);
- CalendarOut.worktype = list.worktype;
+ CalendarOut CalendarOut = new()
+ {
+ datetext = list.datetext,
+ datetype = list.datetype,
+ workhour = JSON.Deserialize>(list.workhour),
+ worktype = list.worktype
+ };
CalendarOuts.Add(CalendarOut);
}
}
else if (CalendarInput.calendartype == (int)EnumCalendarType.班组)
{
- var db = _repository.AsSugarClient();
- var Shifts = await db.Queryable().Where(p => p.workgroup_id == CalendarInput.content).Select(p=>p.shift_id).ToListAsync();
+ ISqlSugarClient db = _repository.AsSugarClient();
+ List Shifts = await db.Queryable().Where(p => p.workgroup_id == CalendarInput.content).Select(p => p.shift_id).ToListAsync();
if (Shifts != null && Shifts.Count > 0)
{
- var BasTimePeriods = await db.Queryable((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((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 { 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 { BasTimePeriodRest.workhour! };
- CalendarOuts.Add(CalendarOut);
- }
- }
- }
- }
- }
- else if (CalendarInput.calendartype == (int)EnumCalendarType.个人)
- {
- var db = _repository.AsSugarClient();
- var groups = await db.Queryable().Where(p => p.employee_id == CalendarInput.content).Select(p => p.group_id).ToListAsync();
- var Shifts = await db.Queryable().Where(p => groups.Contains(p.workgroup_id)).Select(p => p.shift_id).ToListAsync();
- if (Shifts != null && Shifts.Count > 0)
- {
- var BasTimePeriods = await db.Queryable((a, b) => new object[] { JoinType.Inner, a.shifttype_id == b.id })
+ List BasTimePeriods = await db.Queryable((a, b) => new object[] { JoinType.Inner, a.shifttype_id == b.id })
.Where((a, b) => Shifts.Contains(a.shifttype_id!))
.Select((a, b) =>
new Shift
@@ -163,8 +92,7 @@ namespace Tnb.BasicData
}
).ToListAsync();
-
- var BasTimePeriodRests = await db.Queryable((a, b) => new object[] { JoinType.Inner, a.shift_type_id == b.id })
+ List BasTimePeriodRests = await db.Queryable((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
@@ -173,38 +101,119 @@ namespace Tnb.BasicData
endday = b.shifte_time,
workhour = new WorkHour { start = a.tp_b_time, end = a.tp_e_time },
}).ToListAsync();
- foreach (var BasTimePeriod in BasTimePeriods)
+ foreach (Shift? BasTimePeriod in BasTimePeriods)
{
- var start = DateTime.Parse(BasTimePeriod.startday!);
- var end = DateTime.Parse(BasTimePeriod.endday!);
+ 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 CalendarOut();
- CalendarOut.datetext = date.ToString("yyyy-MM-dd");
- CalendarOut.datetype = "workDay";
- CalendarOut.workhour = new List { BasTimePeriod.workhour! };
+ CalendarOut CalendarOut = new()
+ {
+ datetext = date.ToString("yyyy-MM-dd"),
+ datetype = "workDay",
+ workhour = new List { BasTimePeriod.workhour! }
+ };
CalendarOuts.Add(CalendarOut);
}
}
}
- foreach (var BasTimePeriodRest in BasTimePeriodRests)
+ foreach (Shift? BasTimePeriodRest in BasTimePeriodRests)
{
- var start = DateTime.Parse(BasTimePeriodRest.startday!);
- var end = DateTime.Parse(BasTimePeriodRest.endday!);
+ 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 CalendarOut();
- CalendarOut.datetext = date.ToString("yyyy-MM-dd");
- CalendarOut.datetype = "dayOff";
- CalendarOut.workhour = new List { BasTimePeriodRest.workhour! };
+ CalendarOut CalendarOut = new()
+ {
+ datetext = date.ToString("yyyy-MM-dd"),
+ datetype = "dayOff",
+ workhour = new List { BasTimePeriodRest.workhour! }
+ };
+ CalendarOuts.Add(CalendarOut);
+ }
+ }
+ }
+ }
+ }
+ else if (CalendarInput.calendartype == (int)EnumCalendarType.个人)
+ {
+ ISqlSugarClient db = _repository.AsSugarClient();
+ List groups = await db.Queryable().Where(p => p.employee_id == CalendarInput.content).Select(p => p.group_id).ToListAsync();
+ List Shifts = await db.Queryable().Where(p => groups.Contains(p.workgroup_id)).Select(p => p.shift_id).ToListAsync();
+ if (Shifts != null && Shifts.Count > 0)
+ {
+ List BasTimePeriods = await db.Queryable((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 BasTimePeriodRests = await db.Queryable((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 { 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 { BasTimePeriodRest.workhour! }
+ };
CalendarOuts.Add(CalendarOut);
}
}
@@ -213,6 +222,7 @@ namespace Tnb.BasicData
}
return CalendarOuts;
}
+
///
/// 批量保存工作日历
///
@@ -220,37 +230,39 @@ namespace Tnb.BasicData
///
public async Task SaveBatchData(CalendarBatchInput CalendarBatchInput)
{
- var db = _repository.AsSugarClient();
+ ISqlSugarClient db = _repository.AsSugarClient();
DateTime start = DateTime.Parse(CalendarBatchInput.startenday![0]);
DateTime end = DateTime.Parse(CalendarBatchInput.startenday![1]);
- List BasCalendars = new List();
- var lists=await db.Queryable().Where(p=>start<=DateTime.Parse(p.datetext!)&&end>= DateTime.Parse(p.datetext!)&& p.worktype== CalendarBatchInput.worktype).ToListAsync();
- var updatelist=new List();
+ List BasCalendars = new();
+ List lists = await db.Queryable().Where(p => start <= DateTime.Parse(p.datetext!) && end >= DateTime.Parse(p.datetext!) && p.worktype == CalendarBatchInput.worktype).ToListAsync();
+ List updatelist = new();
for (DateTime date = start; date <= end; date = date.AddDays(1))
{
if (CalendarBatchInput.weekday!.Contains((int)date.DayOfWeek))
{
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;
- updatelist.Add(BasCalendar);
+ updatelist.Add(BasCalendar);
}
else
{
- BasCalendar BasCalendar = new BasCalendar();
- BasCalendar.datetext = date.ToString("yyyy-MM-dd");
- BasCalendar.datetype = CalendarBatchInput.datetype;
- BasCalendar.workhour = CalendarBatchInput.workhour;
- BasCalendar.worktype = CalendarBatchInput.worktype;
- BasCalendar.create_id = _userManager.UserId;
- BasCalendar.create_time = DateTime.Now;
+ BasCalendar BasCalendar = new()
+ {
+ datetext = date.ToString("yyyy-MM-dd"),
+ datetype = CalendarBatchInput.datetype,
+ workhour = CalendarBatchInput.workhour,
+ worktype = CalendarBatchInput.worktype,
+ create_id = _userManager.UserId,
+ create_time = DateTime.Now
+ };
BasCalendars.Add(BasCalendar);
}
}
}
- await db.Updateable(updatelist).ExecuteCommandAsync();
- await db.Insertable(BasCalendars).ExecuteCommandAsync();
+ _ = await db.Updateable(updatelist).ExecuteCommandAsync();
+ _ = await db.Insertable(BasCalendars).ExecuteCommandAsync();
}
}
-}
+}
\ No newline at end of file
diff --git a/BasicData/Tnb.BasicData/BasDefectService.cs b/BasicData/Tnb.BasicData/BasDefectService.cs
index f75e0f46..6b1accb3 100644
--- a/BasicData/Tnb.BasicData/BasDefectService.cs
+++ b/BasicData/Tnb.BasicData/BasDefectService.cs
@@ -2,11 +2,10 @@ using JNPF.Common.Core.Manager;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.Systems.Interfaces.System;
-using JNPF.VisualDev;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
-using Tnb.BasicData.Entities.Dto;
using Tnb.BasicData.Entities;
+using Tnb.BasicData.Entities.Dto;
using Tnb.BasicData.Interfaces;
namespace Tnb.BasicData
@@ -16,14 +15,14 @@ namespace Tnb.BasicData
///
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
[Route("api/[area]/[controller]/[action]")]
- public class BasDefectService: IBasDefectService,IDynamicApiController, ITransient
+ public class BasDefectService : IBasDefectService, IDynamicApiController, ITransient
{
private readonly ISqlSugarRepository _repository;
private readonly DataBaseManager _dbManager;
private readonly IDictionaryDataService _dictionaryDataService;
-
+
public BasDefectService(
- ISqlSugarRepository repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService)
+ ISqlSugarRepository repository, DataBaseManager dbManager, IDictionaryDataService dictionaryDataService)
{
_repository = repository;
_dbManager = dbManager;
@@ -34,16 +33,16 @@ namespace Tnb.BasicData
public async Task GetDefectListByProcessId(Dictionary dic)
{
string processId = dic["processId"];
- var db = _repository.AsSugarClient();
- List defectIds = await db.Queryable().Where(x=>x.process_id==processId).Select(x=>x.defective_id).ToListAsync();
- List defectTypeIds = await db.Queryable().Where(x=>defectIds.Contains(x.id) && x.enabled==1).Select(x=>x.defect_type_id).ToListAsync();
+ ISqlSugarClient db = _repository.AsSugarClient();
+ List defectIds = await db.Queryable().Where(x => x.process_id == processId).Select(x => x.defective_id).ToListAsync();
+ List defectTypeIds = await db.Queryable().Where(x => defectIds.Contains(x.id) && x.enabled == 1).Select(x => x.defect_type_id).ToListAsync();
return await _repository.AsSugarClient().Queryable()
.Where((a) => defectTypeIds.Contains(a.id))
.Select(a => new
{
defect_type_id = a.id,
- defect_type_name = a.defect_type_name,
- children = SqlFunc.Subqueryable().Where(x=>x.defect_type_id==a.id && defectIds.Contains(x.id)).ToList(x=>new DefectOutput()
+ a.defect_type_name,
+ children = SqlFunc.Subqueryable().Where(x => x.defect_type_id == a.id && defectIds.Contains(x.id)).ToList(x => new DefectOutput()
{
id = x.id,
defect_code = x.defect_code,
diff --git a/BasicData/Tnb.BasicData/BasESopService.cs b/BasicData/Tnb.BasicData/BasESopService.cs
index b52fc9d4..ee9bc836 100644
--- a/BasicData/Tnb.BasicData/BasESopService.cs
+++ b/BasicData/Tnb.BasicData/BasESopService.cs
@@ -6,7 +6,6 @@ using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.FriendlyException;
using JNPF.Systems.Entitys.Permission;
-using JNPF.Systems.Interfaces.System;
using JNPF.VisualDev;
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
using Microsoft.AspNetCore.Mvc;
@@ -24,13 +23,13 @@ namespace Tnb.BasicData
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
[Route("api/[area]/[controller]/[action]")]
[OverideVisualDev(ModelId)]
- public class BasESopService : IBasESopService,IOverideVisualDevService,IDynamicApiController, ITransient
+ public class BasESopService : IBasESopService, IOverideVisualDevService, IDynamicApiController, ITransient
{
public const string ModelId = "26919620992277";
private readonly ISqlSugarRepository _repository;
private readonly IUserManager _userManager;
public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc();
-
+
public BasESopService(
IUserManager userManager,
ISqlSugarRepository repository)
@@ -39,7 +38,7 @@ namespace Tnb.BasicData
_userManager = userManager;
OverideFuncs.GetListAsync = GetList;
}
-
+
///
/// ESOP列表
///
@@ -48,12 +47,12 @@ namespace Tnb.BasicData
[HttpPost]
public async Task GetList(VisualDevModelListQueryInput input)
{
- var db = _repository.AsSugarClient();
+ ISqlSugarClient db = _repository.AsSugarClient();
Dictionary? queryJson = string.IsNullOrEmpty(input.queryJson) ? null : input.queryJson.ToObject>();
- string? code = queryJson!=null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : "";
- string? name = queryJson!=null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : "";
- string? version = queryJson!=null && queryJson.ContainsKey("version") ? queryJson["version"].ToString() : "";
- var list = await db.Queryable((a, b, c, d,e) => new object[]
+ string? code = queryJson != null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : "";
+ string? name = queryJson != null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : "";
+ string? version = queryJson != null && queryJson.ContainsKey("version") ? queryJson["version"].ToString() : "";
+ SqlSugarPagedList list = await db.Queryable((a, b, c, d, e) => new object[]
{
JoinType.Left, a.mbom_id == b.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(name), (a, b, c, d) => a.name.Contains(name!))
.WhereIF(!string.IsNullOrEmpty(version), (a, b, c, d) => a.version.Contains(version!))
- .Where((a,b,c)=>a.enabled==1)
- .Select((a, b, c, d,e) => new ESopListOutput
+ .Where((a, b, c) => a.enabled == 1)
+ .Select((a, b, c, d, e) => new ESopListOutput
{
id = a.id,
code = a.code,
@@ -72,31 +71,31 @@ namespace Tnb.BasicData
mbom_id = b.version!,
mbom_process_id = e.process_name!,
version = a.version,
- enabled = a.enabled==1 ? "是" : "否",
+ enabled = a.enabled == 1 ? "是" : "否",
attachment = a.attachment,
remark = a.remark,
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_process_id_id = a.mbom_process_id
- }).ToPagedListAsync((input?.currentPage??1), (input?.pageSize??50));
+ }).ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
return PageResult.SqlSugarPageResult(list);
}
-
+
[HttpPost]
public async Task GetHistoryList(EsopHistoryListQueryInput input)
{
- var db = _repository.AsSugarClient();
- Dictionary? queryJson = new Dictionary();
- if (input!=null && !string.IsNullOrEmpty(input.queryJson))
+ ISqlSugarClient db = _repository.AsSugarClient();
+ Dictionary? queryJson = new();
+ if (input != null && !string.IsNullOrEmpty(input.queryJson))
{
queryJson = JsonConvert.DeserializeObject>(input?.queryJson ?? "");
}
- string code = queryJson!=null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : "";
- string name = queryJson!=null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : "";
- string version = queryJson!=null && queryJson.ContainsKey("version") ? queryJson["version"].ToString() : "";
- var list = await db.Queryable((a, b, c, d,e) => new object[]
+ string code = queryJson != null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : "";
+ string name = queryJson != null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : "";
+ string version = queryJson != null && queryJson.ContainsKey("version") ? queryJson["version"].ToString() : "";
+ SqlSugarPagedList list = await db.Queryable((a, b, c, d, e) => new object[]
{
JoinType.Left, a.mbom_id == b.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(name), (a, b, c, d) => a.name.Contains(name))
.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)
- .Select((a, b, c, d,e) => new ESopListOutput
+ .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
{
id = a.id,
code = a.code,
@@ -115,27 +114,24 @@ namespace Tnb.BasicData
mbom_id = b.version!,
mbom_process_id = e.process_name!,
version = a.version,
- enabled = a.enabled==1 ? "是" : "否",
+ enabled = a.enabled == 1 ? "是" : "否",
attachment = a.attachment,
remark = a.remark,
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
- }).ToPagedListAsync((input?.currentPage??1), (input?.pageSize??50));
+ }).ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
return PageResult.SqlSugarPageResult(list);
}
[HttpPost]
- public async Task GetEntityByMbomProcessId(Dictionary dic)
+ public async Task GetEntityByMbomProcessId(Dictionary dic)
{
string mbomProcessId = dic["mbomProcessId"];
- if (!string.IsNullOrEmpty(mbomProcessId))
- {
- return await _repository.GetFirstAsync(x => x.mbom_process_id == mbomProcessId && x.enabled == 1);
- }
-
- return null!;
+ return !string.IsNullOrEmpty(mbomProcessId)
+ ? await _repository.GetFirstAsync(x => x.mbom_process_id == mbomProcessId && x.enabled == 1)
+ : (dynamic)null;
}
[HttpPost]
@@ -146,15 +142,15 @@ namespace Tnb.BasicData
throw Oops.Bah("已存在该版本");
}
- var db = _repository.AsSugarClient();
+ ISqlSugarClient db = _repository.AsSugarClient();
DbResult result = await db.Ado.UseTranAsync(async () =>
{
- await _repository.UpdateAsync(x => new BasESop()
+ _ = await _repository.UpdateAsync(x => new BasESop()
{
enabled = 0,
}, 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,
name = input.name,
@@ -169,13 +165,9 @@ namespace Tnb.BasicData
enabled = 1,
};
- await _repository.InsertAsync(basESop);
-
+ _ = await _repository.InsertAsync(basESop);
});
- if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008);
-
- return result.IsSuccess ? "上传成功" : result.ErrorMessage;
-
+ return !result.IsSuccess ? throw Oops.Oh(ErrorCode.COM1008) : (dynamic)(result.IsSuccess ? "上传成功" : result.ErrorMessage);
}
}
}
\ No newline at end of file
diff --git a/BasicData/Tnb.BasicData/BasEbomService.cs b/BasicData/Tnb.BasicData/BasEbomService.cs
index 01679ee6..9cedf8a3 100644
--- a/BasicData/Tnb.BasicData/BasEbomService.cs
+++ b/BasicData/Tnb.BasicData/BasEbomService.cs
@@ -3,7 +3,6 @@ using JNPF.Common.Filter;
using JNPF.Common.Security;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
-using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Interfaces.System;
using JNPF.VisualDev;
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
@@ -11,7 +10,6 @@ using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Tnb.BasicData.Entities;
using Tnb.BasicData.Entities.Dto;
-using Tnb.BasicData.Entitys.Dto.BasProcess;
using Tnb.BasicData.Interfaces;
namespace Tnb.BasicData
@@ -22,23 +20,22 @@ namespace Tnb.BasicData
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
[Route("api/[area]/[controller]/[action]")]
[OverideVisualDev(ModelId)]
- public class BasEbomService : IBasEbomService,IOverideVisualDevService,IDynamicApiController, ITransient
+ public class BasEbomService : IBasEbomService, IOverideVisualDevService, IDynamicApiController, ITransient
{
public const string ModelId = "25487105536805";
private readonly ISqlSugarRepository _repository;
private readonly DataBaseManager _dbManager;
private readonly IDictionaryDataService _dictionaryDataService;
public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc();
-
+
public BasEbomService(
- ISqlSugarRepository repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService)
+ ISqlSugarRepository repository, DataBaseManager dbManager, IDictionaryDataService dictionaryDataService)
{
_repository = repository;
_dbManager = dbManager;
_dictionaryDataService = dictionaryDataService;
OverideFuncs.GetListAsync = GetList;
}
-
///
/// 物料清单列表
@@ -47,15 +44,15 @@ namespace Tnb.BasicData
///
public async Task GetList(VisualDevModelListQueryInput input)
{
- var db = _repository.AsSugarClient();
- Dictionary? queryJson = (input==null || string.IsNullOrEmpty(input.queryJson)) ? null : input.queryJson.ToObject>();
+ ISqlSugarClient db = _repository.AsSugarClient();
+ Dictionary? queryJson = (input == null || string.IsNullOrEmpty(input.queryJson)) ? null : input.queryJson.ToObject>();
string materialInfo = queryJson?["query_info"]?.ToString() ?? "";
- var list = await db.Queryable((a, b, c) => new object[]
+ SqlSugarPagedList list = await db.Queryable((a, b, c) => new object[]
{
JoinType.Left, a.material_id == b.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
{
id = a.id,
@@ -67,12 +64,11 @@ namespace Tnb.BasicData
version = a.version,
route_id = c.name,
route_id_id = c.id,
+ }).ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
- }).ToPagedListAsync((input?.currentPage ?? 1), (input?.pageSize ?? 50));
-
- return PageResult.SqlSugarPageResult(list);
+ return PageResult.SqlSugarPageResult(list);
}
-
+
///
/// 获取物料清单树.
///
@@ -80,9 +76,9 @@ namespace Tnb.BasicData
[HttpPost]
public async Task GetTree(EbomTreeQueryInput queryInput)
{
- var db = _repository.AsSugarClient();
- var dic = await _dictionaryDataService.GetDicByKey(DictConst.MeasurementUnit);
-
+ ISqlSugarClient db = _repository.AsSugarClient();
+ Dictionary dic = await _dictionaryDataService.GetDicByKey(DictConst.MeasurementUnit);
+
// var momDbLink = await _repository.AsSugarClient().Queryable().FirstAsync(x => x.FullName == DbName.TNBMON);
// if (momDbLink != null)
// {
@@ -91,14 +87,14 @@ namespace Tnb.BasicData
if (string.IsNullOrEmpty(queryInput.materialId))
{
- var data = await db.Queryable()
- .LeftJoin((a,b)=>a.ebom_id==b.id)
- .LeftJoin((a,b,c)=>a.material_id==c.id)
- .LeftJoin((a,b,c,d)=>a.material_id==d.material_id)
- .LeftJoin((a,b,c,d,e)=>d.route_id==e.id)
- .LeftJoin((a,b,c,d,e,f)=>a.substitute_material_id==f.id)
- .Where((a,b,c)=>a.ebom_id==queryInput.ebomId)
- .Select((a,b,c,d,e,f)=>new EbomTreeOutput
+ List data = await db.Queryable()
+ .LeftJoin((a, b) => a.ebom_id == b.id)
+ .LeftJoin((a, b, c) => a.material_id == c.id)
+ .LeftJoin((a, b, c, d) => a.material_id == d.material_id)
+ .LeftJoin((a, b, c, d, e) => d.route_id == e.id)
+ .LeftJoin((a, b, c, d, e, f) => a.substitute_material_id == f.id)
+ .Where((a, b, c) => a.ebom_id == queryInput.ebomId)
+ .Select((a, b, c, d, e, f) => new EbomTreeOutput
{
material_id = c.name,
material_id_descrip = c.descrip,
@@ -112,7 +108,7 @@ namespace Tnb.BasicData
route_name = e.name,
version = d.version,
substitute_material_id = f.name,
- hasChildren = SqlFunc.Subqueryable().Where(x=>x.material_id==a.material_id).Any(),
+ hasChildren = SqlFunc.Subqueryable().Where(x => x.material_id == a.material_id).Any(),
}).Mapper(it =>
{
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
{
- var data = await db.Queryable()
- .LeftJoin((a,b)=>a.ebom_id==b.id)
- .LeftJoin((a,b,c)=>a.material_id==c.id)
- .LeftJoin((a,b,c,d)=>a.material_id==d.material_id)
- .LeftJoin((a,b,c,d,e)=>d.route_id==e.id)
- .LeftJoin((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)
- .Select((a,b,c,d,e,f)=>new EbomTreeOutput
+ List data = await db.Queryable()
+ .LeftJoin((a, b) => a.ebom_id == b.id)
+ .LeftJoin((a, b, c) => a.material_id == c.id)
+ .LeftJoin((a, b, c, d) => a.material_id == d.material_id)
+ .LeftJoin((a, b, c, d, e) => d.route_id == e.id)
+ .LeftJoin((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)
+ .Select((a, b, c, d, e, f) => new EbomTreeOutput
{
material_id = c.name,
material_id_descrip = c.descrip,
@@ -142,15 +138,13 @@ namespace Tnb.BasicData
route_name = e.name,
version = d.version,
substitute_material_id = f.name,
- hasChildren = SqlFunc.Subqueryable().Where(x=>x.material_id==a.material_id).Any(),
+ hasChildren = SqlFunc.Subqueryable().Where(x => x.material_id == a.material_id).Any(),
}).Mapper(it =>
{
it.material_id_unit_id = !string.IsNullOrEmpty(it.material_id_unit_id) ? dic[it.material_id_unit_id].ToString() : "";
}).ToListAsync();
return data;
}
-
-
}
///
@@ -159,11 +153,11 @@ namespace Tnb.BasicData
/// 物料id materialId
///
[HttpPost]
- public async Task> GetEbomVersionAndRouteName(Dictionary parameters)
+ public async Task> GetEbomVersionAndRouteName(Dictionary parameters)
{
string materialId = parameters["materialId"];
- var db = _repository.AsSugarClient();
-
+ ISqlSugarClient db = _repository.AsSugarClient();
+
// var momDbLink = await _repository.AsSugarClient().Queryable().FirstAsync(x => x.FullName == DbName.TNBMON);
// if (momDbLink != null)
// {
@@ -171,16 +165,16 @@ namespace Tnb.BasicData
// }
var ebom = await db.Queryable()
- .LeftJoin((a,b)=>a.route_id==b.id)
- .OrderByDescending((a,b)=>a.create_time)
- .Where((a,b) => a.material_id == materialId)
- .Select((a,b)=>new
+ .LeftJoin((a, b) => a.route_id == b.id)
+ .OrderByDescending((a, b) => a.create_time)
+ .Where((a, b) => a.material_id == materialId)
+ .Select((a, b) => new
{
a.id,
a.version,
b.name,
}).FirstAsync();
- return new Dictionary()
+ return new Dictionary()
{
["version"] = ebom?.version ?? "",
["routeName"] = ebom?.name ?? "",
diff --git a/BasicData/Tnb.BasicData/BasLocationService.cs b/BasicData/Tnb.BasicData/BasLocationService.cs
index 4f9dc202..af13f6d3 100644
--- a/BasicData/Tnb.BasicData/BasLocationService.cs
+++ b/BasicData/Tnb.BasicData/BasLocationService.cs
@@ -1,15 +1,8 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Aspose.Cells.Drawing;
-using JNPF.DependencyInjection;
+using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Tnb.BasicData.Entities;
-using Tnb.BasicData.Entities.Enums;
using Tnb.BasicData.Interfaces;
using Tnb.WarehouseMgr.Entities.Enums;
@@ -32,19 +25,27 @@ namespace Tnb.BasicData
///
///
[HttpGet]
- public async Task GetUnStoreLocationListByCarryId([FromRoute]string carryId)
+ public async Task GetUnStoreLocationListByCarryId([FromRoute] string carryId)
{
-
- var items = await _db.Queryable().Where(it => !string.IsNullOrEmpty(it.is_type) && Convert.ToInt32(it.is_type) != (int)EnumLocationType.存储库位).ToListAsync();
+
+ List items = await _db.Queryable().Where(it => !string.IsNullOrEmpty(it.is_type) && Convert.ToInt32(it.is_type) != (int)EnumLocationType.存储库位).ToListAsync();
return items;
}
public async Task> GetLocationInfobyIds(IEnumerable locIds)
{
- if (locIds == null) throw new ArgumentNullException(nameof(locIds));
- if (!locIds.Any()) throw new ArithmeticException($"parameter locIds.Count is not be empty");
- var items = await _db.Queryable().Where(it => locIds.Contains(it.id)).ToListAsync();
+ if (locIds == null)
+ {
+ throw new ArgumentNullException(nameof(locIds));
+ }
+
+ if (!locIds.Any())
+ {
+ throw new ArithmeticException($"parameter locIds.Count is not be empty");
+ }
+
+ List items = await _db.Queryable().Where(it => locIds.Contains(it.id)).ToListAsync();
return items;
}
}
diff --git a/BasicData/Tnb.BasicData/BasMaterialService.cs b/BasicData/Tnb.BasicData/BasMaterialService.cs
index 7f2bceaa..fb4df1df 100644
--- a/BasicData/Tnb.BasicData/BasMaterialService.cs
+++ b/BasicData/Tnb.BasicData/BasMaterialService.cs
@@ -21,20 +21,20 @@ namespace Tnb.BasicData
///
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
[Route("api/[area]/[controller]/[action]")]
- public class BasMaterialService : IBasMaterialService,IDynamicApiController, ITransient
+ public class BasMaterialService : IBasMaterialService, IDynamicApiController, ITransient
{
private readonly ISqlSugarRepository _repository;
private readonly DataBaseManager _dbManager;
private readonly IDictionaryDataService _dictionaryDataService;
-
+
public BasMaterialService(
- ISqlSugarRepository repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService)
+ ISqlSugarRepository repository, DataBaseManager dbManager, IDictionaryDataService dictionaryDataService)
{
_repository = repository;
_dbManager = dbManager;
_dictionaryDataService = dictionaryDataService;
}
-
+
///
/// 复制物料
///
@@ -44,7 +44,7 @@ namespace Tnb.BasicData
{
string id = parameters["id"];
BasMaterial basMaterial = await _repository.GetByIdAsync(id);
-
+
List materialUnits = await _repository.AsSugarClient().Queryable().Where(x => x.material_id == id).ToListAsync();
List materialIntoFactorySpecifications = await _repository.AsSugarClient().Queryable().Where(x => x.material_id == id).ToListAsync();
@@ -53,27 +53,26 @@ namespace Tnb.BasicData
basMaterial.code += "_复制的请修改";
basMaterial.name += "_复制的请修改";
- DbResult result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
+ DbResult result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
{
- await _repository.InsertAsync(basMaterial);
+ _ = await _repository.InsertAsync(basMaterial);
foreach (BasMaterialUnit basMaterialUnit in materialUnits)
{
basMaterialUnit.id = SnowflakeIdHelper.NextId();
basMaterialUnit.material_id = newId;
}
-
+
foreach (BasMaterialIntoFactorySpecifications basMaterialIntoFactorySpecification in materialIntoFactorySpecifications)
{
basMaterialIntoFactorySpecification.id = SnowflakeIdHelper.NextId();
basMaterialIntoFactorySpecification.material_id = newId;
}
- await _repository.AsSugarClient().Insertable(materialUnits).ExecuteCommandAsync();
- await _repository.AsSugarClient().Insertable(materialIntoFactorySpecifications).ExecuteCommandAsync();
+ _ = await _repository.AsSugarClient().Insertable(materialUnits).ExecuteCommandAsync();
+ _ = await _repository.AsSugarClient().Insertable(materialIntoFactorySpecifications).ExecuteCommandAsync();
});
- if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008);
- return result.IsSuccess ? "复制成功" : result.ErrorMessage;
+ return !result.IsSuccess ? throw Oops.Oh(ErrorCode.COM1008) : result.IsSuccess ? "复制成功" : result.ErrorMessage;
}
///
@@ -84,14 +83,17 @@ namespace Tnb.BasicData
[HttpPost]
public async Task GetMaterialSelectInfo(MaterialSelectQueryInput queryInput)
{
- var db = _repository.AsSugarClient();
+ ISqlSugarClient db = _repository.AsSugarClient();
if (!string.IsNullOrEmpty(queryInput.ebom_id))
{
- List ids = await GetAllChildrenMaterialId(queryInput.ebom_id,0);
+ List ids = await GetAllChildrenMaterialId(queryInput.ebom_id, 0);
BasEbomH ebom = await db.Queryable().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);
- var result = await db.Queryable()
+ }
+
+ SqlSugarPagedList result = await db.Queryable()
.LeftJoin((a, b) => b.EnCode == DictConst.MeasurementUnit && b.DeleteMark == null)
.LeftJoin((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))
@@ -107,11 +109,11 @@ namespace Tnb.BasicData
}).ToPagedListAsync(queryInput.currentPage, queryInput.pageSize);
return PageResult.SqlSugarPageResult(result);
-
+
}
else
{
- var result = await db.Queryable()
+ SqlSugarPagedList result = await db.Queryable()
.LeftJoin((a, b) => b.EnCode == DictConst.MeasurementUnit && b.DeleteMark == null)
.LeftJoin((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))
@@ -132,16 +134,16 @@ namespace Tnb.BasicData
[HttpPost]
public async Task GetCanCreateSubWorkOrderMaterial(MaterialSelectQueryInput queryInput)
{
- var db = _repository.AsSugarClient();
+ ISqlSugarClient db = _repository.AsSugarClient();
if (!string.IsNullOrEmpty(queryInput.ebom_id))
{
- List ids = await GetAllChildrenMaterialId(queryInput.ebom_id,0);
- var result = await db.Queryable()
+ List ids = await GetAllChildrenMaterialId(queryInput.ebom_id, 0);
+ SqlSugarPagedList result = await db.Queryable()
.LeftJoin((a, b) => b.EnCode == DictConst.MeasurementUnit && b.DeleteMark == null)
.LeftJoin((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.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()
{
id = a.id,
@@ -153,7 +155,7 @@ namespace Tnb.BasicData
}).ToPagedListAsync(queryInput.currentPage, queryInput.pageSize);
return PageResult.SqlSugarPageResult(result);
-
+
}
else
{
@@ -166,32 +168,32 @@ namespace Tnb.BasicData
{
string types = dic["types"];
string[] typeArr = types.Split(",");
- List list = await _repository.AsSugarClient().Queryable().Where(x => x.state=="1").ToListAsync();
- List result = new List();
- foreach (var type in typeArr)
+ List list = await _repository.AsSugarClient().Queryable().Where(x => x.state == "1").ToListAsync();
+ List result = new();
+ 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;
}
-
+
[HttpPost]
public async Task GetMaterialByQueryJson(MaterialQueryInput input)
{
- var db = _repository.AsSugarClient();
- Dictionary? queryJson = new Dictionary();
- if (input!=null && !string.IsNullOrEmpty(input.queryJson))
+ ISqlSugarClient db = _repository.AsSugarClient();
+ Dictionary? queryJson = new();
+ if (input != null && !string.IsNullOrEmpty(input.queryJson))
{
queryJson = JsonConvert.DeserializeObject>(input?.queryJson ?? "");
}
- List typeList = new List();
- if(!string.IsNullOrEmpty(input!.types))
+ List typeList = new();
+ if (!string.IsNullOrEmpty(input!.types))
{
- typeList = JsonConvert.DeserializeObject>((input?.types??"")) ?? new List();
+ typeList = JsonConvert.DeserializeObject>(input?.types ?? "") ?? new List();
}
- var query = db.Queryable()
+ ISugarQueryable query = db.Queryable()
.Where(x => x.state == "1")
.WhereIF(queryJson != null && queryJson.ContainsKey("name"), x => x.name.Contains(queryJson!["name"]))
.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"]))
.Select(x => x);
- var list = new List>();
- foreach (var type in typeList)
+ List> list = new();
+ 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)
{
- var result = await query.ToPagedListAsync((input?.currentPage??1), (input?.pageSize??50));
+ SqlSugarPagedList result = await query.ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
return PageResult.SqlSugarPageResult(result);
}
else
{
- var result = await db.UnionAll(list).Select().ToPagedListAsync((input?.currentPage??1), (input?.pageSize??50));
+ SqlSugarPagedList result = await db.UnionAll(list).Select().ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
return PageResult.SqlSugarPageResult(result);
}
-
+
}
///
/// 获取物料清单下所子集物料id
///
///
- private async Task> GetAllChildrenMaterialId(string ebomId,int index)
+ private async Task> GetAllChildrenMaterialId(string ebomId, int index)
{
- if (string.IsNullOrEmpty(ebomId)) return new List();
- List ids = new List();
- if (index++ > 10) return ids;
- var list = await _repository.AsSugarClient().Queryable().Where(x => x.ebom_id == ebomId)
+ if (string.IsNullOrEmpty(ebomId))
+ {
+ return new List();
+ }
+
+ List ids = new();
+ if (index++ > 10)
+ {
+ return ids;
+ }
+
+ List list = await _repository.AsSugarClient().Queryable().Where(x => x.ebom_id == ebomId)
.Select(x => x.material_id).ToListAsync();
if (list != null && list.Count > 0)
{
- foreach (var id in list)
+ foreach (string id in list)
{
//获取最新创建的物料清单
- var ebom = await _repository.AsSugarClient().Queryable().Where(x=>x.material_id==id).OrderByDescending(x=>x.create_time).FirstAsync();
- ids.AddRange(await GetAllChildrenMaterialId(ebom?.id ?? "",index));
+ BasEbomH ebom = await _repository.AsSugarClient().Queryable().Where(x => x.material_id == id).OrderByDescending(x => x.create_time).FirstAsync();
+ ids.AddRange(await GetAllChildrenMaterialId(ebom?.id ?? "", index));
}
ids.AddRange(list);
}
diff --git a/BasicData/Tnb.BasicData/BasMbomService.cs b/BasicData/Tnb.BasicData/BasMbomService.cs
index ace5e263..6736f838 100644
--- a/BasicData/Tnb.BasicData/BasMbomService.cs
+++ b/BasicData/Tnb.BasicData/BasMbomService.cs
@@ -1,5 +1,6 @@
using JNPF.Common.Core.Manager;
using JNPF.Common.Enums;
+using JNPF.Common.Extension;
using JNPF.Common.Filter;
using JNPF.Common.Security;
using JNPF.DependencyInjection;
@@ -11,10 +12,8 @@ using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Tnb.BasicData.Entities;
-using Tnb.BasicData.Interfaces;
using Tnb.BasicData.Entities.Dto;
-using NPOI.OpenXmlFormats.Dml;
-using JNPF.Common.Extension;
+using Tnb.BasicData.Interfaces;
namespace Tnb.BasicData
{
@@ -56,10 +55,10 @@ namespace Tnb.BasicData
///
public async Task GetList(VisualDevModelListQueryInput input)
{
- var db = _repository.AsSugarClient();
+ ISqlSugarClient db = _repository.AsSugarClient();
Dictionary? queryJson = string.IsNullOrEmpty(input.queryJson) ? null : input.queryJson.ToObject>();
string materialInfo = queryJson?["query_info"]?.ToString() ?? "";
- var list = await db.Queryable((a, b, c, d) => new object[]
+ SqlSugarPagedList list = await db.Queryable((a, b, c, d) => new object[]
{
JoinType.Left, a.material_id == b.id,
JoinType.Left, a.ebom_id == c.id,
@@ -75,8 +74,8 @@ namespace Tnb.BasicData
ebom_id = c.version,
route_id = d.name,
route_id_id = c.id,
- 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"),
+ 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"),
is_first = SqlFunc.IIF(a.is_first == 0, "否", "是"),
}).ToPagedListAsync(input.currentPage, input.pageSize);
@@ -90,13 +89,13 @@ namespace Tnb.BasicData
///
public async Task GetInfo(string id)
{
- var db = _repository.AsSugarClient();
+ ISqlSugarClient db = _repository.AsSugarClient();
BasMbom mbom = await _repository.GetSingleAsync(x => x.id == id);
- List processes = await db.Queryable().Where(x => x.mbom_id == id).OrderBy(x=>x.ordinal).ToListAsync();
+ List processes = await db.Queryable().Where(x => x.mbom_id == id).OrderBy(x => x.ordinal).ToListAsync();
List inputs = await db.Queryable().Where(x => x.mbom_id == id).ToListAsync();
List outputs = await db.Queryable().Where(x => x.mbom_id == id).ToListAsync();
- MbomDataOutput mbomDataOutput = new MbomDataOutput();
- List mbomProcessOutDtos = new List();
+ MbomDataOutput mbomDataOutput = new();
+ List mbomProcessOutDtos = new();
mbomDataOutput.id = mbom.id;
mbomDataOutput.ebom_id = mbom.ebom_id;
@@ -158,9 +157,12 @@ namespace Tnb.BasicData
public async Task 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()
+ List result = await _db.Queryable()
.LeftJoin((a, b) => a.id == b.mbom_id)
.LeftJoin