Procházet zdrojové kódy

报销查询调整

徐滕 před 1 týdnem
rodič
revize
a3d0f10c21

+ 45 - 2
src/main/java/com/jeeplus/modules/workreimbursement/service/WorkReimbursementAllService.java

@@ -336,7 +336,7 @@ public class WorkReimbursementAllService extends CrudService<WorkReimbursementDa
 //        if (matcher.find()) {
 //            workReimbursement.getSqlMap().put("dsf",str.substring(0,matcher.start()) + str.substring(matcher.start()+3));
 //        }
-        if(StringUtils.isNotBlank(workReimbursement.getOfficeId())){
+        if(StringUtils.isNotBlank(workReimbursement.getOfficeId())) {
             if ("一部本部".equals(workReimbursement.getOfficeId())) {
                 List<String> officeIdList = Lists.newArrayList();
                 Office office = officeService.getByName("工程一部");
@@ -346,9 +346,34 @@ public class WorkReimbursementAllService extends CrudService<WorkReimbursementDa
                 //查询该选择节点下所有的部门Id
                 List<String> officeIdList = officeService.getChildrenOffice(workReimbursement.getOfficeId());
                 officeIdList.add(workReimbursement.getOfficeId());
-                workReimbursement.setOfficeIdList(officeIdList);
+                if (officeIdList.size() > 0) {
+                    workReimbursement.setOfficeIdList(officeIdList);
+                }
             }
+        }
 
+        //查询报销的部门id
+        if(StringUtils.isBlank(workReimbursement.getOfficeId()) && StringUtils.isNotBlank(workReimbursement.getOfficeName())){
+            if ("一部本部".equals(workReimbursement.getOfficeName())) {
+                List<String> officeIdList = Lists.newArrayList();
+                Office office = officeService.getByName("工程一部");
+                officeIdList.add(office.getId());
+                workReimbursement.setOfficeIdList(officeIdList);
+            }else{
+                List<Office> officeList = officeService.getOfficeByName(workReimbursement.getOfficeName());
+                if(officeList!=null && officeList.size()>0){
+                    List<String> officeIdList = Lists.newArrayList();
+                    for (Office office : officeList) {
+                        officeIdList.add(office.getId());
+                        //获取其下的所有子部门信息
+                        List<String> childrenOffice = officeService.getChildrenOffice(office.getId());
+                        if(childrenOffice!=null && childrenOffice.size()>0){
+                            officeIdList.addAll(childrenOffice);
+                        }
+                    }
+                    workReimbursement.setOfficeIdList(officeIdList);
+                }
+            }
         }
 
         if(StringUtils.isNotBlank(workReimbursement.getBusinessType())){
@@ -356,6 +381,24 @@ public class WorkReimbursementAllService extends CrudService<WorkReimbursementDa
             workReimbursement.setBusinessTypeParentIds(workReimbursement.getBusinessType()+",");
         }
 
+        //查询报销的人员id
+        if(StringUtils.isBlank(workReimbursement.getSubmitterId()) && StringUtils.isNotBlank(workReimbursement.getSubmitterName())){
+            List<User> userList = UserUtils.getUserByName(workReimbursement.getSubmitterName());
+            if(userList!=null&&userList.size()>0){
+                List<String> userIdList = Lists.newArrayList();
+                for (User user : userList) {
+                    userIdList.add(user.getId());
+                }
+                workReimbursement.setSubmitterIdList(userIdList);
+            }
+        }else{
+            if(StringUtils.isNotBlank(workReimbursement.getSubmitterId())) {
+                List<String> userIdList = Lists.newArrayList();
+                userIdList.add(workReimbursement.getSubmitterId());
+                workReimbursement.setSubmitterIdList(userIdList);
+            }
+        }
+
         workReimbursement.setCreateBy(UserUtils.getUser());
         int count = dao.queryCount(workReimbursement);
         page.setCount(count);