去除引用common.props

This commit is contained in:
2023-11-06 19:35:59 +08:00
parent 6a2154edd9
commit c6b8dfc861
810 changed files with 3910 additions and 6695 deletions

View File

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

View File

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

View File

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

View File

@@ -36,14 +36,14 @@ namespace Tnb.BasicData.Entities.Dto
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? feeding_control {get;set;} public string? feeding_control { get; set; }
/// <summary> /// <summary>
/// Desc:损耗率 /// Desc:损耗率
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? loss_rate {get;set;} public string? loss_rate { get; set; }
/// </summary> /// </summary>
/// <summary> /// <summary>
@@ -56,28 +56,28 @@ namespace Tnb.BasicData.Entities.Dto
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? require_weight {get;set;} public string? require_weight { get; set; }
/// <summary> /// <summary>
/// Desc:替代物料 /// Desc:替代物料
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? substitute_material_id {get;set;} public string? substitute_material_id { get; set; }
/// <summary> /// <summary>
/// Desc:工艺路线 /// Desc:工艺路线
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? route_name {get;set;} public string? route_name { get; set; }
/// <summary> /// <summary>
/// Desc:版本号 /// Desc:版本号
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? version {get;set;} public string? version { get; set; }
} }
} }

View File

@@ -1,5 +1,3 @@
using Tnb.BasicData.Entities;
namespace Tnb.BasicData.Entities.Dto namespace Tnb.BasicData.Entities.Dto
{ {
public class MbomDataOutput public class MbomDataOutput
@@ -124,7 +122,7 @@ namespace Tnb.BasicData.Entities.Dto
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? production_method {get;set;} public string? production_method { get; set; }
/// <summary> /// <summary>
/// 投入物料 /// 投入物料

View File

@@ -1,5 +1,3 @@
using Tnb.BasicData.Entities;
namespace Tnb.BasicData.Entities.Dto namespace Tnb.BasicData.Entities.Dto
{ {
public class MbomSaveDataInput public class MbomSaveDataInput
@@ -129,7 +127,7 @@ namespace Tnb.BasicData.Entities.Dto
/// Default:NULL::character varying /// Default:NULL::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string? production_method {get;set;} public string? production_method { get; set; }
/// <summary> /// <summary>
/// 投入物料 /// 投入物料

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,7 +1,6 @@
using JNPF.Common.Contracts; using JNPF.Common.Contracts;
using JNPF.Common.Security; using JNPF.Common.Security;
using SqlSugar; using SqlSugar;
using SqlSugar.DbConvert;
namespace Tnb.BasicData.Entities; namespace Tnb.BasicData.Entities;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -23,7 +23,7 @@ namespace Tnb.BasicData.Interfaces
/// </summary> /// </summary>
/// <param name="dic">mbomProcessId</param> /// <param name="dic">mbomProcessId</param>
/// <returns></returns> /// <returns></returns>
public Task<dynamic> GetEntityByMbomProcessId(Dictionary<string,string> dic); public Task<dynamic> GetEntityByMbomProcessId(Dictionary<string, string> dic);
} }
} }

View File

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

View File

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

View File

