田源
2024-03-07 4b4083fd73dc27ece42f4835483565eef0e4f608
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.vci.client.portal.custom;
 
import java.util.Iterator;
import java.util.List;
import java.util.Map;
 
import com.vci.client.bof.ClientBusinessObjectOperation;
import com.vci.client.portal.utility.PRMItem;
import com.vci.corba.common.VCIError;
import com.vci.corba.omd.data.AttributeValue;
 
public class CustomUniteSqlCol implements ICustomDefine {
 
    @Override
    public void getCustomValue(String columnName, Map<String, PRMItem> prmMap, List<Map<String, String>> cols) throws VCIError {
        Iterator<Map<String, String>> itor = cols.iterator();
        PRMItem prm = prmMap.get(columnName);
        String sql = prm.getItemAddFilter();
        ClientBusinessObjectOperation bofactory = new ClientBusinessObjectOperation();
        while (itor.hasNext()) {
            Map<String, String> map = itor.next();
            String oid = map.get("oid");
            oid = "'" + oid + "'";
            String csql = sql.replace(":oid", oid);
            String[] sqlVals = bofactory.getClassficationValue(csql, new AttributeValue[0]);
            String sqlVal = "";
            for (int i = 0; i  < sqlVals.length; i++) {
                if (i != 0) {
                    sqlVal += "<br>";
                }
                sqlVal += sqlVals[i];
            }
            map.put(columnName, sqlVal);
        }
    }
}