package com.kingdee.shr.compensation.web.handler.timepiece.bill; import com.kingdee.bos.BOSException; import com.kingdee.bos.Context; import com.kingdee.bos.metadata.entity.FilterInfo; import com.kingdee.bos.metadata.entity.FilterItemInfo; import com.kingdee.bos.metadata.query.util.CompareType; import com.kingdee.eas.framework.CoreBaseInfo; import com.kingdee.eas.hr.base.HRBillStateEnum; import com.kingdee.shr.compensation.app.integrate.CalSubmitItemCollection; import com.kingdee.shr.compensation.app.integrate.CalSubmitItemFactory; import com.kingdee.shr.compensation.app.integrate.CalSubmitItemInfo; import com.kingdee.shr.compensation.app.utils.SubConstants; import java.math.BigDecimal; import org.apache.commons.lang3.StringUtils; /** * 点检率校验 * description: CheckIwclUtil
* date: 2025/6/27 10:26
* author: lhbj
* version: 1.0
*/ public class CheckIwclUtil { //点检率 private static String IWCL = ""; /** * 对应字段值是否不为空; * @param entry * @param feildSeq * @return */ public static boolean isNotBlank(CoreBaseInfo entry,String feildSeq) { BigDecimal s68 = entry.getBigDecimal(feildSeq); if (null == s68 || BigDecimal.ZERO.compareTo(s68) == 0) { return false; } else { return true; } } /** * 对应字段值是否为空; * @param cs * @param feildSeq * @return */ public static boolean isBlank(CoreBaseInfo cs,String feildSeq) { return !isNotBlank(cs,feildSeq); } /** * 点检率是否为空 * @param ctx * @param cs * @return * @throws BOSException */ public static boolean checkDataIsNull(Context ctx,CoreBaseInfo cs ) throws BOSException { if(StringUtils.isEmpty(IWCL)) { IWCL = getCheckSeq(ctx); } return !isNotBlank(cs,IWCL); } /** * 获取点检率seq * @param ctx * @return * @throws BOSException */ public static String getCheckSeq(Context ctx ) throws BOSException { return getFeildSeq(ctx,SubConstants.COMRATE); } /** * 通过编码获取项目的顺序号; * @param ctx * @param feildNum * @return * @throws BOSException */ public static String getFeildSeq(Context ctx,String feildNum) throws BOSException { String feildSeq = ""; CalSubmitItemCollection subColl = CalSubmitItemFactory.getLocalInstance(ctx) .getCalSubmitItemCollection("SELECT ID,FieldSn,number where number = '"+feildNum+"'"); if(subColl.size()>0) { CalSubmitItemInfo calSubmitItemInfo = subColl.get(0); int fieldSn = calSubmitItemInfo.getFieldSn(); feildSeq = "S"+fieldSn ; } return feildSeq; } public static void main(String[] args) { FilterInfo filter = new FilterInfo(); filter.getFilterItems().add(new FilterItemInfo("billState", HRBillStateEnum.SAVED_VALUE, CompareType.EQUALS)); filter.getFilterItems().add(new FilterItemInfo("entry.s68", null, CompareType.ISNOT)); filter.getFilterItems().add(new FilterItemInfo("entry.s68", 0, CompareType.GREATER)); System.out.println(filter.toSql()); } }