123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- package com.kingdee.shr.perfweb.utils;
- import com.google.gson.Gson;
- import com.kingdee.bos.BOSException;
- import com.kingdee.bos.Context;
- import com.kingdee.bos.workflow.exception.biz.WfBizException;
- import com.kingdee.eas.common.EASBizException;
- import com.kingdee.eas.framework.bireport.bimanager.ws.paramCtx.util.Strings;
- import java.util.Iterator;
- import com.kingdee.shr.perfweb.app.resource.SHRPerfWebResource;
- import com.kingdee.shr.perfweb.base.bean.JqGridBean;
- import com.kingdee.shr.perfweb.util.SHRPerfWebResourceUtil;
- import java.sql.SQLException;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.Set;
- import javax.servlet.http.HttpServletRequest;
- import org.apache.commons.lang3.StringUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- /**
- * 二开拓展,根据名称过滤指标
- * @author coyle
- * 202501
- */
- public class IndicatorUtilsEx extends IndicatorUtils {
- private static Logger logger = LoggerFactory.getLogger(IndicatorUtilsEx.class);
-
-
- public static Map<String, Object> getIndicatorList(Context ctx, HttpServletRequest request) throws EASBizException, WfBizException {
- Map<String, Object> resultMap = new HashMap<>();
- Gson gson = new Gson();
- try {
- String mlFlag = SHRPerfWebResourceUtil.getMlFlag(ctx);
- StringBuffer getListSQLBuffer = new StringBuffer();
- getListSQLBuffer.append("SELECT baseInfo.FID, baseInfo.FNumber, baseInfo.FName" + mlFlag + " AS FName,baseInfo.FIndecatorDesc" + mlFlag + " AS FIndecatorDesc, baseInfo.FEvalStandard" + mlFlag + " AS FEvalStandard,");
- for (String field : multiTBFields4Indicator)
- getListSQLBuffer.append("baseInfo." + field + " AS " + field + ",");
- getListSQLBuffer.append("baseInfo.FUseStates, baseInfo.FRefStates,");
- getListSQLBuffer.append("baseInfo.FIndecatorTypeID, baseInfo.FEFFDT, ");
- getListSQLBuffer.append("baseInfo.FQualiOrRation,baseInfo.FUnit,baseInfo.FScoringFormulaID,baseInfo.FRejection ");
- getListSQLBuffer.append(" FROM T_PEF_PerfIndecator baseInfo");
- getListSQLBuffer.append(" LEFT JOIN T_PEF_PerfIndecatorRelation indecatorRelation");
- getListSQLBuffer.append(" ON baseInfo.FID = indecatorRelation.FBaseInfoId");
- getListSQLBuffer.append(" WHERE 1=1 ");
- getListSQLBuffer.append(" AND baseInfo.FState=1 ");
- getListSQLBuffer.append(" AND indecatorRelation.FState=100 ");
- //二开拓展
- if (null != request.getParameter("areaNameStr") && !"".equals(request.getParameter("areaNameStr"))) {
- String areaNameStr = request.getParameter("areaNameStr").toString();
- //第二部分:如何达成-Business leadership(至少选择一项)----只显示引用指标
- if(areaNameStr.contains("Business leadership")) {
- getListSQLBuffer.append(" AND baseInfo.fnumber in ('JXZB0001','JXZB0002','JXZB0003','JXZB0004') ");
- }else if(areaNameStr.contains("People leadership")) {
- getListSQLBuffer.append(" AND baseInfo.fnumber in ('JXZB0005','JXZB0006','JXZB0007' ) ");
- }else if(areaNameStr.contains("Self leadership")) {
- getListSQLBuffer.append(" AND baseInfo.fnumber in ('JXZB0008' ) ");
- }
- getListSQLBuffer.append(" AND indecatorRelation.FState=100 ");
-
-
- }
-
- if (request.getAttribute("userAdminSQL") != null && !"".equals(request.getAttribute("userAdminSQL"))) {
- Set userAdminSet = AdminRangeUtils.getRangeSet(ctx, request.getAttribute("userAdminSQL").toString());
- if (userAdminSet.size() > 0) {
- StringBuilder sbIdBuilder = new StringBuilder("(''");
- Iterator iterator = userAdminSet.iterator();
- while (iterator.hasNext())
- sbIdBuilder.append(",'").append(iterator.next().toString()).append("'");
- sbIdBuilder.append(")");
- getListSQLBuffer.append(" AND baseInfo.FID in" + sbIdBuilder.toString());
- }
- }
- if (request.getAttribute("hrOrgUnit") != null && !"".equals(request.getAttribute("hrOrgUnit")))
- getListSQLBuffer.append(" AND indecatorRelation.fhrOrgUseId in ('" + request.getAttribute("hrOrgUnit") + "')");
- String type = request.getParameter("type");
- if (StringUtils.isEmpty(type) && !StringUtils.isEmpty(RequestUtils.getAttribute(request, "type")))
- type = RequestUtils.getAttribute(request, "type");
- if (!StringUtils.isEmpty(type) && type.equals("002")) {
- String selectedIds = request.getParameter("selectedIds");
- if (StringUtils.isEmpty(selectedIds) && !StringUtils.isEmpty(RequestUtils.getAttribute(request, "selectedIds")))
- selectedIds = RequestUtils.getAttribute(request, "selectedIds");
- StringBuffer idBuffer = new StringBuffer("(''");
- if (!StringUtils.isEmpty(selectedIds)) {
- String[] selectIdsArr = selectedIds.split(",");
- for (int i = 0; i < selectIdsArr.length; i++)
- idBuffer.append(",'").append(selectIdsArr[i]).append("'");
- }
- idBuffer.append(")");
- getListSQLBuffer.append(" and baseInfo.FID in ").append(idBuffer);
- if (!StringUtils.isEmpty(request.getParameter("recordLen"))) {
- int i = Integer.parseInt(request.getParameter("recordLen"));
- request.setAttribute("rows", Integer.valueOf(i));
- }
- }
- String filterItems = request.getParameter("filterItems");
- if (StringUtils.isEmpty(filterItems) && !StringUtils.isEmpty(RequestUtils.getAttribute(request, "filterItems")))
- filterItems = RequestUtils.getAttribute(request, "filterItems");
- JqGridBean jqGridBean = null;
- if (!StringUtils.isEmpty(filterItems)) {
- jqGridBean = (JqGridBean)gson.fromJson(filterItems, JqGridBean.class);
- if (!StringUtils.isEmpty(jqGridBean.getCustomeFilterItems())) {
- String customerFiterItems = jqGridBean.getCustomeFilterItems();
- Map<String, String> customerFilterItemsBean = (Map<String, String>)gson.fromJson(customerFiterItems, (new HashMap<>()).getClass());
- if (!StringUtils.isEmpty(customerFilterItemsBean.get("rows"))) {
- request.setAttribute("rows", customerFilterItemsBean.get("rows"));
- } else {
- request.setAttribute("rows", jqGridBean.getRows());
- }
- if (!StringUtils.isEmpty(customerFilterItemsBean.get("page"))) {
- request.setAttribute("page", customerFilterItemsBean.get("page"));
- } else {
- request.setAttribute("page", jqGridBean.getPage());
- }
- String indecatorType = customerFilterItemsBean.get("indecatorType");
- if (!StringUtils.isEmpty(indecatorType))
- getListSQLBuffer.append(" and baseInfo.FIndecatorTypeID='").append(indecatorType).append("'");
- } else {
- if (!StringUtils.isEmpty(jqGridBean.getRows()))
- request.setAttribute("rows", jqGridBean.getRows());
- if (!StringUtils.isEmpty(jqGridBean.getPage()))
- request.setAttribute("page", jqGridBean.getPage());
- }
- if (!StringUtils.isEmpty(jqGridBean.getIndecatorType()) && !jqGridBean.getIndecatorType().equals("null"))
- getListSQLBuffer.append(" and baseInfo.FIndecatorTypeID='").append(jqGridBean.getIndecatorType()).append("'");
- }
- String rows = request.getParameter("rowsNum");
- if (!Strings.isEmpty(rows))
- request.setAttribute("rows", rows);
- String page = request.getParameter("pageNum");
- if (!Strings.isEmpty(page))
- request.setAttribute("page", page);
- String fastFilterItems = request.getParameter("fastFilterItems");
- if (!StringUtils.isEmpty(fastFilterItems))
- getListSQLBuffer.append(" AND ")
- .append(fastFilterItems.replace("name", "FName" + mlFlag).replace("number", "FNumber"));
- resultMap = CustomPageHelper.getPageCallbackData(ctx, request, getListSQLBuffer.toString(), "baseInfo.FNumber asc", new IndicatorUtils(), "001");
- } catch (BOSException e) {
- logger.error("BOSException", (Throwable)e);
- throw new WfBizException(SHRPerfWebResourceUtil.getRes(SHRPerfWebResource.GETLISTDATAERR, ctx));
- } catch (SQLException e) {
- logger.error("SQLException", e);
- throw new WfBizException(SHRPerfWebResourceUtil.getRes(SHRPerfWebResource.EXECUTESQLERR, ctx));
- }
- return resultMap;
- }
-
- }
|