cnf
2025-09-10 1b3db8f5683373dd8e179b006e7314783dd1f9db
WebApi/Gs.BaseInfo/Services/MesStaffManager.cs
@@ -1,5 +1,4 @@
using System.Text;
using Gs.Entity.BaseInfo;
using Gs.Entity.BaseInfo;
using Gs.Entity.Sys;
using Gs.Toolbox;
using Gs.Toolbox.ApiCore.Abstract.Mvc;
@@ -8,6 +7,10 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using System.Data;
using System.Data.SqlClient;
using System.Dynamic;
using System.Text;
namespace Gs.BaseInfo.Services;
@@ -17,7 +20,6 @@
    private readonly IHttpContextAccessor _http;
    private readonly string _userCode, _userGuid, _orgFids;
    public MesStaffManager(IHttpContextAccessor httpContextAccessor)
    {
        _http = httpContextAccessor;
@@ -40,32 +42,24 @@
            var _sbBy =
                new StringBuilder(query.sortName + " " + query.sortOrder);
            var totalCount = 0;
            var itemsList = Db
                .Queryable<MesStaff, SysOrganization,
                    MesPosition>((a, org, c) =>
            var itemsList = Db.Queryable<MesStaff, SysOrganization, MesPosition>((a, org, c) =>
                    new object[]
                    {
                        JoinType.Left, a.FSubsidiary == org.Fid,
                        JoinType.Left, a.PositionCode == c.Id.ToString()
                    }).Select((a, org, c) => new MesStaff
                {
                    FSubsidiary = "(" + org.FNumber + ")" + org.Name,
                    PositionName = c.PositionName,
                    FforbidStatus = a.FforbidStatus + ":" +
                                    (a.FforbidStatus == "A" ? "正常" : "禁用"),
                    DataType = a.DataType + ":"
                                          + SqlFunc.IF(a.DataType == "Z")
                                              .Return("暂存")
                                              .ElseIF(a.DataType == "A")
                                              .Return("创建")
                                              .ElseIF(a.DataType == "B")
                                              .Return("审核中")
                                              .ElseIF(a.DataType == "C")
                                              .Return("已审核")
                                              .ElseIF(a.DataType == "D")
                                              .Return("重新审核")
                                              .End(a.DataType)
                }, true)
                    {
                        FSubsidiary = "(" + org.FNumber + ")" + org.Name,
                        PositionName = c.PositionName,
                        FforbidStatus = a.FforbidStatus + ":" + (a.FforbidStatus == "A" ? "正常" : "禁用"),
                        DataType = a.DataType + ":"
                        + SqlFunc.IF(a.DataType == "Z").Return("暂存")
                        .ElseIF(a.DataType == "A").Return("创建")
                        .ElseIF(a.DataType == "B").Return("审核中")
                        .ElseIF(a.DataType == "C").Return("已审核")
                        .ElseIF(a.DataType == "D").Return("重新审核")
                        .End(a.DataType)
                    }, true)
                .Where(_sbWhere.ToString())
                .OrderBy(_sbBy.ToString())
                .ToPageList(query.currentPage, query.everyPageSize,
@@ -89,12 +83,55 @@
    /// <param name="guid"></param>
    /// <returns></returns>
    [RequestMethod(RequestMethods.POST)]
    public ReturnDto<MesStaff> GetModel([FromBody] MesStaff model)
    //public ReturnDto<MesStaff> GetModel([FromBody] MesStaff model)
    //{
    //    var m = base.GetById(model.Guid);
    //    if (m != null)
    //        return ReturnDto<MesStaff>.QuickReturn(m, ReturnCode.Success,
    //            "读取成功!");
    //    return ReturnDto<MesStaff>.QuickReturn(m, ReturnCode.Default, "读取失败!");
    //}
    public ReturnDto<ExpandoObject> GetModel([FromBody] dynamic model)
    {
        var m = base.GetById(model.Guid);
        string guid = model.guid.ToString();
        dynamic m = new ExpandoObject();
        m.list = new List<dynamic>();
        m.list2 = new List<dynamic>();
        SqlParameter[] parameters =
        {
            new("@inMainGuid", guid),
            new("@inP1", ""),
            new("@inP2", ""),
            new("@inP3", ""),
            new("@inP4", "")
        };
        var dset = new DataSet();
        try
        {
            dset = DbHelperSQL.RunProcedure("[prc_staff_mx]", parameters, "0");
            if (dset != null && dset.Tables.Count > 0 &&
                dset.Tables[0].Rows.Count > 0)
            {
                var dr = dset.Tables[0].Rows[0];
                m = dr.RowToDynamic();
                var _tb = dset.Tables[1].TableToDynamicList();
                m.list = _tb;
                //var _tb2 = dset.Tables[2].TableToDynamicList();
                //m.list2 = _tb2;
            }
        }
        catch (Exception ex)
        {
            LogHelper.Debug(ToString(), ex.Message);
        }
        if (m != null)
            return ReturnDto<MesStaff>.QuickReturn(m, ReturnCode.Success,
            return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success,
                "读取成功!");
        return ReturnDto<MesStaff>.QuickReturn(m, ReturnCode.Default, "读取失败!");
        return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "读取失败!");
    }
}