Files
yanpeng200212 69c4052a64 新增生产-前缫看台记录,并导入车头工/挡车工看台记录历史数据
功能:
- 后端新增 KtjlCtgs / KtjlDcgs 两张表、KtjlService 与 api/prod/ktjl 接口
  (按日期+车间+班次查询、整组先删后建保存、整组删除、按看台排班带出默认记录、工种下拉)
- 挡车数按 F9 口径自动重算(与他人接壤的边界车位各扣 0.5),机组由车位反查机组车台
- 前端新增 /prod/qianxian/ktjl 看台记录页:挡车工/车头工双页签、删除、录入(新增)、录入(指定日期)
- 录入弹窗校验对齐 F9:个人时长不超标准、挡车数/看台时长匹配、车头工每机组≥2 人且时长为标准时长整数倍
- 生产-前缫菜单新增「看台记录」,权限 prod:ktjl:list

数据导入:
- 新增内嵌资源 biz_prod_qs_ktjl_ctg.csv / biz_prod_qs_ktjl_dcg.csv(约 5 万行,采用紧凑 CSV)
- 剔除软删除行、日期异常行、部门无法映射与职工不存在的行;日期由 Excel 序列号转换
- 车头工 12693 行、挡车工 38048 行入库,日期范围 2025-12-16 ~ 2026-09-11
- 表内已有数据则整体跳过,分批 1000 行插入

其他:同步工作进度-13 文档与开发数据库快照
2026-10-22 11:16:29 +08:00

44 lines
2.2 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using FreeSql.DataAnnotations;
using F9WebAiTest.Domain.Common;
using F9WebAiTest.Domain.Enums.SYS.Employees;
namespace F9WebAiTest.Domain.Entities.Prod;
// 看台记录(对应 F9 生产-前缫 的 KTJL 两张表:车头工 / 挡车工)
// 记录 = 某日某车间某班次的实际看台情况(由看台排班带出后再调整:车位、时长、代班、不计产量)。
/// <summary>车头工看台记录(biz_prod_qs_ktjl_ctg)</summary>
[Table(Name = "KtjlCtgs")]
public class KtjlCtg : BaseEntity
{
public DateTime Date { get; set; } // 日期
public long DeptId { get; set; } // 车间
public Prod_Banci_Enum Banci { get; set; } // 班次(甲/乙)
public int Jizu { get; set; } // 机组
public decimal Hours { get; set; } // 时长(小时)
public long EmployeeId { get; set; } // 车头工
public long EmployeeDepId { get; set; } // 职工所属部门
public long WorktypeId { get; set; } // 工种
public string WorktypeName { get; set; } = ""; // 工种名称(历史快照)
public bool NoChanliang { get; set; } // 不计产量
}
/// <summary>挡车工看台记录(biz_prod_qs_ktjl_dcg)</summary>
[Table(Name = "KtjlDcgs")]
public class KtjlDcg : BaseEntity
{
public DateTime Date { get; set; } // 日期
public long DeptId { get; set; } // 车间
public Prod_Banci_Enum Banci { get; set; } // 班次
public int Jizu { get; set; } // 机组
public int ChetaiStart { get; set; } // 开始车位
public int ChetaiEnd { get; set; } // 结束车位
public decimal DangcheNum { get; set; } // 挡车数(边界车位与他人共用时各计 0.5)
public decimal Hours { get; set; } // 时长(小时)
public long EmployeeId { get; set; } // 挡车工
public long EmployeeDepId { get; set; } // 职工所属部门
public long WorktypeId { get; set; } // 工种
public string WorktypeName { get; set; } = ""; // 工种名称(历史快照)
public bool NoChanliang { get; set; } // 不计产量
}