新增工资/仓储/生产日报等模块,移除旧考勤模块

- 新增 PayRoll(工资)、Wms(仓储)、Prod(车速/缫丝/考勤/丝片检测/丝片台账/纤检日报/质量日报) 模块
- 新增对应 Domain 实体、Application DTO/Service、Api Controller 与前端页面
- 移除旧 Attendance 考勤模块(Controller/Service/Entity/DTO 及 5 个前端页面),由 Prod/Kaoqin 取代
- 调整路由、仪表盘、Lsjl 流丝记录实体与服务
- 更新业务种子数据与 DbSeeder
- 补充工作进度文档 14-27
This commit is contained in:
yanpeng200212
2026-10-27 09:09:57 +08:00
parent 69c4052a64
commit 1f1b184411
119 changed files with 21576 additions and 1668 deletions
@@ -0,0 +1,695 @@
using F9WebAiTest.Domain.Entities.Wms;
namespace F9WebAiTest.Application.Dtos.Wms;
/// <summary>下拉选项(单据类型 / 台账项目 / 往来单位 / 部门 / 庄口 / 物资)</summary>
public class WmsOptionDto
{
public long Id { get; set; }
public string Name { get; set; } = "";
public string Code { get; set; } = "";
public string Ext { get; set; } = "";
}
public class WmsTypeOptionDto
{
public int Value { get; set; }
public string Name { get; set; } = "";
}
public class WmsOptionsDto
{
public List<WmsTypeOptionDto> RukuTypes { get; set; } = new();
public List<WmsTypeOptionDto> ChukuTypes { get; set; } = new();
public List<WmsOptionDto> Wuzi { get; set; } = new();
public List<WmsOptionDto> YuanliaoZhuangkou { get; set; } = new();
public List<WmsOptionDto> CraftZhuangkou { get; set; } = new();
public List<WmsOptionDto> Departments { get; set; } = new();
public List<WmsOptionDto> Gongyingshangs { get; set; } = new();
}
// ==================== 入库 ====================
public class WmsRukuListDto
{
public long Id { get; set; }
public int Module { get; set; }
public DateTime Date { get; set; }
public string DateText => Date.ToString("yyyy-MM-dd");
public int Type { get; set; }
public string TypeName { get; set; } = "";
public string Code { get; set; } = "";
public long GysId { get; set; }
public string GysName { get; set; } = "";
public long KhId { get; set; }
public string KhName { get; set; } = "";
public long GyzkId { get; set; }
public string GyzkName { get; set; } = "";
public long DepId { get; set; }
public string DepName { get; set; } = "";
public string Lianxiren { get; set; } = "";
public string Phone { get; set; } = "";
public string Carno { get; set; } = "";
public string Kuguan { get; set; } = "";
public string Caigouyuan { get; set; } = "";
public string PayStatus { get; set; } = "";
public int RkStatus { get; set; }
public string RkStatusName { get; set; } = "";
public int BxStatus { get; set; }
public string BxStatusName { get; set; } = "";
public string Description { get; set; } = "";
public int Jianshu { get; set; }
public int BaojianNum { get; set; }
public decimal Jingzhong { get; set; }
public decimal Shuliang { get; set; }
public decimal Jine { get; set; }
public int DetailCount { get; set; }
}
public class WmsRukuDetailDto
{
public long Id { get; set; }
public long RukuId { get; set; }
public long WzmlId { get; set; }
public string WzmlName { get; set; } = "";
public string WzmlCode { get; set; } = "";
public string Unit { get; set; } = "";
public long YlzkId { get; set; }
public string YlzkName { get; set; } = "";
public long GyzkId { get; set; }
public string GyzkName { get; set; } = "";
public long DepId { get; set; }
public string DepName { get; set; } = "";
public int Jianshu { get; set; }
public decimal Maozhong { get; set; }
public decimal Pizhong { get; set; }
public decimal Jingzhong { get; set; }
public decimal BiaobaoZhongliang { get; set; }
public decimal BaozhuangZhongliang { get; set; }
public decimal Shuliang { get; set; }
public decimal Danjia { get; set; }
public decimal Jine { get; set; }
public decimal Sunhao { get; set; }
public string PiciCodes { get; set; } = "";
public int PiciNum { get; set; }
public int BaojianNum { get; set; }
public string PiciIds { get; set; } = "";
public string Banci { get; set; } = "";
public string JidiWaigou { get; set; } = "";
public List<WmsBangmadanDto> Bangmadans { get; set; } = new();
}
public class WmsBangmadanDto
{
public long Id { get; set; }
public long DetailId { get; set; }
public bool IsChuku { get; set; }
public int Jianshu { get; set; }
public decimal Maozhong { get; set; }
public decimal Pizhong { get; set; }
public decimal Jingzhong { get; set; }
public DateTime? GuobangShijian { get; set; }
}
public class WmsRukuEditDto
{
public long Id { get; set; }
public int Module { get; set; }
public DateTime Date { get; set; }
public int Type { get; set; }
public string Code { get; set; } = "";
public long GysId { get; set; }
public string GysName { get; set; } = "";
public long KhId { get; set; }
public string KhName { get; set; } = "";
public long GyzkId { get; set; }
public string GyzkName { get; set; } = "";
public long DepId { get; set; }
public string DepName { get; set; } = "";
public string Lianxiren { get; set; } = "";
public string Phone { get; set; } = "";
public string Carno { get; set; } = "";
public string Kuguan { get; set; } = "";
public string Caigouyuan { get; set; } = "";
public string PayStatus { get; set; } = "";
public int RkStatus { get; set; }
public int BxStatus { get; set; }
public string Description { get; set; } = "";
public List<WmsRukuDetailDto> Details { get; set; } = new();
}
public class WmsRukuSaveDto
{
public long Id { get; set; }
public int Module { get; set; }
public DateTime Date { get; set; }
public int Type { get; set; }
public string Code { get; set; } = "";
public long GysId { get; set; }
public long KhId { get; set; }
public long GyzkId { get; set; }
public long DepId { get; set; }
public string Lianxiren { get; set; } = "";
public string Phone { get; set; } = "";
public string Carno { get; set; } = "";
public string Kuguan { get; set; } = "";
public string Caigouyuan { get; set; } = "";
public string PayStatus { get; set; } = "";
public int RkStatus { get; set; }
public int BxStatus { get; set; }
public string Description { get; set; } = "";
public List<WmsRukuDetailSaveDto> Details { get; set; } = new();
}
public class WmsRukuDetailSaveDto
{
public long Id { get; set; }
public long WzmlId { get; set; }
public long YlzkId { get; set; }
public long GyzkId { get; set; }
public long DepId { get; set; }
public int Jianshu { get; set; }
public decimal Maozhong { get; set; }
public decimal Pizhong { get; set; }
public decimal Jingzhong { get; set; }
public decimal BiaobaoZhongliang { get; set; }
public decimal BaozhuangZhongliang { get; set; }
public decimal Shuliang { get; set; }
public decimal Danjia { get; set; }
public decimal Jine { get; set; }
public decimal Sunhao { get; set; }
public string PiciCodes { get; set; } = "";
public int PiciNum { get; set; }
public int BaojianNum { get; set; }
public string PiciIds { get; set; } = "";
public string Banci { get; set; } = "";
public string JidiWaigou { get; set; } = "";
public List<WmsBangmadanDto> Bangmadans { get; set; } = new();
}
// ==================== 出库 ====================
public class WmsChukuListDto
{
public long Id { get; set; }
public int Module { get; set; }
public DateTime Date { get; set; }
public string DateText => Date.ToString("yyyy-MM-dd");
public int Type { get; set; }
public string TypeName { get; set; } = "";
public string Code { get; set; } = "";
public long WldwId { get; set; }
public string WldwName { get; set; } = "";
public long KhId { get; set; }
public string KhName { get; set; } = "";
public long GyzkId { get; set; }
public string GyzkName { get; set; } = "";
public long LingliaoDepId { get; set; }
public string LingliaoDepName { get; set; } = "";
public long UseDepId { get; set; }
public string UseDepName { get; set; } = "";
public long DbdepId { get; set; }
public string DbdepName { get; set; } = "";
public string Lingliaoren { get; set; } = "";
public string Kuguan { get; set; } = "";
public string UseLocation { get; set; } = "";
public int CkStatus { get; set; }
public string CkStatusName { get; set; } = "";
public bool IsHongchong { get; set; }
public string Description { get; set; } = "";
public int Jianshu { get; set; }
public decimal Jingzhong { get; set; }
public decimal Shuliang { get; set; }
public decimal Jine { get; set; }
public int DetailCount { get; set; }
}
public class WmsChukuDetailDto
{
public long Id { get; set; }
public long ChukuId { get; set; }
public long WzmlId { get; set; }
public string WzmlName { get; set; } = "";
public string WzmlCode { get; set; } = "";
public string Unit { get; set; } = "";
public long YlzkId { get; set; }
public string YlzkName { get; set; } = "";
public long GyzkId { get; set; }
public string GyzkName { get; set; } = "";
public long DepId { get; set; }
public string DepName { get; set; } = "";
public int Jianshu { get; set; }
public decimal Maozhong { get; set; }
public decimal Pizhong { get; set; }
public decimal Jingzhong { get; set; }
public decimal BiaobaoZhongliang { get; set; }
public decimal BaozhuangZhongliang { get; set; }
public decimal Shuliang { get; set; }
public decimal Danjia { get; set; }
public decimal Jine { get; set; }
public decimal KucunNum { get; set; }
public string PiciCodes { get; set; } = "";
public int PiciNum { get; set; }
public string PcAndBjIds { get; set; } = "";
public string Lingyongren { get; set; } = "";
public string Banci { get; set; } = "";
public string JidiWaigou { get; set; } = "";
public List<WmsBangmadanDto> Bangmadans { get; set; } = new();
}
public class WmsChukuEditDto
{
public long Id { get; set; }
public int Module { get; set; }
public DateTime Date { get; set; }
public int Type { get; set; }
public string Code { get; set; } = "";
public long WldwId { get; set; }
public string WldwName { get; set; } = "";
public long KhId { get; set; }
public string KhName { get; set; } = "";
public long GyzkId { get; set; }
public string GyzkName { get; set; } = "";
public long LingliaoDepId { get; set; }
public string LingliaoDepName { get; set; } = "";
public long UseDepId { get; set; }
public string UseDepName { get; set; } = "";
public long DbdepId { get; set; }
public string DbdepName { get; set; } = "";
public string Lingliaoren { get; set; } = "";
public string Kuguan { get; set; } = "";
public string UseLocation { get; set; } = "";
public int CkStatus { get; set; }
public bool IsHongchong { get; set; }
public long HongchongId { get; set; }
public string Description { get; set; } = "";
public List<WmsChukuDetailDto> Details { get; set; } = new();
}
public class WmsChukuSaveDto
{
public long Id { get; set; }
public int Module { get; set; }
public DateTime Date { get; set; }
public int Type { get; set; }
public string Code { get; set; } = "";
public long WldwId { get; set; }
public long KhId { get; set; }
public long GyzkId { get; set; }
public long LingliaoDepId { get; set; }
public long UseDepId { get; set; }
public long DbdepId { get; set; }
public string Lingliaoren { get; set; } = "";
public string Kuguan { get; set; } = "";
public string UseLocation { get; set; } = "";
public int CkStatus { get; set; }
public string Description { get; set; } = "";
public List<WmsChukuDetailSaveDto> Details { get; set; } = new();
}
public class WmsChukuDetailSaveDto
{
public long Id { get; set; }
public long WzmlId { get; set; }
public long YlzkId { get; set; }
public long GyzkId { get; set; }
public long DepId { get; set; }
public int Jianshu { get; set; }
public decimal Maozhong { get; set; }
public decimal Pizhong { get; set; }
public decimal Jingzhong { get; set; }
public decimal BiaobaoZhongliang { get; set; }
public decimal BaozhuangZhongliang { get; set; }
public decimal Shuliang { get; set; }
public decimal Danjia { get; set; }
public decimal Jine { get; set; }
public decimal KucunNum { get; set; }
public string PiciCodes { get; set; } = "";
public int PiciNum { get; set; }
public string PcAndBjIds { get; set; } = "";
public string Lingyongren { get; set; } = "";
public string Banci { get; set; } = "";
public string JidiWaigou { get; set; } = "";
public List<WmsBangmadanDto> Bangmadans { get; set; } = new();
}
// ==================== 库存台账 ====================
public class WmsTzDateDto
{
public long Id { get; set; }
public int Module { get; set; }
public int Kind { get; set; }
public DateTime Date { get; set; }
public string DateText => Date.ToString("yyyy-MM-dd");
public DateTime LastDate { get; set; }
public string LastDateText => LastDate.ToString("yyyy-MM-dd");
public int ItemCount { get; set; }
}
public class WmsTzItemDto
{
public long Id { get; set; }
public long TzDateId { get; set; }
public long ItemId { get; set; }
public string SubKey { get; set; } = "";
public string ItemName { get; set; } = "";
public string ItemCode { get; set; } = "";
public decimal Ydayjianshu { get; set; }
public decimal Ydayjingzhong { get; set; }
public decimal Tdayrukujianshu { get; set; }
public decimal Tdayrukujingzhong { get; set; }
public decimal Tdaychukujianshu { get; set; }
public decimal Tdaychukujingzhong { get; set; }
public decimal Yingkui { get; set; }
public decimal Tdayjianshu { get; set; }
public decimal Tdayjingzhong { get; set; }
public decimal Yangjianjianshu { get; set; }
public bool AllChuku { get; set; }
public string Description { get; set; } = "";
}
public class WmsTzEditDto
{
public long TzDateId { get; set; }
public int Module { get; set; }
public int Kind { get; set; }
public DateTime Date { get; set; }
public DateTime LastDate { get; set; }
public List<WmsTzItemDto> Items { get; set; } = new();
}
public class WmsTzSaveDto
{
public long TzDateId { get; set; }
public int Module { get; set; }
public int Kind { get; set; }
public DateTime Date { get; set; }
public List<WmsTzItemDto> Items { get; set; } = new();
}
public class WmsTzGenerateDto
{
public int Module { get; set; }
public int Kind { get; set; }
public DateTime Date { get; set; }
}
// ==================== 库存 / 流水 ====================
public class WmsKucunDto
{
public long WzmlId { get; set; }
public string WzmlName { get; set; } = "";
public string WzmlCode { get; set; } = "";
public string Unit { get; set; } = "";
public string Guige { get; set; } = "";
public decimal Shuliang { get; set; }
public decimal Danjia { get; set; }
public decimal Jine { get; set; }
}
public class WmsCrkDto
{
public DateTime Date { get; set; }
public string DateText => Date.ToString("yyyy-MM-dd");
public bool IsRuku { get; set; }
public string Kind => IsRuku ? "入库" : "出库";
public string Code { get; set; } = "";
public string TypeName { get; set; } = "";
public long WzmlId { get; set; }
public string WzmlName { get; set; } = "";
public string WzmlCode { get; set; } = "";
public string Unit { get; set; } = "";
public decimal Shuliang { get; set; }
public decimal Danjia { get; set; }
public decimal Jine { get; set; }
public string Description { get; set; } = "";
}
// ==================== 生丝批次 / 包件 ====================
public class WmsPiciListDto
{
public long Id { get; set; }
public string Code { get; set; } = "";
public int CodeType { get; set; }
public int Year { get; set; }
public DateTime Date { get; set; }
public string DateText => Date.ToString("yyyy-MM-dd");
public DateTime? ScDate { get; set; }
public long GyzkId { get; set; }
public string GyzkName { get; set; } = "";
public long WzmlId { get; set; }
public string WzmlName { get; set; } = "";
public long DepId { get; set; }
public string DepName { get; set; } = "";
public string Guige { get; set; } = "";
public string JidiWaigou { get; set; } = "";
public string YoujiPutong { get; set; } = "";
public int Baoshu { get; set; }
public int StartBaojianNum { get; set; }
public decimal Maozhong { get; set; }
public decimal Pizhong { get; set; }
public decimal Jingzhong { get; set; }
public decimal Gongliang { get; set; }
public int KcStatus { get; set; }
public string KcStatusName { get; set; } = "";
public long RkItemId { get; set; }
public DateTime? RkDate { get; set; }
public DateTime CkLastDate { get; set; }
public int CkBaoshu { get; set; }
public decimal CkJingzhong { get; set; }
public int KcBaoshu { get; set; }
public string Dengji { get; set; } = "";
public decimal Qingjie { get; set; }
public decimal Jiejing { get; set; }
public decimal Piancha { get; set; }
public decimal Zongcha { get; set; }
public decimal Qieduan { get; set; }
public string Description { get; set; } = "";
public int BaojianNum { get; set; }
}
public class WmsPiciSaveDto
{
public long Id { get; set; }
public string Code { get; set; } = "";
public int CodeType { get; set; }
public DateTime Date { get; set; }
public DateTime? ScDate { get; set; }
public long GyzkId { get; set; }
public long WzmlId { get; set; }
public long DepId { get; set; }
public string Guige { get; set; } = "";
public string JidiWaigou { get; set; } = "";
public string YoujiPutong { get; set; } = "";
public int Baoshu { get; set; }
public int StartBaojianNum { get; set; }
public decimal Maozhong { get; set; }
public decimal Pizhong { get; set; }
public decimal Jingzhong { get; set; }
public decimal Gongliang { get; set; }
public int KcStatus { get; set; }
public string Dengji { get; set; } = "";
public decimal Qingjie { get; set; }
public decimal Jiejing { get; set; }
public decimal Piancha { get; set; }
public decimal Zongcha { get; set; }
public decimal Qieduan { get; set; }
public string Description { get; set; } = "";
public List<WmsPiciBaojianDto> Baojians { get; set; } = new();
}
public class WmsPiciBaojianDto
{
public long Id { get; set; }
public long PiciId { get; set; }
public int Baojianhao { get; set; }
public decimal Maozhong { get; set; }
public decimal Pizhong { get; set; }
public decimal Jingzhong { get; set; }
public decimal Gongliang { get; set; }
public decimal Huichaolv { get; set; }
public bool CkIsck { get; set; }
public long CkItemId { get; set; }
public DateTime? CkDate { get; set; }
public decimal CkJingzhong { get; set; }
public string Description { get; set; } = "";
}
/// <summary>生丝出库选批次(批次 + 未出库包件),对齐 F9 SSPici_GetChukuSelectAsync</summary>
public class WmsPiciChukuSelectDto
{
public long PiciId { get; set; }
public string PiciCode { get; set; } = "";
public DateTime Date { get; set; }
public string DateText => Date.ToString("yyyy-MM-dd");
public string Guige { get; set; } = "";
public string WzmlName { get; set; } = "";
public string GyzkName { get; set; } = "";
public string DepName { get; set; } = "";
public string JidiWaigou { get; set; } = "";
public int Baoshu { get; set; } // 组批包数
public int KcBaoshu { get; set; } // 库存(未出库)包数
public decimal Jingzhong { get; set; } // 组批净重
public decimal KcJingzhong { get; set; } // 库存净重
public string Description { get; set; } = "";
public List<WmsPiciBaojianDto> Baojians { get; set; } = new();
}
/// <summary>生丝批次-质检</summary>
public class WmsPiciQcDto
{
public long Id { get; set; }
public long PiciId { get; set; }
public string Pingwei { get; set; } = "";
public string Seze { get; set; } = "";
public decimal AvgHuichaolv { get; set; }
public decimal AvgGongliangXiandu { get; set; }
public decimal XianduPiancha { get; set; }
public decimal XianduZdpiancha { get; set; }
public decimal Qingjie { get; set; }
public decimal Jiejing { get; set; }
public int JunyunYd { get; set; }
public int JunyunEd { get; set; }
public int JunyunSd { get; set; }
public int Qieduan { get; set; }
public string DuanlieQiangdu { get; set; } = "";
public string DuanlieShenchanglv { get; set; } = "";
public int Baohe { get; set; }
public string WgWg { get; set; } = "";
public string WgYanse { get; set; } = "";
public string WgGuangze { get; set; } = "";
public string WgShougan { get; set; } = "";
public int? QjZhuyao { get; set; }
public int? QjCiyaoFeisi { get; set; }
public int? QjCiyaoDacao { get; set; }
public int? QjCiyaoNianfucao { get; set; }
public int? QjCiyaoDachangjie { get; set; }
public int? QjCiyaoZhongluoxuan { get; set; }
public int? QjPutongXiaocao { get; set; }
public int? QjPutongChangjie { get; set; }
public int? QjPutongLuoxuan { get; set; }
public int? QjPutongHuanjie { get; set; }
public int? Jj100 { get; set; }
public int? Jj95 { get; set; }
public int? Jj90 { get; set; }
public int? Jj85 { get; set; }
public int? Jj80 { get; set; }
public int? Jj75 { get; set; }
public int? Jj70 { get; set; }
public int? Jj65 { get; set; }
public int? Jj60 { get; set; }
public int? Jj55 { get; set; }
public int? Jj50 { get; set; }
public int? Jj45 { get; set; }
public string JjYuanyin { get; set; } = "";
public string Description { get; set; } = "";
}
/// <summary>生丝批次-纤度检验</summary>
public class WmsPiciQcXdjyDto
{
public long Id { get; set; }
public long PiciId { get; set; }
public decimal Xiandu { get; set; }
public int Num { get; set; }
}
// ==================== 原料采购 / 翻包计划 ====================
public class WmsCaigouDto
{
public long Id { get; set; }
public DateTime Date { get; set; }
public string DateText => Date.ToString("yyyy-MM-dd");
public string Code { get; set; } = "";
public long GysId { get; set; }
public string GysName { get; set; } = "";
public long YlzkId { get; set; }
public string YlzkName { get; set; } = "";
public int Jianshu { get; set; }
public decimal Maozhong { get; set; }
public decimal Pizhong { get; set; }
public decimal Jingzhong { get; set; }
public decimal Danjia { get; set; }
public decimal Jine { get; set; }
public string Description { get; set; } = "";
}
public class WmsFbplanDto
{
public long Id { get; set; }
public DateTime Date { get; set; }
public string DateText => Date.ToString("yyyy-MM-dd");
public string Code { get; set; } = "";
public long YlzkId { get; set; }
public string YlzkName { get; set; } = "";
public long WzmlId { get; set; }
public string WzmlName { get; set; } = "";
public int Jianshu { get; set; }
public decimal Jingzhong { get; set; }
public int FbType { get; set; }
public string FbTypeName { get; set; } = "";
public int RukuStatus { get; set; }
public string RukuStatusName { get; set; } = "";
public string Description { get; set; } = "";
public decimal YiwanchengJianshu { get; set; }
public decimal YiwanchengJingzhong { get; set; }
public List<WmsFbjlDto> Records { get; set; } = new();
}
public class WmsFbjlDto
{
public long Id { get; set; }
public long FbplanId { get; set; }
public DateTime Date { get; set; }
public string DateText => Date.ToString("yyyy-MM-dd");
public int Jianshu { get; set; }
public decimal Jingzhong { get; set; }
public string Description { get; set; } = "";
}
// ==================== 物资采购计划 ====================
public class WmsCgplanListDto
{
public long Id { get; set; }
public DateTime Date { get; set; }
public string DateText => Date.ToString("yyyy-MM-dd");
public string Code { get; set; } = "";
public long DepId { get; set; }
public string DepName { get; set; } = "";
public int Status { get; set; }
public string StatusName { get; set; } = "";
public string Description { get; set; } = "";
public decimal Shuliang { get; set; }
public decimal Jine { get; set; }
public int ItemCount { get; set; }
}
public class WmsCgplanItemDto
{
public long Id { get; set; }
public long CgplanId { get; set; }
public long WzmlId { get; set; }
public string WzmlName { get; set; } = "";
public string WzmlCode { get; set; } = "";
public string Unit { get; set; } = "";
public decimal Shuliang { get; set; }
public decimal Danjia { get; set; }
public decimal Jine { get; set; }
public string Description { get; set; } = "";
}
public class WmsCgplanSaveDto
{
public long Id { get; set; }
public DateTime Date { get; set; }
public string Code { get; set; } = "";
public long DepId { get; set; }
public int Status { get; set; }
public string Description { get; set; } = "";
public List<WmsCgplanItemDto> Items { get; set; } = new();
}