Ver código fonte

增加getByPositionId

zhouhao 7 anos atrás
pai
commit
d7ba981441

+ 9 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-controller/src/main/java/org/hswebframework/web/controller/organizational/PersonController.java

@@ -35,6 +35,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
+import java.util.List;
+
 /**
 /**
  * 人员
  * 人员
  *
  *
@@ -86,4 +88,11 @@ public class PersonController implements SimpleGenericEntityController<PersonEnt
         personService.updateByPk(bindEntity);
         personService.updateByPk(bindEntity);
         return ResponseMessage.ok();
         return ResponseMessage.ok();
     }
     }
+
+    @PostMapping("/in-position/{positionId}")
+    @AccessLogger("获取指定岗位的人员")
+    @Authorize(action = Permission.ACTION_GET)
+    public ResponseMessage<List<PersonEntity>> getByPositionId(@PathVariable String positionId) {
+        return ResponseMessage.ok(personService.selectByPositionId(positionId));
+    }
 }
 }

+ 7 - 3
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-dao/hsweb-system-organizational-dao-api/src/main/java/org/hswebframework/web/dao/organizational/PersonDao.java

@@ -19,9 +19,13 @@ package org.hswebframework.web.dao.organizational;
 import org.hswebframework.web.dao.CrudDao;
 import org.hswebframework.web.dao.CrudDao;
 import org.hswebframework.web.entity.organizational.PersonEntity;
 import org.hswebframework.web.entity.organizational.PersonEntity;
 
 
+import java.util.List;
+
 /**
 /**
-*  人员 DAO接口
-*  @author hsweb-generator-online
+ * 人员 DAO接口
+ *
+ * @author hsweb-generator-online
  */
  */
-public interface PersonDao extends CrudDao<PersonEntity,String> {
+public interface PersonDao extends CrudDao<PersonEntity, String> {
+    List<PersonEntity> selectByPositionId(String positionId);
 }
 }

+ 4 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-dao/hsweb-system-organizational-dao-mybatis/src/main/resources/org/hswebframework/web/dao/mybatis/mappers/organizational/PersonMapper.xml

@@ -56,6 +56,10 @@
         <include refid="BasicMapper.buildUpdateSql"/>
         <include refid="BasicMapper.buildUpdateSql"/>
     </update>
     </update>
 
 
+    <select id="selectByPositionId" parameterType="String" resultMap="PersonResultMap">
+        select * from s_person where u_id in (select person_id from s_person_position where position_id=#{positionId})
+    </select>
+
     <select id="query" parameterType="org.hswebframework.web.commons.entity.Entity" resultMap="PersonResultMap">
     <select id="query" parameterType="org.hswebframework.web.commons.entity.Entity" resultMap="PersonResultMap">
         <include refid="config"/>
         <include refid="config"/>
         <include refid="BasicMapper.buildSelectSql"/>
         <include refid="BasicMapper.buildSelectSql"/>

+ 3 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-service/hsweb-system-organizational-service-api/src/main/java/org/hswebframework/web/service/organizational/PersonService.java

@@ -34,4 +34,7 @@ public interface PersonService extends CrudService<PersonEntity, String> {
     int updateByPk(PersonAuthBindEntity authBindEntity);
     int updateByPk(PersonAuthBindEntity authBindEntity);
 
 
     PersonAuthBindEntity selectAuthBindByPk(String id);
     PersonAuthBindEntity selectAuthBindByPk(String id);
+
+    List<PersonEntity> selectByPositionId(String positionId);
+
 }
 }

+ 6 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-service/hsweb-system-organizational-service-simple/src/main/java/org/hswebframework/web/service/organizational/simple/SimplePersonService.java

@@ -166,6 +166,12 @@ public class SimplePersonService extends EnableCacheGenericEntityService<PersonE
         return bindEntity;
         return bindEntity;
     }
     }
 
 
+    @Override
+    public List<PersonEntity> selectByPositionId(String positionId) {
+        Objects.requireNonNull(positionId);
+        return personDao.selectByPositionId(positionId);
+    }
+
     protected void syncPositionInfo(String personId, Set<String> positionIds) {
     protected void syncPositionInfo(String personId, Set<String> positionIds) {
         for (String positionId : positionIds) {
         for (String positionId : positionIds) {
             PersonPositionEntity positionEntity = entityFactory.newInstance(PersonPositionEntity.class);
             PersonPositionEntity positionEntity = entityFactory.newInstance(PersonPositionEntity.class);