Merge branch 'dev' of https://git.tuotong-tech.com/tnb/tnb.server into dev
This commit is contained in:
@@ -48,6 +48,10 @@ public static class DictConst
|
|||||||
/// 包装工单
|
/// 包装工单
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string PrdMoTypeBZ = "25019191681045";
|
public const string PrdMoTypeBZ = "25019191681045";
|
||||||
|
/// <summary>
|
||||||
|
/// 物料分类
|
||||||
|
/// </summary>
|
||||||
|
public const string MaterialCatagoryID = "24882163283733";
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
72
BasicData/Tnb.BasicData.Entities/Entity/BasRegionMat.cs
Normal file
72
BasicData/Tnb.BasicData.Entities/Entity/BasRegionMat.cs
Normal 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; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -131,6 +131,55 @@ namespace Tnb.BasicData
|
|||||||
mbomDataOutput.processes = mbomProcessOutDtos;
|
mbomDataOutput.processes = mbomProcessOutDtos;
|
||||||
return mbomDataOutput;
|
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>
|
/// <summary>
|
||||||
|
|||||||
99
BasicData/Tnb.BasicData/BasRegionMatService.cs
Normal file
99
BasicData/Tnb.BasicData/BasRegionMatService.cs
Normal 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir>
|
<SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir>
|
||||||
<LangVersion>latest</LangVersion>
|
<LangVersion>latest</LangVersion>
|
||||||
<NoWarn>$(NoWarn);CS1570;CS1587;CS1591;CS8601;CS8602;CS8603;CS8618;</NoWarn>
|
<NoWarn>$(NoWarn);CS1570;CS1587;CS1591;</NoWarn>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
|
|
||||||
|
|||||||
@@ -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>();
|
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() : "";
|
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<BasMaterial>((a, b) => a.material_id == b.id)
|
||||||
.LeftJoin<ToolMolds>((a, b, c) => a.mold_id == c.id)
|
.LeftJoin<ToolMolds>((a, b, c) => a.mold_id == c.id)
|
||||||
.LeftJoin<EqpEquipment>((a, b, c, d) => a.eqp_id == d.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))
|
.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()
|
.Select((a, b, c, d) => new PrdMoTaskTreeOutput()
|
||||||
{
|
{
|
||||||
id = a.id,
|
id = a.id,
|
||||||
@@ -78,20 +79,20 @@ namespace Tnb.ProductionMgr
|
|||||||
estimated_start_date = a.estimated_start_date!.ToString(),
|
estimated_start_date = a.estimated_start_date!.ToString(),
|
||||||
estimated_end_date = a.estimated_end_date.ToString(),
|
estimated_end_date = a.estimated_end_date.ToString(),
|
||||||
create_time = a.create_time.ToString()
|
create_time = a.create_time.ToString()
|
||||||
}).ToListAsync();
|
}).ToPagedListAsync(input.currentPage, input.pageSize);
|
||||||
List<PrdMoTaskTreeOutput> treeList = list.ToTree();
|
// List<PrdMoTaskTreeOutput> treeList = list.ToTree();
|
||||||
treeList = treeList.Skip((input.currentPage - 1) * input.pageSize).Take(input.pageSize).ToList();
|
// treeList = treeList.Skip((input.currentPage - 1) * input.pageSize).Take(input.pageSize).ToList();
|
||||||
SqlSugarPagedList<PrdMoTaskTreeOutput> pagedList = new()
|
// SqlSugarPagedList<PrdMoTaskTreeOutput> pagedList = new()
|
||||||
{
|
// {
|
||||||
list = treeList,
|
// list = treeList,
|
||||||
pagination = new Pagination
|
// pagination = new Pagination
|
||||||
{
|
// {
|
||||||
CurrentPage = input.currentPage,
|
// CurrentPage = input.currentPage,
|
||||||
PageSize = input.pageSize,
|
// PageSize = input.pageSize,
|
||||||
Total = treeList.Count
|
// Total = treeList.Count
|
||||||
}
|
// }
|
||||||
};
|
// };
|
||||||
return PageResult<PrdMoTaskTreeOutput>.SqlSugarPageResult(pagedList);
|
return PageResult<PrdMoTaskTreeOutput>.SqlSugarPageResult(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
|
|||||||
@@ -109,10 +109,31 @@ namespace Tnb.ProductionMgr
|
|||||||
private async Task<dynamic> GetList(VisualDevModelListQueryInput input)
|
private async Task<dynamic> GetList(VisualDevModelListQueryInput input)
|
||||||
{
|
{
|
||||||
ISqlSugarClient db = _repository.AsSugarClient();
|
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 moCode = queryJson.ContainsKey("mo_code") ? queryJson["mo_code"].ToString() : "";
|
||||||
string moStatus = queryJson.ContainsKey("mo_status") ? queryJson["mo_status"].ToString() : "";
|
string moStatus = queryJson.ContainsKey("mo_status") ? queryJson["mo_status"].ToString() : "";
|
||||||
string combineMoCode = queryJson.ContainsKey("combine_mo_code") ? queryJson["combine_mo_code"].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>()
|
SqlSugarPagedList<PrdMoListOuput> result = await db.Queryable<PrdMo>()
|
||||||
.LeftJoin<BasMaterial>((a, b) => a.material_id == b.id)
|
.LeftJoin<BasMaterial>((a, b) => a.material_id == b.id)
|
||||||
.LeftJoin<DictionaryTypeEntity>((a, b, c) => c.EnCode == DictConst.MeasurementUnit)
|
.LeftJoin<DictionaryTypeEntity>((a, b, c) => c.EnCode == DictConst.MeasurementUnit)
|
||||||
@@ -123,6 +144,10 @@ namespace Tnb.ProductionMgr
|
|||||||
.WhereIF(!string.IsNullOrEmpty(combineMoCode),
|
.WhereIF(!string.IsNullOrEmpty(combineMoCode),
|
||||||
(a, b, c, d, e) => a.combine_mo_code.Contains(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(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))
|
.Where(a => SqlFunc.IsNullOrEmpty(a.parent_id))
|
||||||
.OrderByDescending(a => a.create_time)
|
.OrderByDescending(a => a.create_time)
|
||||||
.Select((a, b, c, d, e, f) => new PrdMoListOuput
|
.Select((a, b, c, d, e, f) => new PrdMoListOuput
|
||||||
|
|||||||
@@ -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.ActiveCfg = Debug|Any CPU
|
||||||
{9FA1FB84-71AB-42A7-9570-F856A4B1EBAB}.Debug|Any CPU.Build.0 = 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.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
|
{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.ActiveCfg = Debug|Any CPU
|
||||||
{135D0C0A-9B95-45F2-BE5F-01286F6BB234}.Debug|Any CPU.Build.0 = 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.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
|
{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.ActiveCfg = Debug|Any CPU
|
||||||
{D1135D42-7CD0-4579-82B3-D2B121FCE954}.Debug|Any CPU.Build.0 = 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.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
|
{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.ActiveCfg = Debug|Any CPU
|
||||||
{8D3E0381-4B3D-4F44-81C8-535E28418A1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{8D3E0381-4B3D-4F44-81C8-535E28418A1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
|||||||
@@ -195,4 +195,9 @@ public class ModuleConsts
|
|||||||
/// 模块标识-在库物料维护
|
/// 模块标识-在库物料维护
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string MODULE_WMSINSTKMIN_ID = "27124095468309";
|
public const string MODULE_WMSINSTKMIN_ID = "27124095468309";
|
||||||
|
/// <summary>
|
||||||
|
/// 模块标识-区域物料设定
|
||||||
|
/// </summary>
|
||||||
|
public const string MODULE_BASREGIONMAT_ID = "26187428200229";
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -265,5 +265,7 @@
|
|||||||
/// 盘点任务计算状态-未结算
|
/// 盘点任务计算状态-未结算
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string CLOSINGSTATUS_WJS_ID = "27674058079509";
|
public const string CLOSINGSTATUS_WJS_ID = "27674058079509";
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,10 +44,6 @@ public partial class WmsElevatorH : BaseEntity<string>
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string elevator_group { get; set; } = string.Empty;
|
public string elevator_group { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 状态
|
|
||||||
/// </summary>
|
|
||||||
public int status { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 任务数量
|
/// 任务数量
|
||||||
|
|||||||
@@ -59,4 +59,11 @@ public partial class WmsElevatorH
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarColumn(IsIgnore = true)]
|
[SugarColumn(IsIgnore = true)]
|
||||||
public string device_id { get; set; }
|
public string device_id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 状态
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "status")]
|
||||||
|
public int enable_mark { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
18
WarehouseMgr/Tnb.WarehouseMgr/BasRegionMatService.cs
Normal file
18
WarehouseMgr/Tnb.WarehouseMgr/BasRegionMatService.cs
Normal 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
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using System.Security.Claims;
|
using System.Security.Claims;
|
||||||
using JNPF;
|
using JNPF;
|
||||||
|
using JNPF.Common.Contracts;
|
||||||
using JNPF.Common.Core.Manager;
|
using JNPF.Common.Core.Manager;
|
||||||
using JNPF.Common.Enums;
|
using JNPF.Common.Enums;
|
||||||
using JNPF.Common.Extension;
|
using JNPF.Common.Extension;
|
||||||
@@ -300,6 +301,8 @@ namespace Tnb.WarehouseMgr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#region 斑马打印
|
#region 斑马打印
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 打印
|
/// 打印
|
||||||
@@ -347,7 +350,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
// tcs.SetResult(printerList);
|
// tcs.SetResult(printerList);
|
||||||
// return tcs.Task;
|
// return tcs.Task;
|
||||||
//}
|
//}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Api响应结果
|
/// Api响应结果
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
/// Wms设备接口提供程序服务类
|
/// Wms设备接口提供程序服务类
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
||||||
public class DeviceProviderService : BaseWareHouseService<DeviceProviderService>
|
public class DeviceProviderService : ServiceLoggerBase<DeviceProviderService>
|
||||||
{
|
{
|
||||||
private readonly ISqlSugarClient _db;
|
private readonly ISqlSugarClient _db;
|
||||||
private readonly IWareHouseService _wareHouseService;
|
private readonly IWareHouseService _wareHouseService;
|
||||||
|
|||||||
@@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -6,17 +6,19 @@ using Tnb.WarehouseMgr.Entities;
|
|||||||
|
|
||||||
namespace Tnb.WarehouseMgr
|
namespace Tnb.WarehouseMgr
|
||||||
{
|
{
|
||||||
public class BaseWareHouseService<T> : BaseWareHouseService
|
public class ServiceLoggerBase<TService> : BaseWareHouseService
|
||||||
{
|
{
|
||||||
protected static Dictionary<string, object> s_elevatorMap = new();
|
protected static Dictionary<string, object> s_elevatorMap = new();
|
||||||
private static readonly Lazy<Task> initializationTask;
|
private static readonly Lazy<Task> initializationTask;
|
||||||
|
|
||||||
|
|
||||||
static BaseWareHouseService()
|
static ServiceLoggerBase()
|
||||||
{
|
{
|
||||||
initializationTask = new Lazy<Task>(InitializeAsync);
|
initializationTask = new Lazy<Task>(InitializeAsync);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static async 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";
|
//cfgOpts.DateFormat = "yyyy-MM-dd HH:mm:ss.fff";
|
||||||
@@ -54,7 +56,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
return sb.ToString();
|
return sb.ToString();
|
||||||
};
|
};
|
||||||
|
|
||||||
})).CreateLogger<T>();
|
})).CreateLogger<TService>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class CustomLoggerExtenstions
|
public static class CustomLoggerExtenstions
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -9,6 +9,10 @@
|
|||||||
<Configurations>Debug;Release</Configurations>
|
<Configurations>Debug;Release</Configurations>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Remove="TaskMesageNotify.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\BasicData\Tnb.BasicData.Interfaces\Tnb.BasicData.Interfaces.csproj" />
|
<ProjectReference Include="..\..\BasicData\Tnb.BasicData.Interfaces\Tnb.BasicData.Interfaces.csproj" />
|
||||||
<ProjectReference Include="..\..\EquipMgr\Tnb.EquipMgr.Entities\Tnb.EquipMgr.Entities.csproj" />
|
<ProjectReference Include="..\..\EquipMgr\Tnb.EquipMgr.Entities\Tnb.EquipMgr.Entities.csproj" />
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 库房业务类(出入库)
|
/// 库房业务类(出入库)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class WareHouseService : BaseWareHouseService<WareHouseService>, IWareHouseService
|
public class WareHouseService : ServiceLoggerBase<WareHouseService>, IWareHouseService
|
||||||
{
|
{
|
||||||
private readonly ISqlSugarClient _db;
|
private readonly ISqlSugarClient _db;
|
||||||
private readonly IDictionaryDataService _dictionaryDataService;
|
private readonly IDictionaryDataService _dictionaryDataService;
|
||||||
@@ -977,9 +977,9 @@ namespace Tnb.WarehouseMgr
|
|||||||
if (curEleDs?.Count > 0)
|
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)
|
if (curEle == null && sGpEle?.Count > 0)
|
||||||
{
|
{
|
||||||
@@ -1048,9 +1048,9 @@ namespace Tnb.WarehouseMgr
|
|||||||
if (curEleDs?.Count > 0)
|
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)
|
if (curEle == null && sGpEle?.Count > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
29
WarehouseMgr/Tnb.WarehouseMgr/WmsBasicDataBase`1.cs
Normal file
29
WarehouseMgr/Tnb.WarehouseMgr/WmsBasicDataBase`1.cs
Normal 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)
|
||||||
|
// {
|
||||||
|
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
}
|
||||||
@@ -13,7 +13,6 @@ using JNPF.VisualDev.Interfaces;
|
|||||||
using Mapster;
|
using Mapster;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using NPOI.SS.Formula.Functions;
|
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using Tnb.BasicData.Entities;
|
using Tnb.BasicData.Entities;
|
||||||
using Tnb.WarehouseMgr.Entities;
|
using Tnb.WarehouseMgr.Entities;
|
||||||
@@ -30,7 +29,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
/// 盘点任务
|
/// 盘点任务
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[OverideVisualDev(ModuleConsts.MODULE_WMSCHECKTASK_ID)]
|
[OverideVisualDev(ModuleConsts.MODULE_WMSCHECKTASK_ID)]
|
||||||
public class WmsCheckTaskService : BaseWareHouseService<WmsCheckTaskService>
|
public class WmsCheckTaskService : ServiceLoggerBase<WmsCheckTaskService>
|
||||||
{
|
{
|
||||||
private readonly ISqlSugarClient _db;
|
private readonly ISqlSugarClient _db;
|
||||||
private readonly IWareHouseService _warehouseService;
|
private readonly IWareHouseService _warehouseService;
|
||||||
@@ -112,12 +111,33 @@ namespace Tnb.WarehouseMgr
|
|||||||
areaIds = input.data[nameof(WmsCheckstockH.area_id)].ToObject<string[]>();
|
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()),
|
case EnumCheckType.全库盘点:
|
||||||
EnumCheckType.批次盘点 => filterExpable.AndIF(areaIds?.Length > 0, (a, b, c) => areaIds.Contains(a.region_id)),
|
{
|
||||||
_ => filterExpable,
|
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)
|
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)
|
.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);
|
_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;
|
Expression<Func<BasLocation, WmsCarryCode, WmsCarryH, bool>> filterExp = (a, b, c) => false;
|
||||||
switch (input.CheckType)
|
switch (input.CheckType)
|
||||||
{
|
{
|
||||||
case EnumCheckType.全库盘点:
|
case EnumCheckType.全库盘点:
|
||||||
{
|
{
|
||||||
filterExp.And((a, b, c) => a.wh_id == input.warehouse_id)
|
filterExp = (a, b, c) => a.wh_id == input.warehouse_id
|
||||||
.And((a, b, c) => a.is_type == ((int)EnumLocationType.存储库位).ToString())
|
&& a.is_type == ((int)EnumLocationType.存储库位).ToString()
|
||||||
.And((a, b, c) => c.is_lock == 0);
|
&& c.is_lock == 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case EnumCheckType.物料盘点:
|
case EnumCheckType.物料盘点:
|
||||||
{
|
{
|
||||||
if (!input.material_id.IsNullOrWhiteSpace())
|
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;
|
break;
|
||||||
@@ -343,7 +362,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
{
|
{
|
||||||
if (input.regionIds?.Count > 0)
|
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;
|
break;
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
[OverideVisualDev(ModuleConsts.MODULE_WMSEMPTYINSTOCK_ID)]
|
[OverideVisualDev(ModuleConsts.MODULE_WMSEMPTYINSTOCK_ID)]
|
||||||
[ServiceModule(BizTypeId)]
|
[ServiceModule(BizTypeId)]
|
||||||
|
|
||||||
public class WmsEmptyInstockService : BaseWareHouseService<WmsEmptyInstockService>, IWmsEmptyInstockService
|
public class WmsEmptyInstockService : ServiceLoggerBase<WmsEmptyInstockService>, IWmsEmptyInstockService
|
||||||
{
|
{
|
||||||
private const string BizTypeId = "26121986416677";
|
private const string BizTypeId = "26121986416677";
|
||||||
private readonly ISqlSugarClient _db;
|
private readonly ISqlSugarClient _db;
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[OverideVisualDev(ModuleConsts.MODULE_WMSOUTSTOCK_ID)]
|
[OverideVisualDev(ModuleConsts.MODULE_WMSOUTSTOCK_ID)]
|
||||||
[ServiceModule(BizTypeId)]
|
[ServiceModule(BizTypeId)]
|
||||||
public class WmsOutStockService : BaseWareHouseService<WmsOutStockService>, IWmsOutStockService
|
public class WmsOutStockService : ServiceLoggerBase<WmsOutStockService>, IWmsOutStockService
|
||||||
{
|
{
|
||||||
private const string BizTypeId = "26191522660645";
|
private const string BizTypeId = "26191522660645";
|
||||||
private readonly ISqlSugarClient _db;
|
private readonly ISqlSugarClient _db;
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
using JNPF.Common.Core.Manager;
|
using JNPF.Common.Core.Manager;
|
||||||
|
using JNPF.Common.Extension;
|
||||||
using JNPF.Common.Filter;
|
using JNPF.Common.Filter;
|
||||||
using JNPF.Common.Security;
|
using JNPF.Common.Security;
|
||||||
using JNPF.VisualDev;
|
using JNPF.VisualDev;
|
||||||
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
|
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
|
||||||
using Mapster;
|
using Mapster;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using Tnb.BasicData.Entities;
|
using Tnb.BasicData.Entities;
|
||||||
using Tnb.WarehouseMgr.Entities;
|
using Tnb.WarehouseMgr.Entities;
|
||||||
@@ -29,11 +31,18 @@ namespace Tnb.WarehouseMgr
|
|||||||
|
|
||||||
private async Task<dynamic> GetListAsync(VisualDevModelListQueryInput input)
|
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)
|
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<BasMaterialSendWarehouse>((a, b, c) => b.id == c.material_id)
|
||||||
.InnerJoin<WmsCarryH>((a, b, c, d) => a.carry_id == d.id)
|
.InnerJoin<WmsCarryH>((a, b, c, d) => a.carry_id == d.id)
|
||||||
.InnerJoin<BasLocation>((a, b, c, d, e) => d.location_id == e.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())
|
.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
|
.Select((a, b, c, d, e) => new WmsStockReportH
|
||||||
{
|
{
|
||||||
warehouse_id = a.warehouse_id,
|
warehouse_id = a.warehouse_id,
|
||||||
|
|||||||
12
common.props
12
common.props
@@ -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>
|
|
||||||
@@ -59,6 +59,23 @@ namespace JNPF.Common.Extension
|
|||||||
|
|
||||||
return first.Compose(second, Expression.And);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ public static class StringExtensions
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查找路径的上一级
|
/// 查找路径的上一级
|
||||||
/// </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);
|
int n = str.LastIndexOf(seperate);
|
||||||
if (n > 0)
|
if (n > 0)
|
||||||
|
|||||||
@@ -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)
|
if (value == null)
|
||||||
{
|
{
|
||||||
throw string.IsNullOrEmpty(msg) ? new ArgumentNullException(paraName) : new ArgumentException(msg);
|
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)))
|
if (!value.HasValue || value.Value.Equals(default(T)))
|
||||||
{
|
{
|
||||||
throw string.IsNullOrEmpty(msg) ? new ArgumentException("值不可为空或默认值", paraName) : new ArgumentException(msg);
|
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))
|
if (string.IsNullOrWhiteSpace(value))
|
||||||
{
|
{
|
||||||
throw string.IsNullOrEmpty(msg) ? new ArgumentException("值不可为空或空格", paraName) : new ArgumentException(msg);
|
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))
|
if (string.IsNullOrEmpty(value))
|
||||||
{
|
{
|
||||||
throw string.IsNullOrEmpty(msg) ? new ArgumentException("值不可为空", paraName) : new ArgumentException(msg);
|
throw string.IsNullOrEmpty(msg) ? new ArgumentException("值不可为空", paraName) : new ArgumentException(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
return value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//public static ICollection<T> NotNullOrEmpty<T>(ICollection<T> value, string paraName)
|
//public static ICollection<T> NotNullOrEmpty<T>(ICollection<T> value, string paraName)
|
||||||
@@ -74,64 +67,52 @@ public static class ThrowIf
|
|||||||
// return type;
|
// 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)
|
if (value < minimumValue || value > maximumValue)
|
||||||
{
|
{
|
||||||
throw new ArgumentException($"{paraName} is out of range min: {minimumValue} - max: {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)
|
if (value < minimumValue || value > maximumValue)
|
||||||
{
|
{
|
||||||
throw new ArgumentException($"{paraName} is out of range min: {minimumValue} - max: {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)
|
if (value < minimumValue || value > maximumValue)
|
||||||
{
|
{
|
||||||
throw new ArgumentException($"{paraName} is out of range min: {minimumValue} - max: {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)
|
if (value < minimumValue || value > maximumValue)
|
||||||
{
|
{
|
||||||
throw new ArgumentException($"{paraName} is out of range min: {minimumValue} - max: {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)
|
if (value < minimumValue || value > maximumValue)
|
||||||
{
|
{
|
||||||
throw new ArgumentException($"{paraName} is out of range min: {minimumValue} - max: {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)
|
if (value < minimumValue || value > maximumValue)
|
||||||
{
|
{
|
||||||
throw new ArgumentException($"{paraName} is out of range min: {minimumValue} - max: {maximumValue}");
|
throw new ArgumentException($"{paraName} is out of range min: {minimumValue} - max: {maximumValue}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
using JNPF.DependencyInjection;
|
|
||||||
|
|
||||||
namespace JNPF.Extend.Entitys.Dto.Email;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 存草稿.
|
|
||||||
/// </summary>
|
|
||||||
[SuppressSniffer]
|
|
||||||
public class EmailActionsSaveDraftInput : EmailSendInput
|
|
||||||
{
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
using JNPF.DependencyInjection;
|
|
||||||
|
|
||||||
namespace JNPF.Extend.Entitys.Dto.Email;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 邮箱配置-测试连接.
|
|
||||||
/// </summary>
|
|
||||||
[SuppressSniffer]
|
|
||||||
public class EmailConfigActionsCheckMailInput : EmailConfigInfoOutput
|
|
||||||
{
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -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>
|
|
||||||
/// 收件人 draft,sent.
|
|
||||||
/// </summary>
|
|
||||||
public string? recipient { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 创建时间.
|
|
||||||
/// </summary>
|
|
||||||
public DateTime? creatorTime { get; set; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
using JNPF.DependencyInjection;
|
|
||||||
|
|
||||||
namespace JNPF.Extend.Entitys.Dto.Order;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取订单信息(下一个订单).
|
|
||||||
/// </summary>
|
|
||||||
[SuppressSniffer]
|
|
||||||
public class OrderActionsNextOutput : OrderInfoOutput
|
|
||||||
{
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
using JNPF.DependencyInjection;
|
|
||||||
|
|
||||||
namespace JNPF.Extend.Entitys.Dto.Order;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取订单信息(上一个订单).
|
|
||||||
/// </summary>
|
|
||||||
[SuppressSniffer]
|
|
||||||
public class OrderActionsPrevOutput : OrderInfoOutput
|
|
||||||
{
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
using JNPF.DependencyInjection;
|
|
||||||
|
|
||||||
namespace JNPF.Extend.Entitys.Dto.ProjectGantt;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取项目信息.
|
|
||||||
/// </summary>
|
|
||||||
[SuppressSniffer]
|
|
||||||
public class ProjectGanttInfoOutput : ProjectGanttUpInput
|
|
||||||
{
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
using JNPF.DependencyInjection;
|
|
||||||
|
|
||||||
namespace JNPF.Extend.Entitys.Dto.ProjectGantt;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取项目任务信息.
|
|
||||||
/// </summary>
|
|
||||||
[SuppressSniffer]
|
|
||||||
public class ProjectGanttTaskInfoOutput : ProjectGanttTaskUpInput
|
|
||||||
{
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
}
|
|
||||||
@@ -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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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
Reference in New Issue
Block a user