|
@@ -13,6 +13,7 @@ using OASystem.API.OAMethodLib.QiYeWeChatAPI;
|
|
|
using OASystem.Domain.Dtos.QiYeWeChat;
|
|
|
using OASystem.Domain.Entities.System;
|
|
|
using TinyPinyin;
|
|
|
+using System.Globalization;
|
|
|
|
|
|
namespace OASystem.API.Controllers
|
|
|
{
|
|
@@ -311,12 +312,310 @@ namespace OASystem.API.Controllers
|
|
|
foreach (var oldUser in oldOaUsersData)
|
|
|
{
|
|
|
int depId = 0, postId = 0;
|
|
|
+ #region 处理部门岗位
|
|
|
+
|
|
|
+ int did = oldUser.Did;
|
|
|
+ string post = oldUser.Post;
|
|
|
+ switch (did)
|
|
|
+ {
|
|
|
+ case 1 : //信息部
|
|
|
+ depId = 2;
|
|
|
+ if (post.Equals("信息部经理")) postId = 4;
|
|
|
+ else if (post.Equals("美工")) { depId = 5; postId = 18; }
|
|
|
+ else if(post.Equals("网络推广")) postId = 46;
|
|
|
+ else if (post.Equals("软件开发")) postId = 5;
|
|
|
+ else if (post.Equals("平面设计师")) { depId = 5; postId = 18; }
|
|
|
+ else if (post.Equals("平面设计")) { depId = 5; postId = 18; }
|
|
|
+ else if (post.Equals("平面设计师")) { depId = 5; postId = 18; }
|
|
|
+ else if (post.Equals("软件工程师")) postId = 5;
|
|
|
+ else if (post.Equals("OP操作")) { depId = 7; postId = 28; }
|
|
|
+ else if (post.Equals("软件工程师.")) postId = 5;
|
|
|
+ else if (post.Equals(".net工程师")) postId = 5;
|
|
|
+ else if (post.Equals("安卓开发工程师")) postId = 7;
|
|
|
+ else if (post.Equals("web前端")) postId = 6;
|
|
|
+ else if (post.Equals("Web后端开发")) postId = 5;
|
|
|
+ break;
|
|
|
+ case 2 : //财务部
|
|
|
+ depId=3;
|
|
|
+ if (post.Equals("主管")) postId = 47;
|
|
|
+ else if (post.Equals("财务总监")) { postId = 9; }
|
|
|
+ else if (post.Equals("会计")) { postId = 10; }
|
|
|
+ else if (post.Equals("财务经理")) { postId = 47; }
|
|
|
+ else if (post.Equals("财务助理")) { postId = 50; }
|
|
|
+ else if (post.Equals("出纳")) { postId = 48; }
|
|
|
+ else { postId = 10; }
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 3: //人事部
|
|
|
+ depId = 4;
|
|
|
+ if (post.Equals("主管")) postId = 51;
|
|
|
+ else if (post.Equals("人事部主管")) { postId = 51; }
|
|
|
+ else if (post.Equals("人事行政主管")) { postId = 51; }
|
|
|
+ else if (post.Equals("行政人事助理")) { postId = 52; }
|
|
|
+ else if (post.Equals("人事助理")) { postId = 52; }
|
|
|
+ else if (post.Equals("人事主管")) { postId = 51; }
|
|
|
+ else if (post.Equals("行政人事专员")) { postId = 12; }
|
|
|
+ else if (post.Equals("行政司机")) { postId = 14; }
|
|
|
+ else if (post.Equals("司机")) { postId = 14; }
|
|
|
+ else if (post.Equals("统筹执行")) { postId = 12; }
|
|
|
+ else if (post.Equals("培训专员")) { postId = 13; }
|
|
|
+ else if (post.Equals("人事经理")) { postId = 11; }
|
|
|
+ else if (post.Equals("前台")) { postId = 33; }
|
|
|
+ else if (post.Equals("人事行政经理")) { postId = 11; }
|
|
|
+ else if (post.Equals("人事部经理")) { postId = 11; }
|
|
|
+ else if (post.Equals("人事专员")) { postId = 12; }
|
|
|
+ else if (post.Equals("人事经理")) { postId = 11; }
|
|
|
+ else postId = 12;
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 4: //国交部
|
|
|
+ //22 7 主管
|
|
|
+ //23 7 计调
|
|
|
+ //24 7 机票
|
|
|
+ //25 7 酒店
|
|
|
+ //26 7 签证
|
|
|
+ //27 7 商邀
|
|
|
+ //28 7 OP
|
|
|
+ //32 7 经理
|
|
|
+ depId = 7;
|
|
|
+ if (post.Equals("酒店")) postId = 25;
|
|
|
+ else if (post.Equals("经理")) { postId = 32; }
|
|
|
+ else if (post.Equals("OP专员")) { postId = 28; }
|
|
|
+ else if (post.Equals("酒店预订")) { postId = 25; }
|
|
|
+ else if (post.Equals("商务邀请")) { postId = 27; }
|
|
|
+ else if (post.Equals("-")) { postId = 0; }
|
|
|
+ else if (post.Equals("签证专员")) { postId = 26; }
|
|
|
+ else if (post.Equals("OP操作")) { postId = 28; }
|
|
|
+ else if (post.Equals("司机")) { postId = 14; }
|
|
|
+ else if (post.Equals("国际交流部经理")) { postId = 32; }
|
|
|
+ else if (post.Equals("机票酒店")) { postId = 24; }
|
|
|
+ else if (post.Equals("签证")) { postId = 26; }
|
|
|
+ else if (post.Equals("票房")) { postId = 24; }
|
|
|
+ else if (post.Equals("票务专员")) { postId = 24; }
|
|
|
+ else if (post.Equals("酒店/机票")) { postId = 24; }
|
|
|
+ else if (post.Equals("OP")) { postId = 28; }
|
|
|
+ else if (post.Equals("主管")) { postId = 22; }
|
|
|
+ else if (post.Equals("订票专员")) { postId = 24; }
|
|
|
+ else if (post.Equals("机票")) { postId = 24; }
|
|
|
+ else if (post.Equals("国交部经理")) { postId = 32; }
|
|
|
+ else if (post.Equals("计调")) { postId = 23; }
|
|
|
+ else if (post.Equals("票务")) { postId = 24; }
|
|
|
+ else if (post.Equals("国交部主管")) { postId = 22; }
|
|
|
+ else if (post.Equals("暂无")) { postId = 22; }
|
|
|
+ else if (post.Equals("初级OP")) { postId = 28; }
|
|
|
+ else if (post.Equals("计调")) { postId = 23; }
|
|
|
+ else { postId = 0; }
|
|
|
+ break;
|
|
|
+ case 5: //会展部
|
|
|
+ //15 5 经理
|
|
|
+ //16 5 文案策划
|
|
|
+ //17 5 活动执行
|
|
|
+ //18 5 平面设计师
|
|
|
+ //19 5 3D设计师
|
|
|
+ depId = 5;
|
|
|
+ if (post.Equals("-")) postId = 16;
|
|
|
+ break;
|
|
|
+ case 6: //市场销售部
|
|
|
+ //20 6 经理
|
|
|
+ //21 6 市场专员
|
|
|
+ //53 6 主管
|
|
|
+ depId = 6;
|
|
|
+ if (post.Equals("主管")) postId = 53;
|
|
|
+ else if (post.Equals("-")) postId = 21;
|
|
|
+ else if (post.Equals("销售总监")) postId = 53;
|
|
|
+ else if (post.Equals("市场专员")) postId = 21;
|
|
|
+ else if (post.Equals("销售专员")) postId = 54;
|
|
|
+ else if (post.Equals("市场助理")) postId = 55;
|
|
|
+ else if (post.Equals("销售")) postId = 54;
|
|
|
+ break;
|
|
|
+ case 99: //总经办
|
|
|
+ //1 1 总经理
|
|
|
+ //2 1 副总经理
|
|
|
+ //3 1 总经理助理
|
|
|
+
|
|
|
+ depId = 1;
|
|
|
+ if (post.Equals("总经理")) postId = 1;
|
|
|
+ else if (post.Equals("副总")) postId = 2;
|
|
|
+ break;
|
|
|
+ case 107: //会议会展策划部
|
|
|
+ //15 5 经理
|
|
|
+ //16 5 文案策划
|
|
|
+ //17 5 活动执行
|
|
|
+ //18 5 平面设计师
|
|
|
+ //19 5 3D设计师
|
|
|
+ //56 5 销售
|
|
|
+ //46 5 网络推广
|
|
|
+ //57 5 市场推广
|
|
|
+ depId = 5;
|
|
|
+ if (post.Equals("销售")) postId = 56;
|
|
|
+ else if (post.Equals("策划执行")) postId = 16;
|
|
|
+ else if (post.Equals("策活动划")) postId = 16;
|
|
|
+ else if (post.Equals("活动执行")) postId = 17;
|
|
|
+ else if (post.Equals("网络媒介推广")) postId = 46;
|
|
|
+ else if (post.Equals("媒介主任")) postId = 46;
|
|
|
+ else if (post.Equals("公关部经理")) postId = 15;
|
|
|
+ else if (post.Equals("项目执行")) postId = 17;
|
|
|
+ else if (post.Equals("市场推广")) postId = 57;
|
|
|
+ else if (post.Equals("策划")) postId = 16;
|
|
|
+ else if (post.Equals("3D设计师")) postId = 19;
|
|
|
+ else if (post.Equals("平面设计")) postId = 18;
|
|
|
+ else if (post.Equals("设计")) postId = 18;
|
|
|
+ else if (post.Equals("活动策划")) postId = 16;
|
|
|
+ else if (post.Equals("活动策划执行")) postId = 17;
|
|
|
+ else if (post.Equals("高级活动策划")) postId = 16;
|
|
|
+ else postId = 0;
|
|
|
+ break;
|
|
|
+ case 115:
|
|
|
+ if (post.Equals("系统管理员")) { depId = 9; postId = 31; }
|
|
|
+ else if (post.Equals("后勤专员")) { depId = 5; postId = 58; }
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 287: //会展部
|
|
|
+ //59 2 17 经理
|
|
|
+ //60 2 17 主管
|
|
|
+ //61 2 17 会展专员
|
|
|
+ //62 2 17 会展销售
|
|
|
+ //63 2 17 会展策划
|
|
|
+ //64 2 17 招商专员
|
|
|
+ //65 2 17 媒介专员
|
|
|
+ depId = 17;
|
|
|
+ if (post.Equals("会展部经理")) postId = 59;
|
|
|
+ else if (post.Equals("会展专员")) postId = 61;
|
|
|
+ else if (post.Equals("会展销售")) postId = 62;
|
|
|
+ else if (post.Equals("招商招展")) postId = 63;
|
|
|
+ else if (post.Equals("会展部主管")) postId = 60;
|
|
|
+ else if (post.Equals("媒介专员")) postId = 65;
|
|
|
+ else if (post.Equals("会展策划")) postId = 63;
|
|
|
+ else if (post.Equals("招商专员")) postId = 64;
|
|
|
+ else postId = 61;
|
|
|
+ break;
|
|
|
+ case 304: //总经理助理
|
|
|
+ //1 1 总经理
|
|
|
+ //2 1 副总经理
|
|
|
+ //3 1 总经理助理
|
|
|
+
|
|
|
+ depId = 1;
|
|
|
+ postId = 3;
|
|
|
+ break;
|
|
|
+ case 323: //海外游学部
|
|
|
+ //66 3 19 游学顾问
|
|
|
+ depId = 19;
|
|
|
+ postId = 66;
|
|
|
+ break;
|
|
|
+ case 335: //会议会展策划部
|
|
|
+ //15 5 经理
|
|
|
+ //16 5 文案策划
|
|
|
+ //17 5 活动执行
|
|
|
+ //18 5 平面设计师
|
|
|
+ //19 5 3D设计师
|
|
|
+ //56 5 销售
|
|
|
+ //46 5 网络推广
|
|
|
+ //57 5 市场推广
|
|
|
+ //67 5 策划主管
|
|
|
+ depId = 5;
|
|
|
+ if (post.Equals("会展专员")) { depId = 17; postId = 61; }
|
|
|
+ else if (post.Equals("策划执行")) postId = 16;
|
|
|
+ else if (post.Equals("策划主管")) postId = 67;
|
|
|
+ else if (post.Equals("策划")) postId = 16;
|
|
|
+ else if (post.Equals("文案")) postId = 16;
|
|
|
+ else if (post.Equals("策划执行")) postId = 17;
|
|
|
+ else if (post.Equals("执行专员 ")) postId = 17;
|
|
|
+ break;
|
|
|
+ case 761://项目部
|
|
|
+ //20 6 经理
|
|
|
+ //21 6 市场专员
|
|
|
+ //53 6 主管
|
|
|
+
|
|
|
+ if (post.Equals("销售主管")) { depId = 6; postId = 20; }
|
|
|
+ else if (post.Equals("场站经理")) { depId = 6; postId = 53; }
|
|
|
+ else if (post.Equals("暂无")) { depId = 5; postId = 58; }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (oldUser.CnName.Equals("许婷"))
|
|
|
+ {
|
|
|
+ depId = 5; postId = 16;
|
|
|
+ }
|
|
|
+ else if (oldUser.CnName.Equals("陈雪"))
|
|
|
+ {
|
|
|
+ depId = 5; postId = 17;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ string idCrad = string.Empty;
|
|
|
+ string idCradNumber = string.Empty;
|
|
|
DateTime? birthday = null;
|
|
|
+ if (!string.IsNullOrEmpty(oldUser.IDCard))
|
|
|
+ {
|
|
|
+ idCrad = oldUser.IDCard.Trim();
|
|
|
+
|
|
|
+ #region 处理身份证Number 出生日期
|
|
|
+ if (idCrad.ValidateIdNumber())
|
|
|
+ {
|
|
|
+ idCradNumber = idCrad.ToString();
|
|
|
+ string birthDate = idCrad.Substring(6, 8); // 提取从第6位开始的8个字符,即出生日期部分
|
|
|
+ birthday = new DateTime(int.Parse(birthDate.Substring(0, 4)), int.Parse(birthDate.Substring(4, 2)), int.Parse(birthDate.Substring(6, 2)));
|
|
|
+
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
DateTime? startWorkDate = null;
|
|
|
+ #region 判断是否是日期格式的字符串
|
|
|
+ string format = "yyyy-MM-dd"; // 日期格式
|
|
|
+ DateTime date;
|
|
|
+ bool isParsed = DateTime.TryParseExact(oldUser.StartWorkDate, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out date);
|
|
|
+
|
|
|
+ if (isParsed)
|
|
|
+ {
|
|
|
+ startWorkDate = date;
|
|
|
+ }
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
int education = 0;
|
|
|
+ #region 处理学历
|
|
|
+
|
|
|
+ if (!string.IsNullOrEmpty(oldUser.Education))
|
|
|
+ {
|
|
|
+ //0 未设置 1 小学、2 初中、3 高中、4 专科、5 本科、6 研究生
|
|
|
+ if (oldUser.Education.Equals("本科")) education = 5;
|
|
|
+ else if (oldUser.Education.Equals("大学专科")) education = 4;
|
|
|
+ else if (oldUser.Education.Equals("大专")) education = 4;
|
|
|
+ else if (oldUser.Education.Equals("全日制本科")) education = 5;
|
|
|
+ else if (oldUser.Education.Equals("硕士")) education = 6;
|
|
|
+ else if (oldUser.Education.Equals("硕士研究生")) education = 6;
|
|
|
+ else if (oldUser.Education.Equals("学士")) education = 6;
|
|
|
+ else if (oldUser.Education.Equals("研究生")) education = 6;
|
|
|
+ else if (oldUser.Education.Equals("专科")) education = 4;
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
int theOrAdultEducation = 0;
|
|
|
- string maritalStatus = string.Empty;
|
|
|
- Sys_Users user = new Sys_Users() {
|
|
|
+ #region 处理统招/成人
|
|
|
+
|
|
|
+ if (!string.IsNullOrEmpty(oldUser.TheOrAdultEducation))
|
|
|
+ {
|
|
|
+ //0 未设置 1 成教 2 统招 3 留学
|
|
|
+ if (oldUser.TheOrAdultEducation.Equals("成教")) theOrAdultEducation = 1;
|
|
|
+ if (oldUser.TheOrAdultEducation.Equals("自考")) theOrAdultEducation = 1;
|
|
|
+ else if (oldUser.TheOrAdultEducation.Equals("统招")) theOrAdultEducation = 2;
|
|
|
+ else if (oldUser.TheOrAdultEducation.Equals("留学")) theOrAdultEducation = 3;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ Sys_Users user = new Sys_Users()
|
|
|
+ {
|
|
|
+ Id = oldUser.Id,
|
|
|
CnName = oldUser.CnName,
|
|
|
EnName = oldUser.EnName,
|
|
|
Number = oldUser.Number,
|
|
@@ -325,6 +624,7 @@ namespace OASystem.API.Controllers
|
|
|
JobPostId = postId,
|
|
|
Password = oldUser.Password,
|
|
|
Sex = oldUser.Sex,
|
|
|
+ Ext = oldUser.Ext,
|
|
|
Phone = oldUser.Phone,
|
|
|
UrgentPhone = oldUser.UrgentPhone,
|
|
|
Email = oldUser.Email,
|
|
@@ -332,29 +632,47 @@ namespace OASystem.API.Controllers
|
|
|
Edate = oldUser.Edate,
|
|
|
Rdate = oldUser.Rdate,
|
|
|
Seniority = oldUser.Seniority,
|
|
|
- Birthday = birthday,
|
|
|
- IDCard = oldUser.IDCard,
|
|
|
+ Birthday = birthday,
|
|
|
+ IDCard = idCradNumber,
|
|
|
StartWorkDate = startWorkDate,
|
|
|
GraduateInstitutions = oldUser.GraduateInstitutions,
|
|
|
Professional = oldUser.Professional,
|
|
|
Education = education,
|
|
|
TheOrAdultEducation = theOrAdultEducation,
|
|
|
- MaritalStatus = maritalStatus,
|
|
|
+ MaritalStatus = oldUser.MaritalStatus,
|
|
|
HomeAddress = oldUser.HomeAddress,
|
|
|
UsePeriod = oldUser.UsePeriod,
|
|
|
-
|
|
|
+ WorkExperience = oldUser.WorkExperience,
|
|
|
+ Certificate = oldUser.Certificate,
|
|
|
+ HrAudit = 1,
|
|
|
+ CreateUserId = 208,
|
|
|
+ CreateTime = DateTime.Now,
|
|
|
+ DeleteUserId = null,
|
|
|
+ DeleteTime = string.Empty,
|
|
|
+ Remark = oldUser.Remark,
|
|
|
+ IsDel = oldUser.IsDel,
|
|
|
};
|
|
|
|
|
|
+ newOaUserDatas.Add(user);
|
|
|
}
|
|
|
|
|
|
+ if (newOaUserDatas.Count > 0)
|
|
|
+ {
|
|
|
+
|
|
|
+ //执行删除
|
|
|
+ bool resetStatus = _sqlSuar.DbMaintenance.TruncateTable<Sys_Users>();
|
|
|
|
|
|
+ //执行批量添加
|
|
|
+ int addTotal = await _sqlSuar.Insertable(newOaUserDatas).IgnoreColumns(it => it.Id).ExecuteCommandAsync();
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
|
|
|
view = new
|
|
|
{
|
|
|
Code = 200,
|
|
|
Msg = "操作成功!",
|
|
|
- Data = oldOaUsersData
|
|
|
+ Data = newOaUserDatas
|
|
|
|
|
|
};
|
|
|
}
|