Переглянути джерело

会议人员查询优化。

zhengqiang 4 роки тому
батько
коміт
13719e3d63

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/base/dao/PersonInfoDAO.java

@@ -24,7 +24,7 @@ public interface PersonInfoDAO {
     PersonInfo findByNameAndPhone(String name, String phone);
 	PersonInfo findByOpenId(String openId);
     List<PersonInfo> findByCompanyId(String companyId);
-	List<PersonInfo> findListByCompanyCode(String companyId);
+	List<PersonInfo> findListByCompanyCode(String companyCode);
 	List<PersonInfo> findByCompanyIdAndPopedom(@Param("type") String type, @Param("companyId") String companyId);
     long countByCompanyCode(String code, Long personId);
 

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/base/service/PersonInfoService.java

@@ -25,7 +25,7 @@ public interface PersonInfoService {
 	PersonInfo findByOpenId(String openId);
 
     List<PersonInfo> findByCompanyId(String companyId);
-	List<PersonInfo> findListByCompanyCode(String companyId);
+	List<PersonInfo> findListByCompanyCode(String companyCode);
 	List<PersonInfo> findByCompanyIdAndPopedom(String type, String companyId);
 
 	PersonInfo getIgnoreDelFlag(Long id);

+ 2 - 2
common/src/main/java/com/jpsoft/shinestar/modules/base/service/impl/PersonInfoServiceImpl.java

@@ -130,8 +130,8 @@ public class PersonInfoServiceImpl implements PersonInfoService {
     }
 
     @Override
-    public List<PersonInfo> findListByCompanyCode(String companyId){
-        return personInfoDAO.findListByCompanyCode(companyId);
+    public List<PersonInfo> findListByCompanyCode(String companyCode){
+        return personInfoDAO.findListByCompanyCode(companyCode);
     }
 
     @Override

+ 5 - 5
common/src/main/java/com/jpsoft/shinestar/modules/business/service/impl/MeetingPersonRecodeServiceImpl.java

@@ -118,11 +118,11 @@ public class MeetingPersonRecodeServiceImpl implements MeetingPersonRecodeServic
 							boolean isSignPerson = false;
 
 							for (MeetingPerson meetingPerson:meetingPersonList) {
-								if(meetingPerson.getPersonId().equals(personId)){
-									isSignPerson = true;
-									break;
-								}
-							}
+                                if(meetingPerson.getPersonId().equals(personId)){
+                                    isSignPerson = true;
+                                    break;
+                                }
+                            }
 
 							if(isSignPerson) {
 								MeetingPersonRecode meetingPersonRecode = new MeetingPersonRecode();

+ 6 - 2
common/src/main/resources/mapper/base/PersonInfo.xml

@@ -514,9 +514,13 @@
         order by a.id_ asc
     </select>
     <select id="findListByCompanyCode" resultMap="PersonInfoMap">
-        select a.* from base_person_info a left join base_company_info b on a.company_id = b.id_
+        select a.*,b.name_ as company_name
+        from base_person_info
+        a left join base_company_info b on a.company_id = b.id_
         where
-        b.code_ like #{companyId} and a.del_flag = 0 and b.del_flag = 0
+        b.code_ like #{companyCode}
+        and a.del_flag = 0
+        and b.del_flag = 0
         order by a.id_ asc
     </select>
     <select id="findByCompanyIdAndPopedom" resultMap="PersonInfoMap">

+ 3 - 9
web/src/main/java/com/jpsoft/shinestar/modules/base/controller/MeetingInfoController.java

@@ -527,7 +527,8 @@ public class MeetingInfoController {
                 List<PersonInfo> curPersonList = new ArrayList<>();
 
                 for (String companyIdStr:companyIdArray) {
-                    curPersonList = personInfoService.findListByCompanyCode("%"+companyIdStr+"%");
+                    CompanyInfo companyInfo = companyInfoService.get(companyIdStr);
+                    curPersonList = personInfoService.findListByCompanyCode(companyInfo.getCode() + "%");
 
                     if(curPersonList.size()>0){
                         list.addAll(curPersonList);
@@ -541,16 +542,9 @@ public class MeetingInfoController {
             List<MeetingPersonDTO> dtoList = new ArrayList<>();
 
             for (PersonInfo personInfo:list) {
-                CompanyInfo companyInfo = companyInfoService.get(personInfo.getCompanyId());
-                String companyName="";
-
-                if(companyInfo!=null){
-                    companyName = "-"+companyInfo.getName();
-                }
-
                 MeetingPersonDTO dto = new MeetingPersonDTO();
                 dto.setKey(personInfo.getId().toString());
-                dto.setLabel(personInfo.getName() + companyName);
+                dto.setLabel(personInfo.getName() + "-" + personInfo.getCompanyName());
 
                 dtoList.add(dto);
             }