用户表添加后出现两个
本帖最后由 wxl103010 于 2018-11-15 11:37 编辑版本号:jeecg3.7.2
问题截图:
问题代码:
//公共信息
String roleid = oConvertUtils.getString("297e8ac3671001d00167101481d8000f");//“专家”角色id
String orgid = oConvertUtils.getString(request.getParameter("orgIds"));//部门id
String key = "123456";
//添加用户表
TSUser user = new TSUser();
user.setUserName(probaseinfob.getProCode());//用户名,专家编号为用户名
user.setRealName(probaseinfob.getProBy());//真实姓名,专家姓名
user.setPassword(key);//密码。密码未加密???
user.setUserKey("专家");
user.setStatus(Globals.User_Normal);// 状态1:在线,2:离线,0:禁用
user.setDeleteFlag(Globals.Delete_Normal);// 状态: 0:不删除1:删除
user.setDevFlag("0");//疑似开发权限选项
user.setUserType("1");
userService.saveOrUpdate(user, orgid.split(","),roleid.split(",") );
//用户组织机构关系表
List<TSUserOrg> userOrgList = new ArrayList<TSUserOrg>();
List<String> orgIdList = extractIdListByComma(orgid);
for (String orgId : orgIdList) {
TSDepart depart = new TSDepart();
depart.setId(orgId);
TSUserOrg userOrg = new TSUserOrg();
userOrg.setTsUser(user);
userOrg.setTsDepart(depart);
userOrgList.add(userOrg);
}
if (!userOrgList.isEmpty()) {
systemService.batchSave(userOrgList);
}
//系统角色用户关系表
TSRoleUser rUser = new TSRoleUser();
TSRole role = systemService.getEntity(TSRole.class, roleid);
rUser.setTSRole(role);
rUser.setTSUser(user);
systemService.save(rUser);
//系统用户基础表
TSBaseUser tsb = systemService.findUniqueByProperty(TSBaseUser.class, "userName", user.getUserName());
tsb.setStatus(new Short("1"));
systemService.save(tsb);
报错信息:无
问题异常出现流程:
按以上方式,我自己建的表信息添加后,运行以上方向,可以同时将信息添加到用户表中,但用户表的组织机构和角色,是两份!!!
是两份!!!
数据库里我查过了,与用户表相关的四个表也查过了,并且debug,里面显示的都是一个,但就是添加好后,在人员表中查看,就如上图,非得两个。
就这毛病我想了几个小时了,都要疯了!!!!
最终效果:跟正常人员表里添加的结果一样就行。
把两个关联表添加的方法去掉就好了。我是直接从别处摘的代码,这儿写重了。
页:
[1]