Browse Source

fix conflect

zhourui 5 years ago
parent
commit
62aa5338c5
29 changed files with 229 additions and 85 deletions
  1. 2 1
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/appdictdesign/ActionEdit.java
  2. 5 4
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/categoryinfo/ActionDelete.java
  3. 6 5
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/categoryinfo/ActionSave.java
  4. 3 2
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/comment/ActionSave.java
  5. 2 1
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/ActionPersistChangeCategory.java
  6. 2 1
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/ActionPersistPublishAndNotify.java
  7. 3 4
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/ActionPersistPublishContent.java
  8. 3 2
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/fileinfo/ActionDelete.java
  9. 4 3
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/fileinfo/ActionFileUpdate.java
  10. 4 3
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/fileinfo/ActionFileUploadCallback.java
  11. 2 1
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/permission/ActionRefreshAllDocumentPermission.java
  12. 2 1
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/permission/ActionRefreshDocumentPermission.java
  13. 2 1
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/queryviewdesign/ActionDelete.java
  14. 2 1
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/queryviewdesign/ActionUpdate.java
  15. 2 1
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/templateform/ActionDelete.java
  16. 4 3
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/viewcategory/ActionDelete.java
  17. 3 2
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/viewcategory/ActionSave.java
  18. 2 1
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/viewfieldconfig/ActionDelete.java
  19. 3 2
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/viewfieldconfig/ActionSave.java
  20. 8 6
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/queue/QueueDataRowImport.java
  21. 1 1
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/service/CmsBatchOperationPersistService.java
  22. 14 13
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/service/CmsBatchOperationProcessService.java
  23. 2 1
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/service/DocumentPersistService.java
  24. 104 0
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/unitduty/ActionGetWithUnitWithName.java
  25. 1 7
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/unitduty/BaseAction.java
  26. 18 0
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/unitduty/UnitDutyAction.java
  27. 6 8
      o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/element/End.java
  28. 16 6
      o2web/source/o2_core/o2.js
  29. 3 4
      o2web/source/x_component_Empty/Main.js

+ 2 - 1
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/appdictdesign/ActionEdit.java

@@ -13,6 +13,7 @@ import com.x.base.core.entity.dataitem.ItemCategory;
 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;
 import com.x.base.core.project.jaxrs.WoId;
@@ -63,7 +64,7 @@ class ActionEdit extends BaseAction {
 				emc.persist(o, CheckPersistType.all);
 			}
 			emc.commit();
-			ApplicationCache.notify(AppDict.class);
+			CacheManager.notify(AppDict.class);
 			Wo wo = new Wo();
 			wo.setId(dict.getId());
 			result.setData(wo);

+ 5 - 4
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/categoryinfo/ActionDelete.java

@@ -2,6 +2,7 @@ package com.x.cms.assemble.control.jaxrs.categoryinfo;
 
 import com.x.base.core.project.annotation.AuditLog;
 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;
 import com.x.base.core.project.jaxrs.WoId;
@@ -71,10 +72,10 @@ public class ActionDelete extends BaseAction {
 						CmsBatchOperationProcessService.OPT_TYPE_DELETE, id, id, "删除分类:ID=" + id );
 				
 				new LogService().log(null, effectivePerson.getDistinguishedName(), categoryInfo.getAppName() + "-" + categoryInfo.getCategoryName(), id, "", "", "", "CATEGORY", "删除");
