E9环境通过数据库后台开发解决前端代码问题

17 篇文章 0 订阅

问题:E7环境下在hrmsubcompany新增了两个字段公司层级和所属业务主体,E8时通过JSP代码保存到主表中,在升级到E9环境后,该代码无效了。经开发沟通实现太麻烦,先采用数据库端处理圆满解决此问题。

E8代码:
SubCompanyOperation.jsp

//插入点1
String gscj = Util.fromScreen(fu.getParameter("gscj"),user.getLanguage());
String ssywzt = Util.fromScreen(fu.getParameter("ssywzt"),user.getLanguage());

//插入点2
	String sql3="update HrmSubCompany set subcompanycode = '" + subcompanycode + "'";
	if(user.getUID() == 1) sql3 += ", limitUsers = "+limitUsers;
	sql3 +=", gscj = '"+gscj+"' ";//公司层级
	sql3 +=", ssywzt = '"+ssywzt+"' ";//所属业务主体

//插入点3
	String sql3="update HrmSubCompany set subcompanycode = '" + subcompanycode + "'";
	if(user.getUID() == 1) sql3 += ", limitUsers = "+limitUsers;
    sql3 +=", gscj = '"+gscj+"' ";//公司层级
    sql3 +=", ssywzt = '"+ssywzt+"' ";//所属业务主体

在升级E9时,作同样的修改,没有生效,原因是现有E9前后端分离,已经不用此代码。

解决方案:
在OA端使用新功能在hrmsubcompanydefined新建这两个自定义字段,字段名后系统自动增加了一个X。将原有两个字段隐藏。这个操作由OA系统管理员作。

1、检查两边数据有效性。新的字段没有值。

select id,gscj,ssywzt from  hrmsubcompany 
select id,subcomid,gscjx,ssywztx from hrmsubcompanydefined

2、将原有字段同步到新字段中,并验证数据一致。

update hrmsubcompanydefined a set gscjx = (select gscj from  hrmsubcompany b where a.subcomid = b.id ) 
update hrmsubcompanydefined a set ssywztx = (select ssywzt from  hrmsubcompany b where a.subcomid = b.id ) 
select b.id,b.gscj,b.ssywzt,a.gscjx,a.ssywztx from  hrmsubcompanydefined a inner join   hrmsubcompany b on a.subcomid = b.id 

3、启用触发器并编辑无误。

 create or replace trigger YH_T_on_hrmsubcom
 after INSERT OR UPDATE of gscjx,ssywztx,subcomid 
 on hrmsubcompanydefined  
  for each row  
  begin  
  update hrmsubcompany set gscj = :new.gscjx,ssywztx = :new.ssywztx  where id = :new.subcomid;  
  end; 

4、验证功能
后台验证:修改一下字段值并检查字段发生了同步修改。

 select id,gscj,ssywzt from  hrmsubcompany where id = 50
 update hrmsubcompanydefined a set gscjx = 1  where subcomid = 50
 select id,gscj,ssywzt from  hrmsubcompany where id = 50
 update hrmsubcompanydefined a set gscjx = 3  where subcomid = 50
 select id,gscj,ssywzt from  hrmsubcompany where id = 50
 

前台验证:由OA系统管理员在前台修改或新增一个分步后,可以从新字段自动同步到旧字段中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值