去除引用common.props
This commit is contained in:
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.BasicData;
|
||||
namespace Tnb.BasicData;
|
||||
|
||||
public class ModuleConst
|
||||
{
|
||||
|
||||
@@ -5,16 +5,16 @@ namespace Tnb.BasicData
|
||||
#region wms
|
||||
|
||||
//mes生产入库接口
|
||||
public const string MES_CREATE_INSTOCK = "/api/wms/wms-in-stock/mes-create-instock";
|
||||
public const string MES_CREATE_INSTOCK = "/api/wms/wms-in-stock/mes-create-instock";
|
||||
|
||||
//载具签收接口
|
||||
public const string MES_CARRY_SIGN = "/api/wms/wms-sign-for-delivery/mes-carry-sign";
|
||||
public const string MES_CARRY_SIGN = "/api/wms/wms-sign-for-delivery/mes-carry-sign";
|
||||
|
||||
//生产出库接口
|
||||
public const string MES_CREATE_OUTSTOCK = "/api/wms/wms-out-stock/mes-create-outstock";
|
||||
public const string MES_CREATE_OUTSTOCK = "/api/wms/wms-out-stock/mes-create-outstock";
|
||||
|
||||
//齐套出库接口
|
||||
public const string MES_KITTING_OUT_STK = "/api/wms/wmskitting-out/mes-kitting-out-stk";
|
||||
public const string MES_KITTING_OUT_STK = "/api/wms/wmskitting-out/mes-kitting-out-stk";
|
||||
|
||||
//物料标签查询接口
|
||||
public const string MES_FETCH_IN_OUT_STOCK_INFO_BY_BAR_CODE = "/api/wms/wms-in-stock/mes-fetch-in-out-stock-info-by-bar-code";
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.BasicData.Entities.Dto
|
||||
namespace Tnb.BasicData.Entities.Dto
|
||||
{
|
||||
public class CalendarInput
|
||||
{
|
||||
@@ -12,9 +6,9 @@ namespace Tnb.BasicData.Entities.Dto
|
||||
public string? datetype { get; set; }
|
||||
public string? workhour { get; set; }
|
||||
public string? worktype { get; set; }
|
||||
public int? calendartype { get; set;}
|
||||
public int? calendartype { get; set; }
|
||||
|
||||
public string? content { get; set;}
|
||||
public string? content { get; set; }
|
||||
}
|
||||
public class CalendarBatchInput
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.BasicData.Entities.Dto.BasCalendar
|
||||
namespace Tnb.BasicData.Entities.Dto.BasCalendar
|
||||
{
|
||||
public class CalendarOut
|
||||
{
|
||||
|
||||
@@ -36,14 +36,14 @@ namespace Tnb.BasicData.Entities.Dto
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string? feeding_control {get;set;}
|
||||
public string? feeding_control { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:损耗率
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string? loss_rate {get;set;}
|
||||
public string? loss_rate { get; set; }
|
||||
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
@@ -56,28 +56,28 @@ namespace Tnb.BasicData.Entities.Dto
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string? require_weight {get;set;}
|
||||
public string? require_weight { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:替代物料
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string? substitute_material_id {get;set;}
|
||||
public string? substitute_material_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:工艺路线
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string? route_name {get;set;}
|
||||
public string? route_name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:版本号
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string? version {get;set;}
|
||||
public string? version { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,3 @@
|
||||
using Tnb.BasicData.Entities;
|
||||
|
||||
namespace Tnb.BasicData.Entities.Dto
|
||||
{
|
||||
public class MbomDataOutput
|
||||
@@ -124,7 +122,7 @@ namespace Tnb.BasicData.Entities.Dto
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string? production_method {get;set;}
|
||||
public string? production_method { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 投入物料
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
using Tnb.BasicData.Entities;
|
||||
|
||||
namespace Tnb.BasicData.Entities.Dto
|
||||
{
|
||||
public class MbomSaveDataInput
|
||||
@@ -129,7 +127,7 @@ namespace Tnb.BasicData.Entities.Dto
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string? production_method {get;set;}
|
||||
public string? production_method { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 投入物料
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.BasicData.Entitys.Dto.BasProcess
|
||||
namespace Tnb.BasicData.Entitys.Dto.BasProcess
|
||||
{
|
||||
/// <summary>
|
||||
/// 工序列表输出类
|
||||
@@ -14,7 +8,7 @@ namespace Tnb.BasicData.Entitys.Dto.BasProcess
|
||||
public string id { get; set; }
|
||||
public string process_code { get; set; }
|
||||
public string process_name { get; set; }
|
||||
public string process_collection { get; set;}
|
||||
public string process_collection { get; set; }
|
||||
public string status { get; set; }
|
||||
public string station { get; set; }
|
||||
public string must_pass { get; set; }
|
||||
@@ -27,6 +21,6 @@ namespace Tnb.BasicData.Entitys.Dto.BasProcess
|
||||
public string org_id { get; set; }
|
||||
public string create_id { get; set; }
|
||||
public string modify_id { get; set; }
|
||||
public DateTime? modify_time { get; set;}
|
||||
public DateTime? modify_time { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ namespace Tnb.BasicData.Entitys
|
||||
{
|
||||
public class ElementSelectDto
|
||||
{
|
||||
public string?label { get; set; }
|
||||
public string? label { get; set; }
|
||||
|
||||
public string? value { get; set; }
|
||||
}
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using JNPF.Common.Security;
|
||||
using JNPF.Common.Security;
|
||||
|
||||
namespace Tnb.BasicData.Entities.Dto
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.BasicData.Entities.Dto
|
||||
namespace Tnb.BasicData.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 子工单列表
|
||||
@@ -34,7 +28,7 @@ namespace Tnb.BasicData.Entities.Dto
|
||||
/// <summary>
|
||||
/// 数量
|
||||
/// </summary>
|
||||
public string num { get; set;}
|
||||
public string num { get; set; }
|
||||
/// <summary>
|
||||
/// 单位id
|
||||
/// </summary>
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
using SqlSugar.DbConvert;
|
||||
|
||||
namespace Tnb.BasicData.Entities;
|
||||
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.BasicData.Entities.Enums
|
||||
namespace Tnb.BasicData.Entities.Enums
|
||||
{
|
||||
public enum EnumCalendarType
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.BasicData.Entities.Enums
|
||||
namespace Tnb.BasicData.Entities.Enums
|
||||
{
|
||||
/// <summary>
|
||||
/// 库位类型
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Mapster;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities.Dto;
|
||||
|
||||
namespace Tnb.BasicData.Entities
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.BasicData.Entitys.Model
|
||||
namespace Tnb.BasicData.Entitys.Model
|
||||
{
|
||||
public class RouteTree
|
||||
{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$(SolutionDir)\common.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Tnb.BasicData.Entities.Dto;
|
||||
using Tnb.BasicData.Entities.Dto;
|
||||
|
||||
namespace Tnb.BasicData.Interfaces
|
||||
{
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Tnb.BasicData.Interfaces
|
||||
/// </summary>
|
||||
/// <param name="dic">mbomProcessId</param>
|
||||
/// <returns></returns>
|
||||
public Task<dynamic> GetEntityByMbomProcessId(Dictionary<string,string> dic);
|
||||
public Task<dynamic> GetEntityByMbomProcessId(Dictionary<string, string> dic);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Tnb.BasicData.Entities;
|
||||
using Tnb.BasicData.Entities;
|
||||
|
||||
namespace Tnb.BasicData.Interfaces
|
||||
{
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
using JNPF.Common.Dtos.VisualDev;
|
||||
using JNPF.VisualDev;
|
||||
using Tnb.BasicData.Entities.Dto;
|
||||
|
||||
namespace Tnb.BasicData.Interfaces
|
||||
{
|
||||
public interface IBasProcessService
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using JNPF.Common.Dtos.VisualDev;
|
||||
using JNPF.Common.Filter;
|
||||
|
||||
namespace Tnb.BasicData.Interfaces
|
||||
{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$(SolutionDir)\common.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
|
||||
@@ -1,19 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Aop.Api.Domain;
|
||||
using Aspose.Cells.Drawing;
|
||||
using JNPF.Common.Core.Manager;
|
||||
using JNPF.Common.Models.VisualDev;
|
||||
using JNPF.Common.Core.Manager;
|
||||
using JNPF.DependencyInjection;
|
||||
using JNPF.DynamicApiController;
|
||||
using JNPF.JsonSerialization;
|
||||
using JNPF.Systems.Interfaces.System;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities;
|
||||
using Tnb.BasicData.Entities.Dto;
|
||||
@@ -28,7 +17,7 @@ namespace Tnb.BasicData
|
||||
/// </summary>
|
||||
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
|
||||
[Route("api/[area]/[controller]/[action]")]
|
||||
public class BasCalendarService: IBasCalendarService, IDynamicApiController, ITransient
|
||||
public class BasCalendarService : IBasCalendarService, IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly ISqlSugarRepository<BasCalendar> _repository;
|
||||
private readonly IUserManager _userManager;
|
||||
@@ -38,6 +27,7 @@ namespace Tnb.BasicData
|
||||
_repository = repository;
|
||||
_userManager = userManager;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存工作日历
|
||||
/// </summary>
|
||||
@@ -46,17 +36,20 @@ namespace Tnb.BasicData
|
||||
[HttpPost]
|
||||
public async Task SaveData(CalendarInput CalendarInput)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
await db.Deleteable<BasCalendar>(p=>p.datetext== CalendarInput.datetext).ExecuteCommandAsync();
|
||||
BasCalendar BasCalendar = new BasCalendar();
|
||||
BasCalendar.datetext = CalendarInput.datetext;
|
||||
BasCalendar.datetype = CalendarInput.datetype;
|
||||
BasCalendar.workhour = CalendarInput.workhour;
|
||||
BasCalendar.worktype = CalendarInput.worktype;
|
||||
BasCalendar.create_id = _userManager.UserId;
|
||||
BasCalendar.create_time = DateTime.Now;
|
||||
await db.Insertable(BasCalendar).ExecuteCommandAsync();
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
_ = await db.Deleteable<BasCalendar>(p => p.datetext == CalendarInput.datetext).ExecuteCommandAsync();
|
||||
BasCalendar BasCalendar = new()
|
||||
{
|
||||
datetext = CalendarInput.datetext,
|
||||
datetype = CalendarInput.datetype,
|
||||
workhour = CalendarInput.workhour,
|
||||
worktype = CalendarInput.worktype,
|
||||
create_id = _userManager.UserId,
|
||||
create_time = DateTime.Now
|
||||
};
|
||||
_ = await db.Insertable(BasCalendar).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取工作日历
|
||||
/// </summary>
|
||||
@@ -64,95 +57,31 @@ namespace Tnb.BasicData
|
||||
[HttpPost]
|
||||
public async Task<dynamic> GetWorkData(CalendarInput CalendarInput)
|
||||
{
|
||||
List<CalendarOut> CalendarOuts = new List<CalendarOut>();
|
||||
List<CalendarOut> CalendarOuts = new();
|
||||
if (CalendarInput.calendartype == (int)EnumCalendarType.分类)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
var lists = await db.Queryable<BasCalendar>().Where(p => p.worktype == CalendarInput.content).ToListAsync();
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
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.datetext = list.datetext;
|
||||
CalendarOut.datetype = list.datetype;
|
||||
CalendarOut.workhour = JSON.Deserialize<List<WorkHour>>(list.workhour);
|
||||
CalendarOut.worktype = list.worktype;
|
||||
CalendarOut CalendarOut = new()
|
||||
{
|
||||
datetext = list.datetext,
|
||||
datetype = list.datetype,
|
||||
workhour = JSON.Deserialize<List<WorkHour>>(list.workhour),
|
||||
worktype = list.worktype
|
||||
};
|
||||
CalendarOuts.Add(CalendarOut);
|
||||
}
|
||||
}
|
||||
else if (CalendarInput.calendartype == (int)EnumCalendarType.班组)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
var Shifts = await db.Queryable<BasShiftWorkgroup>().Where(p => p.workgroup_id == CalendarInput.content).Select(p=>p.shift_id).ToListAsync();
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
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)
|
||||
{
|
||||
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!))
|
||||
.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 })
|
||||
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
|
||||
@@ -163,8 +92,7 @@ namespace Tnb.BasicData
|
||||
}
|
||||
).ToListAsync();
|
||||
|
||||
|
||||
var BasTimePeriodRests = await db.Queryable<BasTimePeriodRest, BasShift>((a, b) => new object[] { JoinType.Inner, a.shift_type_id == b.id })
|
||||
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
|
||||
@@ -173,38 +101,119 @@ namespace Tnb.BasicData
|
||||
endday = b.shifte_time,
|
||||
workhour = new WorkHour { start = a.tp_b_time, end = a.tp_e_time },
|
||||
}).ToListAsync();
|
||||
foreach (var BasTimePeriod in BasTimePeriods)
|
||||
foreach (Shift? BasTimePeriod in BasTimePeriods)
|
||||
{
|
||||
var start = DateTime.Parse(BasTimePeriod.startday!);
|
||||
var end = DateTime.Parse(BasTimePeriod.endday!);
|
||||
DateTime start = DateTime.Parse(BasTimePeriod.startday!);
|
||||
DateTime end = DateTime.Parse(BasTimePeriod.endday!);
|
||||
for (DateTime date = start; date <= end; date = date.AddDays(1))
|
||||
{
|
||||
if (CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).Any())
|
||||
{
|
||||
CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).First().workhour!.Add(BasTimePeriod.workhour!);
|
||||
}
|
||||
else
|
||||
{
|
||||
CalendarOut CalendarOut = new CalendarOut();
|
||||
CalendarOut.datetext = date.ToString("yyyy-MM-dd");
|
||||
CalendarOut.datetype = "workDay";
|
||||
CalendarOut.workhour = new List<WorkHour> { BasTimePeriod.workhour! };
|
||||
CalendarOut CalendarOut = new()
|
||||
{
|
||||
datetext = date.ToString("yyyy-MM-dd"),
|
||||
datetype = "workDay",
|
||||
workhour = new List<WorkHour> { BasTimePeriod.workhour! }
|
||||
};
|
||||
CalendarOuts.Add(CalendarOut);
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach (var BasTimePeriodRest in BasTimePeriodRests)
|
||||
foreach (Shift? BasTimePeriodRest in BasTimePeriodRests)
|
||||
{
|
||||
var start = DateTime.Parse(BasTimePeriodRest.startday!);
|
||||
var end = DateTime.Parse(BasTimePeriodRest.endday!);
|
||||
DateTime start = DateTime.Parse(BasTimePeriodRest.startday!);
|
||||
DateTime end = DateTime.Parse(BasTimePeriodRest.endday!);
|
||||
for (DateTime date = start; date <= end; date = date.AddDays(1))
|
||||
{
|
||||
if (CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).Any())
|
||||
{
|
||||
CalendarOuts.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).First().workhour!.Add(BasTimePeriodRest.workhour!);
|
||||
}
|
||||
else
|
||||
{
|
||||
CalendarOut CalendarOut = new CalendarOut();
|
||||
CalendarOut.datetext = date.ToString("yyyy-MM-dd");
|
||||
CalendarOut.datetype = "dayOff";
|
||||
CalendarOut.workhour = new List<WorkHour> { BasTimePeriodRest.workhour! };
|
||||
CalendarOut CalendarOut = new()
|
||||
{
|
||||
datetext = date.ToString("yyyy-MM-dd"),
|
||||
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);
|
||||
}
|
||||
}
|
||||
@@ -213,6 +222,7 @@ namespace Tnb.BasicData
|
||||
}
|
||||
return CalendarOuts;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 批量保存工作日历
|
||||
/// </summary>
|
||||
@@ -220,37 +230,39 @@ namespace Tnb.BasicData
|
||||
/// <returns></returns>
|
||||
public async Task SaveBatchData(CalendarBatchInput CalendarBatchInput)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
DateTime start = DateTime.Parse(CalendarBatchInput.startenday![0]);
|
||||
DateTime end = DateTime.Parse(CalendarBatchInput.startenday![1]);
|
||||
List<BasCalendar> BasCalendars = new List<BasCalendar>();
|
||||
var 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> BasCalendars = new();
|
||||
List<BasCalendar> lists = await db.Queryable<BasCalendar>().Where(p => start <= DateTime.Parse(p.datetext!) && end >= DateTime.Parse(p.datetext!) && p.worktype == CalendarBatchInput.worktype).ToListAsync();
|
||||
List<BasCalendar> updatelist = new();
|
||||
for (DateTime date = start; date <= end; date = date.AddDays(1))
|
||||
{
|
||||
if (CalendarBatchInput.weekday!.Contains((int)date.DayOfWeek))
|
||||
{
|
||||
if (lists.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).Any())
|
||||
{
|
||||
var BasCalendar = lists.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).First();
|
||||
BasCalendar BasCalendar = lists.Where(p => p.datetext == date.ToString("yyyy-MM-dd")).First();
|
||||
BasCalendar.datetype = CalendarBatchInput.datetype;
|
||||
updatelist.Add(BasCalendar);
|
||||
}
|
||||
else
|
||||
{
|
||||
BasCalendar BasCalendar = new BasCalendar();
|
||||
BasCalendar.datetext = date.ToString("yyyy-MM-dd");
|
||||
BasCalendar.datetype = CalendarBatchInput.datetype;
|
||||
BasCalendar.workhour = CalendarBatchInput.workhour;
|
||||
BasCalendar.worktype = CalendarBatchInput.worktype;
|
||||
BasCalendar.create_id = _userManager.UserId;
|
||||
BasCalendar.create_time = DateTime.Now;
|
||||
BasCalendar BasCalendar = new()
|
||||
{
|
||||
datetext = date.ToString("yyyy-MM-dd"),
|
||||
datetype = CalendarBatchInput.datetype,
|
||||
workhour = CalendarBatchInput.workhour,
|
||||
worktype = CalendarBatchInput.worktype,
|
||||
create_id = _userManager.UserId,
|
||||
create_time = DateTime.Now
|
||||
};
|
||||
BasCalendars.Add(BasCalendar);
|
||||
}
|
||||
}
|
||||
}
|
||||
await db.Updateable(updatelist).ExecuteCommandAsync();
|
||||
await db.Insertable(BasCalendars).ExecuteCommandAsync();
|
||||
_ = await db.Updateable(updatelist).ExecuteCommandAsync();
|
||||
_ = await db.Insertable(BasCalendars).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,11 +2,10 @@ using JNPF.Common.Core.Manager;
|
||||
using JNPF.DependencyInjection;
|
||||
using JNPF.DynamicApiController;
|
||||
using JNPF.Systems.Interfaces.System;
|
||||
using JNPF.VisualDev;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities.Dto;
|
||||
using Tnb.BasicData.Entities;
|
||||
using Tnb.BasicData.Entities.Dto;
|
||||
using Tnb.BasicData.Interfaces;
|
||||
|
||||
namespace Tnb.BasicData
|
||||
@@ -16,14 +15,14 @@ namespace Tnb.BasicData
|
||||
/// </summary>
|
||||
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
|
||||
[Route("api/[area]/[controller]/[action]")]
|
||||
public class BasDefectService: IBasDefectService,IDynamicApiController, ITransient
|
||||
public class BasDefectService : IBasDefectService, IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly ISqlSugarRepository<BasDefect> _repository;
|
||||
private readonly DataBaseManager _dbManager;
|
||||
private readonly IDictionaryDataService _dictionaryDataService;
|
||||
|
||||
public BasDefectService(
|
||||
ISqlSugarRepository<BasDefect> repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService)
|
||||
ISqlSugarRepository<BasDefect> repository, DataBaseManager dbManager, IDictionaryDataService dictionaryDataService)
|
||||
{
|
||||
_repository = repository;
|
||||
_dbManager = dbManager;
|
||||
@@ -34,16 +33,16 @@ namespace Tnb.BasicData
|
||||
public async Task<dynamic> GetDefectListByProcessId(Dictionary<string, string> dic)
|
||||
{
|
||||
string processId = dic["processId"];
|
||||
var db = _repository.AsSugarClient();
|
||||
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();
|
||||
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?> 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>()
|
||||
.Where((a) => defectTypeIds.Contains(a.id))
|
||||
.Select(a => new
|
||||
{
|
||||
defect_type_id = a.id,
|
||||
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()
|
||||
a.defect_type_name,
|
||||
children = SqlFunc.Subqueryable<BasDefect>().Where(x => x.defect_type_id == a.id && defectIds.Contains(x.id)).ToList(x => new DefectOutput()
|
||||
{
|
||||
id = x.id,
|
||||
defect_code = x.defect_code,
|
||||
|
||||
@@ -6,7 +6,6 @@ using JNPF.DependencyInjection;
|
||||
using JNPF.DynamicApiController;
|
||||
using JNPF.FriendlyException;
|
||||
using JNPF.Systems.Entitys.Permission;
|
||||
using JNPF.Systems.Interfaces.System;
|
||||
using JNPF.VisualDev;
|
||||
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
@@ -24,7 +23,7 @@ namespace Tnb.BasicData
|
||||
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
|
||||
[Route("api/[area]/[controller]/[action]")]
|
||||
[OverideVisualDev(ModelId)]
|
||||
public class BasESopService : IBasESopService,IOverideVisualDevService,IDynamicApiController, ITransient
|
||||
public class BasESopService : IBasESopService, IOverideVisualDevService, IDynamicApiController, ITransient
|
||||
{
|
||||
public const string ModelId = "26919620992277";
|
||||
private readonly ISqlSugarRepository<BasESop> _repository;
|
||||
@@ -48,12 +47,12 @@ namespace Tnb.BasicData
|
||||
[HttpPost]
|
||||
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>>();
|
||||
string? code = queryJson!=null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : "";
|
||||
string? name = queryJson!=null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : "";
|
||||
string? version = queryJson!=null && queryJson.ContainsKey("version") ? queryJson["version"].ToString() : "";
|
||||
var list = await db.Queryable<BasESop, BasMbom, BasMbomProcess, UserEntity,BasProcess>((a, b, c, d,e) => new object[]
|
||||
string? code = queryJson != null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : "";
|
||||
string? name = queryJson != null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : "";
|
||||
string? version = queryJson != null && queryJson.ContainsKey("version") ? queryJson["version"].ToString() : "";
|
||||
SqlSugarPagedList<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_process_id == c.id,
|
||||
@@ -63,8 +62,8 @@ namespace Tnb.BasicData
|
||||
.WhereIF(!string.IsNullOrEmpty(code), (a, b, c, d) => a.code.Contains(code!))
|
||||
.WhereIF(!string.IsNullOrEmpty(name), (a, b, c, d) => a.name.Contains(name!))
|
||||
.WhereIF(!string.IsNullOrEmpty(version), (a, b, c, d) => a.version.Contains(version!))
|
||||
.Where((a,b,c)=>a.enabled==1)
|
||||
.Select((a, b, c, d,e) => new ESopListOutput
|
||||
.Where((a, b, c) => a.enabled == 1)
|
||||
.Select((a, b, c, d, e) => new ESopListOutput
|
||||
{
|
||||
id = a.id,
|
||||
code = a.code,
|
||||
@@ -72,14 +71,14 @@ namespace Tnb.BasicData
|
||||
mbom_id = b.version!,
|
||||
mbom_process_id = e.process_name!,
|
||||
version = a.version,
|
||||
enabled = a.enabled==1 ? "是" : "否",
|
||||
enabled = a.enabled == 1 ? "是" : "否",
|
||||
attachment = a.attachment,
|
||||
remark = a.remark,
|
||||
create_id = d.RealName,
|
||||
create_time = a.create_time==null ? "" : a.create_time.Value.ToString("yyyy-MM-dd"),
|
||||
create_time = a.create_time == null ? "" : a.create_time.Value.ToString("yyyy-MM-dd"),
|
||||
mbom_id_id = a.mbom_id,
|
||||
mbom_process_id_id = a.mbom_process_id
|
||||
}).ToPagedListAsync((input?.currentPage??1), (input?.pageSize??50));
|
||||
}).ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
|
||||
|
||||
return PageResult<ESopListOutput>.SqlSugarPageResult(list);
|
||||
}
|
||||
@@ -87,16 +86,16 @@ namespace Tnb.BasicData
|
||||
[HttpPost]
|
||||
public async Task<dynamic> GetHistoryList(EsopHistoryListQueryInput input)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
Dictionary<string, string>? queryJson = new Dictionary<string, string>();
|
||||
if (input!=null && !string.IsNullOrEmpty(input.queryJson))
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
Dictionary<string, string>? queryJson = new();
|
||||
if (input != null && !string.IsNullOrEmpty(input.queryJson))
|
||||
{
|
||||
queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input?.queryJson ?? "");
|
||||
}
|
||||
string code = queryJson!=null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : "";
|
||||
string name = queryJson!=null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : "";
|
||||
string version = queryJson!=null && queryJson.ContainsKey("version") ? queryJson["version"].ToString() : "";
|
||||
var list = await db.Queryable<BasESop, BasMbom, BasMbomProcess, UserEntity,BasProcess>((a, b, c, d,e) => new object[]
|
||||
string code = queryJson != null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : "";
|
||||
string name = queryJson != null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : "";
|
||||
string version = queryJson != null && queryJson.ContainsKey("version") ? queryJson["version"].ToString() : "";
|
||||
SqlSugarPagedList<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_process_id == c.id,
|
||||
@@ -106,8 +105,8 @@ namespace Tnb.BasicData
|
||||
.WhereIF(!string.IsNullOrEmpty(code), (a, b, c, d) => a.code.Contains(code))
|
||||
.WhereIF(!string.IsNullOrEmpty(name), (a, b, c, d) => a.name.Contains(name))
|
||||
.WhereIF(!string.IsNullOrEmpty(version), (a, b, c, d) => a.version.Contains(version))
|
||||
.Where((a,b,c)=>a.mbom_id==input!.mbom_id && a.mbom_process_id==input!.mbom_process_id)
|
||||
.Select((a, b, c, d,e) => new ESopListOutput
|
||||
.Where((a, b, c) => a.mbom_id == input!.mbom_id && a.mbom_process_id == input!.mbom_process_id)
|
||||
.Select((a, b, c, d, e) => new ESopListOutput
|
||||
{
|
||||
id = a.id,
|
||||
code = a.code,
|
||||
@@ -115,27 +114,24 @@ namespace Tnb.BasicData
|
||||
mbom_id = b.version!,
|
||||
mbom_process_id = e.process_name!,
|
||||
version = a.version,
|
||||
enabled = a.enabled==1 ? "是" : "否",
|
||||
enabled = a.enabled == 1 ? "是" : "否",
|
||||
attachment = a.attachment,
|
||||
remark = a.remark,
|
||||
create_id = d.RealName,
|
||||
create_time = a.create_time==null ? "" : a.create_time.Value.ToString("yyyy-MM-dd"),
|
||||
create_time = a.create_time == null ? "" : a.create_time.Value.ToString("yyyy-MM-dd"),
|
||||
mbom_id_id = a.mbom_id
|
||||
}).ToPagedListAsync((input?.currentPage??1), (input?.pageSize??50));
|
||||
}).ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
|
||||
|
||||
return PageResult<ESopListOutput>.SqlSugarPageResult(list);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<dynamic> GetEntityByMbomProcessId(Dictionary<string, string> dic)
|
||||
public async Task<dynamic?> GetEntityByMbomProcessId(Dictionary<string, string> dic)
|
||||
{
|
||||
string mbomProcessId = dic["mbomProcessId"];
|
||||
if (!string.IsNullOrEmpty(mbomProcessId))
|
||||
{
|
||||
return await _repository.GetFirstAsync(x => x.mbom_process_id == mbomProcessId && x.enabled == 1);
|
||||
}
|
||||
|
||||
return null!;
|
||||
return !string.IsNullOrEmpty(mbomProcessId)
|
||||
? await _repository.GetFirstAsync(x => x.mbom_process_id == mbomProcessId && x.enabled == 1)
|
||||
: (dynamic)null;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
@@ -146,15 +142,15 @@ namespace Tnb.BasicData
|
||||
throw Oops.Bah("已存在该版本");
|
||||
}
|
||||
|
||||
var db = _repository.AsSugarClient();
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
DbResult<bool> result = await db.Ado.UseTranAsync(async () =>
|
||||
{
|
||||
await _repository.UpdateAsync(x => new BasESop()
|
||||
_ = await _repository.UpdateAsync(x => new BasESop()
|
||||
{
|
||||
enabled = 0,
|
||||
}, x => x.mbom_id == input.mbom_id && x.mbom_process_id == input.mbom_process_id);
|
||||
|
||||
BasESop basESop = new BasESop()
|
||||
BasESop basESop = new()
|
||||
{
|
||||
code = input.code,
|
||||
name = input.name,
|
||||
@@ -169,13 +165,9 @@ namespace Tnb.BasicData
|
||||
enabled = 1,
|
||||
};
|
||||
|
||||
await _repository.InsertAsync(basESop);
|
||||
|
||||
_ = await _repository.InsertAsync(basESop);
|
||||
});
|
||||
if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008);
|
||||
|
||||
return result.IsSuccess ? "上传成功" : result.ErrorMessage;
|
||||
|
||||
return !result.IsSuccess ? throw Oops.Oh(ErrorCode.COM1008) : (dynamic)(result.IsSuccess ? "上传成功" : result.ErrorMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,6 @@ using JNPF.Common.Filter;
|
||||
using JNPF.Common.Security;
|
||||
using JNPF.DependencyInjection;
|
||||
using JNPF.DynamicApiController;
|
||||
using JNPF.Systems.Entitys.Permission;
|
||||
using JNPF.Systems.Interfaces.System;
|
||||
using JNPF.VisualDev;
|
||||
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
|
||||
@@ -11,7 +10,6 @@ using Microsoft.AspNetCore.Mvc;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities;
|
||||
using Tnb.BasicData.Entities.Dto;
|
||||
using Tnb.BasicData.Entitys.Dto.BasProcess;
|
||||
using Tnb.BasicData.Interfaces;
|
||||
|
||||
namespace Tnb.BasicData
|
||||
@@ -22,7 +20,7 @@ namespace Tnb.BasicData
|
||||
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
|
||||
[Route("api/[area]/[controller]/[action]")]
|
||||
[OverideVisualDev(ModelId)]
|
||||
public class BasEbomService : IBasEbomService,IOverideVisualDevService,IDynamicApiController, ITransient
|
||||
public class BasEbomService : IBasEbomService, IOverideVisualDevService, IDynamicApiController, ITransient
|
||||
{
|
||||
public const string ModelId = "25487105536805";
|
||||
private readonly ISqlSugarRepository<BasMaterial> _repository;
|
||||
@@ -31,7 +29,7 @@ namespace Tnb.BasicData
|
||||
public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc();
|
||||
|
||||
public BasEbomService(
|
||||
ISqlSugarRepository<BasMaterial> repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService)
|
||||
ISqlSugarRepository<BasMaterial> repository, DataBaseManager dbManager, IDictionaryDataService dictionaryDataService)
|
||||
{
|
||||
_repository = repository;
|
||||
_dbManager = dbManager;
|
||||
@@ -39,7 +37,6 @@ namespace Tnb.BasicData
|
||||
OverideFuncs.GetListAsync = GetList;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 物料清单列表
|
||||
/// </summary>
|
||||
@@ -47,15 +44,15 @@ namespace Tnb.BasicData
|
||||
/// <returns></returns>
|
||||
public async Task<dynamic> GetList(VisualDevModelListQueryInput input)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
Dictionary<string, object>? queryJson = (input==null || string.IsNullOrEmpty(input.queryJson)) ? null : input.queryJson.ToObject<Dictionary<string, object>>();
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
Dictionary<string, object>? queryJson = (input == null || string.IsNullOrEmpty(input.queryJson)) ? null : input.queryJson.ToObject<Dictionary<string, object>>();
|
||||
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.route_id == c.id,
|
||||
})
|
||||
.WhereIF(!string.IsNullOrEmpty(materialInfo),(a,b,c)=>b.code.Contains(materialInfo) || b.name.Contains(materialInfo))
|
||||
.WhereIF(!string.IsNullOrEmpty(materialInfo), (a, b, c) => b.code.Contains(materialInfo) || b.name.Contains(materialInfo))
|
||||
.Select((a, b, c) => new EbomListOutput
|
||||
{
|
||||
id = a.id,
|
||||
@@ -67,10 +64,9 @@ namespace Tnb.BasicData
|
||||
version = a.version,
|
||||
route_id = c.name,
|
||||
route_id_id = c.id,
|
||||
}).ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
|
||||
|
||||
}).ToPagedListAsync((input?.currentPage ?? 1), (input?.pageSize ?? 50));
|
||||
|
||||
return PageResult<EbomListOutput>.SqlSugarPageResult(list);
|
||||
return PageResult<EbomListOutput>.SqlSugarPageResult(list);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -80,8 +76,8 @@ namespace Tnb.BasicData
|
||||
[HttpPost]
|
||||
public async Task<dynamic> GetTree(EbomTreeQueryInput queryInput)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
var dic = await _dictionaryDataService.GetDicByKey(DictConst.MeasurementUnit);
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
Dictionary<string, object> dic = await _dictionaryDataService.GetDicByKey(DictConst.MeasurementUnit);
|
||||
|
||||
// var momDbLink = await _repository.AsSugarClient().Queryable<DbLinkEntity>().FirstAsync(x => x.FullName == DbName.TNBMON);
|
||||
// if (momDbLink != null)
|
||||
@@ -91,14 +87,14 @@ namespace Tnb.BasicData
|
||||
|
||||
if (string.IsNullOrEmpty(queryInput.materialId))
|
||||
{
|
||||
var data = await db.Queryable<BasEbomD>()
|
||||
.LeftJoin<BasEbomH>((a,b)=>a.ebom_id==b.id)
|
||||
.LeftJoin<BasMaterial>((a,b,c)=>a.material_id==c.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<BasMaterial>((a,b,c,d,e,f)=>a.substitute_material_id==f.id)
|
||||
.Where((a,b,c)=>a.ebom_id==queryInput.ebomId)
|
||||
.Select((a,b,c,d,e,f)=>new EbomTreeOutput
|
||||
List<EbomTreeOutput> data = await db.Queryable<BasEbomD>()
|
||||
.LeftJoin<BasEbomH>((a, b) => a.ebom_id == b.id)
|
||||
.LeftJoin<BasMaterial>((a, b, c) => a.material_id == c.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<BasMaterial>((a, b, c, d, e, f) => a.substitute_material_id == f.id)
|
||||
.Where((a, b, c) => a.ebom_id == queryInput.ebomId)
|
||||
.Select((a, b, c, d, e, f) => new EbomTreeOutput
|
||||
{
|
||||
material_id = c.name,
|
||||
material_id_descrip = c.descrip,
|
||||
@@ -112,7 +108,7 @@ namespace Tnb.BasicData
|
||||
route_name = e.name,
|
||||
version = d.version,
|
||||
substitute_material_id = f.name,
|
||||
hasChildren = SqlFunc.Subqueryable<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 =>
|
||||
{
|
||||
it.material_id_unit_id = !string.IsNullOrEmpty(it.material_id_unit_id) ? dic[it.material_id_unit_id].ToString() : "";
|
||||
@@ -121,14 +117,14 @@ namespace Tnb.BasicData
|
||||
}
|
||||
else
|
||||
{
|
||||
var data = await db.Queryable<BasEbomD>()
|
||||
.LeftJoin<BasEbomH>((a,b)=>a.ebom_id==b.id)
|
||||
.LeftJoin<BasMaterial>((a,b,c)=>a.material_id==c.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<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)
|
||||
.Select((a,b,c,d,e,f)=>new EbomTreeOutput
|
||||
List<EbomTreeOutput> data = await db.Queryable<BasEbomD>()
|
||||
.LeftJoin<BasEbomH>((a, b) => a.ebom_id == b.id)
|
||||
.LeftJoin<BasMaterial>((a, b, c) => a.material_id == c.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<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)
|
||||
.Select((a, b, c, d, e, f) => new EbomTreeOutput
|
||||
{
|
||||
material_id = c.name,
|
||||
material_id_descrip = c.descrip,
|
||||
@@ -142,15 +138,13 @@ namespace Tnb.BasicData
|
||||
route_name = e.name,
|
||||
version = d.version,
|
||||
substitute_material_id = f.name,
|
||||
hasChildren = SqlFunc.Subqueryable<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 =>
|
||||
{
|
||||
it.material_id_unit_id = !string.IsNullOrEmpty(it.material_id_unit_id) ? dic[it.material_id_unit_id].ToString() : "";
|
||||
}).ToListAsync();
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -159,10 +153,10 @@ namespace Tnb.BasicData
|
||||
/// <param name="parameters">物料id materialId</param>
|
||||
/// <returns></returns>
|
||||
[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"];
|
||||
var db = _repository.AsSugarClient();
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
|
||||
// var momDbLink = await _repository.AsSugarClient().Queryable<DbLinkEntity>().FirstAsync(x => x.FullName == DbName.TNBMON);
|
||||
// if (momDbLink != null)
|
||||
@@ -171,16 +165,16 @@ namespace Tnb.BasicData
|
||||
// }
|
||||
|
||||
var ebom = await db.Queryable<BasEbomH>()
|
||||
.LeftJoin<BasRouteH>((a,b)=>a.route_id==b.id)
|
||||
.OrderByDescending((a,b)=>a.create_time)
|
||||
.Where((a,b) => a.material_id == materialId)
|
||||
.Select((a,b)=>new
|
||||
.LeftJoin<BasRouteH>((a, b) => a.route_id == b.id)
|
||||
.OrderByDescending((a, b) => a.create_time)
|
||||
.Where((a, b) => a.material_id == materialId)
|
||||
.Select((a, b) => new
|
||||
{
|
||||
a.id,
|
||||
a.version,
|
||||
b.name,
|
||||
}).FirstAsync();
|
||||
return new Dictionary<string,string>()
|
||||
return new Dictionary<string, string>()
|
||||
{
|
||||
["version"] = ebom?.version ?? "",
|
||||
["routeName"] = ebom?.name ?? "",
|
||||
|
||||
@@ -1,15 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Aspose.Cells.Drawing;
|
||||
using JNPF.DependencyInjection;
|
||||
using JNPF.DependencyInjection;
|
||||
using JNPF.DynamicApiController;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities;
|
||||
using Tnb.BasicData.Entities.Enums;
|
||||
using Tnb.BasicData.Interfaces;
|
||||
using Tnb.WarehouseMgr.Entities.Enums;
|
||||
|
||||
@@ -32,19 +25,27 @@ namespace Tnb.BasicData
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[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;
|
||||
}
|
||||
|
||||
|
||||
public async Task<List<BasLocation>> GetLocationInfobyIds(IEnumerable<string> locIds)
|
||||
{
|
||||
if (locIds == null) throw new ArgumentNullException(nameof(locIds));
|
||||
if (!locIds.Any()) throw new ArithmeticException($"parameter locIds.Count is not be empty");
|
||||
var items = await _db.Queryable<BasLocation>().Where(it => locIds.Contains(it.id)).ToListAsync();
|
||||
if (locIds == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(locIds));
|
||||
}
|
||||
|
||||
if (!locIds.Any())
|
||||
{
|
||||
throw new ArithmeticException($"parameter locIds.Count is not be empty");
|
||||
}
|
||||
|
||||
List<BasLocation> items = await _db.Queryable<BasLocation>().Where(it => locIds.Contains(it.id)).ToListAsync();
|
||||
return items;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,14 +21,14 @@ namespace Tnb.BasicData
|
||||
/// </summary>
|
||||
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
|
||||
[Route("api/[area]/[controller]/[action]")]
|
||||
public class BasMaterialService : IBasMaterialService,IDynamicApiController, ITransient
|
||||
public class BasMaterialService : IBasMaterialService, IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly ISqlSugarRepository<BasMaterial> _repository;
|
||||
private readonly DataBaseManager _dbManager;
|
||||
private readonly IDictionaryDataService _dictionaryDataService;
|
||||
|
||||
public BasMaterialService(
|
||||
ISqlSugarRepository<BasMaterial> repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService)
|
||||
ISqlSugarRepository<BasMaterial> repository, DataBaseManager dbManager, IDictionaryDataService dictionaryDataService)
|
||||
{
|
||||
_repository = repository;
|
||||
_dbManager = dbManager;
|
||||
@@ -53,9 +53,9 @@ namespace Tnb.BasicData
|
||||
basMaterial.code += "_复制的请修改";
|
||||
basMaterial.name += "_复制的请修改";
|
||||
|
||||
DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
|
||||
DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
|
||||
{
|
||||
await _repository.InsertAsync(basMaterial);
|
||||
_ = await _repository.InsertAsync(basMaterial);
|
||||
foreach (BasMaterialUnit basMaterialUnit in materialUnits)
|
||||
{
|
||||
basMaterialUnit.id = SnowflakeIdHelper.NextId();
|
||||
@@ -68,12 +68,11 @@ namespace Tnb.BasicData
|
||||
basMaterialIntoFactorySpecification.material_id = newId;
|
||||
}
|
||||
|
||||
await _repository.AsSugarClient().Insertable<BasMaterialUnit>(materialUnits).ExecuteCommandAsync();
|
||||
await _repository.AsSugarClient().Insertable<BasMaterialIntoFactorySpecifications>(materialIntoFactorySpecifications).ExecuteCommandAsync();
|
||||
_ = await _repository.AsSugarClient().Insertable<BasMaterialUnit>(materialUnits).ExecuteCommandAsync();
|
||||
_ = await _repository.AsSugarClient().Insertable<BasMaterialIntoFactorySpecifications>(materialIntoFactorySpecifications).ExecuteCommandAsync();
|
||||
});
|
||||
|
||||
if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008);
|
||||
return result.IsSuccess ? "复制成功" : result.ErrorMessage;
|
||||
return !result.IsSuccess ? throw Oops.Oh(ErrorCode.COM1008) : result.IsSuccess ? "复制成功" : result.ErrorMessage;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -84,14 +83,17 @@ namespace Tnb.BasicData
|
||||
[HttpPost]
|
||||
public async Task<dynamic> GetMaterialSelectInfo(MaterialSelectQueryInput queryInput)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
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();
|
||||
if(ebom!=null && !string.IsNullOrEmpty(ebom.material_id))
|
||||
if (ebom != null && !string.IsNullOrEmpty(ebom.material_id))
|
||||
{
|
||||
ids.Add(ebom.material_id);
|
||||
var result = await db.Queryable<BasMaterial>()
|
||||
}
|
||||
|
||||
SqlSugarPagedList<MaterialSelectOutput> result = await db.Queryable<BasMaterial>()
|
||||
.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)
|
||||
.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
|
||||
{
|
||||
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<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))
|
||||
@@ -132,16 +134,16 @@ namespace Tnb.BasicData
|
||||
[HttpPost]
|
||||
public async Task<dynamic> GetCanCreateSubWorkOrderMaterial(MaterialSelectQueryInput queryInput)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
if (!string.IsNullOrEmpty(queryInput.ebom_id))
|
||||
{
|
||||
List<string> ids = await GetAllChildrenMaterialId(queryInput.ebom_id,0);
|
||||
var result = await db.Queryable<BasMaterial>()
|
||||
List<string> ids = await GetAllChildrenMaterialId(queryInput.ebom_id, 0);
|
||||
SqlSugarPagedList<MaterialSelectOutput> result = await db.Queryable<BasMaterial>()
|
||||
.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)
|
||||
.WhereIF(!string.IsNullOrEmpty(queryInput.material_info), (a, b, c) => a.code.Contains(queryInput.material_info) || a.name.Contains(queryInput.material_info))
|
||||
.WhereIF(!string.IsNullOrEmpty(queryInput.ebom_id), (a, b, c) => ids.Contains(a.id))
|
||||
.Where((a,b,c)=>a.is_create_sub_work_order=="1")
|
||||
.Where((a, b, c) => a.is_create_sub_work_order == "1")
|
||||
.Select((a, b, c) => new MaterialSelectOutput()
|
||||
{
|
||||
id = a.id,
|
||||
@@ -166,11 +168,11 @@ namespace Tnb.BasicData
|
||||
{
|
||||
string types = dic["types"];
|
||||
string[] typeArr = types.Split(",");
|
||||
List<BasMaterial> list = await _repository.AsSugarClient().Queryable<BasMaterial>().Where(x => x.state=="1").ToListAsync();
|
||||
List<BasMaterial> result = new List<BasMaterial>();
|
||||
foreach (var type in typeArr)
|
||||
List<BasMaterial> list = await _repository.AsSugarClient().Queryable<BasMaterial>().Where(x => x.state == "1").ToListAsync();
|
||||
List<BasMaterial> result = new();
|
||||
foreach (string type in typeArr)
|
||||
{
|
||||
result.AddRange(list.Where(x=>x.category_id.Contains(type)));
|
||||
result.AddRange(list.Where(x => x.category_id.Contains(type)));
|
||||
}
|
||||
|
||||
return result;
|
||||
@@ -179,19 +181,19 @@ namespace Tnb.BasicData
|
||||
[HttpPost]
|
||||
public async Task<dynamic> GetMaterialByQueryJson(MaterialQueryInput input)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
Dictionary<string, string>? queryJson = new Dictionary<string, string>();
|
||||
if (input!=null && !string.IsNullOrEmpty(input.queryJson))
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
Dictionary<string, string>? queryJson = new();
|
||||
if (input != null && !string.IsNullOrEmpty(input.queryJson))
|
||||
{
|
||||
queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input?.queryJson ?? "");
|
||||
}
|
||||
|
||||
List<string> typeList = new List<string>();
|
||||
if(!string.IsNullOrEmpty(input!.types))
|
||||
List<string> typeList = new();
|
||||
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")
|
||||
.WhereIF(queryJson != null && queryJson.ContainsKey("name"), x => x.name.Contains(queryJson!["name"]))
|
||||
.WhereIF(queryJson != null && queryJson.ContainsKey("code"), x => x.code.Contains(queryJson!["code"]))
|
||||
@@ -199,20 +201,20 @@ namespace Tnb.BasicData
|
||||
x => x.material_standard!.Contains(queryJson!["material_standard"]))
|
||||
.Select(x => x);
|
||||
|
||||
var list = new List<ISugarQueryable<BasMaterial>>();
|
||||
foreach (var type in typeList)
|
||||
List<ISugarQueryable<BasMaterial>> list = new();
|
||||
foreach (string type in typeList)
|
||||
{
|
||||
list.Add(query.Clone().Where(x=>x.category_id.Contains(type)));
|
||||
list.Add(query.Clone().Where(x => x.category_id.Contains(type)));
|
||||
}
|
||||
|
||||
if (list.Count <= 0)
|
||||
{
|
||||
var result = await query.ToPagedListAsync((input?.currentPage??1), (input?.pageSize??50));
|
||||
SqlSugarPagedList<BasMaterial> result = await query.ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50);
|
||||
return PageResult<BasMaterial>.SqlSugarPageResult(result);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -222,20 +224,28 @@ namespace Tnb.BasicData
|
||||
/// 获取物料清单下所子集物料id
|
||||
/// </summary>
|
||||
/// <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>();
|
||||
List<string> ids = new List<string>();
|
||||
if (index++ > 10) return ids;
|
||||
var list = await _repository.AsSugarClient().Queryable<BasEbomD>().Where(x => x.ebom_id == ebomId)
|
||||
if (string.IsNullOrEmpty(ebomId))
|
||||
{
|
||||
return new List<string>();
|
||||
}
|
||||
|
||||
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();
|
||||
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();
|
||||
ids.AddRange(await GetAllChildrenMaterialId(ebom?.id ?? "",index));
|
||||
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(list);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using JNPF.Common.Core.Manager;
|
||||
using JNPF.Common.Enums;
|
||||
using JNPF.Common.Extension;
|
||||
using JNPF.Common.Filter;
|
||||
using JNPF.Common.Security;
|
||||
using JNPF.DependencyInjection;
|
||||
@@ -11,10 +12,8 @@ using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities;
|
||||
using Tnb.BasicData.Interfaces;
|
||||
using Tnb.BasicData.Entities.Dto;
|
||||
using NPOI.OpenXmlFormats.Dml;
|
||||
using JNPF.Common.Extension;
|
||||
using Tnb.BasicData.Interfaces;
|
||||
|
||||
namespace Tnb.BasicData
|
||||
{
|
||||
@@ -56,10 +55,10 @@ namespace Tnb.BasicData
|
||||
/// <returns></returns>
|
||||
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>>();
|
||||
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.ebom_id == c.id,
|
||||
@@ -75,8 +74,8 @@ namespace Tnb.BasicData
|
||||
ebom_id = c.version,
|
||||
route_id = d.name,
|
||||
route_id_id = c.id,
|
||||
start_time = a.start_time==null ? "" : a.start_time.Value.ToString("yyyy-MM-dd"),
|
||||
end_time = a.end_time==null ? "" : a.end_time.Value.ToString("yyyy-MM-dd"),
|
||||
start_time = a.start_time == null ? "" : a.start_time.Value.ToString("yyyy-MM-dd"),
|
||||
end_time = a.end_time == null ? "" : a.end_time.Value.ToString("yyyy-MM-dd"),
|
||||
is_first = SqlFunc.IIF(a.is_first == 0, "否", "是"),
|
||||
}).ToPagedListAsync(input.currentPage, input.pageSize);
|
||||
|
||||
@@ -90,13 +89,13 @@ namespace Tnb.BasicData
|
||||
/// <returns></returns>
|
||||
public async Task<dynamic> GetInfo(string id)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
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<BasMbomOutput> outputs = await db.Queryable<BasMbomOutput>().Where(x => x.mbom_id == id).ToListAsync();
|
||||
MbomDataOutput mbomDataOutput = new MbomDataOutput();
|
||||
List<MbomProcessOutDto> mbomProcessOutDtos = new List<MbomProcessOutDto>();
|
||||
MbomDataOutput mbomDataOutput = new();
|
||||
List<MbomProcessOutDto> mbomProcessOutDtos = new();
|
||||
|
||||
mbomDataOutput.id = mbom.id;
|
||||
mbomDataOutput.ebom_id = mbom.ebom_id;
|
||||
@@ -158,9 +157,12 @@ namespace Tnb.BasicData
|
||||
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<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)
|
||||
@@ -194,7 +196,7 @@ namespace Tnb.BasicData
|
||||
.Where(x => x.mbom_process_id == id)
|
||||
.Select(x => new
|
||||
{
|
||||
material_id = x.material_id,
|
||||
x.material_id,
|
||||
}).ToListAsync();
|
||||
return result;
|
||||
|
||||
@@ -231,7 +233,7 @@ namespace Tnb.BasicData
|
||||
material_name = b.name,
|
||||
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,
|
||||
version = a.version,
|
||||
a.version,
|
||||
route_id = c.id,
|
||||
route_name = c.name,
|
||||
})
|
||||
@@ -529,7 +531,7 @@ namespace Tnb.BasicData
|
||||
{
|
||||
string mbomId = SnowflakeIdHelper.NextId();
|
||||
string orgId = _userManager.GetUserInfo().Result.organizeId;
|
||||
BasMbom mbom = new BasMbom()
|
||||
BasMbom mbom = new()
|
||||
{
|
||||
id = mbomId,
|
||||
org_id = orgId,
|
||||
@@ -554,15 +556,15 @@ namespace Tnb.BasicData
|
||||
errorCode = ErrorCode.COM1004;
|
||||
throw Oops.Oh(ErrorCode.COM1004);
|
||||
}
|
||||
await _repository.InsertAsync(mbom);
|
||||
List<BasMbomProcess> processes = new List<BasMbomProcess>();
|
||||
List<BasMbomInput> inputs = new List<BasMbomInput>();
|
||||
List<BasMbomOutput> outputs = new List<BasMbomOutput>();
|
||||
_ = await _repository.InsertAsync(mbom);
|
||||
List<BasMbomProcess> processes = new();
|
||||
List<BasMbomInput> inputs = new();
|
||||
List<BasMbomOutput> outputs = new();
|
||||
|
||||
if (mbomSaveDataInput != null && mbomSaveDataInput.processes != null)
|
||||
{
|
||||
int index = 0;
|
||||
foreach (var process in mbomSaveDataInput.processes)
|
||||
int index = 0;
|
||||
foreach (MbomProcessDto? process in mbomSaveDataInput.processes)
|
||||
{
|
||||
string mbomProcessId = SnowflakeIdHelper.NextId();
|
||||
processes.Add(new BasMbomProcess()
|
||||
@@ -586,7 +588,7 @@ namespace Tnb.BasicData
|
||||
|
||||
if (process.inputs != null)
|
||||
{
|
||||
foreach (var input in process.inputs)
|
||||
foreach (BasMbomInput input in process.inputs)
|
||||
{
|
||||
string inputId = SnowflakeIdHelper.NextId();
|
||||
inputs.Add(new BasMbomInput()
|
||||
@@ -605,7 +607,7 @@ namespace Tnb.BasicData
|
||||
|
||||
if (process.outputs != null)
|
||||
{
|
||||
foreach (var output in process.outputs)
|
||||
foreach (BasMbomOutput output in process.outputs)
|
||||
{
|
||||
string outputId = SnowflakeIdHelper.NextId();
|
||||
outputs.Add(new BasMbomOutput()
|
||||
@@ -626,17 +628,17 @@ namespace Tnb.BasicData
|
||||
|
||||
if (processes.Count > 0)
|
||||
{
|
||||
await _repository.AsSugarClient().Insertable<BasMbomProcess>(processes).ExecuteCommandAsync();
|
||||
_ = await _repository.AsSugarClient().Insertable<BasMbomProcess>(processes).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
if (inputs.Count > 0)
|
||||
{
|
||||
await _repository.AsSugarClient().Insertable<BasMbomInput>(inputs).ExecuteCommandAsync();
|
||||
_ = await _repository.AsSugarClient().Insertable<BasMbomInput>(inputs).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
if (outputs.Count > 0)
|
||||
{
|
||||
await _repository.AsSugarClient().Insertable<BasMbomOutput>(outputs).ExecuteCommandAsync();
|
||||
_ = await _repository.AsSugarClient().Insertable<BasMbomOutput>(outputs).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
else//修改
|
||||
@@ -651,7 +653,7 @@ namespace Tnb.BasicData
|
||||
string orgId = _userManager.GetUserInfo().Result.organizeId;
|
||||
if (mbomSaveDataInput != null)
|
||||
{
|
||||
await _repository.UpdateAsync(x => new BasMbom()
|
||||
_ = await _repository.UpdateAsync(x => new BasMbom()
|
||||
{
|
||||
// org_id = orgId,
|
||||
material_id = mbomSaveDataInput.material_id,
|
||||
@@ -670,12 +672,12 @@ namespace Tnb.BasicData
|
||||
}, x => x.id == mbomSaveDataInput.id);
|
||||
}
|
||||
// List<BasMbomProcess> processes = new List<BasMbomProcess>();
|
||||
List<BasMbomInput> inputs = new List<BasMbomInput>();
|
||||
List<BasMbomOutput> outputs = new List<BasMbomOutput>();
|
||||
List<BasMbomInput> inputs = new();
|
||||
List<BasMbomOutput> outputs = new();
|
||||
|
||||
if (mbomSaveDataInput != null && mbomSaveDataInput.processes != null)
|
||||
{
|
||||
foreach (var process in mbomSaveDataInput.processes)
|
||||
foreach (MbomProcessDto? process in mbomSaveDataInput.processes)
|
||||
{
|
||||
string mbomProcessId = process.id;
|
||||
// string mbomProcessId = SnowflakeIdHelper.NextId();
|
||||
@@ -694,7 +696,7 @@ namespace Tnb.BasicData
|
||||
// });
|
||||
|
||||
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.station == process!.station)
|
||||
.SetColumns(x => x.byproduct_status == process!.byproduct_status)
|
||||
@@ -703,7 +705,7 @@ namespace Tnb.BasicData
|
||||
|
||||
if (process!.inputs != null)
|
||||
{
|
||||
foreach (var input in process.inputs)
|
||||
foreach (BasMbomInput input in process.inputs)
|
||||
{
|
||||
string inputId = SnowflakeIdHelper.NextId();
|
||||
inputs.Add(new BasMbomInput()
|
||||
@@ -722,7 +724,7 @@ namespace Tnb.BasicData
|
||||
|
||||
if (process.outputs != null)
|
||||
{
|
||||
foreach (var output in process.outputs)
|
||||
foreach (BasMbomOutput output in process.outputs)
|
||||
{
|
||||
string outputId = SnowflakeIdHelper.NextId();
|
||||
outputs.Add(new BasMbomOutput()
|
||||
@@ -744,9 +746,9 @@ namespace Tnb.BasicData
|
||||
|
||||
if (mbomSaveDataInput != null && !string.IsNullOrEmpty(mbomSaveDataInput.id))
|
||||
{
|
||||
// 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<BasMbomOutput>().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<BasMbomOutput>().Where(x => x.mbom_id == mbomSaveDataInput.id).ExecuteCommandAsync();
|
||||
}
|
||||
// if (processes.Count > 0)
|
||||
// {
|
||||
@@ -755,12 +757,12 @@ namespace Tnb.BasicData
|
||||
|
||||
if (inputs.Count > 0)
|
||||
{
|
||||
await _repository.AsSugarClient().Insertable<BasMbomInput>(inputs).ExecuteCommandAsync();
|
||||
_ = await _repository.AsSugarClient().Insertable<BasMbomInput>(inputs).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
if (outputs.Count > 0)
|
||||
{
|
||||
await _repository.AsSugarClient().Insertable<BasMbomOutput>(outputs).ExecuteCommandAsync();
|
||||
_ = await _repository.AsSugarClient().Insertable<BasMbomOutput>(outputs).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Aop.Api.Domain;
|
||||
using JNPF.Common.Core.Manager;
|
||||
using JNPF.Common.Dtos.VisualDev;
|
||||
using JNPF.Common.Enums;
|
||||
@@ -7,20 +6,15 @@ using JNPF.DependencyInjection;
|
||||
using JNPF.DynamicApiController;
|
||||
using JNPF.FriendlyException;
|
||||
using JNPF.Systems.Entitys.Permission;
|
||||
using JNPF.Systems.Entitys.System;
|
||||
using JNPF.Systems.Interfaces.System;
|
||||
using JNPF.VisualDev;
|
||||
using JNPF.VisualDev.Entitys;
|
||||
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
|
||||
using JNPF.VisualDev.Interfaces;
|
||||
using Mapster;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData;
|
||||
using Tnb.BasicData.Entities;
|
||||
using Tnb.BasicData.Entitys.Dto.BasProcess;
|
||||
using Tnb.BasicData.Interfaces;
|
||||
|
||||
namespace Tnb.BasicData
|
||||
{
|
||||
@@ -64,21 +58,16 @@ namespace Tnb.BasicData
|
||||
/// <returns></returns>
|
||||
private async Task<dynamic> GetList(VisualDevModelListQueryInput input)
|
||||
{
|
||||
var result = new SqlSugarPagedList<ProcessListOutput>();
|
||||
var db = _repository.AsSugarClient();
|
||||
var organize = await db.Queryable<OrganizeEntity>().FirstAsync(it => it.EnCode == input.station_code && it.Category == DictConst.RegionCategoryStationCode);
|
||||
SqlSugarPagedList<ProcessListOutput> result = new();
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
OrganizeEntity organize = await db.Queryable<OrganizeEntity>().FirstAsync(it => it.EnCode == input.station_code && it.Category == DictConst.RegionCategoryStationCode);
|
||||
if (organize != null)
|
||||
{
|
||||
var 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();
|
||||
if (curProcessIds?.Count > 0)
|
||||
{
|
||||
whereExpr = whereExpr.And((a, b) => curProcessIds.Contains(a.id)).Or((a, b) => string.IsNullOrEmpty(b.process_id));
|
||||
}
|
||||
else
|
||||
{
|
||||
whereExpr = whereExpr.And((a, b) => string.IsNullOrEmpty(b.process_id));
|
||||
}
|
||||
Expressionable<BasProcess, BasProcessStation> whereExpr = Expressionable.Create<BasProcess, BasProcessStation>();
|
||||
List<string> curProcessIds = await db.Queryable<BasProcessStation>().Where(it => it.station_id == organize.Id).Select(it => it.process_id).Distinct().ToListAsync();
|
||||
whereExpr = curProcessIds?.Count > 0
|
||||
? 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));
|
||||
result = await db.Queryable<BasProcess>().LeftJoin<BasProcessStation>((a, b) => a.id == b.process_id).Where(whereExpr.ToExpression()).Select(a => new ProcessListOutput
|
||||
{
|
||||
id = a.id,
|
||||
@@ -118,8 +107,8 @@ namespace Tnb.BasicData
|
||||
|
||||
string processId = visualDevModelDataCrInput.data["ReturnIdentity"].ToString() ?? "";
|
||||
|
||||
List<BasProcessStation> list = new List<BasProcessStation>();
|
||||
foreach (var item in (JArray)visualDevModelDataCrInput.data["station"])
|
||||
List<BasProcessStation> list = new();
|
||||
foreach (JToken item in (JArray)visualDevModelDataCrInput.data["station"])
|
||||
{
|
||||
|
||||
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 ? "保存成功" : result.ErrorMessage;
|
||||
return !result.IsSuccess ? throw Oops.Oh(ErrorCode.COM1008) : (dynamic)(result.IsSuccess ? "保存成功" : result.ErrorMessage);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
using JNPF.Common.Core.Manager;
|
||||
using JNPF.DependencyInjection;
|
||||
using JNPF.DynamicApiController;
|
||||
using JNPF.VisualDev.Interfaces;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities;
|
||||
@@ -28,7 +26,7 @@ namespace Tnb.BasicData
|
||||
public async Task<dynamic> Stop(Dictionary<string, string> dic)
|
||||
{
|
||||
string id = dic["id"];
|
||||
await _repository.UpdateAsync(x => new BasPushRuleLog()
|
||||
_ = await _repository.UpdateAsync(x => new BasPushRuleLog()
|
||||
{
|
||||
is_push = 0,
|
||||
}, x => x.biz_id == id);
|
||||
|
||||
@@ -6,8 +6,6 @@ using JNPF.Systems.Interfaces.System;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities;
|
||||
using Tnb.BasicData.Entities.Dto;
|
||||
using Tnb.BasicData.Entitys.Dto.BasProcess;
|
||||
using Tnb.BasicData.Interfaces;
|
||||
using Tnb.EquipMgr.Entities;
|
||||
using Tnb.WarehouseMgr.Entities;
|
||||
@@ -19,14 +17,14 @@ namespace Tnb.BasicData
|
||||
/// </summary>
|
||||
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
|
||||
[Route("api/[area]/[controller]/[action]")]
|
||||
public class BasQrcodeService : IBasQrcodeService,IDynamicApiController, ITransient
|
||||
public class BasQrcodeService : IBasQrcodeService, IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly ISqlSugarRepository<BasMaterial> _repository;
|
||||
private readonly DataBaseManager _dbManager;
|
||||
private readonly IDictionaryDataService _dictionaryDataService;
|
||||
|
||||
public BasQrcodeService(
|
||||
ISqlSugarRepository<BasMaterial> repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService)
|
||||
ISqlSugarRepository<BasMaterial> repository, DataBaseManager dbManager, IDictionaryDataService dictionaryDataService)
|
||||
{
|
||||
_repository = repository;
|
||||
_dbManager = dbManager;
|
||||
@@ -34,22 +32,26 @@ namespace Tnb.BasicData
|
||||
}
|
||||
|
||||
[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"] : "";
|
||||
if (string.IsNullOrEmpty(code)) return null;
|
||||
if (string.IsNullOrEmpty(code))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var result = await _repository.AsSugarClient().Queryable<BasQrcode>()
|
||||
.LeftJoin<OrganizeEntity>((a, b) => a.source_id == b.Id)
|
||||
.LeftJoin<EqpEquipment>((a, b, c) => a.source_id == c.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<WmsCarryH>((a,b,c,d,e,f)=>a.source_id==f.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)
|
||||
.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,
|
||||
source_id = a.source_id,
|
||||
source_name = a.source_name,
|
||||
a.id,
|
||||
a.source_id,
|
||||
a.source_name,
|
||||
org_code = b.EnCode,
|
||||
org_name = b.FullName,
|
||||
equip_code = a.code,
|
||||
@@ -57,27 +59,31 @@ namespace Tnb.BasicData
|
||||
tool_location_code = d.location_code,
|
||||
bas_location_name = e.location_name,
|
||||
bas_location_code = e.location_code,
|
||||
carry_name = f.carry_name,
|
||||
carry_code = f.carry_code,
|
||||
f.carry_name,
|
||||
f.carry_code,
|
||||
}).FirstAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
[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"] : "";
|
||||
if (string.IsNullOrEmpty(code)) return null;
|
||||
if (string.IsNullOrEmpty(code))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var result = await _repository.AsSugarClient().Queryable<BasQrcode>()
|
||||
.LeftJoin<OrganizeEntity>((a, b) => a.source_id == b.Id)
|
||||
.LeftJoin<OrganizeRelationEntity>((a,b,c)=>a.source_id==c.ObjectId && c.ObjectType=="Eqp")
|
||||
.LeftJoin<OrganizeEntity>((a,b,c,d)=>c.OrganizeId==d.Id)
|
||||
.LeftJoin<OrganizeRelationEntity>((a, b, c) => a.source_id == c.ObjectId && c.ObjectType == "Eqp")
|
||||
.LeftJoin<OrganizeEntity>((a, b, c, d) => c.OrganizeId == d.Id)
|
||||
.Where((a, b, c) => a.code == code)
|
||||
.Select((a, b, c,d) => new
|
||||
.Select((a, b, c, d) => new
|
||||
{
|
||||
id = a.id,
|
||||
source_id = a.source_id,
|
||||
source_name = a.source_name,
|
||||
a.id,
|
||||
a.source_id,
|
||||
a.source_name,
|
||||
org_id = b.Id,
|
||||
org_code = b.EnCode,
|
||||
org_name = b.FullName,
|
||||
|
||||
@@ -9,8 +9,8 @@ using JNPF.FriendlyException;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities;
|
||||
using Tnb.BasicData.Interfaces;
|
||||
using Tnb.BasicData.Entities.Dto;
|
||||
using Tnb.BasicData.Interfaces;
|
||||
|
||||
namespace Tnb.BasicData
|
||||
{
|
||||
@@ -19,7 +19,7 @@ namespace Tnb.BasicData
|
||||
/// </summary>
|
||||
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 701)]
|
||||
[Route("api/[area]/[controller]/[action]")]
|
||||
public class BasRouteService : IBasRouteService,IDynamicApiController, ITransient
|
||||
public class BasRouteService : IBasRouteService, IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly ISqlSugarRepository<BasRouteH> _repository;
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace Tnb.BasicData
|
||||
{
|
||||
string id = parameters["id"];
|
||||
|
||||
await _repository.UpdateAsync(x => new BasRouteH()
|
||||
_ = await _repository.UpdateAsync(x => new BasRouteH()
|
||||
{
|
||||
status = "1",
|
||||
}, x => x.id == id);
|
||||
@@ -64,42 +64,41 @@ namespace Tnb.BasicData
|
||||
basRouteH.name += "_复制的请修改";
|
||||
basRouteH.status = "0";
|
||||
|
||||
DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
|
||||
DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
|
||||
{
|
||||
await _repository.InsertAsync(basRouteH);
|
||||
_ = await _repository.InsertAsync(basRouteH);
|
||||
foreach (BasRouteD basRouteD in basRouteDs)
|
||||
{
|
||||
basRouteD.id = SnowflakeIdHelper.NextId();
|
||||
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 ? "复制成功" : result.ErrorMessage;
|
||||
return !result.IsSuccess ? throw Oops.Oh(ErrorCode.COM1008) : result.IsSuccess ? "复制成功" : result.ErrorMessage;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取有效的已发布的工艺路线
|
||||
/// </summary>
|
||||
[HttpPost]
|
||||
public async Task<dynamic> GetValidRouteList([FromBody]VisualDevDataFieldDataListInput pageInput)
|
||||
public async Task<dynamic> GetValidRouteList([FromBody] VisualDevDataFieldDataListInput pageInput)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
var result = await db.Queryable<BasRouteH>()
|
||||
ISqlSugarClient db = _repository.AsSugarClient();
|
||||
SqlSugarPagedList<VaildRouteOutput> result = await db.Queryable<BasRouteH>()
|
||||
.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.end_time>=DateTime.Now)
|
||||
|| (x.end_time==null && x.start_time<=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.end_time == null && x.start_time <= DateTime.Now)
|
||||
|| (x.start_time == null && x.end_time == null)
|
||||
)).Select(x=>new VaildRouteOutput()
|
||||
)).Select(x => new VaildRouteOutput()
|
||||
{
|
||||
id = x.id,
|
||||
code = x.code,
|
||||
name = x.name,
|
||||
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"),
|
||||
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"),
|
||||
}).ToPagedListAsync(pageInput.currentPage, pageInput.pageSize);
|
||||
return PageResult<VaildRouteOutput>.SqlSugarPageResult(result);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$(SolutionDir)\common.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Consts
|
||||
namespace Tnb.EquipMgr.Entities.Consts
|
||||
{
|
||||
public class MoldPlanMaintainStatus
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Consts
|
||||
namespace Tnb.EquipMgr.Entities.Consts
|
||||
{
|
||||
public class MoldUseStatus
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
public class BaseMoldMaintainInput
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
public class CheckItemOutput
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 根据模具ID、计划ID获取,保养组及项目信息
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
public class ClosedownEndListOutput
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Tnb.EquipMgr.Entities.Dto
|
||||
public string execute_time { get; set; }
|
||||
public string repeat_user_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 repeat_time { get; set; }
|
||||
public string last_execute_time { get; set; }
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace Tnb.EquipMgr.Entities.Dto
|
||||
public string spot_record_date_time { get; set; }
|
||||
public string repeat_user_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 repeat_time { get; set; }
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace Tnb.EquipMgr.Entities.Dto
|
||||
public string? attachment { get; set; }
|
||||
public string? create_id { get; set; }
|
||||
public string? create_id_id { get; set; }
|
||||
public string? create_time { get; set; }
|
||||
public string? create_time { get; set; }
|
||||
public string? equip_id { get; set; }
|
||||
public string? equip_id_id { get; set; }
|
||||
public string? file_name { get; set; }
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 设备列表输出类
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
public class MaintainInfoQueryinput
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 生成保养计划输入参数
|
||||
|
||||
@@ -1,11 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using NPOI.HSSF.Record.Chart;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 保养计划模具列表输出参数
|
||||
|
||||
@@ -8,6 +8,6 @@ namespace Tnb.EquipMgr.Entities.Dto
|
||||
|
||||
public string? repeat_remark { get; set; }
|
||||
|
||||
public List<Dictionary<string,string>>? details { get; set; }
|
||||
public List<Dictionary<string, string>>? details { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 保养规则关联模具列表输出参数
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 修改维修单任务状态输入参数
|
||||
@@ -18,6 +12,6 @@ namespace Tnb.EquipMgr.Entities.Dto
|
||||
/// <summary>
|
||||
/// 维修单状态 DWX(待维修)、WXZ(维修中)、YWC(已维修)
|
||||
/// </summary>
|
||||
public string status { get; set; }
|
||||
public string status { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 物料列表输出类
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
public class RelevanceMoldListOutput
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 模具保养删除参数
|
||||
|
||||
@@ -1,15 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 关联保养组与模具输入参数
|
||||
/// </summary>
|
||||
public class MoldMaintainGroupItemRelationInput :BaseMoldMaintainInput
|
||||
public class MoldMaintainGroupItemRelationInput : BaseMoldMaintainInput
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 模具保养项输入参数
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 模具保养项列表输出
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 模具保养计划执行查询输出参数
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 模具保养执行输入参数
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
public class MoldMaintainUpInput
|
||||
{
|
||||
@@ -15,6 +9,6 @@ namespace Tnb.EquipMgr.Entities.Dto
|
||||
/// <summary>
|
||||
/// 维修状态
|
||||
/// </summary>
|
||||
public string status{ get; set; }
|
||||
public string status { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 模具规则选择列表输出类
|
||||
|
||||
@@ -1,11 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
public class PadMainListOutput
|
||||
{
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using JNPF.Common.Filter;
|
||||
using JNPF.Common.Filter;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 模具保养计划制定-计划关联模具输入参数
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 模具规则定义,关键模具输入参数
|
||||
|
||||
@@ -10,6 +10,6 @@ namespace Tnb.EquipMgr.Entities.Dto
|
||||
|
||||
public string? result_remark { get; set; }
|
||||
|
||||
public List<Dictionary<string,string>>? details { get; set; }
|
||||
public List<Dictionary<string, string>>? details { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities
|
||||
namespace Tnb.EquipMgr.Entities
|
||||
{
|
||||
public class ToolInput
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
public class ToolMoldInput
|
||||
{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities;
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using SqlSugar;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities
|
||||
{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
using Yitter.IdGenerator;
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities;
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities;
|
||||
@@ -17,6 +15,6 @@ public partial class ToolMolds
|
||||
/// <summary>
|
||||
/// 库位编码
|
||||
/// </summary>
|
||||
[SugarColumn(IsIgnore =true)]
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public string location_code { get; set; }
|
||||
}
|
||||
|
||||
@@ -1,24 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Enums
|
||||
namespace Tnb.EquipMgr.Entities.Enums
|
||||
{
|
||||
public enum MaintainStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// 待维修
|
||||
/// </summary>
|
||||
DWX=1,
|
||||
DWX = 1,
|
||||
/// <summary>
|
||||
/// 维修中
|
||||
/// </summary>
|
||||
WXZ=2,
|
||||
WXZ = 2,
|
||||
/// <summary>
|
||||
/// 已完成
|
||||
/// </summary>
|
||||
YWC=4,
|
||||
YWC = 4,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using Mapster;
|
||||
using Tnb.EquipMgr.Entities.Dto;
|
||||
using Tnb.EquipMgr.Entities;
|
||||
|
||||
namespace Tnb.EquipMgr.Entities.Mapper
|
||||
{
|
||||
@@ -14,7 +13,7 @@ namespace Tnb.EquipMgr.Entities.Mapper
|
||||
.Map(dest => dest.mold_id, src => src.id);
|
||||
config.ForType<ToolMolds, MaintainPlanMoldLstOutput>()
|
||||
.Map(dest => dest.mold_id, src => src.id);
|
||||
//.Map(dest=>dest.mold_name,src=>src.mold_name);
|
||||
//.Map(dest=>dest.mold_name,src=>src.mold_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$(SolutionDir)\common.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Tnb.EquipMgr.Entities.Dto;
|
||||
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using JNPF.Common.Dtos.VisualDev;
|
||||
using Tnb.EquipMgr.Entities.Dto;
|
||||
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
|
||||
@@ -10,37 +10,37 @@ namespace Tnb.EquipMgr.Interfaces
|
||||
/// 维修作废
|
||||
/// </summary>
|
||||
/// <param name="dic"></param>
|
||||
public Task<string> Repeal(Dictionary<string,string> dic);
|
||||
public Task<string> Repeal(Dictionary<string, string> dic);
|
||||
|
||||
/// <summary>
|
||||
/// 维修关闭
|
||||
/// </summary>
|
||||
/// <param name="dic"></param>
|
||||
public Task<string> Close(Dictionary<string,string> dic);
|
||||
public Task<string> Close(Dictionary<string, string> dic);
|
||||
|
||||
/// <summary>
|
||||
/// 维修指派
|
||||
/// </summary>
|
||||
/// <param name="dic"></param>
|
||||
public Task<string> Assign(Dictionary<string,string> dic);
|
||||
public Task<string> Assign(Dictionary<string, string> dic);
|
||||
|
||||
/// <summary>
|
||||
/// 维修接收
|
||||
/// </summary>
|
||||
/// <param name="dic"></param>
|
||||
public Task<string> Receive(Dictionary<string,string> dic);
|
||||
public Task<string> Receive(Dictionary<string, string> dic);
|
||||
|
||||
/// <summary>
|
||||
/// 维修拒绝
|
||||
/// </summary>
|
||||
/// <param name="dic"></param>
|
||||
public Task<string> Refuse(Dictionary<string,string> dic);
|
||||
public Task<string> Refuse(Dictionary<string, string> dic);
|
||||
|
||||
/// <summary>
|
||||
/// 维修信息
|
||||
/// </summary>
|
||||
/// <param name="dic"></param>
|
||||
public Task<EqpRepairApply> GetInfo(Dictionary<string,string> dic);
|
||||
public Task<EqpRepairApply> GetInfo(Dictionary<string, string> dic);
|
||||
|
||||
/// <summary>
|
||||
/// 维修登记
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Tnb.EquipMgr.Interfaces
|
||||
/// 获取外修申请信息
|
||||
/// </summary>
|
||||
/// <param name="dic"></param>
|
||||
public Task<EqpRepairOutApply> GetInfo(Dictionary<string,string> dic);
|
||||
public Task<EqpRepairOutApply> GetInfo(Dictionary<string, string> dic);
|
||||
|
||||
/// <summary>
|
||||
/// 外修申请
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using JNPF.Common.Dtos.VisualDev;
|
||||
using Tnb.EquipMgr.Entities.Dto;
|
||||
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace Tnb.EquipMgr.Interfaces
|
||||
/// 获取产线和注塑挤出设备树
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public Task<dynamic> GetWorklineAndEquipTree(Dictionary<string,string> dic);
|
||||
public Task<dynamic> GetWorklineAndEquipTree(Dictionary<string, string> dic);
|
||||
|
||||
/// <summary>
|
||||
/// 根据二维码查设备
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// 目录库房服务接口
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// 模具库位服务接口
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// 模具保养项目组接口
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
{
|
||||
public interface IToolMoldMaintainPlanRunService
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
{
|
||||
public interface IToolMoldMaintainPlanService
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// 设备保养规则定义
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Tnb.EquipMgr.Entities;
|
||||
using Tnb.EquipMgr.Entities;
|
||||
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Tnb.EquipMgr.Entities.Dto;
|
||||
using Tnb.EquipMgr.Entities.Dto;
|
||||
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
{
|
||||
|
||||
@@ -1,12 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Tnb.EquipMgr.Entities;
|
||||
using Tnb.EquipMgr.Entities.Dto;
|
||||
using Tnb.ProductionMgr.Entities.Dto;
|
||||
|
||||
namespace Tnb.EquipMgr.Interfaces
|
||||
{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$(SolutionDir)\common.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
using JNPF.Common.Core.Manager;
|
||||
using JNPF.Common.Enums;
|
||||
using JNPF.Common.Filter;
|
||||
using JNPF.Common.Security;
|
||||
using JNPF.DependencyInjection;
|
||||
using JNPF.DynamicApiController;
|
||||
using JNPF.FriendlyException;
|
||||
using JNPF.Systems.Entitys.Permission;
|
||||
using JNPF.Systems.Entitys.System;
|
||||
using JNPF.VisualDev;
|
||||
@@ -16,7 +13,6 @@ using SqlSugar;
|
||||
using Tnb.BasicData;
|
||||
using Tnb.EquipMgr.Entities;
|
||||
using Tnb.EquipMgr.Entities.Dto;
|
||||
using Tnb.EquipMgr.Interfaces;
|
||||
|
||||
namespace Tnb.EquipMgr
|
||||
{
|
||||
@@ -26,7 +22,7 @@ namespace Tnb.EquipMgr
|
||||
[ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)]
|
||||
[Route("api/[area]/[controller]/[action]")]
|
||||
[OverideVisualDev(ModuleId)]
|
||||
public class AppEqpRepairApplyService : IOverideVisualDevService,IDynamicApiController, ITransient
|
||||
public class AppEqpRepairApplyService : IOverideVisualDevService, IDynamicApiController, ITransient
|
||||
{
|
||||
private const string ModuleId = "28621611210261";
|
||||
private readonly ISqlSugarRepository<EqpRepairApply> _repository;
|
||||
@@ -51,34 +47,34 @@ namespace Tnb.EquipMgr
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
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 name = queryJson!=null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : "";
|
||||
string code = queryJson != null && queryJson.ContainsKey("code") ? queryJson["code"].ToString() : "";
|
||||
string name = queryJson != null && queryJson.ContainsKey("name") ? queryJson["name"].ToString() : "";
|
||||
string userId = _userManager.UserId;
|
||||
var result = await db.Queryable<EqpRepairApply>()
|
||||
.LeftJoin<EqpEquipment>((a, b) => a.equip_id == b.id)
|
||||
.LeftJoin<UserEntity>((a, b, c) => a.apply_user_id == c.Id)
|
||||
.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<DictionaryTypeEntity>((a, b, c, d) => d.EnCode == DictConst.RepairStatus)
|
||||
.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("name"), (a, b, c) => a.name.Contains(name))
|
||||
.Where((a, b, c) => a.repairer_id == userId)
|
||||
.Where((a, b, c) => a.status == "2" || a.status=="3")
|
||||
.Select((a, b, c,d,e) => new PdaRepairApplyListOutput
|
||||
.Where((a, b, c) => a.status == "2" || a.status == "3")
|
||||
.Select((a, b, c, d, e) => new PdaRepairApplyListOutput
|
||||
{
|
||||
id = a.id,
|
||||
code = a.code,
|
||||
name = a.name,
|
||||
equip_id = b.code+"/"+b.name,
|
||||
equip_id = b.code + "/" + b.name,
|
||||
equip_id_id = a.equip_id,
|
||||
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 ? "否" : "是",
|
||||
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 ? "否" : "是",
|
||||
description = a.description,
|
||||
status = e.FullName,
|
||||
apply_user_id = SqlFunc.IsNull(c.RealName,"异常停机"),
|
||||
apply_user_id = SqlFunc.IsNull(c.RealName, "异常停机"),
|
||||
apply_user_id_id = a.create_id,
|
||||
// repairer_id = c.RealName,
|
||||
// repairer_id_id = a.repairer_id,
|
||||
}).ToPagedListAsync(input.currentPage,input.pageSize);
|
||||
}).ToPagedListAsync(input.currentPage, input.pageSize);
|
||||
|
||||
return PageResult<PdaRepairApplyListOutput>.SqlSugarPageResult(result);
|
||||
}
|
||||
@@ -90,7 +86,7 @@ namespace Tnb.EquipMgr
|
||||
/// <param name="dic"></param>
|
||||
/// <returns></returns>
|
||||
[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"] : "";
|
||||
if (string.IsNullOrEmpty(id)) return null;
|
||||
@@ -106,7 +102,7 @@ namespace Tnb.EquipMgr
|
||||
equip_id = a.equip_id,
|
||||
equip_code = b.code,
|
||||
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,
|
||||
description = a.description,
|
||||
status = a.status,
|
||||
|
||||
@@ -1,18 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Linq.Expressions;
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Enums;
|
||||
using JNPF.Common.Security;
|
||||
using JNPF.Common.Extension;
|
||||
using JNPF.FriendlyException;
|
||||
using Mapster;
|
||||
using SqlSugar;
|
||||
using Tnb.EquipMgr.Entities.Dto;
|
||||
using Tnb.EquipMgr.Entities;
|
||||
using Mapster;
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Extension;
|
||||
|
||||
namespace Tnb.EquipMgr
|
||||
{
|
||||
@@ -75,7 +68,7 @@ namespace Tnb.EquipMgr
|
||||
var itemIds = await _db.Queryable<TRelaction>().Where(masterFilterExp).Select(masterSelector).ToListAsync();
|
||||
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>>();
|
||||
}
|
||||
return list;
|
||||
|
||||
@@ -6,10 +6,10 @@ using JNPF.Systems.Entitys.Permission;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData;
|
||||
using Tnb.EquipMgr.Entities;
|
||||
using Tnb.EquipMgr.Entities.Dto;
|
||||
using Tnb.EquipMgr.Interfaces;
|
||||
using Tnb.BasicData;
|
||||
|
||||
namespace Tnb.EquipMgr
|
||||
{
|
||||
@@ -34,29 +34,29 @@ namespace Tnb.EquipMgr
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
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);
|
||||
}
|
||||
var result = await db.Queryable<EqpDaq>()
|
||||
.LeftJoin<UserEntity>((a,b)=>a.create_id==b.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("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"]))
|
||||
.Select((a,b) => new EquipDaqQueryOutput
|
||||
.LeftJoin<UserEntity>((a, b) => a.create_id == b.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("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"]))
|
||||
.Select((a, b) => new EquipDaqQueryOutput
|
||||
{
|
||||
id = a.id,
|
||||
data_source = a.data_source,
|
||||
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,
|
||||
enabled = a.enabled==1 ? "是" : "否",
|
||||
enabled = a.enabled == 1 ? "是" : "否",
|
||||
equip_id = a.equip_id,
|
||||
label_name = a.label_name,
|
||||
label_point = a.label_point,
|
||||
remark = a.remark
|
||||
}).ToPagedListAsync((input?.currentPage??1), (input?.pageSize??50));
|
||||
}).ToPagedListAsync((input?.currentPage ?? 1), (input?.pageSize ?? 50));
|
||||
|
||||
return PageResult<EquipDaqQueryOutput>.SqlSugarPageResult(result);
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user