This commit is contained in:
qianjiawei
2023-11-16 13:36:28 +08:00
172 changed files with 1189 additions and 10334 deletions

View File

@@ -48,6 +48,10 @@ public static class DictConst
/// 包装工单
/// </summary>
public const string PrdMoTypeBZ = "25019191681045";
/// <summary>
/// 物料分类
/// </summary>
public const string MaterialCatagoryID = "24882163283733";
#endregion

View File

@@ -0,0 +1,72 @@
using JNPF.Common.Contracts;
using JNPF.Common.Security;
using SqlSugar;
namespace Tnb.BasicData.Entities;
/// <summary>
/// 区域物料设定
/// </summary>
[SugarTable("bas_region_mat")]
public partial class BasRegionMat : BaseEntity<string>
{
public BasRegionMat()
{
id = SnowflakeIdHelper.NextId();
}
/// <summary>
/// 所属组织
/// </summary>
public string? org_id { get; set; }
/// <summary>
/// 区域ID
/// </summary>
public string region_id { get; set; } = string.Empty;
/// <summary>
/// 区域代码
/// </summary>
public string region_code { get; set; } = string.Empty;
/// <summary>
/// 物料分类
/// </summary>
public string material_type { get; set; } = string.Empty;
/// <summary>
/// 备注
/// </summary>
public string? remark { get; set; }
/// <summary>
/// 创建用户
/// </summary>
public string create_id { get; set; } = string.Empty;
/// <summary>
/// 创建时间
/// </summary>
public DateTime create_time { get; set; } = DateTime.Now;
/// <summary>
/// 修改用户
/// </summary>
public string? modify_id { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public DateTime? modify_time { get; set; }
/// <summary>
/// 扩展字段
/// </summary>
public string? extras { get; set; }
/// <summary>
/// 时间戳(用于并发控制)
/// </summary>
public DateTime? timestamp { get; set; }
}

View File

@@ -131,6 +131,55 @@ namespace Tnb.BasicData
mbomDataOutput.processes = mbomProcessOutDtos;
return mbomDataOutput;
}
/// <summary>
/// 复制生产bom
/// </summary>
/// <param name="parameters">物料id id</param>
[HttpPost]
public async Task<string> Copy(Dictionary<string, string> parameters)
{
string id = parameters["id"];
var db = _repository.AsSugarClient();
BasMbom basMbom = await _repository.GetByIdAsync(id);
List<BasMbomProcess> mbomProcesses = await db.Queryable<BasMbomProcess>().Where(x => x.mbom_id == id).ToListAsync();
List<BasMbomInput> mbomInputs = await db.Queryable<BasMbomInput>().Where(x => x.mbom_id == id).ToListAsync();
List<BasMbomOutput> mbomOutputs = await db.Queryable<BasMbomOutput>().Where(x => x.mbom_id == id).ToListAsync();
string newId = SnowflakeIdHelper.NextId();
basMbom.id = newId;
basMbom.version += "_复制的请修改";
DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
{
_ = await _repository.InsertAsync(basMbom);
foreach (BasMbomProcess item in mbomProcesses)
{
item.id = SnowflakeIdHelper.NextId();
item.mbom_id = newId;
}
foreach (BasMbomInput item in mbomInputs)
{
item.id = SnowflakeIdHelper.NextId();
item.mbom_id = newId;
}
foreach (BasMbomOutput item in mbomOutputs)
{
item.id = SnowflakeIdHelper.NextId();
item.mbom_id = newId;
}
if(mbomProcesses!=null && mbomProcesses.Count>0) _ = await db.Insertable<BasMbomProcess>(mbomProcesses).ExecuteCommandAsync();
if(mbomInputs!=null && mbomInputs.Count>0) _ = await db.Insertable<BasMbomInput>(mbomInputs).ExecuteCommandAsync();
if(mbomOutputs!=null && mbomOutputs.Count>0) _ = await db.Insertable<BasMbomOutput>(mbomOutputs).ExecuteCommandAsync();
});
return !result.IsSuccess ? throw Oops.Oh(ErrorCode.COM1008) : result.IsSuccess ? "复制成功" : result.ErrorMessage;
}
/// <summary>

View File

@@ -0,0 +1,99 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Aspose.Cells.Drawing;
using DingTalk.Api.Request;
using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Extension;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.FriendlyException;
using JNPF.Systems.Interfaces.System;
using JNPF.VisualDev;
using JNPF.VisualDev.Entitys;
using JNPF.VisualDev.Interfaces;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Tnb.BasicData.Entities;
namespace Tnb.BasicData
{
/// <summary>
/// 区域物料设定
/// </summary>
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 701)]
[Route("api/[area]/[controller]/[action]")]
[OverideVisualDev(ModuleId)]
public class BasRegionMatService : IOverideVisualDevService, IDynamicApiController, ITransient
{
private const string ModuleId = "26187428200229";
private readonly ISqlSugarClient _db;
private readonly IRunService _runService;
private readonly IVisualDevService _visualDevService;
private readonly IDictionaryDataService _dataDictionaryService;
private static Dictionary<string, object> s_materialCategoryMap = new();
public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc();
public BasRegionMatService(ISqlSugarRepository<BasRegionMat> repo,
IRunService runService, IVisualDevService visualDevService,
IDictionaryDataService dataDictionaryService
)
{
_db = repo.AsSugarClient();
_runService = runService;
_visualDevService = visualDevService;
_dataDictionaryService = dataDictionaryService;
OverideFuncs.CreateAsync = CreateAsync;
}
private async Task<dynamic> CreateAsync(VisualDevModelDataCrInput input)
{
Task<int> respTask = Task.FromResult(1);
try
{
await _db.Ado.BeginTranAsync();
string? regionCode = null, materialType = null;
if (input.data.ContainsKey(nameof(BasRegionMat.region_code)) && input.data[nameof(BasRegionMat.region_code)].IsNotEmptyOrNull())
{
regionCode = input.data[nameof(BasRegionMat.region_code)].ToString();
}
if (input.data.ContainsKey(nameof(BasRegionMat.material_type)) && input.data[nameof(BasRegionMat.material_type)].IsNotEmptyOrNull())
{
materialType = input.data[nameof(BasRegionMat.material_type)].ToString();
}
var blTrueAll = new List<bool> { regionCode.IsNullOrWhiteSpace(), materialType.IsNullOrWhiteSpace() };
if (blTrueAll.All(b => !b))
{
if (s_materialCategoryMap.Count == 0)
{
s_materialCategoryMap = await _dataDictionaryService.GetDictionaryByTypeId(DictConst.MaterialCatagoryID);
}
var regionMat = await _db.Queryable<BasRegionMat>().FirstAsync(it => it.region_code == regionCode && it.material_type == materialType);
if (regionMat != null)
{
throw new AppFriendlyException($"区域:【{regionCode}】,物料:【{s_materialCategoryMap[materialType]?.ToString()}】已存在", 500);
}
}
await _db.Ado.CommitTranAsync();
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleId, true);
await _runService.Create(templateEntity, input);
}
catch (Exception)
{
respTask = Task.FromResult(0);
await _db.Ado.RollbackTranAsync();
throw;
}
return await respTask;
}
}
}

View File

@@ -2,7 +2,7 @@
<PropertyGroup>
<SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir>
<LangVersion>latest</LangVersion>
<NoWarn>$(NoWarn);CS1570;CS1587;CS1591;CS8601;CS8602;CS8603;CS8618;</NoWarn>
<NoWarn>$(NoWarn);CS1570;CS1587;CS1591;</NoWarn>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>

View File

@@ -59,11 +59,12 @@ namespace Tnb.ProductionMgr
{
Dictionary<string, string>? queryJson = !string.IsNullOrEmpty(input.queryJson) ? Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson) : new Dictionary<string, string>();
string moCode = queryJson.ContainsKey("mo_task_code") ? queryJson["mo_task_code"].ToString() : "";
List<PrdMoTaskTreeOutput> list = await _repository.AsSugarClient().Queryable<PrdMoTask>()
var list = await _repository.AsSugarClient().Queryable<PrdMoTask>()
.LeftJoin<BasMaterial>((a, b) => a.material_id == b.id)
.LeftJoin<ToolMolds>((a, b, c) => a.mold_id == c.id)
.LeftJoin<EqpEquipment>((a, b, c, d) => a.eqp_id == d.id)
.WhereIF(!string.IsNullOrEmpty(moCode), (a, b, c, d) => a.mo_task_code!.Contains(moCode))
.Where(a=>string.IsNullOrEmpty(a.parent_id))
.Select((a, b, c, d) => new PrdMoTaskTreeOutput()
{
id = a.id,
@@ -78,20 +79,20 @@ namespace Tnb.ProductionMgr
estimated_start_date = a.estimated_start_date!.ToString(),
estimated_end_date = a.estimated_end_date.ToString(),
create_time = a.create_time.ToString()
}).ToListAsync();
List<PrdMoTaskTreeOutput> treeList = list.ToTree();
treeList = treeList.Skip((input.currentPage - 1) * input.pageSize).Take(input.pageSize).ToList();
SqlSugarPagedList<PrdMoTaskTreeOutput> pagedList = new()
{
list = treeList,
pagination = new Pagination
{
CurrentPage = input.currentPage,
PageSize = input.pageSize,
Total = treeList.Count
}
};
return PageResult<PrdMoTaskTreeOutput>.SqlSugarPageResult(pagedList);
}).ToPagedListAsync(input.currentPage, input.pageSize);
// List<PrdMoTaskTreeOutput> treeList = list.ToTree();
// treeList = treeList.Skip((input.currentPage - 1) * input.pageSize).Take(input.pageSize).ToList();
// SqlSugarPagedList<PrdMoTaskTreeOutput> pagedList = new()
// {
// list = treeList,
// pagination = new Pagination
// {
// CurrentPage = input.currentPage,
// PageSize = input.pageSize,
// Total = treeList.Count
// }
// };
return PageResult<PrdMoTaskTreeOutput>.SqlSugarPageResult(list);
}
[HttpPost]

View File

