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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
package com.vci.frameworkcore.enumpck;
 
import com.alibaba.fastjson.JSONObject;
import com.vci.client.common.objects.DeptObject;
import com.vci.client.common.objects.RoleObject;
import com.vci.client.common.objects.UserObject;
import com.vci.pagemodel.OrgDepartmentVO;
import com.vci.pagemodel.SmRoleVO;
import com.vci.pagemodel.SmUserVO;
 
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
 
/**
 * @author lenovo
 *
 */
public enum DataObjectEnum {
    USER_FIELD_MAP("user-table-field-map"),
    DEPT_FIELD_MAP("dept-table-field-map"),
    ROLE_FIELD_MAP("role-table-field-map"),
    FUNCTION_FIELD_MAP("function-table-field-map");
    public JSONObject jsonObject;
    
    
    private DataObjectEnum(String key) {
        Object parse = JSONObject.parse(this.jsonObjecttr);
        if(parse instanceof  JSONObject){
            JSONObject tt=(JSONObject)parse;
            Object object = tt.get("compatibility");
            if(object instanceof  JSONObject){
                JSONObject jsonObject2=(JSONObject)object;
                if(jsonObject2 instanceof JSONObject){
                this.jsonObject=(JSONObject)jsonObject2.get(key);
                }
            }
        }
        
    }
    
