Bläddra i källkod

mysql default drvierClass

zhourui 5 år sedan
förälder
incheckning
6a1e33c651

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/container/factory/SlicePropertiesBuilder.java

@@ -10,7 +10,7 @@ public class SlicePropertiesBuilder {
 
 
 	public static String driver_db2 = "com.ibm.db2.jcc.DB2Driver";
 	public static String driver_db2 = "com.ibm.db2.jcc.DB2Driver";
 	public static String driver_oracle = "oracle.jdbc.OracleDriver";
 	public static String driver_oracle = "oracle.jdbc.OracleDriver";
-	public static String driver_mysql = "com.mysql.jdbc.Driver";
+	public static String driver_mysql = "com.mysql.cj.jdbc.Driver";
 	public static String driver_postgresql = "org.postgresql.Driver";
 	public static String driver_postgresql = "org.postgresql.Driver";
 	public static String driver_informix = "com.informix.jdbc.IfxDriver";
 	public static String driver_informix = "com.informix.jdbc.IfxDriver";
 	public static String driver_h2 = "org.h2.Driver";
 	public static String driver_h2 = "org.h2.Driver";

+ 16 - 2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/ActionCountWithPerson.java

@@ -3,6 +3,12 @@ package com.x.processplatform.assemble.surface.jaxrs.work;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeUnit;
 
 
+import javax.persistence.EntityManager;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 
 
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.EntityManagerContainer;
@@ -18,6 +24,7 @@ import com.x.processplatform.core.entity.content.ReadCompleted;
 import com.x.processplatform.core.entity.content.Review;
 import com.x.processplatform.core.entity.content.Review;
 import com.x.processplatform.core.entity.content.Task;
 import com.x.processplatform.core.entity.content.Task;
 import com.x.processplatform.core.entity.content.TaskCompleted;
 import com.x.processplatform.core.entity.content.TaskCompleted;
+import com.x.processplatform.core.entity.content.TaskCompleted_;
 
 
 class ActionCountWithPerson extends ActionComplex {
 class ActionCountWithPerson extends ActionComplex {
 
 
@@ -39,9 +46,16 @@ class ActionCountWithPerson extends ActionComplex {
 				});
 				});
 				/* 已办仅取latest */
 				/* 已办仅取latest */
 				CompletableFuture<Void> future_taskCompleted = CompletableFuture.runAsync(() -> {
 				CompletableFuture<Void> future_taskCompleted = CompletableFuture.runAsync(() -> {
+					EntityManager em;
 					try {
 					try {
-						wo.setTaskCompleted(emc.countEqualAndNotEqual(TaskCompleted.class,
-								TaskCompleted.person_FIELDNAME, person, TaskCompleted.latest_FIELDNAME, false));
+						em = business.entityManagerContainer().get(TaskCompleted.class);
+						CriteriaBuilder cb = em.getCriteriaBuilder();
+						CriteriaQuery<Long> cq = cb.createQuery(Long.class);
+						Root<TaskCompleted> root = cq.from(TaskCompleted.class);
+						Predicate p = cb.equal(root.get(TaskCompleted_.person), person);
+						p = cb.and(p, cb.or(cb.equal(root.get(TaskCompleted_.latest), true),
+								cb.isNull(root.get(TaskCompleted_.latest))));
+						wo.setTaskCompleted(em.createQuery(cq.select(cb.count(root)).where(p)).getSingleResult());
 					} catch (Exception e) {
 					} catch (Exception e) {
 						logger.error(e);
 						logger.error(e);
 					}
 					}