产品导航
IMS(蓝点通用管理系统)提取系统账号一览表方法
特别说明:本文来源于网络,版权归原作者所有,如有侵权,请联系我们删除。

 

IMS系统使用视图替换表的方法,狸猫换太子,抽取需要的后台数据。

  1. 在IMS系统创建模板
  2. IMS数据库中找到这个模板对应的表名称T1511I1817125b457,将该表名称改名
  3. 在IMS数据库创建视图,替代原来的表,视图代码如下:
    CREATE VIEW [dbo].[T1511I1817125b457]
    AS
    SELECT distinct convert(int,row_number()over(order by FV151118861716a42)) as id,a.* from(select 61 DirID,convert(tinyint,'0') SecLevel,convert(nvarchar(255),'admin') Builder,CONVERT(DATETIME, GETDATE(),120) LastModified,
    convert(nvarchar(255),'admin') LastMender,
    convert(nvarchar,t.username) as F151p113181P71519,convert(nvarchar,t.email) F1511181b987N1534,CONVERT(DATETIME,t.createdate,120) F1Od5113318171545,
    CONVERT(DATETIME,t.lastlogindate,120) F1F595d1118171554,CONVERT(DATETIME,t.lastpasswordchangeddate,120) F151114K5817s1619,CONVERT(DATETIME,case when t.lastlockoutdate='1754-01-01 00:00:00.000' then null else t.lastlockoutdate end,120) F151118171hE1630,
    CONVERT(DATETIME,t.lastactivitydate,120) FV151118861716a42,convert(nvarchar,t4.unitname) F138511B18171h655,
    convert(nvarchar(100),t.userid) as F151123u157B84011,t5.islockedout as F15b121L166350
    FROM [portal_db].[dbo].vw_aspnet_membershipusers t
    INNER JOIN [portal].[dbo].userexinfo t3 ON t3.username = t.username
    INNER JOIN [portal].[dbo].units t4 ON t4.iD = t3.unitID
    inner join [portal_db].[dbo].aspnet_membership t5 on t5.userid=t.userid
    )a
    
  4. IMS前台查询数据:
  5. 增加IMS前台锁定账号的功能:
    在之前创建的视图上再创建一个触发器,当信息化平台更新账号邮箱信息时,数据自动反写到账号权限表中,用于在前台更改用户的邮箱;通过在信息化平台更新账号锁定状态,可以实现解锁和锁定操作。
    CREATE TRIGGER [TR_T1511I1817125b457] ON [dbo].[T1511I1817125b457]
            INSTEAD OF UPDATE  
            AS
    BEGIN  
               BEGIN TRANSACTION  
               SET NOCOUNT ON  
                BEGIN   
    --   INSERT INTO [10.32.4.1].[AIS20100809145719].dbo.POOrderEntry
    --(T1.fentryselfP0273,T1.fentryselfP0274) 
    --SELECT FA14855d5162616,F12I44851h62855 FROM
     
    update t1 set t1.email=t.F1511181b987N1534,t1.LoweredEmail=t.F1511181b987N1534,t1.islockedout=t.F15b121L166350 from Inserted T
    INNER JOIN [portal_db].dbo.aspnet_membership t1 ON t1.userID = t.F151123u157B84011
    --当信息化平台更新账号邮箱信息时,数据自动反写到账号权限表中,用于在前台更改用户的邮箱.
    --通过在信息化平台更新账号锁定状态,可以实现解锁和锁定操作.
          END
            IF (@@error <> 0)  
                ROLLBACK TRANSACTION  
            ELSE  
                COMMIT TRANSACTION  
            END
    
  6. 前端对数据做直接编辑回车,即可反写数据到账号信息表中,实现前端对账号信息的维护功能,还可以支持批量维护:
  7. 编写回车后,数据自动反写:
  8. 在用户管理界面查看是否修改成功:
  9. 同上操作还可以对用户账号进行前台批量锁定。