package cn.com.lzt.budget.data.util; import cn.com.lzt.budget.data.service.BudgetDataService; import cn.com.lzt.goodscategory.entity.TBGoodsCategoryEntity; import org.apache.commons.lang3.StringUtils; import org.jeecgframework.core.util.ApplicationContextUtil; import org.springframework.context.ApplicationContext; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; public class BudgetUtils { public static String tableNameRemoveChar(String tableName){ tableName=tableName.replaceAll("-",""); tableName=tableName.replaceAll(Pattern.quote("\""), ""); tableName=tableName.replaceAll(Pattern.quote("\'"), ""); return tableName; } public static BigDecimal measureShowValueToDb(BigDecimal value,String dataType,String showType){ if(value==null) return value; if(!StringUtils.equals(dataType,"amount")) return value; if(value==BigDecimal.ZERO) return BigDecimal.ZERO; if(StringUtils.equals(showType, BudgetConstant.MEASURE_SHOWTYPE_TEN_THOUSAND)){ value= value.multiply(new BigDecimal(10*1000)); }else if(StringUtils.equals(showType, BudgetConstant.MEASURE_SHOWTYPE_HUNDRED_MILLION)){ value =value.multiply(new BigDecimal(100*1000*1000)); } return value; } public static BigDecimal measureDbToShowValue(BigDecimal value,String dataType,String showType){ if(value==null) return value; if(!StringUtils.equals(dataType,"amount")) return value; if(value==BigDecimal.ZERO) return BigDecimal.ZERO; if(StringUtils.equals(showType, BudgetConstant.MEASURE_SHOWTYPE_TEN_THOUSAND)){ value= value.divide(new BigDecimal(10*1000)); }else if(StringUtils.equals(showType,BudgetConstant.MEASURE_SHOWTYPE_HUNDRED_MILLION)){ value =value.divide(new BigDecimal(100*1000*1000)); } return value; } //返回物料样表类型 public static BudgetConstant.OrdersKindType getOrdersKindType(String ordersKind) { if(org.apache.commons.lang.StringUtils.isBlank(ordersKind)) return null; if("rootA02".equals(ordersKind)||"rootA03".equals(ordersKind)||"rootA01".equals(ordersKind)||"rootA10".equals(ordersKind)||"rootA08".equals(ordersKind)){ return BudgetConstant.OrdersKindType.m; }else if("R003".equals(ordersKind)||"rootA04".equals(ordersKind)) { return BudgetConstant.OrdersKindType.dizhi; }else { return BudgetConstant.OrdersKindType.valueOf(ordersKind); } } public static String getOrdersCategoryCode(String ordersKind) { if(StringUtils.equals(ordersKind,"dcg")){ ApplicationContext context = ApplicationContextUtil.getContext(); BudgetDataService budgetDataService =context.getBean(BudgetDataService.class); List list = budgetDataService.getGoodsCategoryByParent("root"); List codeList = new ArrayList<>(); for(TBGoodsCategoryEntity entity:list){ codeList.add(entity.getCategoryCode()); } return StringUtils.join(codeList,"," ); } return ordersKind; } public static String dealCateName(String categoryCode, String categoryName) { if(categoryCode.contains("rootA01")) { categoryName = "工程类-" + categoryName; }else if(categoryCode.contains("rootA02")) { categoryName = "保洁类-" + categoryName; }else if(categoryCode.contains("rootA03")) { categoryName = "办公类-" + categoryName; } return categoryName; } }