wangys 6 år sedan
förälder
incheckning
31174496b3

+ 25 - 17
efunbox-base/efunbox-base-api/src/main/java/cn/efunbox/manage/base/service/impl/ManageServiceImpl.java

@@ -53,24 +53,27 @@ public class ManageServiceImpl implements ManageService {
             public Predicate toPredicate(Root<Manage> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
 
                 List<Predicate> predicates = new ArrayList<>();
-                if(0 == manage.getCompanyId() && Objects.nonNull(manage.getCompanyId())){
+                if(Objects.nonNull(manage.getCompanyId()) && 0 == manage.getCompanyId()){
                     predicates.add(criteriaBuilder.equal(root.get("companyId"), manage.getCompanyId()));
                 }
-                if(0 == manage.getProductId() && Objects.nonNull(manage.getProductId())){
+                if(Objects.nonNull(manage.getProductId()) && 0 == manage.getProductId()){
                     predicates.add(criteriaBuilder.equal(root.get("productId"), manage.getProductId()));
                 }
-                if(0 == manage.getProductId() && Objects.nonNull(manage.getProductId())){
+                if(Objects.nonNull(manage.getProductId()) && 0 == manage.getProductId()){
                     predicates.add(criteriaBuilder.equal(root.get("projectId"), manage.getProductId()));
                 }
                 if(Objects.nonNull(manage.getType())){
                     predicates.add(criteriaBuilder.equal(root.get("type"), manage.getType()));
                 }
-                if(0 == manage.getCostTypeId() && Objects.nonNull(manage.getCostType())){
+                if(Objects.nonNull(manage.getCostType()) && 0 == manage.getCostTypeId()){
                     predicates.add(criteriaBuilder.equal(root.get("costType"), manage.getCostType()));
                 }
                 if(Objects.nonNull(manage.getIncomeStatus())){
                     predicates.add(criteriaBuilder.equal(root.get("incomeStatus"), manage.getIncomeStatus()));
                 }
+                if(Objects.nonNull(manage.getStatus())){
+                    predicates.add(criteriaBuilder.equal(root.get("status"), manage.getStatus()));
+                }
                 if(manage.getDeptIds() != null && manage.getDeptIds().size() > 0){
                     List<Predicate> list = new ArrayList<>();
                     if (manage.getDeptIds() != null && manage.getDeptIds().size() > 0) {
@@ -157,18 +160,20 @@ public class ManageServiceImpl implements ManageService {
             if(Objects.nonNull(m.getCostTypeId())){
                 m.setCostType(costTypeMap.get(m.getCostTypeId()));
             }
-            switch (m.getCompanyType()){
-                case COMPANY:
-                    m.setCompany(companyMap.get(m.getCompanyId()));
-                    break;
-                case PROJECT:
-                    m.setCompany(companyMap.get(m.getProjectId()));
-                    break;
-                case DEPARTMENT:
-                    m.setCompany(companyMap.get(m.getDeptId()));
-                    break;
-                default:
-                    break;
+            if(Objects.nonNull(m.getCompanyType())){
+                switch (m.getCompanyType()){
+                    case COMPANY:
+                        m.setCompany(companyMap.get(m.getCompanyId()));
+                        break;
+                    case PROJECT:
+                        m.setCompany(companyMap.get(m.getProjectId()));
+                        break;
+                    case DEPARTMENT:
+                        m.setCompany(companyMap.get(m.getDeptId()));
+                        break;
+                    default:
+                        break;
+                }
             }
         });
         return ApiResult.ok(manages);
@@ -204,6 +209,9 @@ public class ManageServiceImpl implements ManageService {
             return ApiResult.error(ApiCode.PARAMETER_ERROR);
         }
         Manage manage = manageRepository.find(manageId);
+        if(Objects.isNull(manage)){
+            return ApiResult.error(ApiCode.UNKNOWN_ERROR);
+        }
         manage.setDepartment(departmentRepository.find(manage.getDeptId()));
         manage.setProject(projectRepository.find(manage.getProjectId()));
         manage.setProduct(productRepository.find(manage.getProductId()));
@@ -220,6 +228,6 @@ public class ManageServiceImpl implements ManageService {
             default:
                 break;
         }
-        return ApiResult.error(ApiCode.UNKNOWN_ERROR);
+        return ApiResult.ok(manage);
     }
 }

+ 10 - 0
efunbox-base/efunbox-base-web/src/main/java/cn/efunbox/manage/base/controller/ManageController.java

@@ -40,4 +40,14 @@ public class ManageController {
     public ApiResult save(@RequestBody Manage manage){
         return manageService.save(manage);
     }
+
+    @PutMapping
+    public ApiResult update(@RequestBody Manage manage){
+        return manageService.update(manage);
+    }
+
+    @GetMapping("/{id}")
+    public ApiResult getManageById(@PathVariable(name = "id") Long manageId){
+        return manageService.getById(manageId);
+    }
 }