Просмотр исходного кода

Merge branch 'fix/attendance1016' into 'wrdp'

【考勤】修复多人同时打卡时后台更新数据锁死

See merge request o2oa/o2oa!1831
o2null 5 лет назад
Родитель
Сommit
52da88a62f
14 измененных файлов с 8 добавлено и 38 удалено
  1. 0 1
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/CacheUtil.java
  2. 0 3
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/QueueAttendanceDetailStatistic.java
  3. 0 4
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/QueuePersonAttendanceDetailAnalyse.java
  4. 0 1
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancestatisticalcycle/ActionDelete.java
  5. 0 1
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancestatisticalcycle/ActionSave.java
  6. 2 4
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancestatisticalcycle/BaseAction.java
  7. 0 2
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendanceworkdayconfig/ActionDelete.java
  8. 0 1
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendanceworkdayconfig/ActionSave.java
  9. 0 2
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/ActionDelete.java
  10. 0 1
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/ActionDeleteByWfDocId.java
  11. 0 9
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/ActionSave.java
  12. 2 4
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/BaseAction.java
  13. 0 4
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/AttendanceDetailAnalyseService.java
  14. 4 1
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/AttendanceDetailServiceAdv.java

+ 0 - 1
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/CacheUtil.java

@@ -1,7 +1,6 @@
 package com.x.attendance.assemble.control;
 
 import com.x.base.core.entity.JpaObject;
