apzl_leasing/src_app_fresh/com/base/util/BizObjectUtil.java
liujiaji 6397d906b5 src_app 移除
src_app_fresh 添加
2018-06-11 13:40:56 +08:00

171 lines
6.2 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.base.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import apx.com.amarsoft.als.base.cache.instance.AppAweDoCache;
import apx.com.amarsoft.als.base.cache.instance.AppCodeCache;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.lang.DataElement;
public class BizObjectUtil {
/**
* BizObject 转 MAP display/ value/ name 分别指定 DataElement的getLabel/ getValue/
* getName source:字典表
*
* @param bo
* BizObject
* @param doNo
* AweDOCatalog:dono 通过doNo查询字段source来源 从而获取字典表显示值 如果doNo为null
* 返回格式为{name, {display:'', value:''}}
* @return Map<String, Object> MAP格式{name, {display:'', value:'',
* source:''}} name/
*/
public List<Map<String, Object>> bizObject2Map(BizObject bo, String doNo) {
List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
DataElement[] aDataElements = bo.getAttributes();
for (DataElement oDataElement : aDataElements) {
Map<String, Object> data = new HashMap<String, Object>();
data.put("col", oDataElement);
list.add(data);
// data.put("display", oDataElement.getLabel());
// data.put("value", oDataElement.getValue());
// if (null != doNo)
// data.put(
// "source",
// getAweDoLibrarySource(doNo, oDataElement.getLabel(),
// oDataElement.getName(),
// oDataElement.getValue() == null ? ""
// : oDataElement.getValue().toString()));
// map.put(oDataElement.getName().toLowerCase(), data);
}
return list;
}
/**
* BizObject 转 MAP value/ name 分别指定 DataElement的 getValue/ getName
*
* @param bo
* BizObject
* @return Map<String, Object> MAP格式{name:'', value:''}
*/
public Map<String, Object> bizObject2MapValue(BizObject bo) {
if (null == bo) return new HashMap<String, Object>();
Map<String, Object> map = new HashMap<String, Object>();
DataElement[] aDataElements = bo.getAttributes();
for (DataElement oDataElement : aDataElements) {
map.put(oDataElement.getName().toLowerCase(),
oDataElement.getValue());
map.put(oDataElement.getName().toUpperCase(),
oDataElement.getValue());
}
return map;
}
public Map<String, Object> bizObject2MapValue3(BizObject bo) {
if (null == bo) return new HashMap<String, Object>();
Map<String, Object> map = new HashMap<String, Object>();
DataElement[] aDataElements = bo.getAttributes();
for (DataElement oDataElement : aDataElements) {
map.put(oDataElement.getName().toLowerCase(),
oDataElement.getValue());
}
return map;
}
/**
* BizObject 转 MAP value/ name 分别指定 DataElement的 getValue/ getName
*
* @param bo
* BizObject
* @return Map<String, Object> MAP格式{name:'', value:''}
*/
public Map<String, Object> bizObject2MapValue2(BizObject bo) {
if (null == bo) return new HashMap<String, Object>();
Map<String, Object> map = new HashMap<String, Object>();
DataElement[] aDataElements = bo.getAttributes();
List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
for (DataElement oDataElement : aDataElements) {
Map<String, Object> oDataElementMap = new HashMap<String, Object>();
oDataElementMap.put("value", oDataElement.getValue());
oDataElementMap.put("code", oDataElement.getName());
oDataElementMap.put("display", oDataElement.getLabel());
list.add(oDataElementMap);
}
map.put("dataElements", list);
return map;
}
public Map<String, Object> bizObject2MapValue4(BizObject bo) {
if (null == bo) return new HashMap<String, Object>();
Map<String, Object> map = new HashMap<String, Object>();
DataElement[] aDataElements = bo.getAttributes();
List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
for (DataElement oDataElement : aDataElements) {
if (null == oDataElement.getValue()) continue;
Map<String, Object> oDataElementMap = new HashMap<String, Object>();
oDataElementMap.put("value", oDataElement.getValue());
oDataElementMap.put("code", oDataElement.getName());
oDataElementMap.put("display", oDataElement.getLabel());
list.add(oDataElementMap);
}
map.put("dataElements", list);
return map;
}
@SuppressWarnings("unchecked")
private String getAweDoLibrarySource(String doNo, String label,
String name, String value) {
Map<String, Object> catalog = (Map<String, Object>) AppAweDoCache
.getAppAweDoCachePool().get(doNo);
List<Map<String, Object>> library = (List<Map<String, Object>>) catalog
.get("library");
for (int i = 0; i < library.size(); i++) {
Map<String, Object> dataElement = library.get(i);
String sColName = dataElement.get("COLNAME".toLowerCase()) == null ? ""
: dataElement.get("COLNAME".toLowerCase()).toString();
if (/* label.equals(sColHeader) && */name.toLowerCase().equals(
sColName.toLowerCase())) {
String sSourceType = dataElement.get("COLEDITSOURCETYPE"
.toLowerCase()) == null ? "" : dataElement.get(
"COLEDITSOURCETYPE".toLowerCase()).toString();
if ("code".equalsIgnoreCase(sSourceType)) {
String sSource = dataElement.get("COLEDITSOURCE"
.toLowerCase()) == null ? "" : dataElement.get(
"COLEDITSOURCE".toLowerCase()).toString();
return getCodeLibrayItemName(sSource, value);
}
break;
}
}
return value;
}
@SuppressWarnings("unchecked")
private String getCodeLibrayItemName(String codeNo, String itemNo) {
if (itemNo.length() == 0) return "";
Map<String, Object> catalog = (Map<String, Object>) AppCodeCache
.getAppCodeCachePool().get(codeNo);
List<Map<String, Object>> library = (List<Map<String, Object>>) catalog
.get("library");
int iRecodeNum = -1;
String sItemName = "";
for (int i = 0; i < library.size(); i++) {
Map<String, Object> elementSource = library.get(i);
if (itemNo.equals(elementSource.get("ITEMNO".toLowerCase()))) {
iRecodeNum = i;
sItemName = elementSource.get("ITEMNAME".toLowerCase()) == null ? ""
: elementSource.get("ITEMNAME".toLowerCase())
.toString();
}
}
if (iRecodeNum == -1) {
return "no source";
}
return sItemName;
}
}