BudgetUtils.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package cn.com.lzt.budget.data.util;
  2. import cn.com.lzt.budget.data.service.BudgetDataService;
  3. import cn.com.lzt.goodscategory.entity.TBGoodsCategoryEntity;
  4. import org.apache.commons.lang3.StringUtils;
  5. import org.jeecgframework.core.util.ApplicationContextUtil;
  6. import org.springframework.context.ApplicationContext;
  7. import java.math.BigDecimal;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10. import java.util.regex.Pattern;
  11. public class BudgetUtils {
  12. public static String tableNameRemoveChar(String tableName){
  13. tableName=tableName.replaceAll("-","");
  14. tableName=tableName.replaceAll(Pattern.quote("\""), "");
  15. tableName=tableName.replaceAll(Pattern.quote("\'"), "");
  16. return tableName;
  17. }
  18. public static BigDecimal measureShowValueToDb(BigDecimal value,String dataType,String showType){
  19. if(value==null) return value;
  20. if(!StringUtils.equals(dataType,"amount")) return value;
  21. if(value==BigDecimal.ZERO) return BigDecimal.ZERO;
  22. if(StringUtils.equals(showType, BudgetConstant.MEASURE_SHOWTYPE_TEN_THOUSAND)){
  23. value= value.multiply(new BigDecimal(10*1000));
  24. }else if(StringUtils.equals(showType, BudgetConstant.MEASURE_SHOWTYPE_HUNDRED_MILLION)){
  25. value =value.multiply(new BigDecimal(100*1000*1000));
  26. }
  27. return value;
  28. }
  29. public static BigDecimal measureDbToShowValue(BigDecimal value,String dataType,String showType){
  30. if(value==null) return value;
  31. if(!StringUtils.equals(dataType,"amount")) return value;
  32. if(value==BigDecimal.ZERO) return BigDecimal.ZERO;
  33. if(StringUtils.equals(showType, BudgetConstant.MEASURE_SHOWTYPE_TEN_THOUSAND)){
  34. value= value.divide(new BigDecimal(10*1000));
  35. }else if(StringUtils.equals(showType,BudgetConstant.MEASURE_SHOWTYPE_HUNDRED_MILLION)){
  36. value =value.divide(new BigDecimal(100*1000*1000));
  37. }
  38. return value;
  39. }
  40. //返回物料样表类型
  41. public static BudgetConstant.OrdersKindType getOrdersKindType(String ordersKind) {
  42. if(org.apache.commons.lang.StringUtils.isBlank(ordersKind)) return null;
  43. if("rootA02".equals(ordersKind)||"rootA03".equals(ordersKind)||"rootA01".equals(ordersKind)||"rootA10".equals(ordersKind)||"rootA08".equals(ordersKind)){
  44. return BudgetConstant.OrdersKindType.m;
  45. }else if("R003".equals(ordersKind)||"rootA04".equals(ordersKind)) {
  46. return BudgetConstant.OrdersKindType.dizhi;
  47. }else {
  48. return BudgetConstant.OrdersKindType.valueOf(ordersKind);
  49. }
  50. }
  51. public static String getOrdersCategoryCode(String ordersKind) {
  52. if(StringUtils.equals(ordersKind,"dcg")){
  53. ApplicationContext context = ApplicationContextUtil.getContext();
  54. BudgetDataService budgetDataService =context.getBean(BudgetDataService.class);
  55. List<TBGoodsCategoryEntity> list = budgetDataService.getGoodsCategoryByParent("root");
  56. List<String> codeList = new ArrayList<>();
  57. for(TBGoodsCategoryEntity entity:list){
  58. codeList.add(entity.getCategoryCode());
  59. }
  60. return StringUtils.join(codeList,"," );
  61. }
  62. return ordersKind;
  63. }
  64. public static String dealCateName(String categoryCode, String categoryName) {
  65. if(categoryCode.contains("rootA01")) {
  66. categoryName = "工程类-" + categoryName;
  67. }else if(categoryCode.contains("rootA02")) {
  68. categoryName = "保洁类-" + categoryName;
  69. }else if(categoryCode.contains("rootA03")) {
  70. categoryName = "办公类-" + categoryName;
  71. }
  72. return categoryName;
  73. }
  74. }