123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package kd.cosmic.jkjt.tmc.bei.common;
- import kd.bos.algo.DataSet;
- import kd.bos.algo.Row;
- import kd.bos.entity.report.FilterInfo;
- import kd.bos.entity.report.FilterItemInfo;
- import kd.bos.entity.report.parser.QFilterParserFactory;
- import kd.bos.logging.Log;
- import kd.bos.logging.LogFactory;
- import kd.bos.orm.query.QFilter;
- import kd.bos.util.StringUtils;
- import java.math.BigDecimal;
- import java.math.RoundingMode;
- import java.util.HashSet;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Set;
- public class CommonUtils {
- private static final Log logger = LogFactory.getLog(CommonUtils.class);
- /**
- * 将金额(BigDecimal)转换为“万元”单位,保留1位小数
- *
- * @param amount 金额(单位:元)
- * @return 转换后的万元字符串,如 "0.2万元"
- */
- public static String convertToTenThousandYuan(BigDecimal amount) {
- if (amount == null) {
- return "0万元";
- }
- // 转换为万元:除以 10000
- BigDecimal tenThousand = amount.divide(new BigDecimal("10000"), 1, RoundingMode.HALF_UP);
- return tenThousand.stripTrailingZeros().toPlainString() + "万元";
- }
- public static Set getFieldValue(DataSet ds, String fieldName){
- Iterator<Row> it = ds.copy().iterator();
- Set<Object> fieldValueSet = new HashSet<>();
- while (it.hasNext()){
- fieldValueSet.add(it.next().get(fieldName));
- }
- return fieldValueSet;
- }
- public static DataSet joinDataSetList(List<DataSet> dataSetList){
- DataSet dataSet = null;
- for(DataSet dt : dataSetList){
- if(dataSet == null){
- dataSet = dt;
- }else{
- dataSet = dt.union(dataSet);
- }
- }
- return dataSet;
- }
- public static QFilter getQFilterFormInfo(FilterInfo filterInfo,String filterName,String qFilterName){
- if(filterInfo != null){
- FilterItemInfo filterItem = filterInfo.getFilterItem(filterName);
- if(filterItem != null){
- QFilter filter = QFilterParserFactory.createQFilterProcessor(filterItem.getCompareType())
- .buildQFilterByFilterItem(filterItem);
- if(StringUtils.isNotEmpty(qFilterName)){
- filter.__setProperty(qFilterName);
- return filter;
- }
- }
- }
- return null;
- }
- }
|