PositionAdminRangeF7HandlerEx.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package com.kingdee.eas.hr.emp.web.handler;
  2. import java.util.Date;
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5. import com.kingdee.util.DateTimeUtils;
  6. import com.kingdee.util.StringUtils;
  7. import org.springframework.ui.ModelMap;
  8. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  9. /**
  10. * 兼职单
  11. * @author coyle
  12. * 20250331
  13. */
  14. public class PositionAdminRangeF7HandlerEx extends EmpOrgF7Handler {
  15. public String getListDataAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap)
  16. throws SHRWebException {
  17. String modelFilter = (String) modelMap.get("filter");
  18. if (StringUtils.isEmpty(modelFilter)) {
  19. String filter = request.getParameter("filter");
  20. if (null != filter) {
  21. String empBatchEnrollConsecutiveAddNew;
  22. String filterEndSign;
  23. if (filter.indexOf("idRanFromPluralityAdd") != -1) {
  24. empBatchEnrollConsecutiveAddNew = filter.substring(0, filter.indexOf("idRanFromPluralityAdd"));
  25. filterEndSign = filter
  26. .substring(filter.indexOf("idRanFromPluralityAdd") + "idRanFromPluralityAdd".length());
  27. if (!StringUtils.isEmpty(filterEndSign)) {
  28. filter = empBatchEnrollConsecutiveAddNew
  29. + " id not in (select fpositionid from T_HR_EmpOrgRelation t where t.fpersonid='"
  30. + filterEndSign + "' and t.fleffdt = {2199-12-31} and t.FISSYSTEM = 1)";
  31. } else {
  32. filter = empBatchEnrollConsecutiveAddNew;
  33. }
  34. modelMap.put("filter", filter);
  35. }
  36. if (filter.indexOf("idRanFromPluralityDel") != -1) {
  37. ////202503 日期更改
  38. Date curDate = new Date();
  39. String dateStr = DateTimeUtils.format(curDate, "yyyy-MM-dd");
  40. empBatchEnrollConsecutiveAddNew = filter.substring(0, filter.indexOf("idRanFromPluralityDel"));
  41. filterEndSign = filter
  42. .substring(filter.indexOf("idRanFromPluralityDel") + "idRanFromPluralityDel".length());
  43. filter = empBatchEnrollConsecutiveAddNew
  44. + " id in (select fpositionid from T_HR_EmpOrgRelation t where t.fpersonid='"
  45. + filterEndSign
  46. + "' and t.fleffdt >= {"+dateStr+"} and t.fassigntype=0 and t.fisInner = 1 and t.FActionID not in ('jpoAAAH/03nmaL7Z','V2vNOLaKRuGuv9/HNB5laOZovtk='))";
  47. modelMap.put("filter", filter);
  48. }
  49. if (filter.indexOf("idRanFromPositionHierarchy") != -1) {
  50. empBatchEnrollConsecutiveAddNew = filter.substring(0, filter.indexOf("idRanFromPositionHierarchy"));
  51. filterEndSign = filter.substring(
  52. filter.indexOf("idRanFromPositionHierarchy") + "idRanFromPositionHierarchy".length());
  53. filter = empBatchEnrollConsecutiveAddNew
  54. + " id in (select fchildid from T_ORG_PositionHierarchy where FHierarchyID = '"
  55. + filterEndSign + "')";
  56. modelMap.put("filter", filter);
  57. }
  58. if (filter.indexOf("F7query") != -1) {
  59. filter = filter.replace("F7query", "select");
  60. modelMap.put("filter", filter);
  61. }
  62. if (filter.indexOf("=''") != -1) {
  63. filter = filter.replace("=''", " is not null");
  64. modelMap.put("filter", filter);
  65. }
  66. if (filter.indexOf("empBatchEnrollConsecutiveAddNew") != -1) {
  67. empBatchEnrollConsecutiveAddNew = "empBatchEnrollConsecutiveAddNew";
  68. filterEndSign = "filterEndSign";
  69. int start = filter.indexOf(empBatchEnrollConsecutiveAddNew);
  70. int end = filter.indexOf(filterEndSign) + filterEndSign.length();
  71. String partFilterStr = filter.substring(start, end);
  72. String partFilterParam = partFilterStr.substring(empBatchEnrollConsecutiveAddNew.length(),
  73. partFilterStr.indexOf(filterEndSign));
  74. String[] partFilterParamArr = partFilterParam.split(",");
  75. String partFilterStrAfterTranfer = "";
  76. if (partFilterParamArr.length == 2) {
  77. String bizManageTypeId = partFilterParamArr[0];
  78. String manageHrOrgID = partFilterParamArr[1];
  79. partFilterStrAfterTranfer = "adminOrgUnit.id in (select FAdminOrgID from T_HR_AdminOrgBURelation where fbizManagetypeId='"
  80. + bizManageTypeId + "' and FManageHrOrgID = '" + manageHrOrgID + "' and fstate = 1)";
  81. }
  82. filter = filter.replace(partFilterStr, partFilterStrAfterTranfer);
  83. modelMap.put("filter", filter);
  84. }
  85. }
  86. }
  87. return super.getListDataAction(request, response, modelMap);
  88. }
  89. }