staff.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. /**
  2. * Created by MyPC on 2019/11/5.
  3. */
  4. 'use strict';
  5. const hash= require('../class/hash');
  6. const Sequelize = require('sequelize');
  7. const Op = Sequelize.Op;
  8. module.exports = (sequelize, DataTypes) => {
  9. const staff = sequelize.define('staff', {
  10. sid : {type: DataTypes.INTEGER(11), primaryKey: true, autoIncrement: true},
  11. username: DataTypes.STRING,
  12. passwork: DataTypes.STRING,
  13. isadmin: DataTypes.INTEGER,
  14. staffManage: DataTypes.STRING,
  15. cid: DataTypes.INTEGER,
  16. othercid: DataTypes.STRING,
  17. category: DataTypes.STRING,
  18. othercategory: DataTypes.STRING,
  19. departmentID: DataTypes.INTEGER,
  20. departmentName: DataTypes.STRING,
  21. gender: DataTypes.STRING,
  22. qq: DataTypes.STRING,
  23. phone: DataTypes.STRING,
  24. telephone: DataTypes.STRING,
  25. email: DataTypes.STRING,
  26. avatar: DataTypes.STRING,
  27. birthday: DataTypes.STRING,
  28. position: DataTypes.STRING,
  29. appDate: DataTypes.STRING,
  30. jobNumber: DataTypes.STRING,
  31. hiredate: DataTypes.STRING,
  32. hireBiasDate: DataTypes.INTEGER,
  33. probationaryDate: DataTypes.DATE,
  34. practiceDate: DataTypes.DATE,
  35. regularsDate: DataTypes.DATE,
  36. dimissionReason: DataTypes.STRING,
  37. nature: DataTypes.INTEGER,
  38. pendStatus: DataTypes.INTEGER,
  39. wxid: DataTypes.STRING,
  40. wecat:DataTypes.STRING,
  41. pendingApprovals: DataTypes.STRING,
  42. processApprovals: DataTypes.STRING,
  43. pendingApprovalsLeave: DataTypes.INTEGER,
  44. processApprovalsLeave: DataTypes.STRING,
  45. processLeaveCC: DataTypes.STRING,
  46. staffManageLeave: DataTypes.STRING,
  47. InductionDate: DataTypes.DATE,
  48. dimissionDate: DataTypes.DATE,
  49. processCC: DataTypes.STRING,
  50. remittanceName: DataTypes.STRING,
  51. bankName: DataTypes.STRING,
  52. bankNumber: DataTypes.STRING,
  53. coupletNumber: DataTypes.STRING,
  54. salaryCard: DataTypes.STRING,
  55. salaryBank: DataTypes.STRING,
  56. did: DataTypes.STRING,
  57. didName: DataTypes.STRING,
  58. baseWage: DataTypes.STRING,
  59. postWage: DataTypes.STRING,
  60. achievementBonus: DataTypes.STRING,
  61. qualifications: DataTypes.STRING,
  62. marriage: DataTypes.STRING,
  63. nativePlace: DataTypes.STRING,
  64. emergencyContacts: DataTypes.STRING,
  65. living: DataTypes.STRING,
  66. IDcards: DataTypes.STRING,
  67. IDcardsImgA: DataTypes.STRING,
  68. IDcardsImgB: DataTypes.STRING,
  69. certificate: DataTypes.STRING,
  70. diploma: DataTypes.STRING,
  71. professionalTitle: DataTypes.STRING,
  72. updateDate: DataTypes.DATE,
  73. seniorityFormula: DataTypes.STRING,
  74. cldAccess: DataTypes.STRING,
  75. nation: DataTypes.STRING,
  76. graduateInstitutions: DataTypes.STRING,
  77. major: DataTypes.STRING,
  78. education: DataTypes.STRING,
  79. graduationTime: DataTypes.DATE,
  80. registeredResidence: DataTypes.STRING,
  81. householdRegistrationType: DataTypes.STRING,
  82. IDcardsValidity: DataTypes.DATE,
  83. positionId: DataTypes.STRING,
  84. appliedPromote: DataTypes.STRING,
  85. applyLeaveDate: DataTypes.DATE,
  86. }, {tableName:'CLD_staff'});
  87. /*
  88. * 根据ID合集获得客户信息
  89. * */
  90. staff.getOne=async function(sid,attributes){
  91. if(!hash.isNotANumber(sid)){
  92. sid=hash.hashDecode(sid);
  93. if(!hash.isNotANumber(sid)){
  94. return [];
  95. }
  96. }
  97. var condition={
  98. raw:true,
  99. where: {
  100. sid: sid
  101. }};
  102. if(hash.isExistence(attributes)){
  103. condition.attributes=attributes;
  104. }
  105. var detail = await this.findOne(condition);
  106. detail.sid=hash.hashEncode(detail.sid.toString());
  107. return detail;
  108. };
  109. return staff;
  110. };