Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java
===================================================================
diff -u -r16195 -r16216
--- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 16195)
+++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 16216)
@@ -1777,8 +1777,8 @@
}
/**
- * 创建模糊查询的sql语句,
- * 如果searchString为中文,则按照器械包的(拼音码、五笔码、外部编码、名称)这四个字段进行检索,
+ * 创建模糊查询的sql语句
+ * 如果searchString为中文,则按照器械包的(拼音码、五笔码、外部编码、名称)这四个字段进行检索
* 如果searchString为英文,则根据用户属性表的searchMode字段来决定
* @param searchString:检索的关键字
* @return
Index: forgon-core/src/main/java/com/forgon/security/service/UserManagerImpl.java
===================================================================
diff -u -r15447 -r16216
--- forgon-core/src/main/java/com/forgon/security/service/UserManagerImpl.java (.../UserManagerImpl.java) (revision 15447)
+++ forgon-core/src/main/java/com/forgon/security/service/UserManagerImpl.java (.../UserManagerImpl.java) (revision 16216)
@@ -59,11 +59,11 @@
// 获取用户的当前部门
public String getCurrentOrgUnitCode(User user){
+
// 查找用户当前的组织单位
String currentOrgUnitCode = user.getCurrentOrgUnitCode();
String directOrgUnitCodesWhereUserBelong = user.getOrgUnitCodes();
if (StringUtils.isBlank(currentOrgUnitCode)){
-
if (StringUtils.isNotBlank(directOrgUnitCodesWhereUserBelong)){
currentOrgUnitCode = directOrgUnitCodesWhereUserBelong;
if (currentOrgUnitCode.indexOf(OrgUnit.ORGUNIT_USER_SEPARATOR) > 0){
@@ -73,24 +73,35 @@
user.setCurrentOrgUnitCode(currentOrgUnitCode);
objectDao.saveOrUpdate(user);
}
- }
- // 具有当前部门
- else{
- if (StringUtils.isBlank(directOrgUnitCodesWhereUserBelong)){
+ }else{ // 具有当前部门
+ if (StringUtils.isBlank(directOrgUnitCodesWhereUserBelong)){ //直属科室被删除了
currentOrgUnitCode = "";
- }
- else{
- directOrgUnitCodesWhereUserBelong += OrgUnit.ORGUNIT_USER_SEPARATOR;
- // 当前的部门不是用户所拥有的部门
- if (directOrgUnitCodesWhereUserBelong.indexOf(currentOrgUnitCode + OrgUnit.ORGUNIT_USER_SEPARATOR) == -1){
- currentOrgUnitCode = directOrgUnitCodesWhereUserBelong.split(OrgUnit.ORGUNIT_USER_SEPARATOR)[0];
- // 保存用户的当前部门
- user.setCurrentOrgUnitCode(currentOrgUnitCode);
- objectDao.saveOrUpdate(user);
+ }else{
+ String[] directOrgUnitCodeArray = directOrgUnitCodesWhereUserBelong.split(OrgUnit.ORGUNIT_USER_SEPARATOR);
+
+ for (String directOrgUnitCode : directOrgUnitCodeArray) {
+ if (StringUtils.equals(currentOrgUnitCode, directOrgUnitCode)) { //"用户直属的组织单位的编码集合"包含"当前的部门"
+ return currentOrgUnitCode;
+ }
}
+
+ currentOrgUnitCode = directOrgUnitCodeArray[0];
+ user.setCurrentOrgUnitCode(currentOrgUnitCode);
+ objectDao.saveOrUpdate(user);
+
+// directOrgUnitCodesWhereUserBelong += OrgUnit.ORGUNIT_USER_SEPARATOR;
+// // 当前的部门不是用户所拥有的部门
+// if (directOrgUnitCodesWhereUserBelong.indexOf(currentOrgUnitCode + OrgUnit.ORGUNIT_USER_SEPARATOR) == -1){
+// currentOrgUnitCode = directOrgUnitCodesWhereUserBelong.split(OrgUnit.ORGUNIT_USER_SEPARATOR)[0];
+// // 保存用户的当前部门
+// user.setCurrentOrgUnitCode(currentOrgUnitCode);
+// objectDao.saveOrUpdate(user);
+// }
}
}
+
return currentOrgUnitCode;
+
}
@SuppressWarnings("unchecked")
Index: forgon-core/src/main/java/com/forgon/security/model/User.java
===================================================================
diff -u -r14851 -r16216
--- forgon-core/src/main/java/com/forgon/security/model/User.java (.../User.java) (revision 14851)
+++ forgon-core/src/main/java/com/forgon/security/model/User.java (.../User.java) (revision 16216)
@@ -139,12 +139,12 @@
private String wbCode;//五笔码
/**
- * 数据来源(陈家儒改)
+ * 数据来源
*/
private String source = Constants.SOURCE_MANUAL; //默认手工
/**
- * 此用户是否被锁定(陈家儒改)
+ * 此用户是否被锁定
*/
private String lockStatus = "否"; //默认不锁定
@@ -305,6 +305,10 @@
this.userAttribute = userAttribute;
}
+ /**
+ * 获取用户直属的组织单位的编码集合,不含上级(用";"分隔)
+ * @return
+ */
@Transient
public String getOrgUnitCodes() {
if (orgUnitCodes == null) {