EAS_WEB的rhino脚本示例

var imp=JavaImporter();
imp.importPackage(Packages.java.lang);
imp.importPackage(Packages.org.apache.commons.lang3);
imp.importPackage(Packages.com.kingdee.bos.webframework.context);
imp.importPackage(Packages.com.kingdee.eas.util.app);
imp.importPackage(Packages.com.kingdee.bos.webframework.json);
imp.importPackage(Packages.java.util);

with(imp){
  var id = request.getParameter("id");  
  var billid = request.getParameter("billId");  
  var ctx = WafContext.getInstance().getContext();
      if(StringUtils.isNotBlank(id))
    {
      //查询申请人是否有已提交、审核中、审核通过、等待付款 状态的借款单
      var stateSql = "select count(*) billCount from T_BC_DailyLoanBill A where A.FSTATE in(25,30,60,65)  and A.FAPPLIERID ='"+id+"' and A.FID !='"+billid+"'";
      var stateRowSet = DbUtil.executeQuery(ctx, stateSql);
      var stateCount = 0;
      if(stateRowSet.next()){
        stateCount = stateRowSet.getInt("billCount");
      }
      //未还款金额
      var sql = "select  sum(FAmountBalance) amount  from T_BC_DailyLoanBill A where A.FAPPLIERID = '"+id+"'";
      var rowSet = DbUtil.executeQuery(ctx, sql);
      var amount = 0;
        if (rowSet.next()) {
          amount = rowSet.getBigDecimal("amount");
        }
      //查询申请人是否有借款单关联生成的费用报销单,处于审批中,
       var queryApproveSql = "SELECT * FROM T_wfr_assign ag inner join T_BC_BizAccountBill bb on bb.FID = ag.FBIZOBJID  inner join T_BOT_Relation re on re.FDestObjectID = bb.FID inner join T_BC_DailyLoanBill loan on loan.FID = re.FSrcObjectID where loan.FApplierID='"+id+"'";
      var stateRowSet = DbUtil.executeQuery(ctx, queryApproveSql);
      while(stateRowSet.next()){
        stateCount ++;
      }
      
      var obj = new HashMap();
      obj.put("stateCount",stateCount);
      obj.put("amount",amount);
        JSONUtils.SUCCESS(obj);
   }
}

 

posted @ 2025-12-04 17:44  凉了记忆  阅读(6)  评论(0)    收藏  举报