CheckIwclUtil.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package com.kingdee.shr.compensation.web.handler.timepiece.bill;
  2. import com.kingdee.bos.BOSException;
  3. import com.kingdee.bos.Context;
  4. import com.kingdee.bos.metadata.entity.FilterInfo;
  5. import com.kingdee.bos.metadata.entity.FilterItemInfo;
  6. import com.kingdee.bos.metadata.query.util.CompareType;
  7. import com.kingdee.eas.framework.CoreBaseInfo;
  8. import com.kingdee.eas.hr.base.HRBillStateEnum;
  9. import com.kingdee.shr.compensation.app.integrate.CalSubmitItemCollection;
  10. import com.kingdee.shr.compensation.app.integrate.CalSubmitItemFactory;
  11. import com.kingdee.shr.compensation.app.integrate.CalSubmitItemInfo;
  12. import com.kingdee.shr.compensation.app.utils.SubConstants;
  13. import java.math.BigDecimal;
  14. import org.apache.commons.lang3.StringUtils;
  15. /**
  16. * 点检率校验
  17. * description: CheckIwclUtil <br>
  18. * date: 2025/6/27 10:26 <br>
  19. * author: lhbj <br>
  20. * version: 1.0 <br>
  21. */
  22. public class CheckIwclUtil {
  23. //点检率
  24. private static String IWCL = "";
  25. /**
  26. * 对应字段值是否不为空;
  27. * @param entry
  28. * @param feildSeq
  29. * @return
  30. */
  31. public static boolean isNotBlank(CoreBaseInfo entry,String feildSeq) {
  32. BigDecimal s68 = entry.getBigDecimal(feildSeq);
  33. if (null == s68 || BigDecimal.ZERO.compareTo(s68) == 0) {
  34. return false;
  35. } else {
  36. return true;
  37. }
  38. }
  39. /**
  40. * 对应字段值是否为空;
  41. * @param cs
  42. * @param feildSeq
  43. * @return
  44. */
  45. public static boolean isBlank(CoreBaseInfo cs,String feildSeq) {
  46. return !isNotBlank(cs,feildSeq);
  47. }
  48. /**
  49. * 点检率是否为空
  50. * @param ctx
  51. * @param cs
  52. * @return
  53. * @throws BOSException
  54. */
  55. public static boolean checkDataIsNull(Context ctx,CoreBaseInfo cs ) throws BOSException {
  56. if(StringUtils.isEmpty(IWCL)) {
  57. IWCL = getCheckSeq(ctx);
  58. }
  59. return !isNotBlank(cs,IWCL);
  60. }
  61. /**
  62. * 获取点检率seq
  63. * @param ctx
  64. * @return
  65. * @throws BOSException
  66. */
  67. public static String getCheckSeq(Context ctx ) throws BOSException {
  68. return getFeildSeq(ctx,SubConstants.COMRATE);
  69. }
  70. /**
  71. * 通过编码获取项目的顺序号;
  72. * @param ctx
  73. * @param feildNum
  74. * @return
  75. * @throws BOSException
  76. */
  77. public static String getFeildSeq(Context ctx,String feildNum) throws BOSException {
  78. String feildSeq = "";
  79. CalSubmitItemCollection subColl = CalSubmitItemFactory.getLocalInstance(ctx)
  80. .getCalSubmitItemCollection("SELECT ID,FieldSn,number where number = '"+feildNum+"'");
  81. if(subColl.size()>0) {
  82. CalSubmitItemInfo calSubmitItemInfo = subColl.get(0);
  83. int fieldSn = calSubmitItemInfo.getFieldSn();
  84. feildSeq = "S"+fieldSn ;
  85. }
  86. return feildSeq;
  87. }
  88. public static void main(String[] args) {
  89. FilterInfo filter = new FilterInfo();
  90. filter.getFilterItems().add(new FilterItemInfo("billState", HRBillStateEnum.SAVED_VALUE, CompareType.EQUALS));
  91. filter.getFilterItems().add(new FilterItemInfo("entry.s68", null, CompareType.ISNOT));
  92. filter.getFilterItems().add(new FilterItemInfo("entry.s68", 0, CompareType.GREATER));
  93. System.out.println(filter.toSql());
  94. }
  95. }