主题域共享脚本
创建共享脚本
创建 ATTRIBUTE/SCRIPT/SHAREFUN 节点,CODE :共享函数名称
执行共享脚本
在使用脚本的地方执行
domain.exeShareFun(request,"update",param,result);
如果在其他实体或属性中执行该共享脚本可以采用
system.service("ENTITY.ATTRIBUTE" ).exeShareFun(request,functionCode,Object aparam,Object aresult)
aparam,aresult 可以传递任意参数值。 也可以通过临时表保存数据
<ATTRIBUTE>
<SCRIPT>
<SHAREFUN CODE="UPDATE">
/*需要更新的匹号*/
var lssql ="drop temporary table if exists tmp_id ; \
create temporary table if not exists tmp_id(id bigint); \
insert into tmp_id(id) select mlzjmxmdid from t_mlzjmx where mlzjid in ("+ param.idSQLStr()+")";
request.db().exeUpdate(lssql,null) ;
/*需要更新的匹号,汇总开剪米数和公斤数*/
lssql ="drop temporary table if exists tmp_md ; \
create temporary table if not exists tmp_md(id bigint,ywms decimal(18,4),ywgjs decimal(18,4)); \
insert into tmp_md(id,ywms,ywgjs) \
select mx.mlzjmxmdid, ifnull(sum(mx.ywms),0),ifnull(sum(mx.ywgjs),0) \
from t_mlzjmx mx inner join t_mlzj zj on (zj.mlzjid = mx.mlzjid) \
where mx.mlzjmxmdid in (select id from tmp_id) and zj.entitytype ='2' and zj.estatus ='7' \
group by mx.mlzjmxmdid ; ";
request.db().exeUpdate(lssql,null) ;
/*更新*/
lssql ="update t_mlzjmxmd inner join tmp_md on (tmp_md.id = t_mlzjmxmd.mlzjmxmdid ) \
set t_mlzjmxmd.ywms = ifnull(t_mlzjmxmd.ysms,0) - tmp_md.ywms , t_mlzjmxmd.ywgjs= ifnull(t_mlzjmxmd.ysgjs,0) - tmp_md.ywgjs; \
drop temporary table if exists tmp_md ; \
drop temporary table if exists tmp_id ; ";
request.db().exeUpdate(lssql,null) ;
</SHAREFUN>
<AUDIT>
<AFT>
domain.exeShareFun(request,"update",param,result);
</AFT>
</AUDIT>
<UNAUDIT>
<AFT>
domain.exeShareFun(request,"update",param,result);
</AFT>
</UNAUDIT>
</SCRIPT>
Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator