package com.kingdee.eas.custom.ssPDF.handler; import com.kingdee.bos.Context; import com.kingdee.eas.hr.ats.AttendanceProjectInfo; import com.kingdee.eas.hr.ats.decimalPlace.util.DecimalPlaceUtil; import com.kingdee.shr.ats.web.handler.dynamic.AttendanceResultSumCalDynamicListHandler; import com.kingdee.shr.ats.web.handler.dynamic.calculate.AttendanceResultToSumHelper; import com.kingdee.shr.base.syssetting.context.SHRContext; import com.kingdee.shr.base.syssetting.exception.SHRWebException; import com.kingdee.shr.base.syssetting.exception.ShrWebBizException; import com.kingdee.shr.base.syssetting.json.GridDataEntity; import com.kingdee.shr.base.syssetting.web.dynamic.model.UIViewInfo; import com.kingdee.shr.base.syssetting.web.dynamic.util.ExportHelper; import com.kingdee.shr.base.syssetting.web.dynamic.util.UIViewUtil; import org.springframework.ui.ModelMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.List; import java.util.Map; public class AttendanceResultSumCalDynamicListHandlerEx extends AttendanceResultSumCalDynamicListHandler { protected Map initExportExcelConfig(HttpServletRequest request, ExportHelper helper) throws SHRWebException { Map params = helper.assembleHandleParam(request); // String column = params.get("columnModel") + "person.name,false,Ô±¹¤ÐÕÃû;"; // params.put("columnModel",column); Map excelConfig = helper.createExcel(request, params); //Map excelConfig = super.initExportExcelConfig(request, helper); List> columnModel = (List)excelConfig.get("columnModel"); Context ctx = SHRContext.getInstance().getContext(); UIViewInfo uiViewInfo = UIViewUtil.getCurrentUIViewInfo(request); String scheme = uiViewInfo.getModel(); Map atsProjectInfo = AttendanceResultToSumHelper.getAtsProjectMap(ctx, scheme, "ATS_RESULT.S"); int decimalPlaces = DecimalPlaceUtil.getDecimalPlaceSystem(ctx); Map attributes = new HashMap(); attributes.put("decimalPrecision", decimalPlaces + ""); Map intAttributes = new HashMap(); intAttributes.put("decimalPrecision", "0"); Map modelMap = null; AttendanceProjectInfo atsProject = null; for(int i = 0; i < columnModel.size(); ++i) { modelMap = (Map)columnModel.get(i); String name = (String)modelMap.get("name"); if (name.startsWith("ATS_RESULT.S")) { atsProject = (AttendanceProjectInfo)atsProjectInfo.get(name); if (null != atsProject) { if (atsProject.getDataType().getValue() == 1) { modelMap.put("attributes", intAttributes); } else if (atsProject.getDataType().getValue() == 2) { modelMap.put("attributes", attributes); } } } } return excelConfig; } @Override protected GridDataEntity getGridRequestData(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException { Map params = this.assembleQueryParams(request, modelMap); String selector = params.get("selector") + ",person.name,person.number"; params.put("selector",selector); return this.getFieldPermFilterDynamicGridData(request, params); //return super.getGridRequestData(request, response, modelMap); } @Override public void afterGetExportData(HttpServletRequest request, HttpServletResponse response, List listData) throws SHRWebException { super.afterGetExportData(request, response, listData); for (int i = 0; i < listData.size(); i++) { //listData.get() } } @Override protected void afterGetListData(HttpServletRequest request, HttpServletResponse response, GridDataEntity gridDataEntity) throws SHRWebException { super.afterGetListData(request, response, gridDataEntity); } }