@@ -1,5 +1,4 @@
using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Filter;
namespace Tnb.BasicData.Interfaces namespace Tnb.BasicData.Interfaces
{ {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -14,7 +14,7 @@ namespace Tnb.EquipMgr.Entities.Dto
public string execute_time { get; set; } public string execute_time { get; set; }
public string repeat_user_id { get; set; } public string repeat_user_id { get; set; }
public string repeat_user_id_id { get; set; } public string repeat_user_id_id { get; set; }
public string execute_user_id{ get; set; } public string execute_user_id { get; set; }
public string execute_user_id_id { get; set; } public string execute_user_id_id { get; set; }
public string repeat_time { get; set; } public string repeat_time { get; set; }
public string last_execute_time { get; set; } public string last_execute_time { get; set; }

View File

@@ -12,7 +12,7 @@ namespace Tnb.EquipMgr.Entities.Dto
public string spot_record_date_time { get; set; } public string spot_record_date_time { get; set; }
public string repeat_user_id { get; set; } public string repeat_user_id { get; set; }
public string repeat_user_id_id { get; set; } public string repeat_user_id_id { get; set; }
public string spot_record_user_id{ get; set; } public string spot_record_user_id { get; set; }
public string spot_record_user_id_id { get; set; } public string spot_record_user_id_id { get; set; }
public string repeat_time { get; set; } public string repeat_time { get; set; }

View File

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

View File

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

View File

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

View File

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

View File

@@ -8,6 +8,6 @@ namespace Tnb.EquipMgr.Entities.Dto
public string? repeat_remark { get; set; } public string? repeat_remark { get; set; }
public List<Dictionary<string,string>>? details { get; set; } public List<Dictionary<string, string>>? details { get; set; }
} }
} }

View File

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

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Entities.Dto
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Dto
{ {
/// <summary> /// <summary>
/// 修改维修单任务状态输入参数 /// 修改维修单任务状态输入参数

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -10,6 +10,6 @@ namespace Tnb.EquipMgr.Entities.Dto
public string? result_remark { get; set; } public string? result_remark { get; set; }
public List<Dictionary<string,string>>? details { get; set; } public List<Dictionary<string, string>>? details { get; set; }
} }
} }

View File

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

View File

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

View File

@@ -1,5 +1,4 @@
using JNPF.Common.Contracts; using JNPF.Common.Contracts;
using JNPF.Common.Security;
using SqlSugar; using SqlSugar;
namespace Tnb.EquipMgr.Entities; namespace Tnb.EquipMgr.Entities;

View File

@@ -1,5 +1,4 @@
using JNPF.Common.Contracts; using JNPF.Common.Contracts;
using JNPF.Common.Security;
using SqlSugar; using SqlSugar;
namespace Tnb.EquipMgr.Entities; namespace Tnb.EquipMgr.Entities;

View File

@@ -1,6 +1,3 @@
using System;
using System.Linq;
using System.Text;
using JNPF.Common.Security; using JNPF.Common.Security;
using SqlSugar; using SqlSugar;

View File

@@ -1,7 +1,4 @@
using System; using SqlSugar;
using System.Linq;
using System.Text;
using SqlSugar;
namespace Tnb.EquipMgr.Entities namespace Tnb.EquipMgr.Entities
{ {

View File

@@ -1,5 +1,4 @@
using JNPF.Common.Contracts; using JNPF.Common.Contracts;
using JNPF.Common.Security;
using SqlSugar; using SqlSugar;
using Yitter.IdGenerator; using Yitter.IdGenerator;

View File

@@ -1,5 +1,4 @@
using JNPF.Common.Contracts; using JNPF.Common.Contracts;
using JNPF.Common.Security;
using SqlSugar; using SqlSugar;
namespace Tnb.EquipMgr.Entities; namespace Tnb.EquipMgr.Entities;

View File

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

View File

@@ -1,5 +1,3 @@
using JNPF.Common.Contracts;
using JNPF.Common.Security;
using SqlSugar; using SqlSugar;
namespace Tnb.EquipMgr.Entities; namespace Tnb.EquipMgr.Entities;
@@ -17,6 +15,6 @@ public partial class ToolMolds
/// <summary> /// <summary>
/// 库位编码 /// 库位编码
/// </summary> /// </summary>
[SugarColumn(IsIgnore =true)] [SugarColumn(IsIgnore = true)]
public string location_code { get; set; } public string location_code { get; set; }
} }

View File

