WageSheetView.cs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603
  1. using Newtonsoft.Json;
  2. using OASystem.Domain.Entities.PersonnelModule;
  3. using OASystem.Domain.ViewModels.QiYeWeChat;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace OASystem.Domain.ViewModels.PersonnelModule
  10. {
  11. /// <summary>
  12. /// 工资表详情
  13. /// </summary>
  14. public class WageSheetView : Pm_WageSheet
  15. {
  16. }
  17. /// <summary>
  18. /// 工资年月 View
  19. /// </summary>
  20. public class WageYearMonthView
  21. {
  22. public string YearMonth { get; set; }
  23. public string StartDate { get; set; }
  24. public string EndDate { get; set; }
  25. public int Workdays { get; set; }
  26. }
  27. /// <summary>
  28. /// 工资表单详情
  29. /// </summary>
  30. public class WageSheetInfoView
  31. {
  32. public int Id { get; set; }
  33. /// <summary>
  34. /// 员工Id
  35. /// </summary>
  36. public int UserId { get; set; }
  37. /// <summary>
  38. /// 姓名
  39. /// </summary>
  40. public string? Name { get; set; }
  41. /// <summary>
  42. /// 年月
  43. /// </summary>
  44. public string? YearMonth { get; set; }
  45. /// <summary>
  46. /// 工资日期 起
  47. /// </summary>
  48. public string? StartDate { get; set; }
  49. /// <summary>
  50. /// 工资日期 止
  51. /// </summary>
  52. public string? EndDate { get; set; }
  53. /// <summary>
  54. /// 应出勤天数
  55. /// </summary>
  56. public int WorkDays { get; set; }
  57. /// <summary>
  58. /// 正常出勤天数
  59. /// </summary>
  60. public int RegularDays { get; set; }
  61. /// <summary>
  62. /// 基本工资
  63. /// </summary>
  64. public decimal Basic { get; set; }
  65. /// <summary>
  66. /// 绩效工资
  67. /// </summary>
  68. public decimal Floats { get; set; }
  69. /// <summary>
  70. /// 岗位津贴
  71. /// </summary>
  72. public decimal PostAllowance { get; set; }
  73. /// <summary>
  74. /// 保密费
  75. /// </summary>
  76. public decimal InformationSecurityFee { get; set; }
  77. /// <summary>
  78. /// 其他应付
  79. /// </summary>
  80. public decimal OtherHandle { get; set; }
  81. /// <summary>
  82. /// 月度补贴/其他补贴
  83. /// </summary>
  84. public decimal OtherSubsidies { get; set; }
  85. /// <summary>
  86. /// 餐补
  87. /// </summary>
  88. public decimal Mealsupplement { get; set; }
  89. /// <summary>
  90. /// 代扣保险
  91. /// </summary>
  92. public decimal WithholdingInsurance { get; set; }
  93. /// <summary>
  94. /// 代扣公积金
  95. /// </summary>
  96. public decimal ReservedFunds { get; set; }
  97. /// <summary>
  98. /// 病假
  99. /// </summary>
  100. public decimal SickLeave { get; set; }
  101. /// <summary>
  102. /// 事假
  103. /// </summary>
  104. public decimal SomethingFalse { get; set; }
  105. /// <summary>
  106. /// 迟到
  107. /// </summary>
  108. public decimal LateTo { get; set; }
  109. /// <summary>
  110. /// 早退
  111. /// </summary>
  112. public decimal LeaveEarly { get; set; }
  113. /// <summary>
  114. /// 旷工
  115. /// 小时计算 7.5小时一天
  116. /// </summary>
  117. public decimal Absenteeism { get; set; }
  118. /// <summary>
  119. /// 未打卡
  120. /// </summary>
  121. public decimal NotPunch { get; set; }
  122. /// <summary>
  123. /// 其他扣款
  124. /// </summary>
  125. public decimal OtherDeductions { get; set; }
  126. /// <summary>
  127. /// 考勤/打卡 详情
  128. /// </summary>
  129. public string Ex_ItemsRemark { get; set; }
  130. /// <summary>
  131. /// 应发合计
  132. /// </summary>
  133. public decimal Should { get; set; }
  134. /// <summary>
  135. /// 扣款合计
  136. /// </summary>
  137. public decimal TotalDeductions { get; set; }
  138. /// <summary>
  139. /// 税前合计
  140. /// </summary>
  141. public decimal BeforeTax
  142. {
  143. get
  144. {
  145. return Should - TotalDeductions;
  146. }
  147. }
  148. /// <summary>
  149. /// 代扣个税
  150. /// </summary>
  151. public decimal WithholdingTax { get; set; }
  152. /// <summary>
  153. /// 实发合计(税后工资)
  154. /// </summary>
  155. public decimal TotalRealHair { get; set; }
  156. /// <summary>
  157. /// 最后操作人
  158. /// </summary>
  159. public int LastUpdateUserId { get; set; }
  160. /// <summary>
  161. /// 最后操作人Name
  162. /// </summary>
  163. public string? LastUpdateUserName { get; set; }
  164. /// <summary>
  165. /// 最后操作时间
  166. /// </summary>
  167. public string? LastUpdateDt { get; set; }
  168. /// <summary>
  169. /// 备注
  170. /// </summary>
  171. public string? Remark { get; set; }
  172. }
  173. public class WageSheetItemInfoView
  174. {
  175. /// <summary>
  176. /// 序号
  177. /// </summary>
  178. public int Row_Number { get; set; }
  179. /// <summary>
  180. /// 公司Id
  181. /// </summary>
  182. public int CompanyId { get; set; }
  183. /// <summary>
  184. /// 公司名称
  185. /// </summary>
  186. public string? CompanyName { get; set; }
  187. /// <summary>
  188. /// 部门Id
  189. /// </summary>
  190. public int DepId { get; set; }
  191. /// <summary>
  192. /// 部门名称
  193. /// </summary>
  194. public string? DepName { get; set; }
  195. /// <summary>
  196. ///
  197. /// </summary>
  198. public int Id { get; set; }
  199. /// <summary>
  200. /// 年月
  201. /// </summary>
  202. public string? YearMonth { get; set; }
  203. /// <summary>
  204. /// 工资日期 起
  205. /// </summary>
  206. public string? StartDate { get; set; }
  207. /// <summary>
  208. /// 工资日期 止
  209. /// </summary>
  210. public string? EndDate { get; set; }
  211. /// <summary>
  212. /// 应出勤天数
  213. /// </summary>
  214. public int WorkDays { get; set; }
  215. /// <summary>
  216. /// 正常出勤天数
  217. /// </summary>
  218. public int RegularDays { get; set; }
  219. /// <summary>
  220. /// 员工Id
  221. /// </summary>
  222. public int UserId { get; set; }
  223. /// <summary>
  224. /// 员工Name
  225. /// </summary>
  226. public string? Name { get; set; }
  227. /// <summary>
  228. /// 应发合计
  229. /// </summary>
  230. public decimal Should { get; set; }
  231. /// <summary>
  232. /// 扣款合计
  233. /// </summary>
  234. public decimal TotalDeductions { get; set; }
  235. /// <summary>
  236. /// 假勤 / 打卡补卡 明细 string
  237. /// </summary>
  238. public string? Ex_ItemsRemark { get; set; }
  239. /// <summary>
  240. /// 代扣个税
  241. /// </summary>
  242. public decimal WithholdingTax { get; set; }
  243. /// <summary>
  244. /// 税前合计
  245. /// </summary>
  246. public decimal BeforeTax
  247. {
  248. get
  249. {
  250. return Should - TotalDeductions;
  251. }
  252. }
  253. /// <summary>
  254. /// 实发合计(税后工资)
  255. /// </summary>
  256. public decimal TotalRealHair { get; set; }
  257. /// <summary>
  258. /// 最后操作人
  259. /// </summary>
  260. public int LastUpdateUserId { get; set; }
  261. /// <summary>
  262. /// 员工Name
  263. /// </summary>
  264. public string? LastUpdateUserName { get; set; }
  265. /// <summary>
  266. /// 最后操作时间
  267. /// </summary>
  268. public DateTime? LastUpdateDt { get; set; }
  269. }
  270. /// <summary>
  271. /// 个税模板 View
  272. /// </summary>
  273. public class TaxTemlateViuw
  274. {
  275. public string? UserName { get; set; }
  276. public decimal Tax { get; set; } = 0.00M;
  277. }
  278. public class ExportWageSheetItemView:Pm_WageSheet
  279. {
  280. /// <summary>
  281. /// 公司Id
  282. /// </summary>
  283. public int CompanyId { get; set; }
  284. /// <summary>
  285. /// 公司名称
  286. /// </summary>
  287. public string? CompanyName { get; set; }
  288. /// <summary>
  289. /// 部门Id
  290. /// </summary>
  291. public int DepId { get; set; }
  292. /// <summary>
  293. /// 部门名称
  294. /// </summary>
  295. public string? DepName { get; set; }
  296. /// <summary>
  297. ///
  298. /// </summary>
  299. public new int Id { get; set; }
  300. /// <summary>
  301. /// 年月
  302. /// </summary>
  303. #pragma warning disable CS0108 // 成员隐藏继承的成员;缺少关键字 new
  304. public string? YearMonth { get; set; }
  305. /// <summary>
  306. /// 工资日期 起
  307. /// </summary>
  308. public string? StartDate { get; set; }
  309. /// <summary>
  310. /// 工资日期 止
  311. /// </summary>
  312. public string? EndDate { get; set; }
  313. /// <summary>
  314. /// 应出勤天数
  315. /// </summary>
  316. public int WorkDays { get; set; }
  317. /// <summary>
  318. /// 员工Id
  319. /// </summary>
  320. public int UserId { get; set; }
  321. #pragma warning restore CS0108 // 成员隐藏继承的成员;缺少关键字 new
  322. /// <summary>
  323. /// 员工Name
  324. /// </summary>
  325. public string? Name { get; set; }
  326. /// <summary>
  327. /// 税前合计
  328. /// </summary>
  329. public decimal BeforeTax
  330. {
  331. get
  332. {
  333. return Should - TotalDeductions;
  334. }
  335. }
  336. /// <summary>
  337. /// 实发合计(税后工资)
  338. /// </summary>
  339. #pragma warning disable CS0108 // 成员隐藏继承的成员;缺少关键字 new
  340. public decimal TotalRealHair { get; set; }
  341. /// <summary>
  342. /// 最后操作人
  343. /// </summary>
  344. public int LastUpdateUserId { get; set; }
  345. #pragma warning restore CS0108 // 成员隐藏继承的成员;缺少关键字 new
  346. /// <summary>
  347. /// 员工Name
  348. /// </summary>
  349. public string? LastUpdateUserName { get; set; }
  350. /// <summary>
  351. /// 最后操作时间
  352. /// </summary>
  353. #pragma warning disable CS0108 // 成员隐藏继承的成员;缺少关键字 new
  354. public DateTime? LastUpdateDt { get; set; }
  355. #pragma warning restore CS0108 // 成员隐藏继承的成员;缺少关键字 new
  356. }
  357. /// <summary>
  358. /// 工资列表信息
  359. /// </summary>
  360. public class WageSheetInfos : Pm_WageSheet
  361. {
  362. public string Name { get; set; }
  363. }
  364. #region 假勤 和 打卡 统计
  365. /// <summary>
  366. /// 假期详情
  367. /// </summary>
  368. public class LeaveDetails
  369. {
  370. /// <summary>
  371. /// 假期类型Id
  372. /// </summary>
  373. public int TypeId { get; set; }
  374. /// <summary>
  375. /// 假期名称
  376. /// </summary>
  377. public string TypeName { get; set; }
  378. /// <summary>
  379. /// 开始日期
  380. /// </summary>
  381. public DateTime StartDt { get; set; }
  382. /// <summary>
  383. /// 结束日期
  384. /// </summary>
  385. public DateTime EndDt { get; set; }
  386. /// <summary>
  387. /// 时间展示类型:halfday-日期;hour-日期+时间
  388. /// </summary>
  389. public string DtType { get; set; }
  390. /// <summary>
  391. /// 时长单位
  392. /// 小时/天
  393. /// </summary>
  394. public string Unit { get; set; }
  395. /// <summary>
  396. /// 请假时长
  397. /// </summary>
  398. public decimal New_Duration { get; set; }
  399. /// <summary>
  400. /// 申请时间
  401. /// </summary>
  402. public DateTime ApplyDt { get; set; }
  403. /// <summary>
  404. /// 时长支持按天分片信息, 2020/10/01之前的历史表单不支持时长分片
  405. /// </summary>
  406. public Slice_info SliceInfo { get; set; }
  407. /// <summary>
  408. /// 餐补是否参与扣款
  409. /// </summary>
  410. public bool IsDeduction { get; set; } = false;
  411. }
  412. public class Ex_Items
  413. {
  414. /// <summary>
  415. /// 类型
  416. /// 假勤 打卡
  417. /// </summary>
  418. public string? Type { get; set; }
  419. public Object Ex_ItemInfo { get; set; }
  420. }
  421. public class Ex_Item
  422. {
  423. /// <summary>
  424. /// 子类型Id
  425. /// </summary>
  426. public int SubTypeId { get; set; }
  427. /// <summary>
  428. /// 子类型
  429. /// </summary>
  430. public string? SubType { get; set; }
  431. /// <summary>
  432. /// 扣款金额
  433. /// </summary>
  434. public decimal Deduction { get; set; } = 0.00M;
  435. /// <summary>
  436. /// 餐补扣款金额
  437. /// </summary>
  438. public decimal MealDeduction { get; set; } = 0.00M;
  439. /// <summary>
  440. /// 开始时间
  441. /// </summary>
  442. public DateTime StartTimeDt { get; set; }
  443. /// <summary>
  444. /// 结束时间
  445. /// </summary>
  446. public DateTime EndTimeDt { get; set; }
  447. /// <summary>
  448. /// 请假时长
  449. /// </summary>
  450. public decimal Duration { get; set; }
  451. /// <summary>
  452. /// 请假时长,单位小时
  453. /// </summary>
  454. public string Unit { get; set; } = "小时";
  455. /// <summary>
  456. /// 请假事由
  457. /// </summary>
  458. public string? Reason { get; set; }
  459. /// <summary>
  460. /// 申请时间
  461. /// </summary>
  462. public DateTime Apply_time_dt { get; set; }
  463. /// <summary>
  464. /// 审核人
  465. /// </summary>
  466. public List<string>? Approval_name { get; set; }
  467. }
  468. #endregion
  469. #region 法定节假日
  470. public class HoliDaysDataSourceView
  471. {
  472. /// <summary>
  473. /// 年
  474. /// </summary>
  475. public string Year { get; set; }
  476. public List<HolidaysInfo> Holidays { get; set; }
  477. }
  478. public class HolidaysInfo
  479. {
  480. /// <summary>
  481. /// 节假日期
  482. /// </summary>
  483. public string HoliDate { get; set; }
  484. /// <summary>
  485. /// 节假日
  486. /// </summary>
  487. public string HoliName { get; set; }
  488. }
  489. #endregion
  490. }