@@ -109,10 +109,31 @@ namespace Tnb.ProductionMgr
private async Task<dynamic> GetList(VisualDevModelListQueryInput input)
{
ISqlSugarClient db = _repository.AsSugarClient();
Dictionary<string, string>? queryJson = !string.IsNullOrEmpty(input.queryJson) ? Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson) : new Dictionary<string, string>();
Dictionary<string, object>? queryJson = !string.IsNullOrEmpty(input.queryJson) ? Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, object>>(input.queryJson) : new Dictionary<string, object>();
string moCode = queryJson.ContainsKey("mo_code") ? queryJson["mo_code"].ToString() : "";
string moStatus = queryJson.ContainsKey("mo_status") ? queryJson["mo_status"].ToString() : "";
string combineMoCode = queryJson.ContainsKey("combine_mo_code") ? queryJson["combine_mo_code"].ToString() : "";
string mo_type = queryJson.ContainsKey("mo_type") ? queryJson["mo_type"].ToString() : "";
string mo_source = queryJson.ContainsKey("mo_source") ? queryJson["mo_source"].ToString() : "";
DateTime[] plan_start_date = queryJson.ContainsKey("plan_start_date") ? queryJson["plan_start_date"].ToObject<long[]>().Select(x => DateTimeOffset.FromUnixTimeSeconds(x / 1000).ToLocalTime().DateTime).ToArray() : null;
DateTime[] plan_end_date = queryJson.ContainsKey("plan_end_date") ? queryJson["plan_end_date"].ToObject<long[]>().Select(x => DateTimeOffset.FromUnixTimeSeconds(x / 1000).ToLocalTime().DateTime).ToArray() : null;
DateTime? s_s_date = null;
DateTime? s_e_date = null;
DateTime? e_s_date = null;
DateTime? e_e_date = null;
if (plan_start_date != null && plan_start_date.Length == 2)
{
s_s_date = plan_start_date[0];
s_e_date = plan_start_date[1];
}
if (plan_end_date != null && plan_end_date.Length == 2)
{
e_s_date = plan_end_date[0];
e_e_date = plan_end_date[1];
}
SqlSugarPagedList<PrdMoListOuput> result = await db.Queryable<PrdMo>()
.LeftJoin<BasMaterial>((a, b) => a.material_id == b.id)
.LeftJoin<DictionaryTypeEntity>((a, b, c) => c.EnCode == DictConst.MeasurementUnit)
@@ -123,6 +144,10 @@ namespace Tnb.ProductionMgr
.WhereIF(!string.IsNullOrEmpty(combineMoCode),
(a, b, c, d, e) => a.combine_mo_code.Contains(combineMoCode))
.WhereIF(!string.IsNullOrEmpty(moStatus), (a, b, c, d, e) => a.mo_status == moStatus)
.WhereIF(!string.IsNullOrEmpty(mo_type), (a, b, c, d, e) => a.mo_type == mo_type)
.WhereIF(!string.IsNullOrEmpty(mo_source), (a, b, c, d, e) => a.mo_source == mo_source)
.WhereIF(plan_start_date!=null && plan_start_date.Length==2,a=>a.plan_start_date>=s_s_date && a.plan_start_date<=s_e_date)
.WhereIF(plan_end_date!=null && plan_end_date.Length==2,a=>a.plan_end_date>=e_s_date && a.plan_end_date<=e_e_date)
.Where(a => SqlFunc.IsNullOrEmpty(a.parent_id))
.OrderByDescending(a => a.create_time)
.Select((a, b, c, d, e, f) => new PrdMoListOuput

View File

@@ -158,14 +158,17 @@ Global
{9FA1FB84-71AB-42A7-9570-F856A4B1EBAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9FA1FB84-71AB-42A7-9570-F856A4B1EBAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9FA1FB84-71AB-42A7-9570-F856A4B1EBAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9FA1FB84-71AB-42A7-9570-F856A4B1EBAB}.Release|Any CPU.Build.0 = Release|Any CPU
{9FA1FB84-71AB-42A7-9570-F856A4B1EBAB}.tianyi|Any CPU.ActiveCfg = tianyi|Any CPU
{135D0C0A-9B95-45F2-BE5F-01286F6BB234}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{135D0C0A-9B95-45F2-BE5F-01286F6BB234}.Debug|Any CPU.Build.0 = Debug|Any CPU
{135D0C0A-9B95-45F2-BE5F-01286F6BB234}.Release|Any CPU.ActiveCfg = Release|Any CPU
{135D0C0A-9B95-45F2-BE5F-01286F6BB234}.Release|Any CPU.Build.0 = Release|Any CPU
{135D0C0A-9B95-45F2-BE5F-01286F6BB234}.tianyi|Any CPU.ActiveCfg = tianyi|Any CPU
{D1135D42-7CD0-4579-82B3-D2B121FCE954}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D1135D42-7CD0-4579-82B3-D2B121FCE954}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D1135D42-7CD0-4579-82B3-D2B121FCE954}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D1135D42-7CD0-4579-82B3-D2B121FCE954}.Release|Any CPU.Build.0 = Release|Any CPU
{D1135D42-7CD0-4579-82B3-D2B121FCE954}.tianyi|Any CPU.ActiveCfg = tianyi|Any CPU
{8D3E0381-4B3D-4F44-81C8-535E28418A1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8D3E0381-4B3D-4F44-81C8-535E28418A1B}.Debug|Any CPU.Build.0 = Debug|Any CPU

View File

@@ -195,4 +195,9 @@ public class ModuleConsts
/// 模块标识-在库物料维护
/// </summary>
public const string MODULE_WMSINSTKMIN_ID = "27124095468309";
/// <summary>
/// 模块标识-区域物料设定
/// </summary>
public const string MODULE_BASREGIONMAT_ID = "26187428200229";
}

View File

@@ -265,5 +265,7 @@
/// 盘点任务计算状态-未结算
/// </summary>
public const string CLOSINGSTATUS_WJS_ID = "27674058079509";
}
}

View File

@@ -44,10 +44,6 @@ public partial class WmsElevatorH : BaseEntity<string>
/// </summary>
public string elevator_group { get; set; } = string.Empty;
/// <summary>
/// 状态
/// </summary>
public int status { get; set; }
/// <summary>
/// 任务数量

View File

@@ -59,4 +59,11 @@ public partial class WmsElevatorH
/// </summary>
[SugarColumn(IsIgnore = true)]
public string device_id { get; set; }
/// <summary>
/// 状态
/// </summary>
[SugarColumn(ColumnName = "status")]
public int enable_mark { get; set; }
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JNPF.VisualDev;
namespace Tnb.WarehouseMgr
{
/// <summary>
/// 区域物料设定
/// </summary>
[OverideVisualDev(ModuleConsts.MODULE_BASREGIONMAT_ID)]
public class BasRegionMatService :BaseWareHouseService
{
}
}

View File

@@ -2,6 +2,7 @@
using System.Runtime.InteropServices;
using System.Security.Claims;
using JNPF;
using JNPF.Common.Contracts;
using JNPF.Common.Core.Manager;
using JNPF.Common.Enums;
using JNPF.Common.Extension;
@@ -300,6 +301,8 @@ namespace Tnb.WarehouseMgr
}
}
#region
/// <summary>
/// 打印
@@ -347,7 +350,7 @@ namespace Tnb.WarehouseMgr
// tcs.SetResult(printerList);
// return tcs.Task;
//}
#endregion
#endregion
/// <summary>
/// Api响应结果

View File