@@ -1,24 +1,18 @@
using System; namespace Tnb.EquipMgr.Entities.Enums
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Entities.Enums
{ {
public enum MaintainStatus public enum MaintainStatus
{ {
/// <summary> /// <summary>
/// 待维修 /// 待维修
/// </summary> /// </summary>
DWX=1, DWX = 1,
/// <summary> /// <summary>
/// 维修中 /// 维修中
/// </summary> /// </summary>
WXZ=2, WXZ = 2,
/// <summary> /// <summary>
/// 已完成 /// 已完成
/// </summary> /// </summary>
YWC=4, YWC = 4,
} }
} }

View File

@@ -1,6 +1,5 @@
using Mapster; using Mapster;
using Tnb.EquipMgr.Entities.Dto; using Tnb.EquipMgr.Entities.Dto;
using Tnb.EquipMgr.Entities;
namespace Tnb.EquipMgr.Entities.Mapper namespace Tnb.EquipMgr.Entities.Mapper
{ {

View File

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

View File

@@ -1,4 +1,3 @@
using Microsoft.AspNetCore.Http;
using Tnb.EquipMgr.Entities.Dto; using Tnb.EquipMgr.Entities.Dto;
namespace Tnb.EquipMgr.Interfaces namespace Tnb.EquipMgr.Interfaces

View File

@@ -1,4 +1,3 @@
using JNPF.Common.Dtos.VisualDev;
using Tnb.EquipMgr.Entities.Dto; using Tnb.EquipMgr.Entities.Dto;
namespace Tnb.EquipMgr.Interfaces namespace Tnb.EquipMgr.Interfaces

View File

@@ -10,37 +10,37 @@ namespace Tnb.EquipMgr.Interfaces
/// 维修作废 /// 维修作废
/// </summary> /// </summary>
/// <param name="dic"></param> /// <param name="dic"></param>
public Task<string> Repeal(Dictionary<string,string> dic); public Task<string> Repeal(Dictionary<string, string> dic);
/// <summary> /// <summary>
/// 维修关闭 /// 维修关闭
/// </summary> /// </summary>
/// <param name="dic"></param> /// <param name="dic"></param>
public Task<string> Close(Dictionary<string,string> dic); public Task<string> Close(Dictionary<string, string> dic);
/// <summary> /// <summary>
/// 维修指派 /// 维修指派
/// </summary> /// </summary>
/// <param name="dic"></param> /// <param name="dic"></param>
public Task<string> Assign(Dictionary<string,string> dic); public Task<string> Assign(Dictionary<string, string> dic);
/// <summary> /// <summary>
/// 维修接收 /// 维修接收
/// </summary> /// </summary>
/// <param name="dic"></param> /// <param name="dic"></param>
public Task<string> Receive(Dictionary<string,string> dic); public Task<string> Receive(Dictionary<string, string> dic);
/// <summary> /// <summary>
/// 维修拒绝 /// 维修拒绝
/// </summary> /// </summary>
/// <param name="dic"></param> /// <param name="dic"></param>
public Task<string> Refuse(Dictionary<string,string> dic); public Task<string> Refuse(Dictionary<string, string> dic);
/// <summary> /// <summary>
/// 维修信息 /// 维修信息
/// </summary> /// </summary>
/// <param name="dic"></param> /// <param name="dic"></param>
public Task<EqpRepairApply> GetInfo(Dictionary<string,string> dic); public Task<EqpRepairApply> GetInfo(Dictionary<string, string> dic);
/// <summary> /// <summary>
/// 维修登记 /// 维修登记

View File

@@ -10,7 +10,7 @@ namespace Tnb.EquipMgr.Interfaces
/// 获取外修申请信息 /// 获取外修申请信息
/// </summary> /// </summary>
/// <param name="dic"></param> /// <param name="dic"></param>
public Task<EqpRepairOutApply> GetInfo(Dictionary<string,string> dic); public Task<EqpRepairOutApply> GetInfo(Dictionary<string, string> dic);
/// <summary> /// <summary>
/// 外修申请 /// 外修申请

View File

@@ -1,4 +1,3 @@
using JNPF.Common.Dtos.VisualDev;
using Tnb.EquipMgr.Entities.Dto; using Tnb.EquipMgr.Entities.Dto;
namespace Tnb.EquipMgr.Interfaces namespace Tnb.EquipMgr.Interfaces

View File

@@ -22,7 +22,7 @@ namespace Tnb.EquipMgr.Interfaces
/// 获取产线和注塑挤出设备树 /// 获取产线和注塑挤出设备树
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public Task<dynamic> GetWorklineAndEquipTree(Dictionary<string,string> dic); public Task<dynamic> GetWorklineAndEquipTree(Dictionary<string, string> dic);
/// <summary> /// <summary>
/// 根据二维码查设备 /// 根据二维码查设备

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Interfaces
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Interfaces
{ {
/// <summary> /// <summary>
/// 目录库房服务接口 /// 目录库房服务接口

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Interfaces
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Interfaces
{ {
/// <summary> /// <summary>
/// 模具库位服务接口 /// 模具库位服务接口

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Interfaces
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Interfaces
{ {
/// <summary> /// <summary>
/// 模具保养项目组接口 /// 模具保养项目组接口

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Interfaces
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Interfaces
{ {
public interface IToolMoldMaintainPlanRunService public interface IToolMoldMaintainPlanRunService
{ {

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Interfaces
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Interfaces
{ {
public interface IToolMoldMaintainPlanService public interface IToolMoldMaintainPlanService
{ {

View File

@@ -1,10 +1,4 @@
using System; namespace Tnb.EquipMgr.Interfaces
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.EquipMgr.Interfaces
{ {
/// <summary> /// <summary>
/// 设备保养规则定义 /// 设备保养规则定义

View File

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

View File

@@ -1,10 +1,4 @@
using System; using Tnb.EquipMgr.Entities.Dto;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Tnb.EquipMgr.Entities.Dto;
namespace Tnb.EquipMgr.Interfaces namespace Tnb.EquipMgr.Interfaces
{ {

View File

@@ -1,12 +1,6 @@
using System; using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Tnb.EquipMgr.Entities; using Tnb.EquipMgr.Entities;
using Tnb.EquipMgr.Entities.Dto; using Tnb.EquipMgr.Entities.Dto;
using Tnb.ProductionMgr.Entities.Dto;
namespace Tnb.EquipMgr.Interfaces namespace Tnb.EquipMgr.Interfaces
{ {

View File

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

View File

@@ -1,10 +1,7 @@
using JNPF.Common.Core.Manager; using JNPF.Common.Core.Manager;
using JNPF.Common.Enums;
using JNPF.Common.Filter; using JNPF.Common.Filter;
using JNPF.Common.Security;
using JNPF.DependencyInjection; using JNPF.DependencyInjection;
using JNPF.DynamicApiController; using JNPF.DynamicApiController;
using JNPF.FriendlyException;
using JNPF.Systems.Entitys.Permission; using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Entitys.System; using JNPF.Systems.Entitys.System;
using JNPF.VisualDev; using JNPF.VisualDev;
@@ -16,7 +13,6 @@ using SqlSugar;
using Tnb.BasicData; using Tnb.BasicData;
using Tnb.EquipMgr.Entities; using Tnb.EquipMgr.Entities;
using Tnb.EquipMgr.Entities.Dto; using Tnb.EquipMgr.Entities.Dto;
using Tnb.EquipMgr.Interfaces;
namespace Tnb.EquipMgr namespace Tnb.EquipMgr
{ {
@@ -26,7 +22,7 @@ namespace Tnb.EquipMgr
[ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)] [ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)]
[Route("api/[area]/[controller]/[action]")] [Route("api/[area]/[controller]/[action]")]
[OverideVisualDev(ModuleId)] [OverideVisualDev(ModuleId)]
public class AppEqpRepairApplyService : IOverideVisualDevService,IDynamicApiController, ITransient public class AppEqpRepairApplyService : IOverideVisualDevService, IDynamicApiController, ITransient
{ {
private const string ModuleId = "28621611210261"; private const string ModuleId = "28621611210261";
private readonly ISqlSugarRepository<EqpRepairApply> _repository; private readonly ISqlSugarRepository<EqpRepairApply> _repository;
@@ -51,34 +47,34 @@ namespace Tnb.EquipMgr
{ {
var db = _repository.AsSugarClient(); var db = _repository.AsSugarClient();
Dictionary<string, object> queryJson = !string.IsNullOrEmpty(input.queryJson) ? JsonConvert.DeserializeObject<Dictionary<string, object>>(input.queryJson) : new Dictionary<string, object>(); Dictionary<string, object> queryJson = !string.IsNullOrEmpty(input.queryJson) ? JsonConvert.DeserializeObject<Dictionary<string, object>>(input.queryJson) : new Dictionary<string, object>();
string code = queryJson!=null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : ""; string code = queryJson != null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : "";
string name = queryJson!=null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : ""; string name = queryJson != null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : "";
string userId = _userManager.UserId; string userId = _userManager.UserId;
var result = await db.Queryable<EqpRepairApply>() var result = await db.Queryable<EqpRepairApply>()
.LeftJoin<EqpEquipment>((a, b) => a.equip_id == b.id) .LeftJoin<EqpEquipment>((a, b) => a.equip_id == b.id)
.LeftJoin<UserEntity>((a, b, c) => a.apply_user_id == c.Id) .LeftJoin<UserEntity>((a, b, c) => a.apply_user_id == c.Id)
.LeftJoin<DictionaryTypeEntity>((a,b,c,d)=>d.EnCode==DictConst.RepairStatus) .LeftJoin<DictionaryTypeEntity>((a, b, c, d) => d.EnCode == DictConst.RepairStatus)
.LeftJoin<DictionaryDataEntity>((a,b,c,d,e)=>a.status==e.EnCode && d.Id==e.DictionaryTypeId) .LeftJoin<DictionaryDataEntity>((a, b, c, d, e) => a.status == e.EnCode && d.Id == e.DictionaryTypeId)
.WhereIF(!string.IsNullOrEmpty("code"), (a, b, c) => a.code.Contains(code)) .WhereIF(!string.IsNullOrEmpty("code"), (a, b, c) => a.code.Contains(code))
.WhereIF(!string.IsNullOrEmpty("name"), (a, b, c) => a.name.Contains(name)) .WhereIF(!string.IsNullOrEmpty("name"), (a, b, c) => a.name.Contains(name))
.Where((a, b, c) => a.repairer_id == userId) .Where((a, b, c) => a.repairer_id == userId)
.Where((a, b, c) => a.status == "2" || a.status=="3") .Where((a, b, c) => a.status == "2" || a.status == "3")
.Select((a, b, c,d,e) => new PdaRepairApplyListOutput .Select((a, b, c, d, e) => new PdaRepairApplyListOutput
{ {
id = a.id, id = a.id,
code = a.code, code = a.code,
name = a.name, name = a.name,
equip_id = b.code+"/"+b.name, equip_id = b.code + "/" + b.name,
equip_id_id = a.equip_id, equip_id_id = a.equip_id,
expect_complete_time = a.expect_complete_time==null ? "" : a.expect_complete_time.Value.ToString("yyyy-MM-dd"), expect_complete_time = a.expect_complete_time == null ? "" : a.expect_complete_time.Value.ToString("yyyy-MM-dd"),
is_ugent = a.is_ugent==null ? "" : a.is_ugent==0 ? "否" : "是", is_ugent = a.is_ugent == null ? "" : a.is_ugent == 0 ? "否" : "是",
description = a.description, description = a.description,
status = e.FullName, status = e.FullName,
apply_user_id = SqlFunc.IsNull(c.RealName,"异常停机"), apply_user_id = SqlFunc.IsNull(c.RealName, "异常停机"),
apply_user_id_id = a.create_id, apply_user_id_id = a.create_id,
// repairer_id = c.RealName, // repairer_id = c.RealName,
// repairer_id_id = a.repairer_id, // repairer_id_id = a.repairer_id,
}).ToPagedListAsync(input.currentPage,input.pageSize); }).ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult<PdaRepairApplyListOutput>.SqlSugarPageResult(result); return PageResult<PdaRepairApplyListOutput>.SqlSugarPageResult(result);
} }
@@ -90,7 +86,7 @@ namespace Tnb.EquipMgr
/// <param name="dic"></param> /// <param name="dic"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public async Task<dynamic> GetRepairInfoById(Dictionary<string,string> dic) public async Task<dynamic> GetRepairInfoById(Dictionary<string, string> dic)
{ {
string id = dic.ContainsKey("id") ? dic["id"] : ""; string id = dic.ContainsKey("id") ? dic["id"] : "";
if (string.IsNullOrEmpty(id)) return null; if (string.IsNullOrEmpty(id)) return null;
@@ -106,7 +102,7 @@ namespace Tnb.EquipMgr
equip_id = a.equip_id, equip_id = a.equip_id,
equip_code = b.code, equip_code = b.code,
equip_name = b.name, equip_name = b.name,
expect_complete_time = a.expect_complete_time==null?"":a.expect_complete_time.Value.ToString("yyyy-MM-dd"), expect_complete_time = a.expect_complete_time == null ? "" : a.expect_complete_time.Value.ToString("yyyy-MM-dd"),
is_ugent = a.is_ugent, is_ugent = a.is_ugent,
description = a.description, description = a.description,
status = a.status, status = a.status,

View File

@@ -1,18 +1,11 @@
using System; using System.Linq.Expressions;
using System.Collections.Generic; using JNPF.Common.Contracts;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using JNPF.Common.Enums; using JNPF.Common.Enums;
using JNPF.Common.Security; using JNPF.Common.Extension;
using JNPF.FriendlyException; using JNPF.FriendlyException;
using Mapster;
using SqlSugar; using SqlSugar;
using Tnb.EquipMgr.Entities.Dto; using Tnb.EquipMgr.Entities.Dto;
using Tnb.EquipMgr.Entities;
using Mapster;
using JNPF.Common.Contracts;
using JNPF.Common.Extension;
namespace Tnb.EquipMgr namespace Tnb.EquipMgr
{ {
@@ -75,7 +68,7 @@ namespace Tnb.EquipMgr
var itemIds = await _db.Queryable<TRelaction>().Where(masterFilterExp).Select(masterSelector).ToListAsync(); var itemIds = await _db.Queryable<TRelaction>().Where(masterFilterExp).Select(masterSelector).ToListAsync();
if (itemIds?.Count > 0) if (itemIds?.Count > 0)
{ {
var items = await _db.Queryable<TDest>().Where(it=>itemIds.Contains(it.id)).ToListAsync(); var items = await _db.Queryable<TDest>().Where(it => itemIds.Contains(it.id)).ToListAsync();
list = items.Adapt<List<TOutput>>(); list = items.Adapt<List<TOutput>>();
} }
return list; return list;

View File

@@ -6,10 +6,10 @@ using JNPF.Systems.Entitys.Permission;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json; using Newtonsoft.Json;
using SqlSugar; using SqlSugar;
using Tnb.BasicData;
using Tnb.EquipMgr.Entities; using Tnb.EquipMgr.Entities;
using Tnb.EquipMgr.Entities.Dto; using Tnb.EquipMgr.Entities.Dto;
using Tnb.EquipMgr.Interfaces; using Tnb.EquipMgr.Interfaces;
using Tnb.BasicData;
namespace Tnb.EquipMgr namespace Tnb.EquipMgr
{ {
@@ -34,29 +34,29 @@ namespace Tnb.EquipMgr
{ {
var db = _repository.AsSugarClient(); var db = _repository.AsSugarClient();
Dictionary<string, string>? queryJson = new Dictionary<string, string>(); Dictionary<string, string>? queryJson = new Dictionary<string, string>();
if (input!=null && !string.IsNullOrEmpty(input.queryJson)) if (input != null && !string.IsNullOrEmpty(input.queryJson))
{ {
queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson); queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson);
} }
var result = await db.Queryable<EqpDaq>() var result = await db.Queryable<EqpDaq>()
.LeftJoin<UserEntity>((a,b)=>a.create_id==b.Id) .LeftJoin<UserEntity>((a, b) => a.create_id == b.Id)
.WhereIF(input!=null,a=>a.equip_id==input!.equip_id) .WhereIF(input != null, a => a.equip_id == input!.equip_id)
.WhereIF(queryJson!=null && queryJson.ContainsKey("data_source"),a=>a.data_source==queryJson!["data_source"]) .WhereIF(queryJson != null && queryJson.ContainsKey("data_source"), a => a.data_source == queryJson!["data_source"])
.WhereIF(queryJson!=null && queryJson.ContainsKey("label_name"),a=>a.label_name.Contains(queryJson!["label_name"])) .WhereIF(queryJson != null && queryJson.ContainsKey("label_name"), a => a.label_name.Contains(queryJson!["label_name"]))
.WhereIF(queryJson!=null && queryJson.ContainsKey("label_point"),a=>a.label_point.Contains(queryJson!["label_point"])) .WhereIF(queryJson != null && queryJson.ContainsKey("label_point"), a => a.label_point.Contains(queryJson!["label_point"]))
.Select((a,b) => new EquipDaqQueryOutput .Select((a, b) => new EquipDaqQueryOutput
{ {
id = a.id, id = a.id,
data_source = a.data_source, data_source = a.data_source,
create_id = b.RealName, create_id = b.RealName,
create_time = a.create_time==null ? null : a.create_time.Value.ToString(DbTimeFormat.MM), create_time = a.create_time == null ? null : a.create_time.Value.ToString(DbTimeFormat.MM),
data_type = a.data_type, data_type = a.data_type,
enabled = a.enabled==1 ? "是" : "否", enabled = a.enabled == 1 ? "是" : "否",
equip_id = a.equip_id, equip_id = a.equip_id,
label_name = a.label_name, label_name = a.label_name,
label_point = a.label_point, label_point = a.label_point,
remark = a.remark remark = a.remark
}).ToPagedListAsync((input?.currentPage??1), (input?.pageSize??50)); }).ToPagedListAsync((input?.currentPage ?? 1), (input?.pageSize ?? 50));
return PageResult<EquipDaqQueryOutput>.SqlSugarPageResult(result); return PageResult<EquipDaqQueryOutput>.SqlSugarPageResult(result);
} }

View File

@@ -1,5 +1,4 @@
using JNPF.Common.Core.Manager; using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Enums; using JNPF.Common.Enums;
using JNPF.Common.Filter; using JNPF.Common.Filter;
using JNPF.Common.Models; using JNPF.Common.Models;
@@ -9,12 +8,6 @@ using JNPF.FriendlyException;
using JNPF.Logging; using JNPF.Logging;
using JNPF.Systems.Common; using JNPF.Systems.Common;
using JNPF.Systems.Entitys.Permission; using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Interfaces.Common;
using JNPF.VisualDev;
using JNPF.VisualDev.Entitys;
using JNPF.VisualDev.Interfaces;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json; using Newtonsoft.Json;
using SqlSugar; using SqlSugar;
@@ -45,7 +38,7 @@ namespace Tnb.EquipMgr
} }
[HttpPost] [HttpPost]
public async Task<string> Upload([FromForm]string equip_id,[FromForm] ChunkModel input) public async Task<string> Upload([FromForm] string equip_id, [FromForm] ChunkModel input)
{ {
string msg = ""; string msg = "";
try try
@@ -85,21 +78,21 @@ namespace Tnb.EquipMgr
queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson); queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson);
} }
var result = await db.Queryable<EqpEquipFile>() var result = await db.Queryable<EqpEquipFile>()
.LeftJoin<UserEntity >((a, b) => a.create_id == b.Id) .LeftJoin<UserEntity>((a, b) => a.create_id == b.Id)
.LeftJoin<UserEntity >((a, b,c) => a.modify_id == c.Id) .LeftJoin<UserEntity>((a, b, c) => a.modify_id == c.Id)
.LeftJoin<EqpEquipment >((a, b,c,d) => a.equip_id == d.id) .LeftJoin<EqpEquipment>((a, b, c, d) => a.equip_id == d.id)
.Where((a,b,c,d)=>a.equip_id==input.equip_id) .Where((a, b, c, d) => a.equip_id == input.equip_id)
.WhereIF(queryJson!=null && queryJson.ContainsKey("file_name"),(a,b,c,d)=>a.file_name.Contains(queryJson!["file_name"])) .WhereIF(queryJson != null && queryJson.ContainsKey("file_name"), (a, b, c, d) => a.file_name.Contains(queryJson!["file_name"]))
.Select((a, b, c,d) => new EquipFileQueryOutput .Select((a, b, c, d) => new EquipFileQueryOutput
{ {
id = a.id, id = a.id,
attachment = a.attachment, attachment = a.attachment,
create_id = b.RealName, create_id = b.RealName,
create_id_id = a.create_id, create_id_id = a.create_id,
create_time = a.create_time==null ? null : a.create_time.Value.ToString("yyyy-MM-dd"), create_time = a.create_time == null ? null : a.create_time.Value.ToString("yyyy-MM-dd"),
equip_id=d.name, equip_id = d.name,
equip_id_id= a.equip_id, equip_id_id = a.equip_id,
file_name=a.file_name, file_name = a.file_name,
}).ToPagedListAsync(input.currentPage, input.pageSize); }).ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult<EquipFileQueryOutput>.SqlSugarPageResult(result); return PageResult<EquipFileQueryOutput>.SqlSugarPageResult(result);

View File

@@ -1,18 +1,12 @@
using JNPF.Common.Core.Manager; using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Enums; using JNPF.Common.Enums;
using JNPF.Common.Security; using JNPF.Common.Security;
using JNPF.DependencyInjection; using JNPF.DependencyInjection;
using JNPF.DynamicApiController; using JNPF.DynamicApiController;
using JNPF.FriendlyException; using JNPF.FriendlyException;
using JNPF.VisualDev;
using JNPF.VisualDev.Entitys;
using JNPF.VisualDev.Interfaces;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using SqlSugar; using SqlSugar;
using Tnb.EquipMgr.Entities; using Tnb.EquipMgr.Entities;
using Tnb.EquipMgr.Entities.Dto;
using Tnb.EquipMgr.Interfaces; using Tnb.EquipMgr.Interfaces;
namespace Tnb.EquipMgr namespace Tnb.EquipMgr
@@ -51,7 +45,7 @@ namespace Tnb.EquipMgr
await db.Updateable<EqpEquipment>().SetColumns(x => x.life == EquipmentLife.SCRAP) await db.Updateable<EqpEquipment>().SetColumns(x => x.life == EquipmentLife.SCRAP)
.Where(x => x.id == eqpEquipScrap.equip_id).ExecuteCommandAsync(); .Where(x => x.id == eqpEquipScrap.equip_id).ExecuteCommandAsync();
}); });
if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008); if (!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008);
return result.IsSuccess ? "报废成功" : result.ErrorMessage; return result.IsSuccess ? "报废成功" : result.ErrorMessage;

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