-import com.x.base.core.project.cache.ApplicationCache;
 import com.x.base.core.project.cache.CacheManager;
 
 /**

+ 0 - 3
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/QueueAttendanceDetailStatistic.java

@@ -5,11 +5,9 @@ import com.x.attendance.assemble.control.service.*;
 import com.x.attendance.entity.AttendanceStatisticRequireLog;
 import com.x.attendance.entity.AttendanceStatisticalCycle;
 import com.x.attendance.entity.AttendanceWorkDayConfig;
-import com.x.base.core.project.cache.ApplicationCache;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.queue.AbstractQueue;
-import net.sf.ehcache.Ehcache;
 import java.util.List;
 import java.util.Map;
 
@@ -28,7 +26,6 @@ public class QueueAttendanceDetailStatistic extends AbstractQueue<String> {
         AttendanceStatisticalCycleServiceAdv statisticalCycleServiceAdv = new AttendanceStatisticalCycleServiceAdv();
         AttendanceStatisticRequireLog log = statisticRequireLogServiceAdv.get(logId);
 
-        Ehcache cache = ApplicationCache.instance().getCache( AttendanceStatisticalCycle.class);
         if( log != null ){
             logger.debug("system try to statistic attendance detail, logId:" + logId );
             AttendanceStatisticalCycle attendanceStatisticalCycle  = null;

+ 0 - 4
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/QueuePersonAttendanceDetailAnalyse.java

@@ -7,13 +7,9 @@ import com.x.attendance.assemble.control.service.AttendanceWorkDayConfigServiceA
 import com.x.attendance.entity.AttendanceDetail;
 import com.x.attendance.entity.AttendanceStatisticalCycle;
 import com.x.attendance.entity.AttendanceWorkDayConfig;
-import com.x.base.core.project.cache.ApplicationCache;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.queue.AbstractQueue;
-import net.sf.ehcache.Ehcache;
-import net.sf.ehcache.Element;
-
 import java.util.List;
 import java.util.Map;
 

+ 0 - 1
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancestatisticalcycle/ActionDelete.java

@@ -5,7 +5,6 @@ import com.x.attendance.entity.AttendanceStatisticalCycle;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.entity.annotation.CheckRemoveType;
-import com.x.base.core.project.cache.ApplicationCache;
 import com.x.base.core.project.cache.CacheManager;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;

+ 0 - 1
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancestatisticalcycle/ActionSave.java

@@ -14,7 +14,6 @@ import com.x.base.core.entity.JpaObject;
 import com.x.base.core.entity.annotation.CheckPersistType;
 import com.x.base.core.project.bean.WrapCopier;
 import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.cache.ApplicationCache;
 import com.x.base.core.project.cache.CacheManager;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;

+ 2 - 4
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancestatisticalcycle/BaseAction.java

@@ -3,13 +3,11 @@ package com.x.attendance.assemble.control.jaxrs.attendancestatisticalcycle;
 import com.x.attendance.assemble.common.date.DateOperation;
 import com.x.attendance.assemble.control.service.UserManagerService;
 import com.x.attendance.entity.AttendanceStatisticalCycle;
-import com.x.base.core.project.cache.ApplicationCache;
+import com.x.base.core.project.cache.Cache;
 import com.x.base.core.project.jaxrs.StandardJaxrsAction;
-import net.sf.ehcache.Ehcache;
 
 public class BaseAction extends StandardJaxrsAction{
-
-	protected Ehcache cache = ApplicationCache.instance().getCache( AttendanceStatisticalCycle.class);
+	protected Cache.CacheCategory cache = new Cache.CacheCategory( AttendanceStatisticalCycle.class);
 	protected UserManagerService userManagerService = new UserManagerService();
 	protected DateOperation dateOperation = new DateOperation();
 

+ 0 - 2
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendanceworkdayconfig/ActionDelete.java

@@ -2,12 +2,10 @@ package com.x.attendance.assemble.control.jaxrs.attendanceworkdayconfig;
 
 import javax.servlet.http.HttpServletRequest;
 
-import com.x.attendance.entity.AttendanceStatisticalCycle;
 import com.x.attendance.entity.AttendanceWorkDayConfig;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.entity.annotation.CheckRemoveType;
-import com.x.base.core.project.cache.ApplicationCache;
 import com.x.base.core.project.cache.CacheManager;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;

+ 0 - 1
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendanceworkdayconfig/ActionSave.java

@@ -14,7 +14,6 @@ import com.x.base.core.entity.JpaObject;
 import com.x.base.core.entity.annotation.CheckPersistType;
 import com.x.base.core.project.bean.WrapCopier;
 import com.x.base.core.project.bean.WrapCopierFactory;
-import com.x.base.core.project.cache.ApplicationCache;
 import com.x.base.core.project.cache.CacheManager;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;

+ 0 - 2
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/ActionDelete.java

@@ -7,11 +7,9 @@ import javax.servlet.http.HttpServletRequest;
 
 import com.x.attendance.assemble.control.ThisApplication;
 import com.x.attendance.entity.AttendanceSelfHoliday;
-import com.x.attendance.entity.AttendanceStatisticalCycle;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.entity.annotation.CheckRemoveType;
-import com.x.base.core.project.cache.ApplicationCache;
 import com.x.base.core.project.cache.CacheManager;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;

+ 0 - 1
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/ActionDeleteByWfDocId.java

@@ -10,7 +10,6 @@ import com.x.attendance.entity.AttendanceSelfHoliday;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.entity.annotation.CheckRemoveType;
-import com.x.base.core.project.cache.ApplicationCache;
 import com.x.base.core.project.cache.CacheManager;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;

+ 0 - 9
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/ActionSave.java

@@ -4,16 +4,11 @@ import com.google.gson.JsonElement;
 import com.x.attendance.assemble.control.ExceptionWrapInConvert;
 import com.x.attendance.assemble.control.ThisApplication;
 import com.x.attendance.entity.AttendanceSelfHoliday;
-import com.x.attendance.entity.AttendanceStatisticalCycle;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.AbstractPersistenceProperties;
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.entity.annotation.CheckPersist;
 import com.x.base.core.entity.annotation.CheckPersistType;
 import com.x.base.core.entity.annotation.CheckRemoveType;
 import com.x.base.core.project.annotation.FieldDescribe;
-import com.x.base.core.project.cache.ApplicationCache;
 import com.x.base.core.project.cache.CacheManager;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
@@ -25,13 +20,9 @@ import com.x.base.core.project.organization.Unit;
 import com.x.base.core.project.tools.ListTools;
 import org.apache.commons.lang3.StringUtils;
 
-import javax.persistence.Column;
-import javax.persistence.Temporal;
-import javax.persistence.TemporalType;
 import javax.servlet.http.HttpServletRequest;
 import java.util.Date;
 import java.util.List;
-import java.util.Map;
 
 public class ActionSave extends BaseAction {
 	

+ 2 - 4
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/BaseAction.java

@@ -5,14 +5,12 @@ import com.x.attendance.assemble.control.service.AttendanceSelfHolidayServiceAdv
 import com.x.attendance.assemble.control.service.AttendanceStatisticalCycleServiceAdv;
 import com.x.attendance.assemble.control.service.UserManagerService;
 import com.x.attendance.entity.AttendanceSelfHoliday;
-import com.x.attendance.entity.AttendanceStatisticalCycle;
-import com.x.base.core.project.cache.ApplicationCache;
+import com.x.base.core.project.cache.Cache;
 import com.x.base.core.project.jaxrs.StandardJaxrsAction;
 import net.sf.ehcache.Ehcache;
 
 public class BaseAction extends StandardJaxrsAction{
-
-	protected Ehcache cache = ApplicationCache.instance().getCache( AttendanceSelfHoliday.class);
+	protected Cache.CacheCategory cache = new Cache.CacheCategory( AttendanceSelfHoliday.class);
 	protected UserManagerService userManagerService = new UserManagerService();
 	protected AttendanceStatisticalCycleServiceAdv attendanceStatisticCycleServiceAdv = new AttendanceStatisticalCycleServiceAdv();
 	protected AttendanceDetailAnalyseServiceAdv attendanceDetailAnalyseServiceAdv = new AttendanceDetailAnalyseServiceAdv();

+ 0 - 4
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/AttendanceDetailAnalyseService.java

@@ -7,16 +7,12 @@ import java.util.List;
 import java.util.Map;
 
 import com.x.attendance.assemble.control.ThisApplication;
-import com.x.base.core.project.cache.ApplicationCache;
 import com.x.base.core.project.tools.ListTools;
-import net.sf.ehcache.Ehcache;
-import net.sf.ehcache.Element;
 import org.apache.commons.lang3.StringUtils;
 
 import com.x.attendance.assemble.common.date.DateOperation;
 import com.x.attendance.assemble.control.Business;
 import com.x.attendance.assemble.control.factory.AttendanceStatisticRequireLogFactory;
-import com.x.attendance.assemble.control.jaxrs.attendancedetail.AttendanceCycles;
 import com.x.attendance.entity.AttendanceDetail;
 import com.x.attendance.entity.AttendanceScheduleSetting;
 import com.x.attendance.entity.AttendanceSelfHoliday;

+ 4 - 1
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/AttendanceDetailServiceAdv.java

@@ -307,6 +307,7 @@ public class AttendanceDetailServiceAdv {
 				}
 				if( detail_old == null ) {
 					detail.setBatchName( "FromMobile_" + dateOperation.getNowTimeChar() );
+					detail.setRecordStatus(1);
 					emc.beginTransaction( AttendanceDetail.class );
 					emc.persist( detail , CheckPersistType.all );
 					emc.commit();
@@ -314,15 +315,17 @@ public class AttendanceDetailServiceAdv {
 				}else {
 					emc.beginTransaction( AttendanceDetail.class );
 					detail.copyTo( detail_old, JpaObject.FieldsUnmodify);
+					detail_old.setRecordStatus(1);
 					emc.check( detail_old , CheckPersistType.all );
 					emc.commit();
 				}
+				/*可能引起多人同时打卡时commit error
 				emc.beginTransaction( AttendanceDetailMobile.class );
 				for( AttendanceDetailMobile detailMobile : mobileDetails ) {
 					detailMobile.setRecordStatus(1);
 					emc.check( detailMobile , CheckPersistType.all );
 				}
-				emc.commit();
+				emc.commit();*/
 
 				//分析保存好的考勤数据
 				try {