Browse Source

报销查询调整

huangguoce 2 months ago
parent
commit
fa6e215f4d

+ 16 - 20
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/service/ReimbursementInfoService.java

@@ -125,30 +125,26 @@ public class ReimbursementInfoService {
             queryWrapper.apply("(a.create_by_id = {0} OR c.name LIKE {1})", dto.getHandled(), "%" + dto.getHandled() + "%");
         }
         // 报销人
-        if (StringUtils.isNotEmpty(dto.getReimBy())) {
+        if (com.jeeplus.utils.StringUtils.isNotEmpty(dto.getReimBy())) {
             List<User> users = userApi.findListByLikeName(dto.getReimBy());
-            if (users != null && !users.isEmpty()) {
-                queryWrapper.and(wrapper -> {
-                    for (int i = 0; i < users.size(); i++) {
-                        User userdto = users.get(i);
-                        if (i > 0) {
-                            wrapper.or();
-                        }
-                        wrapper.apply("(b.user_id LIKE {0} OR us.name LIKE {1} " +
-                                        "OR b2.user_id LIKE {0} OR us2.name LIKE {1} " +
-                                        "OR b4.user_id LIKE {0} OR us4.name LIKE {1} " +
-                                        "OR b5.user_id LIKE {0} OR us5.name LIKE {1})",
-                                "%" + userdto.getId() + "%", "%" + dto.getReimBy() + "%");
+            if (users == null || users.isEmpty()) {
+                queryWrapper.apply("1 = 0");
+            } else {
+                queryWrapper.and(qw -> {
+                    for (User u : users) {
+                        qw.or(orQw -> orQw
+                                .like("b.user_id", u.getId())
+                                .or().like("b2.user_id", u.getId())
+                                .or().like("b4.user_id", u.getId())
+                                .or().like("b5.user_id", u.getId())
+                                .or().like("us.name", dto.getReimBy())
+                                .or().like("us2.name", dto.getReimBy())
+                                .or().like("us4.name", dto.getReimBy())
+                                .or().like("us5.name", dto.getReimBy())
+                        );
                     }
                 });
-            }else{
-                queryWrapper.apply("1 = 0");
             }
-            //queryWrapper.apply("(( b.user_id like {0} OR us.name LIKE {1} )", "%" +userdto.getId() + "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b2.user_id like {0} OR us2.name LIKE {1} )", "%" +userdto.getId() + "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b4.user_id like {0} OR us4.name LIKE {1} )", "%" +userdto.getId() + "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b5.user_id like {0} OR us5.name LIKE {1} ))", "%" +userdto.getId() + "%", "%" + dto.getReimBy() + "%");
-
         }
         // 报销状态
         if (StringUtils.isNotEmpty(dto.getType())) {

+ 24 - 23
jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/service/CcpmReimbursementInfoService.java

@@ -132,7 +132,13 @@ public class CcpmReimbursementInfoService {
 
         }
         // 报销时间
-        if (dto.getDates() != null) {
+        if (dto.getDates() != null
+                && dto.getDates().length == 2
+                && dto.getDates()[0] != null
+                && dto.getDates()[1] != null
+                && !dto.getDates()[0].toString().isEmpty()
+                && !dto.getDates()[1].toString().isEmpty()) {
+
             queryWrapper.between("a.reim_date", dto.getDates()[0], dto.getDates()[1]);
         }
         // 报销编号
@@ -145,31 +151,26 @@ public class CcpmReimbursementInfoService {
         }
         // 报销人
         if (StringUtils.isNotEmpty(dto.getReimBy())) {
-            //UserDTO userdto = userApi.getByLoginNameNoTen(dto.getReimBy());
-            //queryWrapper.apply("( b.user_id like {0} OR us.name LIKE {1} )", "%" +userdto.getId()+ "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b2.user_id like {0} OR us2.name LIKE {1} )", "%" +userdto.getId()+ "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b3.user_id like {0} OR us3.name LIKE {1} )", "%" +userdto.getId()+ "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b4.user_id like {0} OR us4.name LIKE {1} )", "%" +userdto.getId()+ "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b5.user_id like {0} OR us5.name LIKE {1} )", "%" +userdto.getId()+ "%", "%" + dto.getReimBy() + "%");
-
             List<User> users = userApi.findListByLikeName(dto.getReimBy());
-            if (users != null && !users.isEmpty()) {
-                queryWrapper.and(wrapper -> {
-                    for (int i = 0; i < users.size(); i++) {
-                        User userdto = users.get(i);
-                        if (i > 0) {
-                            wrapper.or();
-                        }
-                        wrapper.apply("(b.user_id LIKE {0} OR us.name LIKE {1} " +
-                                        "OR b2.user_id LIKE {0} OR us2.name LIKE {1} " +
-                                        "OR b3.user_id LIKE {0} OR us3.name LIKE {1} " +
-                                        "OR b4.user_id LIKE {0} OR us4.name LIKE {1} " +
-                                        "OR b5.user_id LIKE {0} OR us5.name LIKE {1})",
-                                "%" + userdto.getId() + "%", "%" + dto.getReimBy() + "%");
+            if (users == null || users.isEmpty()) {
+                queryWrapper.apply("1 = 0");
+            } else {
+                queryWrapper.and(qw -> {
+                    for (User u : users) {
+                        qw.or(orQw -> orQw
+                                .like("b.user_id", u.getId())
+                                .or().like("b2.user_id", u.getId())
+                                .or().like("b3.user_id", u.getId())
+                                .or().like("b4.user_id", u.getId())
+                                .or().like("b5.user_id", u.getId())
+                                .or().like("us.name", dto.getReimBy())
+                                .or().like("us2.name", dto.getReimBy())
+                                .or().like("us3.name", dto.getReimBy())
+                                .or().like("us4.name", dto.getReimBy())
+                                .or().like("us5.name", dto.getReimBy())
+                        );
                     }
                 });
-            }else{
-                queryWrapper.apply("1 = 0");
             }
         }
         // 报销状态

+ 0 - 4
jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/mapper/xml/ZsReimbursementInfoMapper.xml

@@ -176,7 +176,6 @@
 			a.approval_time
 		FROM
 			zs_reimbursement_info a
-				--兴光项目报销
 				LEFT JOIN zs_reimbursement_detail_info b ON a.id = b.info_id
 				AND b.del_flag = 0
 				LEFT JOIN cw_reimbursement_detail_info_report b3 ON a.id = b3.info_id
@@ -185,13 +184,10 @@
 				AND t.del_flag = 0
 				LEFT JOIN cw_reimbursement_type_info t3 ON b3.type_id = t3.id
 				AND t3.del_flag = 0
-				--其他报销
 				LEFT JOIN zs_reimbursement_detail_info_other b4 ON a.id = b4.info_id
 				AND b4.del_flag = 0
-				--中审项目报销
 				LEFT JOIN zs_reimbursement_detail_info_zs_project zs1 ON a.id = zs1.info_id
 				AND zs1.del_flag = 0
-				--兴光报告报销
 				LEFT JOIN zs_reimbursement_detail_info_report r4 ON a.id = r4.info_id
 				AND r4.del_flag = 0
 				LEFT JOIN cw_reimbursement_type_info t4 ON b4.type_id = t4.id

+ 26 - 23
jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/service/ZsReimbursementInfoService.java

@@ -129,7 +129,13 @@ public class ZsReimbursementInfoService {
             queryWrapper.or().apply("(b4.project_id = {0} OR b4.project_name LIKE {1})", dto.getProject(), "%" + dto.getProject() + "%");
         }
         // 报销时间
-        if (dto.getDates() != null) {
+        if (dto.getDates() != null
+                && dto.getDates().length == 2
+                && dto.getDates()[0] != null
+                && dto.getDates()[1] != null
+                && !dto.getDates()[0].toString().isEmpty()
+                && !dto.getDates()[1].toString().isEmpty()) {
+
             queryWrapper.between("a.reim_date", dto.getDates()[0], dto.getDates()[1]);
         }
         // 报销编号
@@ -142,32 +148,29 @@ public class ZsReimbursementInfoService {
         }
         // 报销人
         if (StringUtils.isNotEmpty(dto.getReimBy())) {
-            //UserDTO userDto = userApi.getByLoginNameNoTen(dto.getReimBy());
-            //queryWrapper.apply("( b.user_id like {0} OR us.name LIKE {1} )",  "%" + userDto.getId()+ "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b2.user_id like {0} OR us2.name LIKE {1} )", "%" + userDto.getId()+ "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b3.user_id like {0} OR us3.name LIKE {1} )", "%" + userDto.getId()+ "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b4.user_id like {0} OR us4.name LIKE {1} )", "%" + userDto.getId()+ "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b5.user_id like {0} OR us5.name LIKE {1} )", "%" + userDto.getId()+ "%", "%" + dto.getReimBy() + "%");
+
             List<User> users = userApi.findListByLikeName(dto.getReimBy());
-            if (users != null && !users.isEmpty()) {
-                queryWrapper.and(wrapper -> {
-                    for (int i = 0; i < users.size(); i++) {
-                        User userdto = users.get(i);
-                        if (i > 0) {
-                            wrapper.or();
-                        }
-                        wrapper.apply(
-                                "(b.user_id LIKE {0} OR us.name LIKE {1} " +
-                                        "OR zs1.user_id LIKE {0} OR us3.name LIKE {1} " +
-                                        "OR b4.user_id LIKE {0} OR us4.name LIKE {1} " +
-                                        "OR r4.user_id LIKE {0})",
-                                "'%" + userdto.getId() + "%'",
-                                "'%" + dto.getReimBy() + "%'"
+
+            if (users == null || users.isEmpty()) {
+                queryWrapper.apply("1 = 0");
+            } else {
+
+                queryWrapper.and(qw -> {
+                    for (User u : users) {
+                        qw.or(orQw -> orQw
+                                .like("b.user_id", u.getId())
+                                .or().like("b3.user_id", u.getId())
+                                .or().like("b4.user_id", u.getId())
+                                .or().like("zs1.user_id", u.getId())
+                                .or().like("r4.user_id", u.getId())
+                                .or().like("us.name", dto.getReimBy())
+                                .or().like("us3.name", dto.getReimBy())
+                                .or().like("us4.name", dto.getReimBy())
+                                .or().like("uszs.name", dto.getReimBy())
+                                .or().like("us44.name", dto.getReimBy())
                         );
                     }
                 });
-            }else{
-                queryWrapper.apply("1 = 0");
             }
         }
         // 报销状态

+ 25 - 23
jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/service/ConsultancyReimbursementInfoService.java

@@ -132,7 +132,13 @@ public class ConsultancyReimbursementInfoService {
 
         }
         // 报销时间
-        if (dto.getDates() != null) {
+        if (dto.getDates() != null
+                && dto.getDates().length == 2
+                && dto.getDates()[0] != null
+                && dto.getDates()[1] != null
+                && !dto.getDates()[0].toString().isEmpty()
+                && !dto.getDates()[1].toString().isEmpty()) {
+
             queryWrapper.between("a.reim_date", dto.getDates()[0], dto.getDates()[1]);
         }
         // 报销编号
@@ -144,31 +150,27 @@ public class ConsultancyReimbursementInfoService {
             queryWrapper.apply("(a.create_by_id = {0} OR c.name LIKE {1})", dto.getHandled(), "%" + dto.getHandled() + "%");
         }
         // 报销人
-        if (StringUtils.isNotEmpty(dto.getReimBy())) {
-            //UserDTO userDto = userApi.getByLoginNameNoTen(dto.getReimBy());
-            //queryWrapper.apply("( b.user_id like {0} OR us.name LIKE {1} )", "%" + userDto.getId() + "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b2.user_id like {0} OR us2.name LIKE {1} )", "%" + userDto.getId() + "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b3.user_id like {0} OR us3.name LIKE {1} )", "%" + userDto.getId() + "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b4.user_id like {0} OR us4.name LIKE {1} )", "%" + userDto.getId() + "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b5.user_id like {0} OR us5.name LIKE {1} )", "%" + userDto.getId() + "%", "%" + dto.getReimBy() + "%");
+        if (com.jeeplus.utils.StringUtils.isNotEmpty(dto.getReimBy())) {
             List<User> users = userApi.findListByLikeName(dto.getReimBy());
-            if (users != null && !users.isEmpty()) {
-                queryWrapper.and(wrapper -> {
-                    for (int i = 0; i < users.size(); i++) {
-                        User userdto = users.get(i);
-                        if (i > 0) {
-                            wrapper.or();
-                        }
-                        wrapper.apply("(b.user_id LIKE {0} OR us.name LIKE {1} " +
-                                        "OR b2.user_id LIKE {0} OR us2.name LIKE {1} " +
-                                        "OR b3.user_id LIKE {0} OR us3.name LIKE {1} " +
-                                        "OR b4.user_id LIKE {0} OR us4.name LIKE {1} " +
-                                        "OR b5.user_id LIKE {0} OR us5.name LIKE {1})",
-                                "%" + userdto.getId() + "%", "%" + dto.getReimBy() + "%");
+            if (users == null || users.isEmpty()) {
+                queryWrapper.apply("1 = 0");
+            } else {
+                queryWrapper.and(qw -> {
+                    for (User u : users) {
+                        qw.or(orQw -> orQw
+                                .like("b.user_id", u.getId())
+                                .or().like("b2.user_id", u.getId())
+                                .or().like("b3.user_id", u.getId())
+                                .or().like("b4.user_id", u.getId())
+                                .or().like("b5.user_id", u.getId())
+                                .or().like("us.name", dto.getReimBy())
+                                .or().like("us2.name", dto.getReimBy())
+                                .or().like("us3.name", dto.getReimBy())
+                                .or().like("us4.name", dto.getReimBy())
+                                .or().like("us5.name", dto.getReimBy())
+                        );
                     }
                 });
-            }else{
-                queryWrapper.apply("1 = 0");
             }
         }
         // 报销状态

+ 26 - 24
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/service/CwReimbursementInfoService.java

@@ -144,39 +144,41 @@ public class CwReimbursementInfoService {
 
         }
         // 报销时间
-        if (dto.getDates() != null) {
-            queryWrapper.between("a.approval_time", dto.getDates()[0], dto.getDates()[1]);
+        if (dto.getDates() != null
+                && dto.getDates().length == 2
+                && dto.getDates()[0] != null
+                && dto.getDates()[1] != null
+                && !dto.getDates()[0].toString().isEmpty()
+                && !dto.getDates()[1].toString().isEmpty()) {
+
+            queryWrapper.between("a.reim_date", dto.getDates()[0], dto.getDates()[1]);
         }
         // 经办人
         if (StringUtils.isNotEmpty(dto.getHandled())) {
             queryWrapper.apply("(a.create_by_id = {0} OR c.name LIKE {1})", dto.getHandled(), "%" + dto.getHandled() + "%");
         }
         // 报销人
-        if (StringUtils.isNotEmpty(dto.getReimBy())) {
-            //UserDTO userdto = userApi.getByLoginNameNoTen(dto.getReimBy());
-            //queryWrapper.apply("( b.user_id like {0} OR us.name LIKE {1} )", "%" + userdto.getId() + "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b2.user_id like {0} OR us2.name LIKE {1} )", "%" + userdto.getId() + "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b3.user_id like {0} OR us3.name LIKE {1} )", "%" + userdto.getId() + "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b4.user_id like {0} OR us4.name LIKE {1} )", "%" + userdto.getId() + "%", "%" + dto.getReimBy() + "%");
-            //queryWrapper.or().apply("( b5.user_id like {0} OR us5.name LIKE {1} )", "%" + userdto.getId() + "%", "%" + dto.getReimBy() + "%");
+        if (com.jeeplus.utils.StringUtils.isNotEmpty(dto.getReimBy())) {
             List<User> users = userApi.findListByLikeName(dto.getReimBy());
-            if (users != null && !users.isEmpty()) {
-                queryWrapper.and(wrapper -> {
-                    for (int i = 0; i < users.size(); i++) {
-                        User userdto = users.get(i);
-                        if (i > 0) {
-                            wrapper.or();
-                        }
-                        wrapper.apply("(b.user_id LIKE {0} OR us.name LIKE {1} " +
-                                        "OR b2.user_id LIKE {0} OR us2.name LIKE {1} " +
-                                        "OR b3.user_id LIKE {0} OR us3.name LIKE {1} " +
-                                        "OR b4.user_id LIKE {0} OR us4.name LIKE {1} " +
-                                        "OR b5.user_id LIKE {0} OR us5.name LIKE {1})",
-                                "%" + userdto.getId() + "%", "%" + dto.getReimBy() + "%");
+            if (users == null || users.isEmpty()) {
+                queryWrapper.apply("1 = 0");
+            } else {
+                queryWrapper.and(qw -> {
+                    for (User u : users) {
+                        qw.or(orQw -> orQw
+                                .like("b.user_id", u.getId())
+                                .or().like("b2.user_id", u.getId())
+                                .or().like("b3.user_id", u.getId())
+                                .or().like("b4.user_id", u.getId())
+                                .or().like("b5.user_id", u.getId())
+                                .or().like("us.name", dto.getReimBy())
+                                .or().like("us2.name", dto.getReimBy())
+                                .or().like("us3.name", dto.getReimBy())
+                                .or().like("us4.name", dto.getReimBy())
+                                .or().like("us5.name", dto.getReimBy())
+                        );
                     }
                 });
-            }else{
-                queryWrapper.apply("1 = 0");
             }
         }
         // 报销状态