@@ -32,7 +32,7 @@ namespace Tnb.WarehouseMgr
/// Wms设备接口提供程序服务类
/// </summary>
public class DeviceProviderService : BaseWareHouseService<DeviceProviderService>
public class DeviceProviderService : ServiceLoggerBase<DeviceProviderService>
{
private readonly ISqlSugarClient _db;
private readonly IWareHouseService _wareHouseService;

View File

@@ -1,22 +0,0 @@
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Extensions.DependencyInjection;
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
using Tnb.WarehouseMgr.Interfaces;
namespace Tnb.WarehouseMgr.Filters
{
public class NotifyFilterAttribute : ActionFilterAttribute
{
public override async void OnActionExecuted(ActionExecutedContext context)
{
string actionName = context.ActionDescriptor.RouteValues["action"]!;
ITaskMessageNotify taskMessageNotify = context.HttpContext.RequestServices.GetRequiredService<ITaskMessageNotify>();
if (taskMessageNotify != null)
{
NotifyMessage message = new() { TaskName = actionName };
await taskMessageNotify.Writer.WriteAsync(message);
}
}
}
}

View File

@@ -6,17 +6,19 @@ using Tnb.WarehouseMgr.Entities;
namespace Tnb.WarehouseMgr
{
public class BaseWareHouseService<T> : BaseWareHouseService
public class ServiceLoggerBase<TService> : BaseWareHouseService
{
protected static Dictionary<string, object> s_elevatorMap = new();
private static readonly Lazy<Task> initializationTask;
static BaseWareHouseService()
static ServiceLoggerBase()
{
initializationTask = new Lazy<Task>(InitializeAsync);
}
private static async Task InitializeAsync()
{
@@ -37,7 +39,7 @@ namespace Tnb.WarehouseMgr
protected ILogger Logger => LoggerFactory.Create(builder => builder.AddFile($"{AppContext.BaseDirectory}/logs/custom{DateTime.Now:yyyyMMdd}.log", cfgOpts =>
protected ILogger Logger => LoggerFactory.Create(builder => builder.AddFile($"{AppContext.BaseDirectory}/logs/{this.GetType().Name}{DateTime.Now:yyyyMMdd}.log", cfgOpts =>
{
//cfgOpts.DateFormat = "yyyy-MM-dd HH:mm:ss.fff";
@@ -54,7 +56,7 @@ namespace Tnb.WarehouseMgr
return sb.ToString();
};
})).CreateLogger<T>();
})).CreateLogger<TService>();
}
public static class CustomLoggerExtenstions

View File

@@ -1,40 +0,0 @@
using System.Threading.Channels;
using Microsoft.Extensions.DependencyInjection;
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
using Tnb.WarehouseMgr.Interfaces;
namespace Tnb.WarehouseMgr
{
/// <summary>
/// 任务消息通知
/// </summary>
public class TaskMesageNotify : ITaskMessageNotify
{
private readonly Channel<NotifyMessage> _channel = Channel.CreateUnbounded<NotifyMessage>();
public ChannelReader<NotifyMessage> Reader => _channel.Reader;
public ChannelWriter<NotifyMessage> Writer => _channel.Writer;
}
//public static class TaskMesageNotify
//{
// private static readonly Channel<string> _channel = Channel.CreateUnbounded<string>();
// public static ChannelReader<string> Reader => _channel.Reader;
// public static ChannelWriter<string> Writer => _channel.Writer;
//}
public static class TaskMessageNotifyExtensions
{
public static IServiceCollection AddTaskMessageNotify(this IServiceCollection services)
{
_ = services.AddSingleton<ITaskMessageNotify, TaskMesageNotify>();
return services;
}
}
}

View File

@@ -9,6 +9,10 @@
<Configurations>Debug;Release</Configurations>
</PropertyGroup>
<ItemGroup>
<Compile Remove="TaskMesageNotify.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\BasicData\Tnb.BasicData.Interfaces\Tnb.BasicData.Interfaces.csproj" />
<ProjectReference Include="..\..\EquipMgr\Tnb.EquipMgr.Entities\Tnb.EquipMgr.Entities.csproj" />

View File

@@ -33,7 +33,7 @@ namespace Tnb.WarehouseMgr
/// <summary>
/// 库房业务类(出入库)
/// </summary>
public class WareHouseService : BaseWareHouseService<WareHouseService>, IWareHouseService
public class WareHouseService : ServiceLoggerBase<WareHouseService>, IWareHouseService
{
private readonly ISqlSugarClient _db;
private readonly IDictionaryDataService _dictionaryDataService;
@@ -977,9 +977,9 @@ namespace Tnb.WarehouseMgr
if (curEleDs?.Count > 0)
{
//当前电梯
WmsElevatorH curEle = await _db.Queryable<WmsElevatorH>().SingleAsync(it => it.id == curEleDs.First().bill_id && it.status == 1);
WmsElevatorH curEle = await _db.Queryable<WmsElevatorH>().SingleAsync(it => it.id == curEleDs.First().bill_id && it.enable_mark == 1);
//同电梯组电梯
List<WmsElevatorH> sGpEle = await _db.Queryable<WmsElevatorH>().Where(it => it.elevator_group == curEle.elevator_group && it.id != curEle.id && it.status == 1).ToListAsync();
List<WmsElevatorH> sGpEle = await _db.Queryable<WmsElevatorH>().Where(it => it.elevator_group == curEle.elevator_group && it.id != curEle.id && it.enable_mark == 1).ToListAsync();
if (curEle == null && sGpEle?.Count > 0)
{
@@ -1048,9 +1048,9 @@ namespace Tnb.WarehouseMgr
if (curEleDs?.Count > 0)
{
//当前电梯
WmsElevatorH curEle = await _db.Queryable<WmsElevatorH>().SingleAsync(it => it.id == curEleDs.First().bill_id && it.status == 1);
WmsElevatorH curEle = await _db.Queryable<WmsElevatorH>().SingleAsync(it => it.id == curEleDs.First().bill_id && it.enable_mark == 1);
//同电梯组电梯
List<WmsElevatorH> sGpEle = await _db.Queryable<WmsElevatorH>().Where(it => it.elevator_group == curEle.elevator_group && it.id != curEle.id && it.status == 1).ToListAsync();
List<WmsElevatorH> sGpEle = await _db.Queryable<WmsElevatorH>().Where(it => it.elevator_group == curEle.elevator_group && it.id != curEle.id && it.enable_mark == 1).ToListAsync();
if (curEle == null && sGpEle?.Count > 0)
{

View File

@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JNPF.Common.Contracts;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
namespace Tnb.WarehouseMgr
{
/// <summary>
/// Wms基础数据基类
/// </summary>
/// <typeparam name="TEntity"></typeparam>
//public class WmsBasicDataBase<TEntity> : BaseWareHouseService where TEntity : BaseEntity<string>, new()
//{
// private readonly ISqlSugarClient _db;
// public WmsBasicDataBase()
// {
// }
// [HttpPost]
// public async Task<bool> IsEnabledMark(IEnumerable<string> ids,int status)
// {
// }
//}
}

View File

@@ -13,7 +13,6 @@ using JNPF.VisualDev.Interfaces;
using Mapster;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using NPOI.SS.Formula.Functions;
using SqlSugar;
using Tnb.BasicData.Entities;
using Tnb.WarehouseMgr.Entities;
@@ -30,7 +29,7 @@ namespace Tnb.WarehouseMgr
/// 盘点任务
/// </summary>
[OverideVisualDev(ModuleConsts.MODULE_WMSCHECKTASK_ID)]
public class WmsCheckTaskService : BaseWareHouseService<WmsCheckTaskService>
public class WmsCheckTaskService : ServiceLoggerBase<WmsCheckTaskService>
{
private readonly ISqlSugarClient _db;
private readonly IWareHouseService _warehouseService;
@@ -112,12 +111,33 @@ namespace Tnb.WarehouseMgr
areaIds = input.data[nameof(WmsCheckstockH.area_id)].ToObject<string[]>();
}
filterExpable = checkType!.ToEnum<EnumCheckType>() switch
Expression<Func<BasLocation, WmsCarryCode, WmsCarryH, bool>> filterExp = (a, b, c) => false;
switch (checkType?.ToEnum<EnumCheckType>())
{
EnumCheckType. => filterExpable.AndIF(input.data.ContainsKey(nameof(WmsCarryCode.material_id)) && input.data[nameof(WmsCarryCode.material_id)] != null, (a, b, c) => b.material_id == input.data[nameof(WmsCarryCode.material_id)].ToString()),
EnumCheckType. => filterExpable.AndIF(areaIds?.Length > 0, (a, b, c) => areaIds.Contains(a.region_id)),
_ => filterExpable,
};
case EnumCheckType.:
{
filterExp = (a, b, c) => a.wh_id == input.data[nameof(WmsCheckstockH.warehouse_id)].ToString()
&& a.is_type == ((int)EnumLocationType.).ToString()
&& c.is_lock == 0;
}
break;
case EnumCheckType.:
{
if (!input.data.ContainsKey(nameof(WmsCarryCode.material_id)) && input.data[nameof(WmsCarryCode.material_id)] != null)
{
filterExp = (a, b, c) => b.material_id == input.data[nameof(WmsCarryCode.material_id)].ToString();
}
}
break;
case EnumCheckType.:
{
if (areaIds?.Length > 0)
{
filterExp = (a, b, c) => areaIds.Contains(a.region_id);
}
}
break;
}
var carryCodes = await _db.Queryable<BasLocation>().InnerJoin<WmsCarryCode>((a, b) => a.id == b.location_id)
.InnerJoin<WmsCarryH>((a, b, c) => b.carry_id == c.id)
@@ -320,22 +340,21 @@ namespace Tnb.WarehouseMgr
_carryMap = await _db.Queryable<WmsCarryH>().ToDictionaryAsync(x => x.id, x => x.carry_code);
}
//var filterExpable = Expressionable.Create<BasLocation, WmsCarryCode, WmsCarryH>();
Expression<Func<BasLocation, WmsCarryCode, WmsCarryH, bool>> filterExp = (a, b, c) => false;
switch (input.CheckType)
{
case EnumCheckType.:
{
filterExp.And((a, b, c) => a.wh_id == input.warehouse_id)
.And((a, b, c) => a.is_type == ((int)EnumLocationType.).ToString())
.And((a, b, c) => c.is_lock == 0);
filterExp = (a, b, c) => a.wh_id == input.warehouse_id
&& a.is_type == ((int)EnumLocationType.).ToString()
&& c.is_lock == 0;
}
break;
case EnumCheckType.:
{
if (!input.material_id.IsNullOrWhiteSpace())
{
filterExp.And((a, b, c) => b.material_id == input.material_id);
filterExp = (a, b, c) => b.material_id == input.material_id;
}
}
break;
@@ -343,7 +362,7 @@ namespace Tnb.WarehouseMgr
{
if (input.regionIds?.Count > 0)
{
filterExp.And((a, b, c) => input.regionIds.Contains(a.region_id));
filterExp = (a, b, c) => input.regionIds.Contains(a.region_id);
}
}
break;

View File

@@ -30,7 +30,7 @@ namespace Tnb.WarehouseMgr
[OverideVisualDev(ModuleConsts.MODULE_WMSEMPTYINSTOCK_ID)]
[ServiceModule(BizTypeId)]
public class WmsEmptyInstockService : BaseWareHouseService<WmsEmptyInstockService>, IWmsEmptyInstockService
public class WmsEmptyInstockService : ServiceLoggerBase<WmsEmptyInstockService>, IWmsEmptyInstockService
{
private const string BizTypeId = "26121986416677";
private readonly ISqlSugarClient _db;

View File

@@ -34,7 +34,7 @@ namespace Tnb.WarehouseMgr
/// </summary>
[OverideVisualDev(ModuleConsts.MODULE_WMSOUTSTOCK_ID)]
[ServiceModule(BizTypeId)]
public class WmsOutStockService : BaseWareHouseService<WmsOutStockService>, IWmsOutStockService
public class WmsOutStockService : ServiceLoggerBase<WmsOutStockService>, IWmsOutStockService
{
private const string BizTypeId = "26191522660645";
private readonly ISqlSugarClient _db;

View File

@@ -1,9 +1,11 @@
using JNPF.Common.Core.Manager;
using JNPF.Common.Extension;
using JNPF.Common.Filter;
using JNPF.Common.Security;
using JNPF.VisualDev;
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
using Mapster;
using Newtonsoft.Json.Linq;
using SqlSugar;
using Tnb.BasicData.Entities;
using Tnb.WarehouseMgr.Entities;
@@ -29,11 +31,18 @@ namespace Tnb.WarehouseMgr
private async Task<dynamic> GetListAsync(VisualDevModelListQueryInput input)
{
var materialCode = "";
if (!input.queryJson.IsNullOrWhiteSpace())
{
materialCode = JObject.Parse(input.queryJson).Value<string>(nameof(WmsCarryCode.material_code));
}
List<WmsStockReportH> items = await _db.Queryable<WmsCarryCode>().InnerJoin<BasMaterial>((a, b) => a.material_id == b.id)
.InnerJoin<BasMaterialSendWarehouse>((a, b, c) => b.id == c.material_id)
.InnerJoin<WmsCarryH>((a, b, c, d) => a.carry_id == d.id)
.InnerJoin<BasLocation>((a, b, c, d, e) => d.location_id == e.id)
.Where((a, b, c, d, e) => e.is_type == ((int)EnumLocationType.).ToString())
.WhereIF(!string.IsNullOrEmpty(materialCode), (a, b, c, d, e) => a.material_code.Contains(materialCode))
.Select((a, b, c, d, e) => new WmsStockReportH
{
warehouse_id = a.warehouse_id,

View File

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

View File

@@ -59,6 +59,23 @@ namespace JNPF.Common.Extension
return first.Compose(second, Expression.And);
}
/// <summary>
/// or扩展
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="first"></param>
/// <param name="second"></param>
/// <returns></returns>
public static Expression<Func<T1, T2, T3, bool>> Or<T1, T2, T3>(this Expression<Func<T1, T2, T3, bool>> first, Expression<Func<T1, T2, T3, bool>> second)
{
if (first.IsNull())
{
first = second;
return first;
}
return first.Compose(second, Expression.Or);
}
}

View File

@@ -187,7 +187,7 @@ public static class StringExtensions
/// <summary>
/// 查找路径的上一级
/// </summary>
public static (string?, string) LastSplitOnce(this string str, char seperate)
public static (string?, string) GetParent(this string str, char seperate)
{
int n = str.LastIndexOf(seperate);
if (n > 0)

View File

@@ -13,44 +13,37 @@ public static class ThrowIf
}
}
public static T IsNull<T>([NotNull] T? value, string? msg = null, [CallerArgumentExpression("value")] string? paraName = null)
public static void IsNull<T>([NotNull] T? value, string? msg = null, [CallerArgumentExpression("value")] string? paraName = null)
{
if (value == null)
{
throw string.IsNullOrEmpty(msg) ? new ArgumentNullException(paraName) : new ArgumentException(msg);
}
return value;
}
public static T IsNullOrDefault<T>([NotNull] T? value, string? msg = null, [CallerArgumentExpression("value")] string? paraName = null) where T : struct
public static void IsNullOrDefault<T>([NotNull] T? value, string? msg = null, [CallerArgumentExpression("value")] string? paraName = null) where T : struct
{
if (!value.HasValue || value.Value.Equals(default(T)))
{
throw string.IsNullOrEmpty(msg) ? new ArgumentException("值不可为空或默认值", paraName) : new ArgumentException(msg);
}
return value.Value;
}
public static string IsNullOrWhiteSpace([NotNull] string? value, string? msg = null, [CallerArgumentExpression("value")] string? paraName = null)
public static void IsNullOrWhiteSpace([NotNull] string? value, string? msg = null, [CallerArgumentExpression("value")] string? paraName = null)
{
if (string.IsNullOrWhiteSpace(value))
{
throw string.IsNullOrEmpty(msg) ? new ArgumentException("值不可为空或空格", paraName) : new ArgumentException(msg);
}
return value;
}
public static string IsNullOrEmpty([NotNull] string? value, string? msg = null, [CallerArgumentExpression("value")] string? paraName = null)
public static void IsNullOrEmpty([NotNull] string? value, string? msg = null, [CallerArgumentExpression("value")] string? paraName = null)
{
if (string.IsNullOrEmpty(value))
{
throw string.IsNullOrEmpty(msg) ? new ArgumentException("值不可为空", paraName) : new ArgumentException(msg);
}
return value;
}
//public static ICollection<T> NotNullOrEmpty<T>(ICollection<T> value, string paraName)
@@ -74,64 +67,52 @@ public static class ThrowIf
// return type;
//}
public static short OutOfRange(short value, string paraName, short minimumValue, short maximumValue = short.MaxValue)
public static void OutOfRange(short value, string paraName, short minimumValue, short maximumValue = short.MaxValue)
{
if (value < minimumValue || value > maximumValue)
{
throw new ArgumentException($"{paraName} is out of range min: {minimumValue} - max: {maximumValue}");
}
return value;
}
public static int OutOfRange(int value, string paraName, int minimumValue, int maximumValue = int.MaxValue)
public static void OutOfRange(int value, string paraName, int minimumValue, int maximumValue = int.MaxValue)
{
if (value < minimumValue || value > maximumValue)
{
throw new ArgumentException($"{paraName} is out of range min: {minimumValue} - max: {maximumValue}");
}
return value;
}
public static long OutOfRange(long value, string paraName, long minimumValue, long maximumValue = long.MaxValue)
public static void OutOfRange(long value, string paraName, long minimumValue, long maximumValue = long.MaxValue)
{
if (value < minimumValue || value > maximumValue)
{
throw new ArgumentException($"{paraName} is out of range min: {minimumValue} - max: {maximumValue}");
}
return value;
}
public static float OutOfRange(float value, string paraName, float minimumValue, float maximumValue = float.MaxValue)
public static void OutOfRange(float value, string paraName, float minimumValue, float maximumValue = float.MaxValue)
{
if (value < minimumValue || value > maximumValue)
{
throw new ArgumentException($"{paraName} is out of range min: {minimumValue} - max: {maximumValue}");
}
return value;
}
public static double OutOfRange(double value, string paraName, double minimumValue, double maximumValue = double.MaxValue)
public static void OutOfRange(double value, string paraName, double minimumValue, double maximumValue = double.MaxValue)
{
if (value < minimumValue || value > maximumValue)
{
throw new ArgumentException($"{paraName} is out of range min: {minimumValue} - max: {maximumValue}");
}
return value;
}
public static decimal OutOfRange(decimal value, string paraName, decimal minimumValue, decimal maximumValue = decimal.MaxValue)
public static void OutOfRange(decimal value, string paraName, decimal minimumValue, decimal maximumValue = decimal.MaxValue)
{
if (value < minimumValue || value > maximumValue)
{
throw new ArgumentException($"{paraName} is out of range min: {minimumValue} - max: {maximumValue}");
}
return value;
}
}

View File

@@ -1,30 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.BigData;
/// <summary>
/// 大数据列表.
/// </summary>
[SuppressSniffer]
public class BigDataListOutput
{
/// <summary>
/// 编码.
/// </summary>
public string? enCode { get; set; }
/// <summary>
/// 名称.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 创建时间.
/// </summary>
public DateTime? creatorTime { get; set; }
}

View File

@@ -1,15 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Document;
/// <summary>
/// 共享文件.
/// </summary>
[SuppressSniffer]
public class DocumentActionsShareInput
{
/// <summary>
/// 共享用户.
/// </summary>
public string? userId { get; set; }
}

View File

@@ -1,25 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Document;
/// <summary>
/// 添加文件夹.
/// </summary>
[SuppressSniffer]
public class DocumentCrInput
{
/// <summary>
/// 文件夹名称.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 文档父级.
/// </summary>
public string? parentId { get; set; }
/// <summary>
/// 文档分类.
/// </summary>
public int? type { get; set; }
}

View File

@@ -1,21 +0,0 @@
using JNPF.Common.Security;
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Document;
/// <summary>
/// 获取知识管理列表(文件夹树).
/// </summary>
[SuppressSniffer]
public class DocumentFolderTreeOutput : TreeModel
{
/// <summary>
/// 图标.
/// </summary>
public string? icon { get; set; }
/// <summary>
/// 文件名.
/// </summary>
public string? fullName { get; set; }
}

View File

@@ -1,36 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Document;
/// <summary>
/// 获取文件/文件夹信息.
/// </summary>
[SuppressSniffer]
public class DocumentInfoOutput
{
/// <summary>
/// 父级id.
/// </summary>
public string? parentId { get; set; }
/// <summary>
/// 文件类型.
/// </summary>
public int? type { get; set; }
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 文件名/文件夹名.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 后缀名.
/// </summary>
public string? fileExtension { get; set; }
}

View File

@@ -1,65 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Document;
/// <summary>
/// 获取知识管理列表(全部文档).
/// </summary>
[SuppressSniffer]
public class DocumentListOutput
{
/// <summary>
/// 创建日期.
/// </summary>
public DateTime? creatorTime { get; set; }
/// <summary>
/// 是否分享.
/// </summary>
public int? isShare { get; set; }
/// <summary>
/// 类型(0-文件夹1-文件).
/// </summary>
public int? type { get; set; }
/// <summary>
/// 大小.
/// </summary>
public string? fileSize { get; set; }
/// <summary>
/// 名称.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 后缀名.
/// </summary>
public string? fileExtension { get; set; }
/// <summary>
/// 父级Id.
/// </summary>
public string? parentId { get; set; }
/// <summary>
/// 文档下载地址.
/// </summary>
public string? uploaderUrl { get; set; }
/// <summary>
/// 文件路径.
/// </summary>
public string? filePath { get; set; }
/// <summary>
/// 是否支持预览.
/// </summary>
public string? isPreview { get; set; }
}

View File

@@ -1,40 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Document;
/// <summary>
/// 知识管理(我的共享列表).
/// </summary>
[SuppressSniffer]
public class DocumentShareOutput
{
/// <summary>
/// 共享日期.
/// </summary>
public DateTime? shareTime { get; set; }
/// <summary>
/// 大小.
/// </summary>
public string fileSize { get; set; }
/// <summary>
/// 文件名.
/// </summary>
public string fullName { get; set; }
/// <summary>
/// 主键id.
/// </summary>
public string id { get; set; }
/// <summary>
/// 文件类型.
/// </summary>
public int? type { get; set; }
/// <summary>
/// 后缀名.
/// </summary>
public string fileExtension { get; set; }
}

View File

@@ -1,40 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Document;
/// <summary>
/// 获取知识管理列表(共享给我).
/// </summary>
[SuppressSniffer]
public class DocumentShareTomeOutput
{
/// <summary>
/// 共享日期.
/// </summary>
public DateTime? shareTime { get; set; }
/// <summary>
/// 大小.
/// </summary>
public string? fileSize { get; set; }
/// <summary>
/// 名称.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 共享人员Id.
/// </summary>
public string? creatorUserId { get; set; }
/// <summary>
/// 后缀名.
/// </summary>
public string? fileExtension { get; set; }
}

View File

@@ -1,30 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Document;
/// <summary>
/// 获取知识管理列表(共享人员).
/// </summary>
[SuppressSniffer]
public class DocumentShareUserOutput
{
/// <summary>
/// 共享时间.
/// </summary>
public DateTime? shareTime { get; set; }
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 共享人员id.
/// </summary>
public string? shareUserId { get; set; }
/// <summary>
/// 文档id.
/// </summary>
public string? documentId { get; set; }
}

View File

@@ -1,40 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Document;
/// <summary>
/// 回收站(彻底删除).
/// </summary>
[SuppressSniffer]
public class DocumentTrashOutput
{
/// <summary>
/// 删除日期.
/// </summary>
public DateTime? deleteTime { get; set; }
/// <summary>
/// 大小.
/// </summary>
public string? fileSize { get; set; }
/// <summary>
/// 名称.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 后缀名.
/// </summary>
public string? fileExtension { get; set; }
/// <summary>
/// 类型.
/// </summary>
public int? type { get; set; }
}

View File

@@ -1,15 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Document;
/// <summary>
/// 修改文件名/文件夹名.
/// </summary>
[SuppressSniffer]
public class DocumentUpInput : DocumentCrInput
{
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
}

View File

@@ -1,18 +0,0 @@
using JNPF.DependencyInjection;
using Microsoft.AspNetCore.Http;
namespace JNPF.Extend.Entitys.Dto.Document;
[SuppressSniffer]
public class DocumentUploaderInput
{
/// <summary>
/// 上级文件id.
/// </summary>
public string? parentId { get; set; }
/// <summary>
/// 上级文件id.
/// </summary>
public IFormFile? file { get; set; }
}

View File

@@ -1,35 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.DocumentPreview;
/// <summary>
/// 获取文档列表.
/// </summary>
[SuppressSniffer]
public class DocumentPreviewListOutput
{
/// <summary>
/// 文件名称.
/// </summary>
public string? fileName { get; set; }
/// <summary>
/// 文件大小.
/// </summary>
public string? fileSize { get; set; }
/// <summary>
/// 主键id .
/// </summary>
public string? fileId { get; set; }
/// <summary>
/// 修改时间.
/// </summary>
public string? fileTime { get; set; }
/// <summary>
/// 文件类型.
/// </summary>
public string? fileType { get; set; }
}

View File

@@ -1,51 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.DocumentPreview;
/// <summary>
/// 预览文档.
/// </summary>
[SuppressSniffer]
public class DocumentPreviewPreviewInput
{
/// <summary>
/// 文件id.
/// </summary>
public string? fileId { get; set; }
/// <summary>
/// 是否强制重新转换(忽略缓存),true为强制重新转换false为不强制重新转换.
/// </summary>
public bool noCache { get; set; }
/// <summary>
/// 针对单文档设置水印内容.
/// </summary>
public string? watermark { get; set; }
/// <summary>
/// 0否1是默认为0。针对单文档设置是否防复制.
/// </summary>
public int isCopy{ get; set; }
/// <summary>
/// 开始位置.
/// </summary>
public string? pageStart { get; set; }
/// <summary>
/// 结束位置.
/// </summary>
public string? pageEnd { get; set; }
/// <summary>
/// 类型.
/// </summary>
public string? type { get; set; }
/// <summary>
/// 预览方式localPreview本地yozoOnlinePreview在线.
/// </summary>
public string? previewType { get; set; }
}

View File

@@ -1,21 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.DocumentPreview;
/// <summary>
/// 预览文档.
/// </summary>
[SuppressSniffer]
public class DocumentPreviewPreviewOutput
{
/// <summary>
/// 文件名称.
/// </summary>
public string? fileName { get; set; }
/// <summary>
/// 文件路径.
/// </summary>
public string? filePath { get; set; }
}

View File

@@ -1,11 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Email;
/// <summary>
/// 存草稿.
/// </summary>
[SuppressSniffer]
public class EmailActionsSaveDraftInput : EmailSendInput
{
}

View File

@@ -1,11 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Email;
/// <summary>
/// 邮箱配置-测试连接.
/// </summary>
[SuppressSniffer]
public class EmailConfigActionsCheckMailInput : EmailConfigInfoOutput
{
}

View File

@@ -1,50 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Email;
/// <summary>
/// 获取邮箱配置.
/// </summary>
[SuppressSniffer]
public class EmailConfigInfoOutput
{
/// <summary>
/// POP3服务地址.
/// </summary>
public string? pop3Host { get; set; }
/// <summary>
/// POP3端口.
/// </summary>
public string? pop3Port { get; set; }
/// <summary>
/// SMTP服务器地址.
/// </summary>
public string? smtpHost { get; set; }
/// <summary>
/// SMTP端口.
/// </summary>
public string? smtpPort { get; set; }
/// <summary>
/// 显示名称.
/// </summary>
public string? senderName { get; set; }
/// <summary>
/// 是否开户SSL登录(1-是,0否).
/// </summary>
public int? emailSsl { get; set; }
/// <summary>
/// 密码.
/// </summary>
public string? password { get; set; }
/// <summary>
/// 邮箱地址.
/// </summary>
public string? account { get; set; }
}

View File

@@ -1,50 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Email;
/// <summary>
/// 更新邮件配置.
/// </summary>
[SuppressSniffer]
public class EmailConfigUpInput
{
/// <summary>
/// POP3服务地址.
/// </summary>
public string? pop3Host { get; set; }
/// <summary>
/// POP3端口.
/// </summary>
public string? pop3Port { get; set; }
/// <summary>
/// SMTP服务器地址.
/// </summary>
public string? smtpHost { get; set; }
/// <summary>
/// SMTP端口.
/// </summary>
public string? smtpPort { get; set; }
/// <summary>
/// 显示名称.
/// </summary>
public string? senderName { get; set; }
/// <summary>
/// 是否开户SSL登录(1-是,0否).
/// </summary>
public int? emailSsl { get; set; }
/// <summary>
/// 密码.
/// </summary>
public string? password { get; set; }
/// <summary>
/// 邮箱地址.
/// </summary>
public string? account { get; set; }
}

View File

@@ -1,22 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Email;
[SuppressSniffer]
public class EmailHomeOutput
{
/// <summary>
/// ID.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 标题.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 创建时间.
/// </summary>
public DateTime? creatorTime { get; set; }
}

View File

@@ -1,71 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Email;
/// <summary>
/// 获取邮件信息.
/// </summary>
[SuppressSniffer]
public class EmailInfoOutput
{
/// <summary>
/// 邮件主题.
/// </summary>
public string? subject { get; set; }
/// <summary>
/// 发件人姓名.
/// </summary>
public string? senderName { get; set; }
/// <summary>
/// 发件人邮箱.
/// </summary>
public string? sender { get; set; }
/// <summary>
/// 时间.
/// </summary>
public DateTime? fdate { get; set; }
/// <summary>
/// 收件人.
/// </summary>
public string? mAccount { get; set; }
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 附件对象.
/// </summary>
public string? attachment { get; set; }
/// <summary>
/// 邮件内容.
/// </summary>
public string? bodyText { get; set; }
/// <summary>
/// 抄送人.
/// </summary>
public string? cC { get; set; }
/// <summary>
/// 密送人.
/// </summary>
public string? bCC { get; set; }
/// <summary>
/// 收件人.
/// </summary>
public string? recipient { get; set; }
/// <summary>
/// 创建时间.
/// </summary>
public DateTime? creatorTime { get; set; }
}

View File

@@ -1,55 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Email;
/// <summary>
/// (带分页)获取邮件列表(收件箱、标星件、草稿箱、已发送).
/// </summary>
[SuppressSniffer]
public class EmailListOutput
{
/// <summary>
/// 是否已读(1-已读0-未) inBox,star.
/// </summary>
public int? isRead { get; set; }
/// <summary>
/// 时间 inBox,star.
/// </summary>
public DateTime? fdate { get; set; }
/// <summary>
/// 主键ID.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 主题.
/// </summary>
public string? subject { get; set; }
/// <summary>
/// 是否标星(1-是,0-否)inBox,star.
/// </summary>
public int? starred { get; set; }
/// <summary>
/// 附件.
/// </summary>
public string? attachment { get; set; }
/// <summary>
/// 发件人 inBox,star.
/// </summary>
public string? sender { get; set; }
/// <summary>
/// 收件人 draftsent.
/// </summary>
public string? recipient { get; set; }
/// <summary>
/// 创建时间.
/// </summary>
public DateTime? creatorTime { get; set; }
}

View File

@@ -1,28 +0,0 @@
using JNPF.Common.Filter;
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Email
{
/// <summary>
/// (带分页)获取邮件列表入参(收件箱、标星件、草稿箱、已发送).
/// </summary>
[SuppressSniffer]
public class EmailListQuery : PageInputBase
{
/// <summary>
/// 开始时间,时间戳.
/// </summary>
public long? startTime { get; set; }
/// <summary>
/// 结束时间,时间戳.
/// </summary>
public long? endTime { get; set; }
/// <summary>
/// 类型.
/// </summary>
public string? type { get; set; }
}
}

View File

@@ -1,46 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Email
{
/// <summary>
/// 发邮件.
/// </summary>
[SuppressSniffer]
public class EmailSendInput
{
/// <summary>
/// id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 主题.
/// </summary>
public string? subject { get; set; }
/// <summary>
/// 收件人.
/// </summary>
public string? recipient { get; set; }
/// <summary>
/// 正文.
/// </summary>
public string? bodyText { get; set; }
/// <summary>
/// 附件.
/// </summary>
public string? attachment { get; set; }
/// <summary>
/// 抄送人.
/// </summary>
public string? cc { get; set; }
/// <summary>
/// 密送人.
/// </summary>
public string? bcc { get; set; }
}
}

View File

@@ -1,90 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Employee;
/// <summary>
/// 获取职员列表(分页).
/// </summary>
[SuppressSniffer]
public class EmployeeListOutput
{
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 工号.
/// </summary>
public string? enCode { get; set; }
/// <summary>
/// 姓名.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 性别ID.
/// </summary>
public string? gender { get; set; }
/// <summary>
/// 部门.
/// </summary>
public string? departmentName { get; set; }
/// <summary>
/// 岗位.
/// </summary>
public string? positionName { get; set; }
/// <summary>
/// 用工性质.
/// </summary>
public string? workingNature { get; set; }
/// <summary>
/// 身份证.
/// </summary>
public string? idNumber { get; set; }
/// <summary>
/// 联系电话.
/// </summary>
public string? telephone { get; set; }
/// <summary>
/// 生日.
/// </summary>
public DateTime? birthday { get; set; }
/// <summary>
/// 参加工作时间.
/// </summary>
public DateTime? attendWorkTime { get; set; }
/// <summary>
/// 学历.
/// </summary>
public string? education { get; set; }
/// <summary>
/// 所学专业.
/// </summary>
public string? major { get; set; }
/// <summary>
/// 毕业院校.
/// </summary>
public string? graduationAcademy { get; set; }
/// <summary>
/// 毕业时间.
/// </summary>
public DateTime? graduationTime { get; set; }
/// <summary>
/// 创建时间.
/// </summary>
public DateTime? creatorTime { get; set; }
}

View File

@@ -1,27 +0,0 @@
using JNPF.Common.Filter;
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Employee;
/// <summary>
/// 获取职员列表(分页).
/// </summary>
[SuppressSniffer]
public class EmployeeListQuery : PageInputBase
{
/// <summary>
/// 查询内容.
/// </summary>
public string? condition { get; set; }
/// <summary>
/// 查询字段.
/// </summary>
public string? selectKey { get; set; }
/// <summary>
/// 是否分页0分页.
/// </summary>
public string? dataType { get; set; }
}

View File

@@ -1,12 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Employee;
[SuppressSniffer]
public class ImportDataInput
{
/// <summary>
/// 导入数据.
/// </summary>
public List<EmployeeListOutput>? list { get; set; }
}

View File

@@ -1,27 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Employee;
[SuppressSniffer]
public class ImportDataOutput
{
/// <summary>
/// 导入失败信息.
/// </summary>
public List<EmployeeListOutput> failResult { get; set; } = new List<EmployeeListOutput>();
/// <summary>
/// 失败条数.
/// </summary>
public int fnum { get; set; }
/// <summary>
/// 导入是否成功0成功.
/// </summary>
public int resultType { get; set; }
/// <summary>
/// 成功条数.
/// </summary>
public int snum { get; set; }
}

View File

@@ -1,11 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Order;
/// <summary>
/// 获取订单信息(下一个订单).
/// </summary>
[SuppressSniffer]
public class OrderActionsNextOutput : OrderInfoOutput
{
}

View File

@@ -1,11 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Order;
/// <summary>
/// 获取订单信息(上一个订单).
/// </summary>
[SuppressSniffer]
public class OrderActionsPrevOutput : OrderInfoOutput
{
}

View File

@@ -1,45 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Order;
/// <summary>
/// 获取订单列表-收款计划.
/// </summary>
[SuppressSniffer]
public class OrderCollectionPlanOutput
{
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 收款日期.
/// </summary>
public DateTime? receivableDate { get; set; }
/// <summary>
/// 收款比率.
/// </summary>
public decimal? receivableRate { get; set; }
/// <summary>
/// 收款金额.
/// </summary>
public string? receivableMoney { get; set; }
/// <summary>
/// 收款方式.
/// </summary>
public string? receivableMode { get; set; }
/// <summary>
/// 备注.
/// </summary>
public string? description { get; set; }
/// <summary>
/// 收款摘要.
/// </summary>
public string? fabstract { get; set; }
}

View File

@@ -1,312 +0,0 @@
using JNPF.Common.Models.WorkFlow;
using JNPF.DependencyInjection;
using Newtonsoft.Json;
namespace JNPF.Extend.Entitys.Dto.Order;
/// <summary>
/// 新建订单.
/// </summary>
[SuppressSniffer]
public class OrderCrInput: FlowTaskOtherModel
{
/// <summary>
/// 客户名称.
/// </summary>
public string? customerName { get; set; }
/// <summary>
/// 业务人员id.
/// </summary>
public string? salesmanId { get; set; }
/// <summary>
/// 订单日期.
/// </summary>
public DateTime? orderDate { get; set; }
/// <summary>
/// 订单编码.
/// </summary>
public string? orderCode { get; set; }
/// <summary>
/// 付款方式.
/// </summary>
public string? paymentMode { get; set; }
/// <summary>
/// 付款金额.
/// </summary>
public decimal? receivableMoney { get; set; }
/// <summary>
/// 定金比率.
/// </summary>
public decimal? earnestRate { get; set; }
/// <summary>
/// 预付定金.
/// </summary>
public decimal? prepayEarnest { get; set; }
/// <summary>
/// 运输方式.
/// </summary>
public string? transportMode { get; set; }
/// <summary>
/// 发货日期.
/// </summary>
public DateTime? deliveryDate { get; set; }
/// <summary>
/// 发货地址.
/// </summary>
public string? deliveryAddress { get; set; }
/// <summary>
/// 相关附近.
/// </summary>
public string? fileJson { get; set; }
/// <summary>
/// 客户ID.
/// </summary>
public string? customerId { get; set; }
/// <summary>
/// 业务人员名字.
/// </summary>
public string? salesmanName { get; set; }
/// <summary>
///备注.
/// </summary>
public string? description { get; set; }
/// <summary>
/// 主键.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 状态.
/// </summary>
public int? status { get; set; }
/// <summary>
/// 紧急程度.
/// </summary>
public int? flowUrgent { get; set; } = 1;
/// <summary>
/// 商品列表.
/// </summary>
public List<GoodsList>? goodsList { get; set; }
/// <summary>
/// 收款计划列表.
/// </summary>
public List<CollectionPlanList>? collectionPlanList { get; set; }
}
/// <summary>
/// 订单明细.
/// </summary>
public class OrderInfo
{
/// <summary>
/// 客户名称.
/// </summary>
public string? customerName { get; set; }
/// <summary>
/// 业务人员id.
/// </summary>
public string? salesmanId { get; set; }
/// <summary>
/// 订单日期.
/// </summary>
public DateTime? orderDate { get; set; }
/// <summary>
/// 订单编码.
/// </summary>
public string? orderCode { get; set; }
/// <summary>
/// 付款方式.
/// </summary>
public string? paymentMode { get; set; }
/// <summary>
/// 付款金额.
/// </summary>
public decimal? receivableMoney { get; set; }
/// <summary>
/// 定金比率.
/// </summary>
public string? earnestRate { get; set; }
/// <summary>
/// 预付定金.
/// </summary>
public string? prepayEarnest { get; set; }
/// <summary>
/// 运输方式.
/// </summary>
public string? transportMode { get; set; }
/// <summary>
/// 发货日期.
/// </summary>
public DateTime? deliveryDate { get; set; }
/// <summary>
/// 发货地址.
/// </summary>
public string? deliveryAddress { get; set; }
/// <summary>
/// 相关附近.
/// </summary>
public string? fileJson { get; set; }
/// <summary>
/// 客户ID.
/// </summary>
public string? customerId { get; set; }
/// <summary>
/// 业务人员名字.
/// </summary>
public string? salesmanName { get; set; }
/// <summary>
/// 备注.
/// </summary>
public string? description { get; set; }
/// <summary>
/// id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 候选人.
/// </summary>
public Dictionary<string, List<string>> candidateList { get; set; }
/// <summary>
/// 选择分支.
/// </summary>
public List<string> branchList { get; set; } = new List<string>();
/// <summary>
/// 异常审批人.
/// </summary>
public Dictionary<string, List<string>> errorRuleUserList { get; set; } = new Dictionary<string, List<string>>();
}
/// <summary>
/// 商品明细.
/// </summary>
public class GoodsList
{
/// <summary>
/// 商品id.
/// </summary>
public string? goodsId { get; set; }
/// <summary>
/// 商品名称.
/// </summary>
public string? goodsName { get; set; }
/// <summary>
/// 规格型号.
/// </summary>
public string? specifications { get; set; }
/// <summary>
/// 单位.
/// </summary>
public string? unit { get; set; }
/// <summary>
/// 数量.
/// </summary>
public decimal? qty { get; set; }
/// <summary>
/// 单价.
/// </summary>
public string? price { get; set; }
/// <summary>
/// 金额.
/// </summary>
public string? amount { get; set; }
/// <summary>
/// 折扣.
/// </summary>
public decimal? discount { get; set; }
/// <summary>
/// 税率.
/// </summary>
public decimal? cess { get; set; }
/// <summary>
/// 实际单价.
/// </summary>
public string? actualPrice { get; set; }
/// <summary>
/// 实际金额.
/// </summary>
public string? actualAmount { get; set; }
/// <summary>
/// 备注.
/// </summary>
public string? description { get; set; }
}
/// <summary>
/// 收款明细.
/// </summary>
[SuppressSniffer]
public class CollectionPlanList
{
/// <summary>
/// 收款日期.
/// </summary>
public DateTime? receivableDate { get; set; }
/// <summary>
/// 收款比率.
/// </summary>
public decimal? receivableRate { get; set; }
/// <summary>
/// 收款金额.
/// </summary>
public string? receivableMoney { get; set; }
/// <summary>
/// 收款方式.
/// </summary>
public string? receivableMode { get; set; }
/// <summary>
/// 收款摘要.
/// </summary>
[JsonProperty("abstract")]
public string? abstracts { get; set; }
}

View File

@@ -1,26 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Order;
/// <summary>
/// 获取客户列表.
/// </summary>
[SuppressSniffer]
public class OrderCustomerOutput
{
/// <summary>
/// 主键ID.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 企业名称.
/// </summary>
public string? text { get; set; }
/// <summary>
/// 编码.
/// </summary>
public string? code { get; set; }
}

View File

@@ -1,40 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Order;
/// <summary>
/// 获取商品列表.
/// </summary>
[SuppressSniffer]
public class OrderGoodsOutput
{
/// <summary>
/// 主键ID.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 商品名称.
/// </summary>
public string? text { get; set; }
/// <summary>
/// 商品编码.
/// </summary>
public string? code { get; set; }
/// <summary>
/// 规格型号.
/// </summary>
public string? specifications { get; set; }
/// <summary>
/// 单位.
/// </summary>
public string? unit { get; set; }
/// <summary>
/// 售价.
/// </summary>
public double price { get; set; }
}

View File

@@ -1,126 +0,0 @@
using JNPF.DependencyInjection;
using JNPF.Extend.Entitys.Model;
namespace JNPF.Extend.Entitys.Dto.Order;
/// <summary>
/// 获取/查看订单信息.
/// </summary>
[SuppressSniffer]
public class OrderInfoOutput
{
/// <summary>
/// 创建时间.
/// </summary>
public DateTime? creatorTime { get; set; }
/// <summary>
/// 创建人.
/// </summary>
public string? creatorUserId { get; set; }
/// <summary>
/// 客户id.
/// </summary>
public string? customerId { get; set; }
/// <summary>
/// 客户名.
/// </summary>
public string? customerName { get; set; }
/// <summary>
/// 交易地点.
/// </summary>
public string? deliveryAddress { get; set; }
/// <summary>
/// 交易时间.
/// </summary>
public DateTime? deliveryDate { get; set; }
/// <summary>
/// 备注.
/// </summary>
public string? description { get; set; }
/// <summary>
/// 定金比率.
/// </summary>
public string? earnestRate { get; set; }
/// <summary>
/// 状态.
/// </summary>
public int? enabledMark { get; set; }
/// <summary>
/// 相关附件.
/// </summary>
public string? fileJson { get; set; }
/// <summary>
/// id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 修改时间.
/// </summary>
public DateTime? lastModifyTime { get; set; }
/// <summary>
/// 修改人.
/// </summary>
public string? lastModifyUserId { get; set; }
/// <summary>
/// 订单编码.
/// </summary>
public string? orderCode { get; set; }
/// <summary>
/// 订单日期.
/// </summary>
public DateTime? orderDate { get; set; }
/// <summary>
/// 付款方式.
/// </summary>
public string? paymentMode { get; set; }
/// <summary>
/// 预付定金.
/// </summary>
public string? prepayEarnest { get; set; }
/// <summary>
/// 付款金额.
/// </summary>
public decimal? receivableMoney { get; set; }
/// <summary>
/// 业务人id.
/// </summary>
public string? salesmanId { get; set; }
/// <summary>
/// 业务人名.
/// </summary>
public string? salesmanName { get; set; }
/// <summary>
/// 运输方式.
/// </summary>
public string? transportMode { get; set; }
/// <summary>
/// 订单商品.
/// </summary>
public List<GoodsModel>? goodsList { get; set; }
/// <summary>
/// 收款计划.
/// </summary>
public List<CollectionPlanModel>? collectionPlanList { get; set; }
}

View File

@@ -1,70 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Order;
/// <summary>
/// 获取订单列表-订单商品.
/// </summary>
[SuppressSniffer]
public class OrderItemsOutput
{
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 商品名称.
/// </summary>
public string? goodsName { get; set; }
/// <summary>
/// 规格型号.
/// </summary>
public string? specifications { get; set; }
/// <summary>
/// 单位.
/// </summary>
public string? unit { get; set; }
/// <summary>
/// 数量.
/// </summary>
public decimal? qty { get; set; }
/// <summary>
/// 单价.
/// </summary>
public decimal? price { get; set; }
/// <summary>
/// 金额.
/// </summary>
public decimal? amount { get; set; }
/// <summary>
/// 折扣.
/// </summary>
public decimal? discount { get; set; }
/// <summary>
/// 税率.
/// </summary>
public decimal? cess { get; set; }
/// <summary>
/// 实际单价.
/// </summary>
public decimal? actualPrice { get; set; }
/// <summary>
/// 实际金额.
/// </summary>
public decimal? actualAmount { get; set; }
/// <summary>
/// 备注.
/// </summary>
public string? description { get; set; }
}

View File

@@ -1,75 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Order;
/// <summary>
/// 获取订单列表(带分页).
/// </summary>
[SuppressSniffer]
public class OrderListOutput
{
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 订单编码.
/// </summary>
public string? orderCode { get; set; }
/// <summary>
/// 订单日期.
/// </summary>
public DateTime? orderDate { get; set; }
/// <summary>
/// 客户名称.
/// </summary>
public string? customerName { get; set; }
/// <summary>
/// 业务人员.
/// </summary>
public string? salesmanName { get; set; }
/// <summary>
/// 付款金额.
/// </summary>
public decimal? receivableMoney { get; set; }
/// <summary>
/// 制单人员.
/// </summary>
public string? creatorUser { get; set; }
/// <summary>
/// 备注.
/// </summary>
public string? description { get; set; }
/// <summary>
/// 状态.
/// </summary>
public int? currentState { get; set; }
/// <summary>
/// 创建人.
/// </summary>
public string? creatorUserId { get; set; }
/// <summary>
/// 创建时间.
/// </summary>
public DateTime? creatorTime { get; set; }
/// <summary>
/// 修改时间.
/// </summary>
public DateTime? lastModifyTime { get; set; }
/// <summary>
/// 排序码.
/// </summary>
public long? sortCode { get; set; }
}

View File

@@ -1,27 +0,0 @@
using JNPF.Common.Filter;
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Order;
/// <summary>
/// 获取订单列表入参(带分页).
/// </summary>
[SuppressSniffer]
public class OrderListQuery : PageInputBase
{
/// <summary>
/// 开始时间.
/// </summary>
public long? startTime { get; set; }
/// <summary>
/// 结束时间.
/// </summary>
public long? endTime { get; set; }
/// <summary>
/// 状态.
/// </summary>
public int? enabledMark { get; set; }
}

View File

@@ -1,144 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Order;
/// <summary>
/// 修改订单.
/// </summary>
[SuppressSniffer]
public class OrderUpInput
{
/// <summary>
/// 客户名称.
/// </summary>
public string? customerName { get; set; }
/// <summary>
/// 业务人员id.
/// </summary>
public string? salesmanId { get; set; }
/// <summary>
/// 订单日期.
/// </summary>
public DateTime? orderDate { get; set; }
/// <summary>
/// 订单编码.
/// </summary>
public string? orderCode { get; set; }
/// <summary>
/// 付款方式.
/// </summary>
public string? paymentMode { get; set; }
/// <summary>
/// 付款金额.
/// </summary>
public decimal? receivableMoney { get; set; }
/// <summary>
/// 定金比率.
/// </summary>
public decimal? earnestRate { get; set; }
/// <summary>
/// 预付定金.
/// </summary>
public decimal? prepayEarnest { get; set; }
/// <summary>
/// 运输方式.
/// </summary>
public string? transportMode { get; set; }
/// <summary>
/// 发货日期.
/// </summary>
public DateTime? deliveryDate { get; set; }
/// <summary>
/// 发货地址.
/// </summary>
public string? deliveryAddress { get; set; }
/// <summary>
/// 相关附近.
/// </summary>
public string? fileJson { get; set; }
/// <summary>
/// 客户ID.
/// </summary>
public string? customerId { get; set; }
/// <summary>
/// 业务人员名字.
/// </summary>
public string? salesmanName { get; set; }
/// <summary>
/// 备注.
/// </summary>
public string? description { get; set; }
/// <summary>
/// id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 状态.
/// </summary>
public string? status { get; set; }
/// <summary>
/// 紧急程度.
/// </summary>
public int? flowUrgent { get; set; } = 1;
/// <summary>
/// 商品列表.
/// </summary>
public List<GoodsListUp>? goodsList { get; set; }
/// <summary>
/// 收款计划列表.
/// </summary>
public List<CollectionPlanListUp>? collectionPlanList { get; set; }
}
/// <summary>
/// 商品列表.
/// </summary>
[SuppressSniffer]
public class GoodsListUp : GoodsList
{
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 商品id.
/// </summary>
public string? orderId { get; set; }
}
/// <summary>
/// 收款计划列表.
/// </summary>
[SuppressSniffer]
public class CollectionPlanListUp : CollectionPlanList
{
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 商品id.
/// </summary>
public string? orderId { get; set; }
}

View File

@@ -1,111 +0,0 @@
using JNPF.DependencyInjection;
using JNPF.Extend.Entitys.Dto.ProductEntry;
namespace JNPF.Extend.Entitys.Dto.Product;
/// <summary>
/// 新建销售订单.
/// </summary>
[SuppressSniffer]
public class ProductCrInput
{
/// <summary>
/// 订单编号.
/// </summary>
public string code { get; set; }
/// <summary>
/// 客户id.
/// </summary>
public string customerId { get; set; }
/// <summary>
/// 客户名称.
/// </summary>
public string customerName { get; set; }
/// <summary>
/// 审核人.
/// </summary>
public string auditName { get; set; }
/// <summary>
/// 审核日期.
/// </summary>
public DateTime? auditDate { get; set; }
/// <summary>
/// 发货仓库.
/// </summary>
public string goodsWarehouse { get; set; }
/// <summary>
/// 发货通知时间.
/// </summary>
public DateTime? goodsDate { get; set; }
/// <summary>
/// 发货通知人.
/// </summary>
public string goodsName { get; set; }
/// <summary>
/// 收款方式.
/// </summary>
public string gatheringType { get; set; }
/// <summary>
/// 业务员.
/// </summary>
public string business { get; set; }
/// <summary>
/// 送货地址.
/// </summary>
public string address { get; set; }
/// <summary>
/// 联系方式.
/// </summary>
public string contactTel { get; set; }
/// <summary>
/// 收货消息.
/// </summary>
public int harvestMsg { get; set; }
/// <summary>
/// 收货仓库.
/// </summary>
public string harvestWarehouse { get; set; }
/// <summary>
/// 代发客户.
/// </summary>
public string issuingName { get; set; }
/// <summary>
/// 让利金额.
/// </summary>
public decimal? partPrice { get; set; }
/// <summary>
/// 优惠金额.
/// </summary>
public decimal? reducedPrice { get; set; }
/// <summary>
/// 折后金额.
/// </summary>
public decimal? discountPrice { get; set; }
/// <summary>
/// 备注.
/// </summary>
public string description { get; set; }
/// <summary>
/// 子表数据.
/// </summary>
public List<ProductEntryCrInput> productEntryList { get; set; }
}

View File

@@ -1,116 +0,0 @@
using JNPF.DependencyInjection;
using JNPF.Extend.Entitys.Dto.ProductEntry;
namespace JNPF.Extend.Entitys.Dto.Product;
/// <summary>
/// 销售订单信息.
/// </summary>
[SuppressSniffer]
public class ProductInfoOutput
{
/// <summary>
/// 主键.
/// </summary>
public string id { get; set; }
/// <summary>
/// 订单编号.
/// </summary>
public string code { get; set; }
/// <summary>
/// 客户id.
/// </summary>
public string customerId { get; set; }
/// <summary>
/// 客户名称.
/// </summary>
public string customerName { get; set; }
/// <summary>
/// 审核人.
/// </summary>
public string auditName { get; set; }
/// <summary>
/// 审核日期.
/// </summary>
public DateTime? auditDate { get; set; }
/// <summary>
/// 发货仓库.
/// </summary>
public string goodsWarehouse { get; set; }
/// <summary>
/// 发货通知时间.
/// </summary>
public DateTime? goodsDate { get; set; }
/// <summary>
/// 发货通知人.
/// </summary>
public string goodsName { get; set; }
/// <summary>
/// 收款方式.
/// </summary>
public string gatheringType { get; set; }
/// <summary>
/// 业务员.
/// </summary>
public string business { get; set; }
/// <summary>
/// 送货地址.
/// </summary>
public string address { get; set; }
/// <summary>
/// 联系方式.
/// </summary>
public string contactTel { get; set; }
/// <summary>
/// 收货消息.
/// </summary>
public int harvestMsg { get; set; }
/// <summary>
/// 收货仓库.
/// </summary>
public string harvestWarehouse { get; set; }
/// <summary>
/// 代发客户.
/// </summary>
public string issuingName { get; set; }
/// <summary>
/// 让利金额.
/// </summary>
public decimal? partPrice { get; set; }
/// <summary>
/// 优惠金额.
/// </summary>
public decimal? reducedPrice { get; set; }
/// <summary>
/// 折后金额.
/// </summary>
public decimal? discountPrice { get; set; }
/// <summary>
/// 备注.
/// </summary>
public string description { get; set; }
/// <summary>
/// 子表数据.
/// </summary>
public List<ProductEntryInfoOutput> productEntryList;
}

View File

@@ -1,75 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Product;
/// <summary>
/// 销售订单列表.
/// </summary>
[SuppressSniffer]
public class ProductListOutput
{
/// <summary>
/// 主键.
/// </summary>
public string id { get; set; }
/// <summary>
/// 订单编号.
/// </summary>
public string code { get; set; }
/// <summary>
/// 客户名称.
/// </summary>
public string customerName { get; set; }
/// <summary>
/// 业务员.
/// </summary>
public string business { get; set; }
/// <summary>
/// 送货地址
/// </summary>
public string address { get; set; }
/// <summary>
/// 联系方式.
/// </summary>
public string contactTel { get; set; }
/// <summary>
/// 制单人.
/// </summary>
public string salesmanName { get; set; }
/// <summary>
/// 审核状态.
/// </summary>
public int auditState { get; set; }
/// <summary>
/// 发货状态.
/// </summary>
public int goodsState { get; set; }
/// <summary>
/// 关闭状态.
/// </summary>
public int closeState { get; set; }
/// <summary>
/// 关闭日期.
/// </summary>
public DateTime? closeDate { get; set; }
/// <summary>
/// 联系人.
/// </summary>
public string contactName { get; set; }
/// <summary>
/// 子表数据.
/// </summary>
public List<ProductEntryEntity> productEntryList { get; set; }
}

View File

@@ -1,41 +0,0 @@
using JNPF.Common.Filter;
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Product;
/// <summary>
/// 销售订单列表.
/// </summary>
[SuppressSniffer]
public class ProductListQueryInput : PageInputBase
{
/// <summary>
/// 订单编号.
/// </summary>
public string code { get; set; }
/// <summary>
/// 客户名称.
/// </summary>
public string customerName { get; set; }
/// <summary>
/// 联系方式.
/// </summary>
public string contactTel { get; set; }
/// <summary>
/// 审核状态.
/// </summary>
public string auditState { get; set; }
/// <summary>
/// 关闭状态.
/// </summary>
public string closeState { get; set; }
/// <summary>
/// 制单人.
/// </summary>
public string creatorUser { get; set; }
}

View File

@@ -1,15 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Product;
/// <summary>
/// 订单示例更新输入.
/// </summary>
[SuppressSniffer]
public class ProductUpInput : ProductCrInput
{
/// <summary>
/// .
/// </summary>
public string id { get; set; }
}

View File

@@ -1,25 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProductClassify;
/// <summary>
/// 产品分类.
/// </summary>
[SuppressSniffer]
public class ProductClassifyCrInput
{
/// <summary>
/// 名称.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 上级.
/// </summary>
public string? parentId { get; set; }
}

View File

@@ -1,25 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProductClassify;
/// <summary>
/// 产品分类.
/// </summary>
[SuppressSniffer]
public class ProductClassifyInfoOutput
{
/// <summary>
/// 自然主键.
/// </summary>
public string id { get; set; }
/// <summary>
/// 名称.
/// </summary>
public string fullName { get; set; }
/// <summary>
/// 上级.
/// </summary>
public string parentId { get; set; }
}

View File

@@ -1,17 +0,0 @@
using JNPF.Common.Security;
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProductClassify;
/// <summary>
/// 产品分类.
/// </summary>
[SuppressSniffer]
public class ProductClassifyTreeOutput : TreeModel
{
/// <summary>
/// 名称.
/// </summary>
/// <returns></returns>
public string fullName { get; set; }
}

View File

@@ -1,12 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProductClassify;
/// <summary>
/// 产品分类.
/// </summary>
[SuppressSniffer]
public class ProductClassifyUpInput : ProductClassifyCrInput
{
public string id { get; set; }
}

View File

@@ -1,41 +0,0 @@
using JNPF.DependencyInjection;
using SqlSugar;
namespace JNPF.Extend.Entitys.Dto.Customer;
/// <summary>
/// 客户信息.
/// </summary>
[SuppressSniffer]
public class ProductCustomerListOutput
{
/// <summary>
/// 主键.
/// </summary>
public string id { get; set; }
/// <summary>
/// 客户编号.
/// </summary>
public string code { get; set; }
/// <summary>
/// 客户名称.
/// </summary>
public string customerName { get; set; }
/// <summary>
/// 地址.
/// </summary>
public string address { get; set; }
/// <summary>
/// 名称.
/// </summary>
public string name { get; set; }
/// <summary>
/// 联系方式.
/// </summary>
public string contactTel { get; set; }
}

View File

@@ -1,60 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProductEntry;
/// <summary>
/// 新建产品明细.
/// </summary>
[SuppressSniffer]
public class ProductEntryCrInput
{
/// <summary>
/// 主键.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 产品编号.
/// </summary>
public string productCode { get; set; }
/// <summary>
/// 产品名称.
/// </summary>
public string productName { get; set; }
/// <summary>
/// 产品规格.
/// </summary>
public string productSpecification { get; set; }
/// <summary>
/// 数量.
/// </summary>
public int qty { get; set; }
/// <summary>
/// 订货类型.
/// </summary>
public string type { get; set; }
/// <summary>
/// 单价.
/// </summary>
public decimal money { get; set; }
/// <summary>
/// 折后单价.
/// </summary>
public decimal price { get; set; }
/// <summary>
/// 金额.
/// </summary>
public decimal amount { get; set; }
/// <summary>
/// 备注.
/// </summary>
public string description { get; set; }
}

View File

@@ -1,60 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProductEntry;
/// <summary>
/// 销售订单信息.
/// </summary>
[SuppressSniffer]
public class ProductEntryInfoOutput
{
/// <summary>
/// 主键.
/// </summary>
public string id { get; set; }
/// <summary>
/// 产品编号.
/// </summary>
public string productCode { get; set; }
/// <summary>
/// 产品名称.
/// </summary>
public string productName { get; set; }
/// <summary>
/// 产品规格.
/// </summary>
public string productSpecification { get; set; }
/// <summary>
/// 数量.
/// </summary>
public int qty { get; set; }
/// <summary>
/// 订货类型.
/// </summary>
public string type { get; set; }
/// <summary>
/// 单价.
/// </summary>
public decimal money { get; set; }
/// <summary>
/// 折后单价.
/// </summary>
public decimal price { get; set; }
/// <summary>
/// 金额.
/// </summary>
public decimal amount { get; set; }
/// <summary>
/// 备注.
/// </summary>
public string description { get; set; }
}

View File

@@ -1,41 +0,0 @@
using JNPF.DependencyInjection;
using JNPF.Extend.Entitys.Model;
namespace JNPF.Extend.Entitys.Dto.ProductEntry;
/// <summary>
///
/// </summary>
[SuppressSniffer]
public class ProductEntryListOutput
{
/// <summary>
/// 产品编号.
/// </summary>
public string productCode { get; set; }
/// <summary>
/// 产品名称.
/// </summary>
public string productName { get; set; }
/// <summary>
/// 数量.
/// </summary>
public int qty { get; set; }
/// <summary>
/// 订货类型.
/// </summary>
public string type { get; set; }
/// <summary>
/// 活动.
/// </summary>
public string activity { get; set; }
/// <summary>
/// 数据.
/// </summary>
public List<ProductEntryMdoel> dataList { get; set; }
}

View File

@@ -1,50 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProductGoods;
/// <summary>
/// 产品列表.
/// </summary>
[SuppressSniffer]
public class ProductGoodsListOutput
{
/// <summary>
/// 主键.
/// </summary>
public string id { get; set; }
/// <summary>
/// 分类主键.
/// </summary>
public string classifyId { get; set; }
/// <summary>
/// 订单编号.
/// </summary>
public string code { get; set; }
/// <summary>
/// 订单名称.
/// </summary>
public string fullName { get; set; }
/// <summary>
/// 订单名称.
/// </summary>
public int qty { get; set; }
/// <summary>
/// 订货类型.
/// </summary>
public string type { get; set; }
/// <summary>
/// 金额.
/// </summary>
public string amount { get; set; }
/// <summary>
/// 单价.
/// </summary>
public string money { get; set; }
}

View File

@@ -1,26 +0,0 @@
using JNPF.Common.Filter;
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProductGoods;
/// <summary>
/// 产品列表.
/// </summary>
[SuppressSniffer]
public class ProductGoodsListQueryInput : PageInputBase
{
/// <summary>
/// 订单编号.
/// </summary>
public string code { get; set; }
/// <summary>
/// 产品名称.
/// </summary>
public string fullName { get; set; }
/// <summary>
/// 分类ID.
/// </summary>
public string classifyId { get; set; }
}

View File

@@ -1,55 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProjectGantt;
/// <summary>
/// 添加项目.
/// </summary>
[SuppressSniffer]
public class ProjectGanttCrInput
{
/// <summary>
/// 项目编码.
/// </summary>
public string? enCode { get; set; }
/// <summary>
/// 项目状态(1-进行中2-已暂停).
/// </summary>
public int? state { get; set; }
/// <summary>
/// 开始时间.
/// </summary>
public DateTime? startTime { get; set; }
/// <summary>
/// 完成进度.
/// </summary>
public double? schedule { get; set; }
/// <summary>
/// 项目工期.
/// </summary>
public int? timeLimit { get; set; }
/// <summary>
/// 项目名称.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 结束时间.
/// </summary>
public DateTime? endTime { get; set; }
/// <summary>
/// 参与人员.
/// </summary>
public string? managerIds { get; set; }
/// <summary>
/// 项目描述.
/// </summary>
public string? description { get; set; }
}

View File

@@ -1,11 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProjectGantt;
/// <summary>
/// 获取项目信息.
/// </summary>
[SuppressSniffer]
public class ProjectGanttInfoOutput : ProjectGanttUpInput
{
}

View File

@@ -1,77 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProjectGantt;
/// <summary>
/// 获取项目管理列表(带分页).
/// </summary>
[SuppressSniffer]
public class ProjectGanttListOutput
{
/// <summary>
/// 项目编码.
/// </summary>
public string? enCode { get; set; }
/// <summary>
/// 项目状态(1-进行中2-已暂停).
/// </summary>
public int? state { get; set; }
/// <summary>
/// 开始时间.
/// </summary>
public DateTime? startTime { get; set; }
/// <summary>
/// 完成进度.
/// </summary>
public int? schedule { get; set; }
/// <summary>
/// 项目工期.
/// </summary>
public double timeLimit { get; set; }
/// <summary>
/// 项目名称.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 结束时间.
/// </summary>
public DateTime? endTime { get; set; }
/// <summary>
/// 参加人员.
/// </summary>
public string? managerIds { get; set; }
/// <summary>
/// 参加人员信息.
/// </summary>
public List<ManagersInfo> managersInfo { get; set; } = new List<ManagersInfo>();
}
/// <summary>
/// 参加人员信息.
/// </summary>
public class ManagersInfo
{
/// <summary>
/// 账号+名字.
/// </summary>
public string? account { get; set; }
/// <summary>
/// 用户头像.
/// </summary>
public string? headIcon { get; set; }
}

View File

@@ -1,65 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProjectGantt;
/// <summary>
/// 添加项目任务.
/// </summary>
[SuppressSniffer]
public class ProjectGanttTaskCrInput
{
/// <summary>
/// 上级id.
/// </summary>
public string? parentId { get; set; }
/// <summary>
/// 开始时间.
/// </summary>
public DateTime? startTime { get; set; }
/// <summary>
/// 完成进度.
/// </summary>
public decimal? schedule { get; set; }
/// <summary>
/// 完成进度.
/// </summary>
public decimal? timeLimit { get; set; }
/// <summary>
/// 任务名称.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 结束时间.
/// </summary>
public DateTime? endTime { get; set; }
/// <summary>
/// 参与人员.
/// </summary>
public string? managerIds { get; set; }
/// <summary>
/// 标记颜色.
/// </summary>
public string? signColor { get; set; }
/// <summary>
/// 标记.
/// </summary>
public string? sign { get; set; }
/// <summary>
/// 项目id.
/// </summary>
public string? projectId { get; set; }
/// <summary>
/// 任务描述.
/// </summary>
public string? description { get; set; }
}

View File

@@ -1,11 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProjectGantt;
/// <summary>
/// 获取项目任务信息.
/// </summary>
[SuppressSniffer]
public class ProjectGanttTaskInfoOutput : ProjectGanttTaskUpInput
{
}

View File

@@ -1,43 +0,0 @@
using JNPF.Common.Security;
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProjectGantt;
/// <summary>
/// 获取项目任务列表.
/// </summary>
[SuppressSniffer]
public class ProjectGanttTaskListOutput : TreeModel
{
/// <summary>
/// 任务名称.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 标记.
/// </summary>
public string? sign { get; set; }
/// <summary>
/// 标记颜色.
/// </summary>
public string? signColor { get; set; }
/// <summary>
/// 开始时间.
/// </summary>
public DateTime? startTime { get; set; }
/// <summary>
/// 结束时间.
/// </summary>
public DateTime? endTime { get; set; }
/// <summary>
/// 完成进度.
/// </summary>
public int? schedule { get; set; }
}

View File

@@ -1,46 +0,0 @@
using JNPF.Common.Security;
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProjectGantt;
/// <summary>
/// 获取项目任务树形.
/// </summary>
[SuppressSniffer]
public class ProjectGanttTaskTreeViewOutput : TreeModel
{
/// <summary>
/// 结束时间.
/// </summary>
public DateTime? endTime { get; set; }
/// <summary>
/// 开始时间.
/// </summary>
public DateTime? startTime { get; set; }
/// <summary>
/// 项目名称.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 完成度.
/// </summary>
public int? schedule { get; set; }
/// <summary>
/// 项目id.
/// </summary>
public string? projectId { get; set; }
/// <summary>
/// 标记颜色.
/// </summary>
public string? signColor { get; set; }
/// <summary>
/// 标记.
/// </summary>
public string? sign { get; set; }
}

View File

@@ -1,15 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProjectGantt;
/// <summary>
/// 修改项目任务.
/// </summary>
[SuppressSniffer]
public class ProjectGanttTaskUpInput : ProjectGanttTaskCrInput
{
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
}

View File

@@ -1,15 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.ProjectGantt;
/// <summary>
/// 修改项目.
/// </summary>
[SuppressSniffer]
public class ProjectGanttUpInput : ProjectGanttCrInput
{
/// <summary>
/// 项目id.
/// </summary>
public string? id { get; set; }
}

View File

@@ -1,60 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Schedule;
/// <summary>
/// 新建日程安排.
/// </summary>
[SuppressSniffer]
public class ScheduleCrInput
{
/// <summary>
/// 开始时间.
/// </summary>
public DateTime? startTime { get; set; }
/// <summary>
/// 结束时间.
/// </summary>
public DateTime? endTime { get; set; }
/// <summary>
/// 日程内容.
/// </summary>
public string? content { get; set; }
/// <summary>
/// 微信提醒(1-提醒0-不提醒).
/// </summary>
public int? weChatAlert { get; set; }
/// <summary>
/// 邮件提醒(1-提醒0-不提醒).
/// </summary>
public int? mailAlert { get; set; }
/// <summary>
/// 短信提醒(1-提醒0-不提醒).
/// </summary>
public int? mobileAlert { get; set; }
/// <summary>
/// APP提醒(1-提醒0-不提醒).
/// </summary>
public int? appAlert { get; set; }
/// <summary>
/// 提醒设置.
/// </summary>
public int? early { get; set; }
/// <summary>
/// 日程颜色.
/// </summary>
public string? colour { get; set; }
/// <summary>
/// 颜色样式.
/// </summary>
public string? colourCss { get; set; }
}

View File

@@ -1,65 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Schedule;
/// <summary>
/// 获取日程安排信息.
/// </summary>
[SuppressSniffer]
public class ScheduleInfoOutput
{
/// <summary>
/// APP提醒.
/// </summary>
public int? appAlert { get; set; }
/// <summary>
/// 日程颜色.
/// </summary>
public string? colour { get; set; }
/// <summary>
/// 颜色样式.
/// </summary>
public string? colourCss { get; set; }
/// <summary>
/// 日程内容.
/// </summary>
public string? content { get; set; }
/// <summary>
/// 提醒设置.
/// </summary>
public int? early { get; set; }
/// <summary>
/// 结束时间.
/// </summary>
public DateTime? endTime { get; set; }
/// <summary>
/// 日程主键.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 邮件提醒.
/// </summary>
public int? mailAlert { get; set; }
/// <summary>
/// 短信提醒.
/// </summary>
public int? mobileAlert { get; set; }
/// <summary>
/// 开始时间.
/// </summary>
public DateTime? startTime { get; set; }
/// <summary>
/// 微信提醒.
/// </summary>
public int? weChatAlert { get; set; }
}

View File

@@ -1,35 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Schedule;
/// <summary>
/// 获取日程安排列表.
/// </summary>
[SuppressSniffer]
public class ScheduleListOutput
{
/// <summary>
/// 日程内容.
/// </summary>
public string? content { get; set; }
/// <summary>
/// 开始时间.
/// </summary>
public DateTime? startTime { get; set; }
/// <summary>
/// 结束时间.
/// </summary>
public DateTime? endTime { get; set; }
/// <summary>
/// 颜色.
/// </summary>
public string? colour { get; set; }
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
}

View File

@@ -1,27 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Schedule;
/// <summary>
/// 获取日程安排列表入参.
/// </summary>
[SuppressSniffer]
public class ScheduleListQuery
{
/// <summary>
/// 开始时间.
/// </summary>
public string? startTime { get; set; }
/// <summary>
/// 结束时间.
/// </summary>
public string? endTime { get; set; }
/// <summary>
/// 时间.
/// </summary>
public string? dateTime { get; set; }
}

View File

@@ -1,15 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.Schedule;
/// <summary>
/// 更新日程安排.
/// </summary>
[SuppressSniffer]
public class ScheduleUpInput : ScheduleCrInput
{
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
}

View File

@@ -1,85 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.TableExample;
/// <summary>
/// 获取表格分组列表.
/// </summary>
[SuppressSniffer]
public class TableExampleAllOutput
{
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 项目名称.
/// </summary>
public string? projectName { get; set; }
/// <summary>
/// 项目编码.
/// </summary>
public string? projectCode { get; set; }
/// <summary>
/// 项目类型名称.
/// </summary>
public string? projectType { get; set; }
/// <summary>
/// 项目阶段.
/// </summary>
public string? projectPhase { get; set; }
/// <summary>
/// 客户名称.
/// </summary>
public string? customerName { get; set; }
/// <summary>
/// 负责人.
/// </summary>
public string? principal { get; set; }
/// <summary>
/// 立项人.
/// </summary>
public string? jackStands { get; set; }
/// <summary>
/// 交付时间.
/// </summary>
public DateTime? interactionDate { get; set; }
/// <summary>
/// 费用金额.
/// </summary>
public decimal? costAmount { get; set; }
/// <summary>
/// 已用金额.
/// </summary>
public decimal? tunesAmount { get; set; }
/// <summary>
/// 预计收入.
/// </summary>
public decimal? projectedIncome { get; set; }
/// <summary>
/// 登记人.
/// </summary>
public string? registrant { get; set; }
/// <summary>
/// 登记时间.
/// </summary>
public DateTime? registerDate { get; set; }
/// <summary>
/// 备注.
/// </summary>
public string? description { get; set; }
}

View File

@@ -1,31 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.TableExample;
/// <summary>
/// 获取城市信息列表.
/// </summary>
[SuppressSniffer]
public class TableExampleCityListOutput
{
/// <summary>
/// 主键id.
/// </summary>
public string? id { get; set; }
/// <summary>
/// 上级id.
/// </summary>
public string? parentId { get; set; }
/// <summary>
/// 名称.
/// </summary>
public string? fullName { get; set; }
/// <summary>
/// 编码.
/// </summary>
public string? enCode { get; set; }
}

View File

@@ -1,70 +0,0 @@
using JNPF.DependencyInjection;
namespace JNPF.Extend.Entitys.Dto.TableExample;
/// <summary>
/// 新建项目.
/// </summary>
[SuppressSniffer]
public class TableExampleCrInput
{
/// <summary>
/// 项目名称.
/// </summary>
public string? projectName { get; set; }
/// <summary>
/// 项目编码.
/// </summary>
public string? projectCode { get; set; }
/// <summary>
/// 项目类型.
/// </summary>
public string? projectType { get; set; }
/// <summary>
/// 项目阶段.
/// </summary>
public string? projectPhase { get; set; }
/// <summary>
/// 客户名称.
/// </summary>
public string? customerName { get; set; }
/// <summary>
/// 负责人.
/// </summary>
public string? principal { get; set; }
/// <summary>
/// 立项人.
/// </summary>
public string? jackStands { get; set; }
/// <summary>
/// 交付日期.
/// </summary>
public DateTime? interactionDate { get; set; }
/// <summary>
/// 费用金额.
/// </summary>
public decimal? costAmount { get; set; }
/// <summary>
/// 已用金额.
/// </summary>
public decimal? tunesAmount { get; set; }
/// <summary>
/// 预计收入.
/// </summary>
public decimal? projectedIncome { get; set; }
/// <summary>
/// 描述.
/// </summary>
public string? description { get; set; }
}

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