CRZ
2025-11-19 002f9b7381aba29bcac862e34daaf672f4d2881e
MES.Service/service/BasicData/MesStaffManager.cs
@@ -52,7 +52,17 @@
            .Where(s => s.StaffNo == staffId).ExecuteCommand();
        if (result > 0)
        {
            // 同步更新 SYS_USER 的 ISDEPARTURE 状态
            // 如果状态为 'B',则 ISDEPARTURE=1,否则为0
            var isDeparture = status == "B" ? 1 : 0;
            db.Updateable<SysUser>()
                .SetColumns(s => s.Isdeparture == isDeparture)
                .Where(s => s.Fcode == staffId)
                .ExecuteCommand();
            return true;
        }
        throw new NotImplementedException(status == "A" ? "启用失败" : "禁用失败");
    }
@@ -66,6 +76,8 @@
        {
            var updateUser = db.Updateable<SysUser>()   
                .SetColumns(s => s.Fname == sysUser.Fname)
                .SetColumns(s => s.Departmentid == sysUser.Departmentid) // 更新部门信息
                .SetColumns(s => s.Isdeparture == sysUser.Isdeparture) // 更新离职状态
                .Where(s => s.Fcode == sysUser.Fcode)
                .ExecuteCommand();
            if (updateUser > 0)
@@ -120,9 +132,14 @@
            FforbidStatus = staff.FForbidStatus
        };
        if (staff.FStaffStartDate != null)
            entity.StartDate = DateTime.ParseExact(staff.FStaffStartDate,
                "yyyy-MM-dd HH:mm:ss", null);
        if (!string.IsNullOrWhiteSpace(staff.FStaffStartDate))
        {
            if (DateTime.TryParseExact(staff.FStaffStartDate,
                "yyyy-MM-dd HH:mm:ss", null, System.Globalization.DateTimeStyles.None, out var date))
            {
                entity.StartDate = date;
            }
        }
        return entity;
    }
@@ -130,11 +147,15 @@
    // 将 ErpStaff 对象转换为 SysUser 对象的方法
    private SysUser GetUser(ErpStaff staff)
    {
        // 如果 FForbidStatus='B',则 Isdeparture=1,否则为0
        var isDeparture = staff.FForbidStatus == "B" ? 1 : 0;
        return new SysUser
        {
            //Sid = Convert.ToDecimal(staff.Id),
            Fcode = staff.FStaffNumber,
            Fname = staff.FName,
            Departmentid = staff.FPostDept, // 设置部门信息
            Fpassword = "8+()./,", // 初始密码
            Fsystem = "润达",
            Lever = 0,
@@ -146,7 +167,7 @@
            ExpField9 = "1020",
            QmUser = 0,
            Status = 0,
            Isdeparture = 0,
            Isdeparture = isDeparture, // 根据 FForbidStatus 设置离职状态
            CheckFlag = 0,
            ExpFiel12 = 0,
            Dev = 0,
@@ -223,7 +244,17 @@
            .Where(s => ids.Contains(s.StaffNo)).ExecuteCommand();
        if (result > 0)
        {
            // 同步更新 SYS_USER 的 ISDEPARTURE 状态
            // 如果状态为 'B',则 ISDEPARTURE=1,否则为0
            var isDeparture = status == "B" ? 1 : 0;
            db.Updateable<SysUser>()
                .SetColumns(s => s.Isdeparture == isDeparture)
                .Where(s => ids.Contains(s.Fcode))
                .ExecuteCommand();
            return true;
        }
        throw new NotImplementedException(status == "A" ? "启用失败" : "禁用失败");
    }