    private String jsonObjecttr="{'compatibility':{" +
             "'user-table-field-map':{'oid':'pluid','id':'plusername','name':'pltruename','password':'plpassword','usertype':'plusertype','email':'plemail','description':'pldesc','creator':'plcreateuser','createtime':'plcreatetime','lastmodifier':'plupdateuser','lastmodifytime':'plupdatetime','secretgrade':'plsecretgrade'},"+
             "'role-table-field-map':{'oid':'pluid','name':'plname','description':'pldesc','creator':'plcreateuser','createtime':'plcreatetime','lastmodifier':'plupdateuser','lastmodifytime':'plupdatetime'},"+
            "'dept-table-field-map':{'oid':'pluid','id':'plnum','name':'plname','pkfatherdepartment':'plparentuid','description':'pldesc','creator':'plcreateuser','createtime':'plcreatetime','lastmodifier':'plupdateuser','lastmodifytime':'plupdatetime'},"+
            "'function-table-field-map':{'oid':'ploid','id':'plmoduleno','name':'plname','logname':'plaliasname','parentfunctionid':'plparentid'}" +
            "}}";
        
    
    public SmUserVO[] changeUserObjectToSmUserVOs(UserObject[] userObjects){
        SmUserVO[] smUserVOs=new SmUserVO[userObjects.length];
        for (int i=0; i<userObjects.length;i++) {
            smUserVOs[i]=changeUserObjectToSmUserVO(userObjects[i]);
        }
        return smUserVOs;
    }
    public SmUserVO changeUserObjectToSmUserVO(UserObject userObject){
        SmUserVO smUserVO=new SmUserVO();
        smUserVO.setBtmname("user");
        smUserVO.setOid(userObject.getId());//用户主键
        smUserVO.setId(userObject.getUserName());//用户账号
        smUserVO.setName(userObject.getTrueName());//用户姓名
        smUserVO.setUserType(userObject.getUserType()+"");//用户类型;
        if(userObject.getUserType()==1){//管理员用户
            smUserVO.setUserTypeText("管理员用户");//用户类型显示文本
        }else{
            smUserVO.setUserTypeText("普通用户");//用户类型显示文本
        }
        smUserVO.setPkPersonName("");//所属人员名称
        smUserVO.setPkPerson("");//所属人员
        smUserVO.setDisabledate(null);//失效日期
        smUserVO.setEmail(userObject.getEmail());//邮箱
        smUserVO.setDescription(userObject.getDesc());//描述
        smUserVO.setTel(null);//电话
        smUserVO.setRtxNo(null);//RTX联系号
        smUserVO.setIMNo(null);// 实时通讯软件账号
        smUserVO.setPkDepartment(null);//所属部门;
        smUserVO.setPkDepartmentName(null);//所属部门名称;
        smUserVO.setPkDuty(null);//所属职务
        smUserVO.setPkDutyName(null);//所属职务名称
        smUserVO.setPkPasswordStrategy(null);//所属密码安全策略
        smUserVO.setPkPasswordStrategyName(null);//所属密码安全策略
        smUserVO.setLastLoginTime(null);//最后登录时间
        smUserVO.setLastModifyPasswordTime(new Date(userObject.getPwdUpdateTime()));//最后修改密码是几
        smUserVO.setPwdWrongCount(0);//密码错误次数
        smUserVO.setSex(null);//性别
        smUserVO.setSexText(null);//性别显示名称
        smUserVO.setLangCode(null);//默认的语言编码
        smUserVO.setLangCodeText(null);//默认的语言名称
        smUserVO.setLockFlag(userObject.getStatus()==1?true:false);//是否锁定;
        smUserVO.setPhoto(null);//头像
        //smUserVO.setSecretGrade(userObject.getSecretGrade());
        smUserVO.setCreator(userObject.getCreateUser());//创建者
        smUserVO.setCreateTime(ChangeStrToDate(String.valueOf(new Date(userObject.getCreateTime()))));//创建时间
        smUserVO.setLastModifier(userObject.getUpdateUser());//修改者
        smUserVO.setLastModifyTime(new Date(userObject.getUpdateTime()));//修改时间
        return smUserVO;
    }
    public OrgDepartmentVO[] changeDeptObjectToOrgDepartmentVOs(DeptObject[] deptObjects){
        OrgDepartmentVO[] departmentVOs=new OrgDepartmentVO[deptObjects.length];
        for (int i = 0; i < deptObjects.length; i++) {
            departmentVOs[i]=changeDeptObjectToOrgDepartmentVO(deptObjects[i]);
        }
        return departmentVOs;
        
    }
    public OrgDepartmentVO changeDeptObjectToOrgDepartmentVO(
            DeptObject deptObject) {
        // TODO Auto-generated method stub
        OrgDepartmentVO departmentVOs=new OrgDepartmentVO();
        departmentVOs.setBtmname("pldept");
        departmentVOs.setOid(deptObject.getId());
        departmentVOs.setId(deptObject.getNum());
        departmentVOs.setName(deptObject.getName());
        departmentVOs.setPkFatherDepartment(deptObject.getParentId());
        departmentVOs.setDescription(deptObject.getDescription());
        departmentVOs.setCreator(deptObject.getCreateUser());
        departmentVOs.setCreateTime(new Date(deptObject.getCreateTime()));
        departmentVOs.setLastModifier(deptObject.getUpdateUser());
        departmentVOs.setLastModifyTime(new Date(deptObject.getUpdateTime()));
        departmentVOs.setLcStatus(deptObject.getStatus()+"");
        return departmentVOs;
    }
    public <RoleObject> SmRoleVO[]    changeRoleObjectToSmRoleVOs(com.vci.client.common.objects.RoleObject[] objects){
        SmRoleVO[] smRoleVOs=new SmRoleVO[objects.length];
        
        for (int i=0;i<objects.length;i++) {
            smRoleVOs[i]=changeRoleObjectToSmRoleVO(objects[i]);
        }
        return smRoleVOs;
    }
    public SmRoleVO    changeRoleObjectToSmRoleVO(RoleObject object){
        SmRoleVO smRoleVO=new SmRoleVO();
        smRoleVO.setOid(object.getId());
        smRoleVO.setName(object.getName());
        smRoleVO.setDescription(object.getDescription());
        smRoleVO.setCreator(object.getCreateUser());
        smRoleVO.setCreateTime(new Date(object.getCreateTime()));
        smRoleVO.setLastModifier(object.getUpdateUser());
        smRoleVO.setBtmname("plrole");
        smRoleVO.setLastModifyTime(new Date(object.getUpdateTime()));
        return smRoleVO;
    }
    
    private Date ChangeStrToDate(String strDate) {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            ParsePosition pos = new ParsePosition(0);
            Date strtodate = formatter.parse(strDate, pos);
            return strtodate;
          }
 
    }