HolidayLimitEditHandlerEx.java 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.kingdee.shr.ats.web.handler;
  2. import java.math.BigDecimal;
  3. import java.sql.SQLException;
  4. import javax.servlet.http.HttpServletRequest;
  5. import javax.servlet.http.HttpServletResponse;
  6. import org.springframework.ui.ModelMap;
  7. import com.kingdee.bos.BOSException;
  8. import com.kingdee.bos.Context;
  9. import com.kingdee.eas.common.EASBizException;
  10. import com.kingdee.eas.util.app.DbUtil;
  11. import com.kingdee.jdbc.rowset.IRowSet;
  12. import com.kingdee.shr.base.syssetting.context.SHRContext;
  13. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  14. import com.kingdee.shr.base.syssetting.web.json.JSONUtils;
  15. /**
  16. * 假期额度表单handler
  17. * @author xiaoxin
  18. *
  19. */
  20. public class HolidayLimitEditHandlerEx extends HolidayLimitEditHandler{
  21. /**
  22. * 获取年假上年转入额度-今年结转额度
  23. * @param request
  24. * @param response
  25. * @param modelMap
  26. * @throws EASBizException
  27. * @throws BOSException
  28. * @throws SHRWebException
  29. */
  30. public void getCarryLimitAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws EASBizException, BOSException, SHRWebException {
  31. Context ctx = SHRContext.getInstance().getContext();
  32. String billId = request.getParameter("billId");
  33. String sql = "/*dialect*/SELECT COALESCE(a.CFLASTCARRYFORWARD,0) - COALESCE(a.CFCARRYFORWARD,0) as auualLimit FROM T_HR_ATS_HolidayLimit a "
  34. + "left join T_HR_ATS_HolidayPolicy b on a.FHOLIDAYPOLICYID = b.fid "
  35. + "left join T_HR_ATS_HolidayType c on b.FHOLIDAYTYPEID = c.fid "
  36. + "where a.fid = '"+billId+"' and c.FNUMBER = 'JQLX000001Y'";
  37. IRowSet rowSet = DbUtil.executeQuery(ctx, sql);
  38. BigDecimal carryLimit = BigDecimal.ZERO;
  39. try {
  40. if(rowSet.next()) {
  41. carryLimit = rowSet.getBigDecimal("auualLimit")==null?BigDecimal.ZERO:rowSet.getBigDecimal("auualLimit");
  42. }
  43. } catch (SQLException e) {
  44. e.printStackTrace();
  45. }
  46. modelMap.put("carryLimit", carryLimit);
  47. JSONUtils.writeJson(response, modelMap);
  48. }
  49. }