-				
-				ApplicationCache.notify( AppInfo.class );
-				ApplicationCache.notify( CategoryInfo.class );
-				ApplicationCache.notify( ViewCategory.class );
+
+				CacheManager.notify( AppInfo.class );
+				CacheManager.notify( CategoryInfo.class );
+				CacheManager.notify( ViewCategory.class );
 			} catch (Exception e) {
 				Exception exception = new ExceptionCategoryInfoProcess(e, "分类信息在删除时发生异常。ID:" + id);
 				result.error(exception);

+ 6 - 5
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/categoryinfo/ActionSave.java

@@ -7,6 +7,7 @@ import com.x.base.core.project.annotation.FieldDescribe;
 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;
 import com.x.base.core.project.jaxrs.WoId;
@@ -190,11 +191,11 @@ public class ActionSave extends BaseAction {
 				}else {
 					new LogService().log(null, effectivePerson.getDistinguishedName(), categoryInfo.getAppName() + "-" + categoryInfo.getCategoryName(), categoryInfo.getId(), "", "", "", "CATEGORY", "新增");
 				}
-				
-				ApplicationCache.notify(AppInfo.class);
-				ApplicationCache.notify(CategoryInfo.class);
-				ApplicationCache.notify(ViewCategory.class);
-				ApplicationCache.notify(Document.class);
+
+				CacheManager.notify(AppInfo.class);
+				CacheManager.notify(CategoryInfo.class);
+				CacheManager.notify(ViewCategory.class);
+				CacheManager.notify(Document.class);
 			} catch (Exception e) {
 				check = false;
 				Exception exception = new ExceptionCategoryInfoProcess(e, "分类信息在保存时发生异常.");

+ 3 - 2
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/comment/ActionSave.java

@@ -7,6 +7,7 @@ import com.x.base.core.project.annotation.FieldDescribe;
 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;
 import com.x.base.core.project.jaxrs.WoId;
@@ -64,8 +65,8 @@ public class ActionSave extends BaseAction {
 				documentCommentInfo = documentCommentInfoPersistService.save( documentCommentInfo, wi.getContent(),  effectivePerson );
 				
 				// 更新缓存
-				ApplicationCache.notify( Document.class );
-				ApplicationCache.notify( DocumentCommentInfo.class );
+				CacheManager.notify( Document.class );
+				CacheManager.notify( DocumentCommentInfo.class );
 				
 				Wo wo = new Wo();
 				wo.setId( documentCommentInfo.getId() );

+ 2 - 1
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/ActionPersistChangeCategory.java

@@ -4,6 +4,7 @@ import com.google.gson.JsonElement;
 import com.x.base.core.project.annotation.AuditLog;
 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.gson.GsonPropertyObject;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
@@ -123,7 +124,7 @@ public class ActionPersistChangeCategory extends BaseAction {
 				}
 				wo.setFailtureList( failture );
 				wo.setSuccessList( success );
-				ApplicationCache.notify(Document.class);
+				CacheManager.notify(Document.class);
 			}
 		}
 		result.setCount(Long.parseLong(  wo.getTotal().toString() ) );

+ 2 - 1
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/ActionPersistPublishAndNotify.java

@@ -9,6 +9,7 @@ import com.x.base.core.project.annotation.FieldDescribe;
 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;
 import com.x.base.core.project.jaxrs.WoId;
@@ -214,7 +215,7 @@ public class ActionPersistPublishAndNotify extends BaseAction {
 			}
 		}
 
-		ApplicationCache.notify( Document.class );
+		CacheManager.notify( Document.class );
 
 		return result;
 	}

+ 3 - 4
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/ActionPersistPublishContent.java

@@ -7,6 +7,7 @@ import java.util.*;
 import javax.servlet.http.HttpServletRequest;
 
 import com.x.base.core.entity.annotation.CheckPersistType;
+import com.x.base.core.project.cache.CacheManager;
 import com.x.base.core.project.config.StorageMapping;
 import com.x.base.core.project.exception.ExceptionWhen;
 import com.x.processplatform.core.entity.content.Attachment;
@@ -16,12 +17,10 @@ import org.apache.commons.lang3.StringUtils;
 import com.google.gson.JsonElement;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.entity.JpaObject;
 import com.x.base.core.project.annotation.AuditLog;
 import com.x.base.core.project.annotation.FieldDescribe;
 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.gson.XGsonBuilder;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
@@ -416,8 +415,8 @@ public class ActionPersistPublishContent extends BaseAction {
 			}
 		}
 
-		ApplicationCache.notify(FileInfo.class);
-		ApplicationCache.notify(Document.class);
+		CacheManager.notify(FileInfo.class);
+		CacheManager.notify(Document.class);
 		return result;
 	}
 

+ 3 - 2
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/fileinfo/ActionDelete.java

@@ -5,6 +5,7 @@ import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.entity.annotation.CheckRemoveType;
 import com.x.base.core.project.annotation.AuditLog;
 import com.x.base.core.project.cache.ApplicationCache;
+import com.x.base.core.project.cache.CacheManager;
 import com.x.base.core.project.config.StorageMapping;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
