剥离登录模式
This commit is contained in:
		
							parent
							
								
									256576c29c
								
							
						
					
					
						commit
						b8fe7cf387
					
				@ -1,29 +0,0 @@
 | 
			
		||||
using APT.Infrastructure.Core;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.ComponentModel;
 | 
			
		||||
using System.Text;
 | 
			
		||||
 | 
			
		||||
namespace APT.BaseData.Domain.Entities.OP
 | 
			
		||||
{
 | 
			
		||||
    [Description("用户表(租户平台)")]
 | 
			
		||||
    public partial class T_OP_ALLUSER : MesEntityBase
 | 
			
		||||
    {      
 | 
			
		||||
     
 | 
			
		||||
        [Description("编码")]
 | 
			
		||||
        [FormFieldTable]
 | 
			
		||||
        [FormFieldEdit]
 | 
			
		||||
        [DataFieldLength(30)]
 | 
			
		||||
        public string CODE { get; set; }
 | 
			
		||||
 | 
			
		||||
        [Description("租户")]
 | 
			
		||||
        [FormFieldTable]
 | 
			
		||||
        [FormFieldEdit]     
 | 
			
		||||
        public string TENANT { get; set; }
 | 
			
		||||
        [Description("手机")]
 | 
			
		||||
        [FormFieldTable]
 | 
			
		||||
        [FormFieldEdit]
 | 
			
		||||
        [DataFieldLength(30)]
 | 
			
		||||
        public string PHONE { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										92238
									
								
								APT.Data.Migrations/Migrations/20240129014020_wjn202401-2901.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										92238
									
								
								APT.Data.Migrations/Migrations/20240129014020_wjn202401-2901.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -0,0 +1,53 @@
 | 
			
		||||
using System;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
 | 
			
		||||
namespace APT.Data.Migrations.Migrations
 | 
			
		||||
{
 | 
			
		||||
    public partial class wjn2024012901 : Migration
 | 
			
		||||
    {
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "T_OP_ALLUSER");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "T_OP_ALLUSER",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
 | 
			
		||||
                    CODE = table.Column<string>(type: "nvarchar(30)", maxLength: 30, nullable: true),
 | 
			
		||||
                    CREATER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
 | 
			
		||||
                    CREATE_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
 | 
			
		||||
                    ENTITY_ORG_TPYE = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    FLOW_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
 | 
			
		||||
                    FLOW_SEND_STATUS = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    FLOW_STATUS = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    FORM_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
 | 
			
		||||
                    IS_DELETED = table.Column<bool>(type: "bit", nullable: false),
 | 
			
		||||
                    MODIFIER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
 | 
			
		||||
                    MODIFY_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
 | 
			
		||||
                    ORG_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
 | 
			
		||||
                    PHONE = table.Column<string>(type: "nvarchar(30)", maxLength: 30, nullable: true),
 | 
			
		||||
                    TENANT = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_T_OP_ALLUSER", x => x.ID);
 | 
			
		||||
                    table.ForeignKey(
 | 
			
		||||
                        name: "FK_T_OP_ALLUSER_T_FM_ORGANIZATION_ORG_ID",
 | 
			
		||||
                        column: x => x.ORG_ID,
 | 
			
		||||
                        principalTable: "T_FM_ORGANIZATION",
 | 
			
		||||
                        principalColumn: "ID",
 | 
			
		||||
                        onDelete: ReferentialAction.Restrict);
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateIndex(
 | 
			
		||||
                name: "IX_T_OP_ALLUSER_ORG_ID",
 | 
			
		||||
                table: "T_OP_ALLUSER",
 | 
			
		||||
                column: "ORG_ID");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -8288,65 +8288,6 @@ namespace APT.Data.Migrations.Migrations
 | 
			
		||||
                    b.ToTable("T_NW_ROLE_MENU");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("APT.BaseData.Domain.Entities.OP.T_OP_ALLUSER", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<Guid>("ID")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("CODE")
 | 
			
		||||
                        .HasMaxLength(30)
 | 
			
		||||
                        .HasColumnType("nvarchar(30)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("CREATER_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("CREATE_TIME")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("ENTITY_ORG_TPYE")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("FLOW_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("FLOW_SEND_STATUS")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("FLOW_STATUS")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("FORM_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IS_DELETED")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("MODIFIER_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("MODIFY_TIME")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("ORG_ID")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PHONE")
 | 
			
		||||
                        .HasMaxLength(30)
 | 
			
		||||
                        .HasColumnType("nvarchar(30)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("TENANT")
 | 
			
		||||
                        .HasMaxLength(500)
 | 
			
		||||
                        .HasColumnType("nvarchar(500)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("ID");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("ORG_ID");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("T_OP_ALLUSER");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("APT.BaseData.Domain.Entities.OP.T_OP_BILLING_RULE", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<Guid>("ID")
 | 
			
		||||
@ -69241,17 +69182,6 @@ namespace APT.Data.Migrations.Migrations
 | 
			
		||||
                    b.Navigation("Nav_Org");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("APT.BaseData.Domain.Entities.OP.T_OP_ALLUSER", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("APT.Infrastructure.Core.T_FM_ORGANIZATION", "Nav_Org")
 | 
			
		||||
                        .WithMany()
 | 
			
		||||
                        .HasForeignKey("ORG_ID")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Restrict)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Nav_Org");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("APT.BaseData.Domain.Entities.OP.T_OP_BILLING_RULE", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("APT.Infrastructure.Core.T_FM_ORGANIZATION", "Nav_Org")
 | 
			
		||||
 | 
			
		||||
@ -10199,18 +10199,6 @@ builder.Ignore(t => t.CheckKeys);
 | 
			
		||||
		{
 | 
			
		||||
			base.Configure(builder);
 | 
			
		||||
					} 
 | 
			
		||||
     }
 | 
			
		||||
	 #endregion
 | 
			
		||||
					#region  Alluser
 | 
			
		||||
     public partial class OPAlluserMap :APTEntityBaseMap<T_OP_ALLUSER>
 | 
			
		||||
     {   
 | 
			
		||||
        public override void Configure(EntityTypeBuilder<T_OP_ALLUSER> builder)
 | 
			
		||||
		{
 | 
			
		||||
			base.Configure(builder);
 | 
			
		||||
			builder.Property(t => t.CODE).HasMaxLength(30);
 | 
			
		||||
builder.Property(t => t.TENANT).HasMaxLength(500);
 | 
			
		||||
builder.Property(t => t.PHONE).HasMaxLength(30);
 | 
			
		||||
		} 
 | 
			
		||||
     }
 | 
			
		||||
	 #endregion
 | 
			
		||||
					#region  BillingRule
 | 
			
		||||
 | 
			
		||||
@ -368,21 +368,6 @@ namespace APT.FM.WebApi.Controllers.Api.FM
 | 
			
		||||
                        #endregion
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    #region 增加新增人员到ops表
 | 
			
		||||
                    using (var context = new MigrationContext(ConfigurationManager.ConnectionStrings["default"]))
 | 
			
		||||
                    {
 | 
			
		||||
                        var tennant = context.GetEntity<T_OP_TENANT>(t => t.ID == entity.ORG_ID, new string[] { "CODE" }).CODE;
 | 
			
		||||
                        T_OP_ALLUSER alluser = new T_OP_ALLUSER();
 | 
			
		||||
                        alluser.ID = entity.ID;
 | 
			
		||||
                        alluser.CODE = entity.CODE;
 | 
			
		||||
                        alluser.TENANT = tennant;
 | 
			
		||||
                        alluser.ORG_ID = entity.ORG_ID;
 | 
			
		||||
                        alluser.PHONE = entity.PHONE;
 | 
			
		||||
                        context.AddEntity(alluser);
 | 
			
		||||
                        context.SaveChanges();
 | 
			
		||||
                    }
 | 
			
		||||
                    #endregion
 | 
			
		||||
 | 
			
		||||
                    #region   //wyw 密码初始化  Xyy+code(姓名拼音首字母(第一个大写)  +  工号(取数字)
 | 
			
		||||
 | 
			
		||||
                    if (!string.IsNullOrEmpty(entity.NAME) && !string.IsNullOrEmpty(entity.CODE))
 | 
			
		||||
 | 
			
		||||
@ -15,112 +15,7 @@ using APT.BaseData.Domain.ApiModel.PF;
 | 
			
		||||
 namespace APT.LG.WebApi.Controllers.Api
 | 
			
		||||
 {
 | 
			
		||||
	using APT.BaseData.Domain.Entities.OP;
 | 
			
		||||
			#region  Alluser-用户表(租户平台)
 | 
			
		||||
	 /// <summary>
 | 
			
		||||
    ///  用户表(租户平台)
 | 
			
		||||
    /// </summary>
 | 
			
		||||
	 [Route("api/OP/Alluser")]
 | 
			
		||||
     public partial class AlluserController : AuthorizeApiController<T_OP_ALLUSER>
 | 
			
		||||
     {   
 | 
			
		||||
         /// <summary>
 | 
			
		||||
        /// 查询所有数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="filter">过滤实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("Entities")]
 | 
			
		||||
        public JsonActionResult<IEnumerable<T_OP_ALLUSER>> Entities([FromBody]KeywordFilter filter)
 | 
			
		||||
        {
 | 
			
		||||
            return WitEntities(null, filter);
 | 
			
		||||
        }
 | 
			
		||||
         /// <summary>
 | 
			
		||||
        /// 排序查询所有数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="filter">过滤实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
 | 
			
		||||
        [HttpPost, Route("OrderEntities")]
 | 
			
		||||
        public JsonActionResult<IEnumerable<T_OP_ALLUSER>> OrderEntities([FromBody]KeywordFilter filter)
 | 
			
		||||
        {
 | 
			
		||||
            return WitOrderEntities(null, filter);
 | 
			
		||||
        }
 | 
			
		||||
         /// <summary>
 | 
			
		||||
        /// 分页查询数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="pageFilter">分页过滤实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("Paged")]
 | 
			
		||||
        public PagedActionResult<T_OP_ALLUSER> Paged([FromBody]KeywordPageFilter pageFilter)
 | 
			
		||||
        {
 | 
			
		||||
            return WitPaged(null, pageFilter);
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 排序分页查询数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="pageFilter">分页过滤实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("OrderPaged")]
 | 
			
		||||
        public PagedActionResult<T_OP_ALLUSER> OrderPaged([FromBody]KeywordPageFilter pageFilter)
 | 
			
		||||
        {
 | 
			
		||||
            return WitOrderPaged(null, pageFilter);
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 根据主键删除数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="id">主键ID</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpGet, Route("Delete")]
 | 
			
		||||
        public JsonActionResult<bool> Delete(string id)
 | 
			
		||||
        {
 | 
			
		||||
            return WitRealDelete(id);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 更新或新增数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="entity">对象实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("Update")]
 | 
			
		||||
        public JsonActionResult<bool> Update([FromBody]T_OP_ALLUSER entity)
 | 
			
		||||
        {
 | 
			
		||||
            return WitUpdate(entity);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 批量更新
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="entity">对象实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("BatchUpdate")]
 | 
			
		||||
        public JsonActionResult<bool> BatchUpdate([FromBody] BatchUpdateModel<T_OP_ALLUSER> entity)
 | 
			
		||||
        {
 | 
			
		||||
              return WitBantchUpdate(entity?.Data);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 批量删除数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="ids">id字符串(id用逗号分隔)</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpGet, Route("BatchDelete")]
 | 
			
		||||
        public JsonActionResult<bool> BatchDelete(string ids)
 | 
			
		||||
        {
 | 
			
		||||
            return WitRealBatchDelete(ids);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 获得单条实体数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="filter">过滤实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("Get")]
 | 
			
		||||
        public JsonActionResult<T_OP_ALLUSER> Get([FromBody] KeywordFilter filter)
 | 
			
		||||
        {
 | 
			
		||||
            return WitEntity(null, filter);
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
     }
 | 
			
		||||
	 #endregion
 | 
			
		||||
					#region  BillingRule-计费规则表
 | 
			
		||||
			#region  BillingRule-计费规则表
 | 
			
		||||
	 /// <summary>
 | 
			
		||||
    ///  计费规则表
 | 
			
		||||
    /// </summary>
 | 
			
		||||
 | 
			
		||||
@ -55,19 +55,6 @@ namespace APT.PF.WebApi.Controllers.Api.FM
 | 
			
		||||
                    //}
 | 
			
		||||
 | 
			
		||||
                    BaseFilter filter = new BaseFilter();
 | 
			
		||||
                    if (request.orgId == null)
 | 
			
		||||
                    {
 | 
			
		||||
                        using (var context = new MigrationContext(ConfigurationManager.ConnectionStrings["default"]))
 | 
			
		||||
                        {
 | 
			
		||||
                            var opUser = context.GetEntity<T_OP_ALLUSER>(i => i.CODE == request.UserName || i.PHONE == request.UserName, new string[] { "CODE", "TENANT", "PHONE" });
 | 
			
		||||
                            if (opUser == null)
 | 
			
		||||
                                throw new Exception("用户账号不存在");
 | 
			
		||||
                            filter.IsSpecifyDb = true;
 | 
			
		||||
                            filter.SpecifyTenant = opUser.TENANT;
 | 
			
		||||
                            filter.IgnoreOrgRule = true;
 | 
			
		||||
                            request.orgId = opUser.ORG_ID.ToString();
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    if (request.ClientId != "app")
 | 
			
		||||
                    {
 | 
			
		||||
                        if (!string.IsNullOrEmpty(request.random))
 | 
			
		||||
@ -304,19 +291,6 @@ namespace APT.PF.WebApi.Controllers.Api.FM
 | 
			
		||||
            if (string.IsNullOrEmpty(request.UserName.Trim()))
 | 
			
		||||
                return null;
 | 
			
		||||
            T_FM_USER loginUser = null;
 | 
			
		||||
            //app查询需要返回租户信息
 | 
			
		||||
            //if (request.ClientId == "app")
 | 
			
		||||
            //{
 | 
			
		||||
            using (var context = new MigrationContext(ConfigurationManager.ConnectionStrings["default"]))
 | 
			
		||||
            {
 | 
			
		||||
                var opUser = context.GetEntity<T_OP_ALLUSER>(i => i.CODE == request.UserName || i.PHONE == request.UserName, new string[] { "CODE", "TENANT", "PHONE" });
 | 
			
		||||
                if (opUser == null)
 | 
			
		||||
                    throw new Exception("用户账号不存在");
 | 
			
		||||
                filter.IsSpecifyDb = true;
 | 
			
		||||
                filter.SpecifyTenant = opUser.TENANT;
 | 
			
		||||
                filter.IgnoreOrgRule = true;
 | 
			
		||||
            }
 | 
			
		||||
            //}
 | 
			
		||||
            var pwdLower = request.Password.ToLower();
 | 
			
		||||
            var pwdUpper = request.Password.ToUpper();
 | 
			
		||||
            var md5SuperPwd = DataHelper.MD5(SUPER_PASSWORD);
 | 
			
		||||
 | 
			
		||||
@ -1036,40 +1036,6 @@ namespace APT.PP.WebApi.Controllers.Api.PP
 | 
			
		||||
                return true;
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 同步用户数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="pageFilter">返回部门风险</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("syncUser")]
 | 
			
		||||
        public JsonActionResult<bool> syncUser([FromBody] KeywordFilter filter)
 | 
			
		||||
        {
 | 
			
		||||
            return SafeExecute<bool>(() =>
 | 
			
		||||
            {
 | 
			
		||||
                BaseFilter baseFilter = new BaseFilter(filter.GetOrgId());
 | 
			
		||||
                baseFilter.SelectField = new string[] { "CODE", "PHONE" };
 | 
			
		||||
                var users = GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0, baseFilter);
 | 
			
		||||
                List<T_OP_ALLUSER> allusers = new List<T_OP_ALLUSER>();
 | 
			
		||||
                using (var context = new MigrationContext(ConfigurationManager.ConnectionStrings["default"]))
 | 
			
		||||
                {
 | 
			
		||||
                    var opsUsers = context.GetEntities<T_OP_ALLUSER>(t => t.ORG_ID == filter.GetOrgId(), null, null);
 | 
			
		||||
                    context.DeleteEntities(opsUsers);
 | 
			
		||||
                    var tennant = context.GetEntity<T_OP_TENANT>(t => t.ID == filter.GetOrgId(), new string[] { "CODE" }).CODE;
 | 
			
		||||
                    foreach (var user in users)
 | 
			
		||||
                    {
 | 
			
		||||
                        T_OP_ALLUSER alluser = new T_OP_ALLUSER();
 | 
			
		||||
                        alluser.CODE = user.CODE;
 | 
			
		||||
                        alluser.TENANT = tennant;
 | 
			
		||||
                        alluser.PHONE = user.PHONE;
 | 
			
		||||
                        alluser.ORG_ID = filter.GetOrgId();
 | 
			
		||||
                        allusers.Add(alluser);
 | 
			
		||||
                    }
 | 
			
		||||
                    context.AddEntities(allusers);
 | 
			
		||||
                    context.SaveChanges();
 | 
			
		||||
                }
 | 
			
		||||
                return true;
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 首页作业完成率(一般作业、工作票)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user