diff --git a/erp_web/pages/manage/user.html b/erp_web/pages/manage/user.html
index 7e2548b6..9ba2e063 100644
--- a/erp_web/pages/manage/user.html
+++ b/erp_web/pages/manage/user.html
@@ -104,7 +104,7 @@
|
- 用户排序
+ 排序
|
@@ -175,7 +175,7 @@
title: '操作', field: 'isystem', align: "center", width: 80,
formatter: function (value, rec, index) {
var str = '';
- if(rec.loginName != "jsh") {
+ if(rec.userType != "演示用户") {
str += ' ';
}
if(isShowOpFun()) {
@@ -188,19 +188,7 @@
return str;
}
},
- {
- title: '用户类型', field: 'userType', width: 80, formatter: function (value, rec, index) {
- var str = '';
- if (rec.id == rec.tenantId) {
- str = "租户";
- } else if(rec.tenantId == null){
- str = "超管";
- } else {
- str = "普通";
- }
- return str;
- }
- },
+ {title: '用户类型', field: 'userType', width: 80},
{title: '登录名称', field: 'loginName', width: 80, align: "center"},
{title: '用户姓名', field: 'username', width: 80, align: "center"},
{title: '角色', field: 'roleName', width: 80, align: "center"},
@@ -208,7 +196,7 @@
{title: '机构', field: 'orgAbr', width: 115, align: "center"},
{title: '电子邮箱', field: 'email', width: 150, align: "center"},
{title: '电话号码', field: 'phonenum', width: 150, align: "center"},
- {title: '用户排序', field: 'userBlngOrgaDsplSeq', width: 80, align: "center"},
+ {title: '排序', field: 'userBlngOrgaDsplSeq', width: 80, align: "center"},
{title: '描述', field: 'description', width: 130},
{field: 'orgaId',hidden:true, width: 10}
]],
diff --git a/src/main/java/com/jsh/erp/datasource/entities/UserEx.java b/src/main/java/com/jsh/erp/datasource/entities/UserEx.java
index 04f08be0..8209408e 100644
--- a/src/main/java/com/jsh/erp/datasource/entities/UserEx.java
+++ b/src/main/java/com/jsh/erp/datasource/entities/UserEx.java
@@ -18,6 +18,8 @@ public class UserEx extends User{
private String roleName;
+ private String userType;
+
public String getOrgAbr() {
return orgAbr;
}
@@ -57,4 +59,12 @@ public class UserEx extends User{
public void setRoleName(String roleName) {
this.roleName = roleName;
}
+
+ public String getUserType() {
+ return userType;
+ }
+
+ public void setUserType(String userType) {
+ this.userType = userType;
+ }
}
diff --git a/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java
index c5154c98..bb7a9932 100644
--- a/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java
+++ b/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java
@@ -21,7 +21,7 @@ public interface DepotHeadMapperEx {
List selectByConditionDepotHead(
@Param("type") String type,
@Param("subType") String subType,
- @Param("handsPersonId") Long handsPersonId,
+ @Param("handsPersonIds") String[] handsPersonIds,
@Param("number") String number,
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@@ -33,7 +33,7 @@ public interface DepotHeadMapperEx {
Long countsByDepotHead(
@Param("type") String type,
@Param("subType") String subType,
- @Param("handsPersonId") Long handsPersonId,
+ @Param("handsPersonIds") String[] handsPersonIds,
@Param("number") String number,
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
diff --git a/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java b/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java
index d77763c1..54a9d354 100644
--- a/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java
+++ b/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java
@@ -15,6 +15,7 @@ import com.jsh.erp.exception.BusinessRunTimeException;
import com.jsh.erp.exception.JshException;
import com.jsh.erp.service.depotItem.DepotItemService;
import com.jsh.erp.service.log.LogService;
+import com.jsh.erp.service.orgaUserRel.OrgaUserRelService;
import com.jsh.erp.service.serialNumber.SerialNumberService;
import com.jsh.erp.service.supplier.SupplierService;
import com.jsh.erp.service.user.UserService;
@@ -53,6 +54,8 @@ public class DepotHeadService {
@Resource
private SerialNumberService serialNumberService;
@Resource
+ private OrgaUserRelService orgaUserRelService;
+ @Resource
DepotItemMapperEx depotItemMapperEx;
@Resource
private LogService logService;
@@ -81,15 +84,21 @@ public class DepotHeadService {
public List select(String type, String subType, String roleType, String number, String beginTime, String endTime,
String materialParam, String depotIds, int offset, int rows)throws Exception {
- Long handsPersonId = null;
+ String handsPersonIds = "";
User user = userService.getCurrentUser();
if("个人数据".equals(roleType)) {
- handsPersonId = user.getId();
+ handsPersonIds = user.getId().toString();
+ } else if("本机构数据".equals(roleType)) {
+ handsPersonIds = orgaUserRelService.getUserIdListByUserId(user.getId());
+ }
+ String [] handsPersonIdArray=null;
+ if(StringUtil.isNotEmpty(handsPersonIds)){
+ handsPersonIdArray = handsPersonIds.split(",");
}
List resList = new ArrayList();
List list=null;
try{
- list=depotHeadMapperEx.selectByConditionDepotHead(type, subType, handsPersonId, number, beginTime, endTime, materialParam, depotIds, offset, rows);
+ list=depotHeadMapperEx.selectByConditionDepotHead(type, subType, handsPersonIdArray, number, beginTime, endTime, materialParam, depotIds, offset, rows);
}catch(Exception e){
JshException.readFail(logger, e);
}
@@ -125,14 +134,20 @@ public class DepotHeadService {
public Long countDepotHead(String type, String subType, String roleType,String number, String beginTime, String endTime,
String materialParam, String depotIds) throws Exception{
- Long handsPersonId = null;
+ String handsPersonIds = "";
User user = userService.getCurrentUser();
if("个人数据".equals(roleType)) {
- handsPersonId = user.getId();
+ handsPersonIds = user.getId().toString();
+ } else if("本机构数据".equals(roleType)) {
+ handsPersonIds = orgaUserRelService.getUserIdListByUserId(user.getId());
+ }
+ String [] handsPersonIdArray=null;
+ if(StringUtil.isNotEmpty(handsPersonIds)){
+ handsPersonIdArray = handsPersonIds.split(",");
}
Long result=null;
try{
- result=depotHeadMapperEx.countsByDepotHead(type, subType, handsPersonId, number, beginTime, endTime, materialParam, depotIds);
+ result=depotHeadMapperEx.countsByDepotHead(type, subType, handsPersonIdArray, number, beginTime, endTime, materialParam, depotIds);
}catch(Exception e){
JshException.readFail(logger, e);
}
diff --git a/src/main/java/com/jsh/erp/service/orgaUserRel/OrgaUserRelService.java b/src/main/java/com/jsh/erp/service/orgaUserRel/OrgaUserRelService.java
index 17f9ac50..66701eb7 100644
--- a/src/main/java/com/jsh/erp/service/orgaUserRel/OrgaUserRelService.java
+++ b/src/main/java/com/jsh/erp/service/orgaUserRel/OrgaUserRelService.java
@@ -21,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -41,6 +42,8 @@ public class OrgaUserRelService {
@Resource
private UserService userService;
@Resource
+ private OrganizationService organizationService;
+ @Resource
private LogService logService;
public OrgaUserRel getOrgaUserRel(long id) throws Exception{
@@ -169,4 +172,48 @@ public class OrgaUserRelService {
}
return null;
}
+
+ /**
+ * 根据用户id获取用户id列表
+ * @param userId
+ * @return
+ * @throws Exception
+ */
+ public String getUserIdListByUserId(Long userId) throws Exception{
+ OrgaUserRel our = new OrgaUserRel();
+ OrgaUserRelExample example = new OrgaUserRelExample();
+ example.createCriteria().andUserIdEqualTo(userId);
+ List list = orgaUserRelMapper.selectByExample(example);
+ if(list!=null && list.size()>0) {
+ our = list.get(0);
+ }
+ List userIdList = getUserIdListByOrgId(our.getOrgaId());
+ String users = "";
+ for(Long u: userIdList){
+ users = users + u + ",";
+ }
+ if(users.length()>0){
+ users = users.substring(0,users.length()-1);
+ }
+ return users;
+ }
+
+ /**
+ * 根据组织id获取所属的用户id列表(包含组织的递归)
+ * @param orgId
+ * @return
+ */
+ public List getUserIdListByOrgId(Long orgId) {
+ List orgIdList = organizationService.getOrgIdByParentId(orgId);
+ List userIdList = new ArrayList();
+ OrgaUserRelExample example = new OrgaUserRelExample();
+ example.createCriteria().andOrgaIdIn(orgIdList).andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED);
+ List list = orgaUserRelMapper.selectByExample(example);
+ if(list!=null && list.size()>0) {
+ for(OrgaUserRel our: list) {
+ userIdList.add(our.getUserId());
+ }
+ }
+ return userIdList;
+ }
}
diff --git a/src/main/java/com/jsh/erp/service/organization/OrganizationService.java b/src/main/java/com/jsh/erp/service/organization/OrganizationService.java
index 5452240f..dc356e77 100644
--- a/src/main/java/com/jsh/erp/service/organization/OrganizationService.java
+++ b/src/main/java/com/jsh/erp/service/organization/OrganizationService.java
@@ -273,4 +273,38 @@ public class OrganizationService {
}
return result;
}
+
+ /**
+ * 根据父级id递归获取子集组织id
+ * @return
+ */
+ public List getOrgIdByParentId(Long orgId) {
+ List idList = new ArrayList();
+ OrganizationExample example = new OrganizationExample();
+ example.createCriteria().andIdEqualTo(orgId).andOrgStcdNotEqualTo(BusinessConstants.ORGANIZATION_STCD_REMOVED);
+ List orgList = organizationMapper.selectByExample(example);
+ if(orgList!=null && orgList.size()>0) {
+ idList.add(orgId);
+ getOrgIdByParentNo(idList, orgList.get(0).getOrgNo());
+ }
+ return idList;
+ }
+
+ /**
+ * 根据组织编号递归获取下级编号
+ * @param orgNo
+ * @return
+ */
+ public void getOrgIdByParentNo(List idList,String orgNo) {
+ List list = new ArrayList();
+ OrganizationExample example = new OrganizationExample();
+ example.createCriteria().andOrgParentNoEqualTo(orgNo).andOrgStcdNotEqualTo(BusinessConstants.ORGANIZATION_STCD_REMOVED);
+ List orgList = organizationMapper.selectByExample(example);
+ if(orgList!=null && orgList.size()>0) {
+ for(Organization o: orgList) {
+ idList.add(o.getId());
+ getOrgIdByParentNo(idList, o.getOrgNo());
+ }
+ }
+ }
}
diff --git a/src/main/java/com/jsh/erp/service/user/UserService.java b/src/main/java/com/jsh/erp/service/user/UserService.java
index 9900a126..5c64434a 100644
--- a/src/main/java/com/jsh/erp/service/user/UserService.java
+++ b/src/main/java/com/jsh/erp/service/user/UserService.java
@@ -101,6 +101,21 @@ public class UserService {
List list=null;
try{
list=userMapperEx.selectByConditionUser(userName, loginName, offset, rows);
+ for(UserEx ue: list){
+ String userType = "";
+ if(demonstrateOpen && TEST_USER.equals(ue.getLoginName())){
+ userType = "演示用户";
+ } else {
+ if (ue.getId().equals(ue.getTenantId())) {
+ userType = "租户";
+ } else if(ue.getTenantId() == null){
+ userType = "超管";
+ } else {
+ userType = "普通";
+ }
+ }
+ ue.setUserType(userType);
+ }
}catch(Exception e){
JshException.readFail(logger, e);
}
diff --git a/src/main/resources/mapper_xml/DepotHeadMapperEx.xml b/src/main/resources/mapper_xml/DepotHeadMapperEx.xml
index b2bef646..340357d9 100644
--- a/src/main/resources/mapper_xml/DepotHeadMapperEx.xml
+++ b/src/main/resources/mapper_xml/DepotHeadMapperEx.xml
@@ -55,9 +55,6 @@
and dh.sub_type='${subType}'
-
- and dh.hands_person_id='${handsPersonId}'
-
and dh.number like '%${number}%'
@@ -73,6 +70,13 @@
and di.depot_id in (${depotIds})
+
+ and dh.hands_person_id in (
+
+ #{handsPersonId}
+
+ )
+
and ifnull(dh.delete_flag,'0') !='1'
order by dh.id desc
@@ -92,9 +96,6 @@
and sub_type='${subType}'
-
- and hands_person_id='${handsPersonId}'
-
and number like '%${number}%'
@@ -110,6 +111,13 @@
and di.depot_id in (${depotIds})
+
+ and hands_person_id in (
+
+ #{handsPersonId}
+
+ )
+
and ifnull(jsh_depot_head.delete_Flag,'0') !='1') tb
diff --git a/src/main/resources/mapper_xml/UserMapperEx.xml b/src/main/resources/mapper_xml/UserMapperEx.xml
index 4f246ef3..1c89c782 100644
--- a/src/main/resources/mapper_xml/UserMapperEx.xml
+++ b/src/main/resources/mapper_xml/UserMapperEx.xml
@@ -29,7 +29,7 @@
and user.login_name like '%${loginName}%'
- order by user.id desc
+ order by rel.user_blng_orga_dspl_seq,user.id desc
limit #{offset},#{rows}
|