@@ -76,12 +77,12 @@ public class ActionDelete extends BaseAction {
 			keys.add( "file.all" ); //清除文档的附件列表缓存
 			keys.add( "file." + id  ); //清除指定ID的附件信息缓存
 			keys.add( ApplicationCache.concreteCacheKey( "document", document.getId(), isAnonymous, isManager ) ); //清除文档的附件列表缓存
-			ApplicationCache.notify( FileInfo.class, keys );
+			CacheManager.notify( FileInfo.class, keys );
 			
 			keys.clear();
 			keys.add(  ApplicationCache.concreteCacheKey( document.getId(), "view", isAnonymous, isManager ) ); //清除文档阅读缓存
 			keys.add( ApplicationCache.concreteCacheKey( document.getId(), "get", isManager )  ); //清除文档信息获取缓存
-			ApplicationCache.notify( Document.class, keys );
+			CacheManager.notify( Document.class, keys );
 			
 			// 成功删除一个附件信息
 			logService.log(emc, effectivePerson.getDistinguishedName(), fileInfo.getName(), fileInfo.getAppId(),

+ 4 - 3
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/fileinfo/ActionFileUpdate.java

@@ -5,6 +5,7 @@ import java.util.UUID;
 
 import javax.servlet.http.HttpServletRequest;
 
+import com.x.base.core.project.cache.CacheManager;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.tika.Tika;
@@ -205,9 +206,9 @@ public class ActionFileUpdate extends BaseAction {
 //				keys.add(  ApplicationCache.concreteCacheKey( document.getId(), "view", isAnonymous, isManager ) ); //清除文档阅读缓存
 //				keys.add( ApplicationCache.concreteCacheKey( document.getId(), "get", isManager )  ); //清除文档信息获取缓存
 //				ApplicationCache.notify( Document.class, keys );
-				
-				ApplicationCache.notify( FileInfo.class );
-				ApplicationCache.notify( Document.class );	
+
+				CacheManager.notify( FileInfo.class );
+				CacheManager.notify( Document.class );
 				
 				Wo wo = new Wo();
 				wo.setId( attachment.getId() );

+ 4 - 3
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/fileinfo/ActionFileUploadCallback.java

@@ -5,6 +5,7 @@ import java.util.UUID;
 
 import javax.servlet.http.HttpServletRequest;
 
+import com.x.base.core.project.cache.CacheManager;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.tika.Tika;
@@ -128,9 +129,9 @@ public class ActionFileUploadCallback extends BaseAction {
 //				keys.add(  ApplicationCache.concreteCacheKey( document.getId(), "view", isAnonymous, isManager ) ); //清除文档阅读缓存
 //				keys.add( ApplicationCache.concreteCacheKey( document.getId(), "get", isManager )  ); //清除文档信息获取缓存
 //				ApplicationCache.notify( Document.class, keys );
-				
-				ApplicationCache.notify( FileInfo.class );
-				ApplicationCache.notify( Document.class );	
+
+				CacheManager.notify( FileInfo.class );
+				CacheManager.notify( Document.class );
 				
 				WoObject woObject = new WoObject();
 				woObject.setId(attachment.getId());

+ 2 - 1
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/permission/ActionRefreshAllDocumentPermission.java

@@ -2,6 +2,7 @@ package com.x.cms.assemble.control.jaxrs.permission;
 
 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;
 import com.x.base.core.project.logger.Logger;
@@ -34,7 +35,7 @@ public class ActionRefreshAllDocumentPermission extends BaseAction {
 				logger.error(e, effectivePerson, request, null);
 			}
 		}
-		ApplicationCache.notify(Document.class);
+		CacheManager.notify(Document.class);
 		return result;
 	}
 

+ 2 - 1
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/permission/ActionRefreshDocumentPermission.java

@@ -5,6 +5,7 @@ import com.x.base.core.entity.JpaObject;
 import com.x.base.core.project.annotation.AuditLog;
 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;
 import com.x.base.core.project.jaxrs.WoId;
@@ -84,7 +85,7 @@ public class ActionRefreshDocumentPermission extends BaseAction {
 
 		}
 
-		ApplicationCache.notify( Document.class );
+		CacheManager.notify( Document.class );
 
 		return result;
 	}

+ 2 - 1
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/queryviewdesign/ActionDelete.java

@@ -4,6 +4,7 @@ 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.exception.ExceptionWhen;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
@@ -22,7 +23,7 @@ class ActionDelete extends BaseAction {
 			//business.applicationEditAvailable(effectivePerson, application, ExceptionWhen.not_allow);
 			emc.remove(queryView, CheckRemoveType.all);
 			emc.commit();
-			ApplicationCache.notify(QueryView.class);
+			CacheManager.notify(QueryView.class);
 			
 			Wo wo = new Wo();
 			wo.setId( queryView.getId() );

+ 2 - 1
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/queryviewdesign/ActionUpdate.java

@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+import com.x.base.core.project.cache.CacheManager;
 import org.apache.commons.lang3.StringUtils;
 
 import com.google.gson.JsonElement;
@@ -49,7 +50,7 @@ class ActionUpdate extends BaseAction {
 					this.transQuery(queryView);
 					emc.check(queryView, CheckPersistType.all);
 					emc.commit();
-					ApplicationCache.notify(QueryView.class);
+					CacheManager.notify(QueryView.class);
 					
 					Wo wo = new Wo();
 					wo.setId( queryView.getId() );

+ 2 - 1
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/templateform/ActionDelete.java

@@ -4,6 +4,7 @@ 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;
 import com.x.base.core.project.jaxrs.WoId;
@@ -28,7 +29,7 @@ class ActionDelete extends BaseAction {
 			emc.beginTransaction(TemplateForm.class);
 			emc.remove(template, CheckRemoveType.all);
 			emc.commit();
-			ApplicationCache.notify(TemplateForm.class);
+			CacheManager.notify(TemplateForm.class);
 			Wo wo = new Wo();
 			wo.setId(template.getId());
 			result.setData(wo);

+ 4 - 3
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/viewcategory/ActionDelete.java

@@ -6,6 +6,7 @@ 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;
 import com.x.base.core.project.jaxrs.WoId;
@@ -39,9 +40,9 @@ public class ActionDelete extends BaseAction {
 			Wo wo = new Wo();
 			wo.setId( viewCategory.getId() );
 			result.setData(wo);
-			
-			ApplicationCache.notify( View.class );
-			ApplicationCache.notify( ViewCategory.class );
+
+			CacheManager.notify( View.class );
+			CacheManager.notify( ViewCategory.class );
 		} catch (Throwable th) {
 			th.printStackTrace();
 			result.error(th);

+ 3 - 2
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/viewcategory/ActionSave.java

@@ -5,6 +5,7 @@ import java.util.List;
 
 import javax.servlet.http.HttpServletRequest;
 
+import com.x.base.core.project.cache.CacheManager;
 import org.apache.commons.lang3.StringUtils;
 
 import com.google.gson.JsonElement;
@@ -74,8 +75,8 @@ public class ActionSave extends BaseAction {
 				Wo wo = new Wo();
 				wo.setId( viewCategory.getId() );
 				result.setData(wo);
-				ApplicationCache.notify( View.class );
-				ApplicationCache.notify( ViewCategory.class );
+				CacheManager.notify( View.class );
+				CacheManager.notify( ViewCategory.class );
 			} catch (Throwable th) {
 				th.printStackTrace();
 				result.error(th);

+ 2 - 1
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/viewfieldconfig/ActionDelete.java

@@ -8,6 +8,7 @@ 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;
 import com.x.base.core.project.jaxrs.WoId;
@@ -59,7 +60,7 @@ public class ActionDelete extends BaseAction {
 
 			wrap = new Wo();
 			wrap.setId(viewFieldConfig.getId());
-			ApplicationCache.notify(ViewFieldConfig.class);
+			CacheManager.notify(ViewFieldConfig.class);
 			result.setData(wrap);
 		} catch (Throwable th) {
 			th.printStackTrace();

+ 3 - 2
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/viewfieldconfig/ActionSave.java

@@ -5,6 +5,7 @@ import java.util.List;
 
 import javax.servlet.http.HttpServletRequest;
 
+import com.x.base.core.project.cache.CacheManager;
 import org.apache.commons.lang3.StringUtils;
 
 import com.google.gson.JsonElement;
@@ -130,8 +131,8 @@ public class ActionSave extends BaseAction {
 				wrap = new Wo();
 				wrap.setId( viewFieldConfig.getId() );
 				result.setData(wrap);
-				ApplicationCache.notify( ViewFieldConfig.class );
-				ApplicationCache.notify( View.class );
+				CacheManager.notify( ViewFieldConfig.class );
+				CacheManager.notify( View.class );
 			} catch (Throwable th) {
 				th.printStackTrace();
 				result.error(th);

+ 8 - 6
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/queue/QueueDataRowImport.java

@@ -59,7 +59,7 @@ public class QueueDataRowImport extends AbstractQueue<ImportDataRow> {
 						document.setTitle( "无标题"  );
 					}					
 				}
-						
+				boolean flag = false;
 				try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) {
 					emc.beginTransaction( Document.class );
 					document.setDocStatus( excelReadRuntime.template.getDocStatus() ); //已发布
@@ -102,11 +102,7 @@ public class QueueDataRowImport extends AbstractQueue<ImportDataRow> {
 					data.setDocument( document );
 					documentDataHelper.update( data );
 					emc.commit();
-					
-					new CmsBatchOperationPersistService().addOperation( 
-							CmsBatchOperationProcessService.OPT_OBJ_DOCUMENT, 
-							CmsBatchOperationProcessService.OPT_TYPE_PERMISSION,  document.getId(),  document.getId(), "导入新文档:ID=" +  document.getId() );
-					
+					flag = true;
 					dataImportStatus.addDocumentId( document.getId() );
 					dataImportStatus.increaseSuccessTotal(1);
 					System.out.println( "第" + curRow + "行数据导入成功,已经成功提交到数据库!导入成功共"+ excelReadRuntime.wo.getSuccess_count() +"条");
@@ -116,6 +112,12 @@ public class QueueDataRowImport extends AbstractQueue<ImportDataRow> {
 					dataImportStatus.increaseErrorTotal(1);
 					e.printStackTrace();
 				}
+
+				if(flag) {
+					new CmsBatchOperationPersistService().addOperation(
+							CmsBatchOperationProcessService.OPT_OBJ_DOCUMENT,
+							CmsBatchOperationProcessService.OPT_TYPE_PERMISSION, document.getId(), document.getId(), "导入新文档:ID=" + document.getId());
+				}
 			}else {
 				System.out.println("数据导入不成功,propertyNames为空,无法识别数据列对应的属性!");
 			}

+ 1 - 1
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/service/CmsBatchOperationPersistService.java

@@ -41,7 +41,7 @@ public class CmsBatchOperationPersistService {
 		}
 		if( StringUtils.isEmpty( cmsBatchOperation.getDescription()  )) {
 			throw new Exception("description can not empty for save CmsBatchOperation!");
-		}		
+		}
 		try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) {
 			emc.beginTransaction( CmsBatchOperation.class );
 			emc.persist( cmsBatchOperation, CheckPersistType.all ); 

+ 14 - 13
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/service/CmsBatchOperationProcessService.java

@@ -2,6 +2,7 @@ package com.x.cms.assemble.control.service;
 
 import java.util.List;
 
+import com.x.base.core.project.cache.CacheManager;
 import org.apache.commons.lang3.StringUtils;
 
 import com.x.base.core.container.EntityManagerContainer;
@@ -213,8 +214,8 @@ public class CmsBatchOperationProcessService {
 		} catch (Exception e) {
 			throw e;
 		}
-		ApplicationCache.notify( Review.class );
-		ApplicationCache.notify( Document.class );
+		CacheManager.notify( Review.class );
+		CacheManager.notify( Document.class );
 	}
 
 	/**
@@ -271,8 +272,8 @@ public class CmsBatchOperationProcessService {
 		} catch (Exception e) {
 			throw e;
 		}
-		ApplicationCache.notify( Review.class );
-		ApplicationCache.notify( Document.class );
+		CacheManager.notify( Review.class );
+		CacheManager.notify( Document.class );
 	}
 
 
@@ -343,9 +344,9 @@ public class CmsBatchOperationProcessService {
 		} catch (Exception e) {
 			throw e;
 		}
-		
-		ApplicationCache.notify( Document.class );
-		ApplicationCache.notify( CategoryInfo.class );
+
+		CacheManager.notify( Document.class );
+		CacheManager.notify( CategoryInfo.class );
 	}
 
 	/**
@@ -414,8 +415,8 @@ public class CmsBatchOperationProcessService {
 				emc.commit();
 			}
 		}
-		ApplicationCache.notify( Document.class );
-		ApplicationCache.notify( CategoryInfo.class );
+		CacheManager.notify( Document.class );
+		CacheManager.notify( CategoryInfo.class );
 	}
 
 	/**
@@ -479,8 +480,8 @@ public class CmsBatchOperationProcessService {
 		} catch (Exception e) {
 			throw e;
 		}
-		ApplicationCache.notify( CategoryInfo.class );
-		ApplicationCache.notify( Document.class );
+		CacheManager.notify( CategoryInfo.class );
+		CacheManager.notify( Document.class );
 	}
 
 	/**
@@ -530,8 +531,8 @@ public class CmsBatchOperationProcessService {
 		} catch (Exception e) {
 			throw e;
 		}
-		ApplicationCache.notify( Document.class );
-		ApplicationCache.notify( CategoryInfo.class );
+		CacheManager.notify( Document.class );
+		CacheManager.notify( CategoryInfo.class );
 	}
 
 	/**

+ 2 - 1
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/service/DocumentPersistService.java

@@ -6,6 +6,7 @@ import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.entity.annotation.CheckPersistType;
 import com.x.base.core.entity.dataitem.ItemCategory;
 import com.x.base.core.project.cache.ApplicationCache;
+import com.x.base.core.project.cache.CacheManager;
 import com.x.base.core.project.tools.ListTools;
 import com.x.cms.assemble.control.DocumentDataHelper;
 import com.x.cms.assemble.control.jaxrs.document.ActionPersistBatchModifyData.WiDataChange;
@@ -349,7 +350,7 @@ public class DocumentPersistService {
 					}
 				}
 			}
-			ApplicationCache.notify(Document.class);
+			CacheManager.notify(Document.class);
 		}
     }
 }

+ 104 - 0
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/unitduty/ActionGetWithUnitWithName.java

@@ -0,0 +1,104 @@
+package com.x.organization.assemble.express.jaxrs.unitduty;
+
+import com.google.gson.JsonElement;
+import com.x.base.core.container.EntityManagerContainer;
+import com.x.base.core.container.factory.EntityManagerContainerFactory;
+import com.x.base.core.entity.JpaObject;
+import com.x.base.core.project.annotation.FieldDescribe;
+import com.x.base.core.project.bean.WrapCopier;
+import com.x.base.core.project.bean.WrapCopierFactory;
+import com.x.base.core.project.cache.Cache.CacheKey;
+import com.x.base.core.project.cache.CacheManager;
+import com.x.base.core.project.gson.GsonPropertyObject;
+import com.x.base.core.project.http.ActionResult;
+import com.x.base.core.project.http.EffectivePerson;
+import com.x.organization.assemble.express.Business;
+import com.x.organization.core.entity.Unit;
+import com.x.organization.core.entity.UnitDuty;
+import com.x.organization.core.entity.UnitDuty_;
+import org.apache.commons.lang3.StringUtils;
+
+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 java.util.List;
+import java.util.Optional;
+
+class ActionGetWithUnitWithName extends BaseAction {
+
+	ActionResult<Wo> execute(EffectivePerson effectivePerson, JsonElement jsonElement) throws Exception {
+		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
+			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
+			ActionResult<Wo> result = new ActionResult<>();
+			Business business = new Business(emc);
+			if(StringUtils.isBlank(wi.getName()) || StringUtils.isBlank(wi.getUnit())){
+				return result;
+			}
+			CacheKey cacheKey = new CacheKey(this.getClass(), wi.getName(), wi.getUnit());
+			Optional<?> optional = CacheManager.get(cacheCategory, cacheKey);
+			if (optional.isPresent()) {
+				result.setData((Wo) optional.get());
+			} else {
+				Wo wo = this.getUnitDutity(business, wi.getName(), wi.getUnit());
+				CacheManager.put(cacheCategory, cacheKey, wo);
+				result.setData(wo);
+			}
+			return result;
+		}
+	}
+
+	public static class Wi extends GsonPropertyObject {
+
+		@FieldDescribe("职务名称")
+		private String name;
+		@FieldDescribe("组织")
+		private String unit;
+
+		public String getName() {
+			return name;
+		}
+
+		public void setName(String name) {
+			this.name = name;
+		}
+
+		public String getUnit() {
+			return unit;
+		}
+
+		public void setUnit(String unit) {
+			this.unit = unit;
+		}
+
+	}
+
+	public static class Wo extends UnitDuty {
+
+		private static final long serialVersionUID = -8346394290549763465L;
+
+		static WrapCopier<UnitDuty, Wo> copier = WrapCopierFactory.wo(UnitDuty.class, Wo.class, null,
+				JpaObject.FieldsInvisible);
+
+	}
+
+	private Wo getUnitDutity(Business business, String name, String unitFlag) throws Exception {
+		Wo wo = null;
+		Unit unit = business.unit().pick(unitFlag);
+		if (null != unit) {
+			EntityManager em = business.entityManagerContainer().get(UnitDuty.class);
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<UnitDuty> cq = cb.createQuery(UnitDuty.class);
+			Root<UnitDuty> root = cq.from(UnitDuty.class);
+			Predicate p = cb.equal(root.get(UnitDuty_.unit), unit.getId());
+			p = cb.and(p, cb.equal(root.get(UnitDuty_.name), name));
+			List<UnitDuty> os = em.createQuery(cq.select(root).where(p)).getResultList();
+			if (!os.isEmpty()) {
+				wo = Wo.copier.copy(os.get(0));
+			}
+		}
+		return wo;
+	}
+
+}

+ 1 - 7
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/unitduty/BaseAction.java

@@ -15,21 +15,15 @@ import com.x.base.core.project.gson.GsonPropertyObject;
 import com.x.base.core.project.jaxrs.StandardJaxrsAction;
 import com.x.base.core.project.tools.ListTools;
 import com.x.organization.assemble.express.Business;
-import com.x.organization.core.entity.Group;
 import com.x.organization.core.entity.Identity;
 import com.x.organization.core.entity.Person;
-import com.x.organization.core.entity.PersonAttribute;
-import com.x.organization.core.entity.Role;
 import com.x.organization.core.entity.Unit;
-import com.x.organization.core.entity.UnitAttribute;
 import com.x.organization.core.entity.UnitDuty;
 import com.x.organization.core.entity.UnitDuty_;
-import com.x.organization.core.entity.accredit.Empower;
 
 class BaseAction extends StandardJaxrsAction {
 
-	CacheCategory cacheCategory = new CacheCategory(Identity.class, Unit.class, UnitAttribute.class, UnitDuty.class,
-			Role.class, Person.class, PersonAttribute.class, Group.class, Empower.class);
+	CacheCategory cacheCategory = new CacheCategory(Identity.class, Unit.class, UnitDuty.class);
 
 	protected List<String> listUnitDutyDistinguishedNameSorted(Business business, List<String> unitDutyIds)
 			throws Exception {

+ 18 - 0
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/unitduty/UnitDutyAction.java

@@ -137,4 +137,22 @@ public class UnitDutyAction extends StandardJaxrsAction {
 		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
 	}
 
+	@JaxrsMethodDescribe(value = "根据组织和职务名称获取职务信息.", action = ActionGetWithUnitWithName.class)
+	@POST
+	@Path("find/by/unit/name")
+	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
+	@Consumes(MediaType.APPLICATION_JSON)
+	public void getWithUnitWithName(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
+							 JsonElement jsonElement) {
+		ActionResult<ActionGetWithUnitWithName.Wo> result = new ActionResult<>();
+		EffectivePerson effectivePerson = this.effectivePerson(request);
+		try {
+			result = new ActionGetWithUnitWithName().execute(effectivePerson, jsonElement);
+		} catch (Exception e) {
+			logger.error(e, effectivePerson, request, jsonElement);
+			result.error(e);
+		}
+		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
+	}
+
 }

+ 6 - 8
o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/element/End.java

@@ -15,22 +15,20 @@ import javax.persistence.OrderColumn;
 import javax.persistence.Table;
 import javax.persistence.UniqueConstraint;
 
+import org.apache.openjpa.persistence.PersistentCollection;
+import org.apache.openjpa.persistence.jdbc.ContainerTable;
+import org.apache.openjpa.persistence.jdbc.ElementColumn;
+import org.apache.openjpa.persistence.jdbc.ElementIndex;
+import org.apache.openjpa.persistence.jdbc.Index;
+
 import com.x.base.core.entity.JpaObject;
 import com.x.base.core.entity.annotation.CheckPersist;
 import com.x.base.core.entity.annotation.ContainerEntity;
 import com.x.base.core.entity.annotation.Flag;
 import com.x.base.core.entity.annotation.IdReference;
 import com.x.base.core.project.annotation.FieldDescribe;
-import com.x.base.core.project.tools.ListTools;
 import com.x.processplatform.core.entity.PersistenceProperties;
 
-import org.apache.commons.lang3.StringUtils;
-import org.apache.openjpa.persistence.PersistentCollection;
-import org.apache.openjpa.persistence.jdbc.ContainerTable;
-import org.apache.openjpa.persistence.jdbc.ElementColumn;
-import org.apache.openjpa.persistence.jdbc.ElementIndex;
-import org.apache.openjpa.persistence.jdbc.Index;
-
 @Entity
 @ContainerEntity(dumpSize = 5, type = ContainerEntity.Type.element, reference = ContainerEntity.Reference.strong)
 @Table(name = PersistenceProperties.Element.End.table, uniqueConstraints = {

+ 16 - 6
o2web/source/o2_core/o2.js

@@ -697,11 +697,11 @@
         }else{
             dom.insertAdjacentHTML(op.position, data);
         }
-        var els = dom.querySelectorAll("[data-o2-element]");
+        var els = dom.querySelectorAll("[data-o2-element],[data-o2-events]");
         for (var i=0; i<els.length; i++){
             var el = els.item(i);
-            var name = el.getAttribute("data-o2-element").toString();
-            if (name) _bindToModule(op.module, el, name);
+            var name = el.getAttribute("data-o2-element");
+            if (name) _bindToModule(op.module, el, name.toString());
             if (el.hasAttribute("data-o2-events")){
                 var events = el.getAttribute("data-o2-events").toString();
                 if (events) _bindToEvents(op.module, el, events);
@@ -721,12 +721,15 @@
     };
 
     var _bindToEvents = function(m, node, events){
+        var p = node.getParent("div[data-o2-$binddatadd]");
+        var data = (p) ? _parseDataCache[p.dataset["o2-$binddataid"]]: null;
+
         var eventList = events.split(/\s*;\s*/);
         eventList.forEach(function(ev){
             var evs = ev.split(/\s*:\s*/);
             if (evs.length>1){
                 node.addEventListener(evs[0], function(e){
-                    if (m[evs[1]]) m[evs[1]].apply(m, [e]);
+                    if (m[evs[1]]) m[evs[1]].apply(m, [e,data]);
                 }, false);
             }
         });
@@ -846,8 +849,15 @@
         return {"codeIndex": v.length-1, "lastIndex": v.length-1};
     }
 
-    var _parseHtml = function(str, json){
+    var _parseDataCache = {};
+    var _parseHtml = function(str, json, i){
         var v = str;
+        if (i){
+            var r = (Math.random()*1000000).toInt().toString();
+            while (_parseDataCache[r]) r = (Math.random()*1000000).toInt().toString();
+            _parseDataCache[r] = json;
+            v = (i) ? "<div data-o2-$binddataid='"+r+"'>"+str+"</div>" : str;
+        }
         var rex = /(\{\{\s*)[\s\S]*?(\s*\}\})/gmi;
 
         var match;
@@ -887,7 +897,7 @@
                 if (eachValue && _typeOf(eachValue)==="array"){
                     for (var i=0; i<eachValue.length; i++){
                         eachValue[i]._ = json;
-                        eachResult += _parseHtml(parseEachStr, eachValue[i]);
+                        eachResult += _parseHtml(parseEachStr, eachValue[i], i);
                     }
                     var eLeft = v.substring(0, match.index);
                     var eRight = v.substring(rex.lastIndex+endEachIndex.lastIndex, v.length);

+ 3 - 4
o2web/source/x_component_Empty/Main.js

@@ -55,7 +55,7 @@ MWF.xApplication.Empty.Main = new Class({
 
 	},
 	loadTask: function(){
-		alert("loadTask")
+		alert("loadTask");
 	},
 	tabover: function(){
 		//alert("tabover");
@@ -65,8 +65,7 @@ MWF.xApplication.Empty.Main = new Class({
 		//alert("tabout")
 		this.myNode.removeClass("mainColor_bg");
 	},
-	clickNode: function(e){
-		debugger;
-		alert(e.sourceTarget);
+	clickNode: function(e, data){
+		alert(data.title);
 	}
 });