Kaynağa Gözat

git-svn-id: https://192.168.57.71/svn/jsgkj@949 931142cf-59ea-a443-aa0e-51397b428577

xt_yuanxd 8 yıl önce
ebeveyn
işleme
34d88d496b

+ 3 - 3
gkaqv2/trunk/modules/frame/src/main/java/com/xt/js/gkaq/frame/mappers/CodeModelMapper.java

@@ -10,14 +10,14 @@ import com.xt.js.gkaq.frame.model.ComboBoxDto;
 public interface CodeModelMapper extends BaseMapper<CodeModel> {
 
     /**
-     * 锟斤拷询锟斤拷始锟斤拷锟街碉拷
+     * 查询初始化字典
      * 
      * @return
      */
     List<CodeModel> selectInitDict();
 
     /**
-     * 锟斤拷莞锟斤拷锟铰糏D删锟斤拷锟斤拷锟斤拷锟斤拷蛹锟铰�
+     * 根据父记录ID删除关联的子记录
      * 
      * @param pid
      * @return
@@ -25,7 +25,7 @@ public interface CodeModelMapper extends BaseMapper<CodeModel> {
     int deleteByPid(String pid);
 
     /**
-     * 锟斤拷莞锟斤拷锟斤拷锟斤拷锟窖�拷锟斤拷锟斤拷值锟�
+     * 根据父类编码查询子类字典
      * 
      * @param pcode
      * @return

+ 2 - 2
gkaqv2/trunk/modules/frame/src/main/java/com/xt/js/gkaq/frame/service/CodeService.java

@@ -8,7 +8,7 @@ import com.xt.js.gkaq.frame.model.CodeModelDto;
 import com.xt.js.gkaq.frame.model.ComboBoxDto;
 
 /**
- * 嚙誰蛛蕭嚙踝蕭嚙諉選蕭
+ * 趼萎督昢諉諳
  */
 public interface CodeService extends BaseUUIDModelService<CodeModel> {
 
@@ -17,7 +17,7 @@ public interface CodeService extends BaseUUIDModelService<CodeModel> {
     public int deleteByPid(String pid);
 
     /**
-     * 嚙踝蕭搛嚙踝蕭嚙踝蕭嚙踝蕭嚙諸荔蕭嚙踝蕭嚙踝蕭硉嚙�
+     * 跦擂虜濬晤鎢脤戙赽濬趼萎
      * 
      * @param pcode
      * @return

+ 66 - 0
gkaqv2/trunk/modules/frame/src/main/java/com/xt/js/gkaq/frame/wf/ActivitiUtils.java

@@ -0,0 +1,66 @@
+package com.xt.js.gkaq.frame.wf;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.activiti.engine.identity.Group;
+import org.activiti.engine.impl.persistence.entity.GroupEntity;
+import org.activiti.engine.impl.persistence.entity.UserEntity;
+
+import com.xt.js.gkaq.frame.model.RoleModel;
+import com.xt.js.gkaq.frame.model.UserModel;
+
+/**
+ * 工作流共通
+ * 
+ * @author 袁晓冬
+ * 
+ */
+public class ActivitiUtils {
+    /**
+     * 业务用户转换为工作流用户
+     * 
+     * @param user
+     * @return
+     */
+    public static UserEntity toActivitiUser(UserModel user) {
+        UserEntity userEntity = new UserEntity();
+        userEntity.setId(user.getId().toString());
+        userEntity.setFirstName(user.getRealName());
+        userEntity.setLastName(user.getRealName());
+        userEntity.setPassword(user.getLoginPassword());
+        userEntity.setEmail("");
+        userEntity.setRevision(1);
+        return userEntity;
+    }
+
+    /**
+     * 业务角色转化为工作流组
+     * 
+     * @param role
+     * @return
+     */
+    public static GroupEntity toActivitiGroup(RoleModel role) {
+        GroupEntity groupEntity = new GroupEntity();
+        groupEntity.setRevision(1);
+        groupEntity.setType("assignment");
+        groupEntity.setId(role.getId().toString());
+        groupEntity.setName(role.getName());
+        return groupEntity;
+    }
+
+    /**
+     * 业务角色集合转换为工作流组集合
+     * 
+     * @param roles
+     * @return
+     */
+    public static List<Group> toActivitiGroups(List<RoleModel> roles) {
+        List<org.activiti.engine.identity.Group> groupEntitys = new ArrayList<org.activiti.engine.identity.Group>();
+        for (RoleModel role : roles) {
+            GroupEntity groupEntity = toActivitiGroup(role);
+            groupEntitys.add(groupEntity);
+        }
+        return groupEntitys;
+    }
+}

+ 88 - 0
gkaqv2/trunk/modules/frame/src/main/java/com/xt/js/gkaq/frame/wf/MyGroupEntityManager.java

@@ -0,0 +1,88 @@
+package com.xt.js.gkaq.frame.wf;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.activiti.engine.ActivitiException;
+import org.activiti.engine.identity.Group;
+import org.activiti.engine.identity.GroupQuery;
+import org.activiti.engine.impl.GroupQueryImpl;
+import org.activiti.engine.impl.Page;
+import org.activiti.engine.impl.persistence.entity.GroupEntity;
+import org.activiti.engine.impl.persistence.entity.GroupEntityManager;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.xt.js.gkaq.frame.model.RoleModel;
+import com.xt.js.gkaq.frame.service.RoleService;
+
+/**
+ * ×Ô¶¨ÒåGroupEntityManager
+ * 
+ * @author Ô¬Ïþ¶¬
+ * 
+ */
+@Service
+public class MyGroupEntityManager extends GroupEntityManager {
+    @Autowired
+    private RoleService roleService;
+
+    @Override
+    public Group createNewGroup(String groupId) {
+        throw new ActivitiException("group manager doesn't support!");
+    }
+
+    @Override
+    public void insertGroup(Group group) {
+        throw new ActivitiException("group manager doesn't support!");
+    }
+
+    @Override
+    public void updateGroup(Group updatedGroup) {
+        throw new ActivitiException("group manager doesn't support!");
+    }
+
+    @Override
+    public void deleteGroup(String groupId) {
+        throw new ActivitiException("group manager doesn't support!");
+    }
+
+    @Override
+    public GroupQuery createNewGroupQuery() {
+        throw new ActivitiException("group manager doesn't support!");
+    }
+
+    @Override
+    public List<Group> findGroupByQueryCriteria(GroupQueryImpl query, Page page) {
+        throw new ActivitiException("group manager doesn't support!");
+    }
+
+    @Override
+    public long findGroupCountByQueryCriteria(GroupQueryImpl query) {
+        throw new ActivitiException("group manager doesn't support!");
+    }
+
+    @Override
+    public List<Group> findGroupsByUser(String userId) {
+        // Group List
+        List<Group> groupList = new ArrayList<Group>();
+        List<RoleModel> roles = roleService.findByUserId(userId);
+        for (RoleModel r : roles) {
+            if (r != null) {
+                groupList.add(new GroupEntity(r.getCode()));
+            }
+        }
+        return groupList;
+    }
+
+    @Override
+    public List<Group> findGroupsByNativeQuery(Map<String, Object> parameterMap, int firstResult, int maxResults) {
+        throw new ActivitiException("group manager doesn't support!");
+    }
+
+    @Override
+    public long findGroupCountByNativeQuery(Map<String, Object> parameterMap) {
+        throw new ActivitiException("group manager doesn't support!");
+    }
+}

+ 34 - 0
gkaqv2/trunk/modules/frame/src/main/java/com/xt/js/gkaq/frame/wf/MyGroupEntityManagerFactory.java

@@ -0,0 +1,34 @@
+package com.xt.js.gkaq.frame.wf;
+
+import org.activiti.engine.impl.interceptor.Session;
+import org.activiti.engine.impl.persistence.GroupEntityManagerFactory;
+import org.activiti.engine.impl.persistence.entity.GroupEntityManager;
+import org.activiti.engine.impl.persistence.entity.GroupIdentityManager;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 自定义GroupEntityManagerFactory
+ * 
+ * @author 袁晓冬
+ */
+public class MyGroupEntityManagerFactory extends GroupEntityManagerFactory {
+
+	private GroupEntityManager groupEntityManager;
+
+	@Autowired
+	public void setGroupEntityManager(GroupEntityManager groupEntityManager) {
+		this.groupEntityManager = groupEntityManager;
+	}
+
+	@Override
+	public Class<?> getSessionType() {
+		// 返回原始的GroupEntityManager类型
+		return GroupIdentityManager.class;
+	}
+
+	@Override
+	public Session openSession() {
+		// 返回自定义的GroupEntityManager实例
+		return groupEntityManager;
+	}
+}

+ 99 - 0
gkaqv2/trunk/modules/frame/src/main/java/com/xt/js/gkaq/frame/wf/MyUserEntityManager.java

@@ -0,0 +1,99 @@
+package com.xt.js.gkaq.frame.wf;
+
+import java.util.List;
+import java.util.Map;
+
+import org.activiti.engine.ActivitiException;
+import org.activiti.engine.identity.Group;
+import org.activiti.engine.identity.User;
+import org.activiti.engine.identity.UserQuery;
+import org.activiti.engine.impl.Page;
+import org.activiti.engine.impl.UserQueryImpl;
+import org.activiti.engine.impl.persistence.entity.IdentityInfoEntity;
+import org.activiti.engine.impl.persistence.entity.UserEntity;
+import org.activiti.engine.impl.persistence.entity.UserEntityManager;
+import org.springframework.stereotype.Service;
+
+/**
+ * ×Ô¶¨ÒåUserEntityManager
+ * 
+ * @author Ô¬Ïþ¶¬
+ */
+@Service
+public class MyUserEntityManager extends UserEntityManager {
+
+    @Override
+    public User createNewUser(String userId) {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+
+    @Override
+    public void insertUser(User user) {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+
+    @Override
+    public void updateUser(User updatedUser) {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+
+    @Override
+    public UserEntity findUserById(String userId) {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+
+    @Override
+    public void deleteUser(String userId) {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+
+    @Override
+    public List<User> findUserByQueryCriteria(UserQueryImpl query, Page page) {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+
+    @Override
+    public long findUserCountByQueryCriteria(UserQueryImpl query) {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+
+    @Override
+    public List<Group> findGroupsByUser(String userId) {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+
+    @Override
+    public UserQuery createNewUserQuery() {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+
+    @Override
+    public IdentityInfoEntity findUserInfoByUserIdAndKey(String userId, String key) {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+
+    @Override
+    public List<String> findUserInfoKeysByUserIdAndType(String userId, String type) {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+
+    @Override
+    public Boolean checkPassword(String userId, String password) {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+
+    @Override
+    public List<User> findPotentialStarterUsers(String proceDefId) {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+
+    @Override
+    public List<User> findUsersByNativeQuery(Map<String, Object> parameterMap, int firstResult, int maxResults) {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+
+    @Override
+    public long findUserCountByNativeQuery(Map<String, Object> parameterMap) {
+        throw new ActivitiException("user manager doesn't support!");
+    }
+}

+ 32 - 0
gkaqv2/trunk/modules/frame/src/main/java/com/xt/js/gkaq/frame/wf/MyUserEntityManagerFactory.java

@@ -0,0 +1,32 @@
+package com.xt.js.gkaq.frame.wf;
+
+import org.activiti.engine.impl.interceptor.Session;
+import org.activiti.engine.impl.persistence.UserEntityManagerFactory;
+import org.activiti.engine.impl.persistence.entity.UserEntityManager;
+import org.activiti.engine.impl.persistence.entity.UserIdentityManager;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 自定义UserEntityManagerFactory
+ * 
+ * @author 袁晓冬
+ * 
+ */
+public class MyUserEntityManagerFactory extends UserEntityManagerFactory {
+	private UserEntityManager userEntityManager;
+
+	@Autowired
+	public void setUserEntityManager(UserEntityManager userEntityManager) {
+		this.userEntityManager = userEntityManager;
+	}
+
+	public Class<?> getSessionType() {
+		// 返回原始的UserManager类型
+		return UserIdentityManager.class;
+	}
+
+	public Session openSession() {
+		// 返回自定义的UserManager实例
+		return userEntityManager;
+	}
+}

+ 2 - 2
gkaqv2/trunk/modules/frame/src/main/java/com/xt/js/gkaq/frame/wf/impl/WorkflowMangerServiceImpl.java

@@ -43,7 +43,7 @@ import com.xt.js.gkaq.frame.model.TaskModel;
 import com.xt.js.gkaq.frame.model.UserModel;
 import com.xt.js.gkaq.frame.service.TaskModelService;
 import com.xt.js.gkaq.frame.service.UserService;
-import com.xt.js.gkaq.frame.service.WFPropService;
+import com.xt.js.gkaq.frame.service.WfPropService;
 import com.xt.js.gkaq.frame.system.Utils;
 import com.xt.js.gkaq.frame.wf.TaskVarListener;
 import com.xt.js.gkaq.frame.wf.WorkFlowParam;
@@ -95,7 +95,7 @@ public class WorkflowMangerServiceImpl implements WorkflowMangerService {
     @Autowired
     protected UserService userService;
     @Autowired
-    protected WFPropService wfPropService;
+    protected WfPropService wfPropService;
     /** IDÖ÷¼üÉú³ÉÆ÷ */
     protected IdGenerator idGenerator = new UUIDGenerator();