Ver Fonte

1.大中型台账关键字查询优化

GouGengquan há 5 meses atrás
pai
commit
d472bcaaaa

+ 11 - 3
dao/src/main/resources/mapper/MajorStatisticalStatementMapper.xml

@@ -8,8 +8,8 @@
                report.report_no AS reportNo,
                department.name AS departmentName,
                major.name AS projectName,
-               (SELECT customer_company.name FROM customer_company WHERE customer_company.id = major.clientele_id) AS customerName,
-               (SELECT customer_company.name FROM customer_company WHERE customer_company.id = major.clientele_sub_id) AS customerSubName,
+               customer.name AS customerName,
+               customer_sub.name AS customerSubName,
                manager.name AS clientManagerName,
                principal.name AS principalName,
                major.members AS members,
@@ -95,6 +95,8 @@
         LEFT JOIN user AS manager ON manager.id = major.client_manager_id
         LEFT JOIN user AS principal ON principal.id = major.principal_id
         LEFT JOIN department ON department.id = major.department_id
+        LEFT JOIN customer_company AS customer ON customer.id = major.clientele_id
+        LEFT JOIN customer_company AS customer_sub ON customer_sub.id = major.clientele_sub_id
         LEFT JOIN (
             SELECT node.`name`,instance.business_id,instance.business_sub_id,instance.business_min_id,instance.state
             FROM work_flow_node_instance AS instance,
@@ -112,7 +114,13 @@
             AND (
             major.order_id LIKE CONCAT('%',#{dto.keyWord},'%') OR
             major.name LIKE CONCAT('%',#{dto.keyWord},'%') OR
-            report.name LIKE CONCAT('%',#{dto.keyWord},'%')
+            report.name LIKE CONCAT('%',#{dto.keyWord},'%') OR
+            report.report_no LIKE CONCAT('%',#{dto.keyWord},'%') OR
+            principal.name LIKE CONCAT('%',#{dto.keyWord},'%') OR
+            major.business_object_type LIKE CONCAT('%',#{dto.keyWord},'%') OR
+            major.allot_type LIKE CONCAT('%',#{dto.keyWord},'%') OR
+            customer.name LIKE CONCAT('%',#{dto.keyWord},'%') OR
+            customer_sub.name LIKE CONCAT('%',#{dto.keyWord},'%')
             )
         </if>
         <if test="dto != null and dto.clientManagerId">

+ 3 - 4
service/src/main/java/com/dayou/service/impl/PersonalStatisticalStatementServiceImpl.java

@@ -180,14 +180,13 @@ public class PersonalStatisticalStatementServiceImpl implements IPersonalStatist
             if(ObjectUtil.isNotNull(efficiencyVO.getPurpose())) {
 
                 // 有的json数组带了转义符,这里判断一下去掉
-                // 去掉反斜杠
+                // 去掉反斜杠和首尾的引号
                 String modifiedString = efficiencyVO.getPurpose().replace("\\", "");
                 if (modifiedString.startsWith("\"") && modifiedString.endsWith("\"")) {
                     modifiedString = modifiedString.substring(1, modifiedString.length() - 1);
                 }
                 efficiencyVO.setPurpose(modifiedString);
 
-
                 JSONArray jsonArray = JSONArray.parseArray(efficiencyVO.getPurpose());
                 List<String> purposeCodeList = jsonArray.toJavaList(String.class);
                 StringBuilder purpose = new StringBuilder();
@@ -203,10 +202,10 @@ public class PersonalStatisticalStatementServiceImpl implements IPersonalStatist
                         case "OFFICE":
                             purpose.append("办公");
                             break;
-                        case "OTHER":
+                        case "INDUSTRIAL":
                             purpose.append("工业");
                             break;
-                        default:
+                        case "OTHER":
                             purpose.append("其他");
                             break;
                     }