权限申请功能代码优化

This commit is contained in:
yujh 2024-06-21 11:10:58 +08:00
parent ac8233ed6d
commit 1f91e64c79
4 changed files with 37 additions and 2 deletions

View File

@ -1,5 +1,7 @@
package com.actionsoft.apps.coe.pal.publisher.client.web; package com.actionsoft.apps.coe.pal.publisher.client.web;
import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryCache;
import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryModel;
import com.actionsoft.apps.coe.pal.publisher.constant.FilePermConstant; import com.actionsoft.apps.coe.pal.publisher.constant.FilePermConstant;
import com.actionsoft.bpms.bo.engine.BO; import com.actionsoft.bpms.bo.engine.BO;
import com.actionsoft.bpms.bpmn.engine.model.run.delegate.ProcessInstance; import com.actionsoft.bpms.bpmn.engine.model.run.delegate.ProcessInstance;
@ -16,13 +18,15 @@ public class FilePermWeb extends ActionWeb {
super(me); super(me);
} }
public String filePermissionApplication(String palVersionId) { public String filePermissionApplication(String palVersionId) {
PALRepositoryModel model = PALRepositoryCache.getCache().get(palVersionId);
String uid = super.getContext().getUID(); String uid = super.getContext().getUID();
//发起流程 //发起流程
ProcessInstance processInstance = SDK.getProcessAPI().createProcessInstance(FilePermConstant.FILE_PERM_PROCESSDEFID,uid, null); ProcessInstance processInstance = SDK.getProcessAPI().createProcessInstance(FilePermConstant.FILE_PERM_PROCESSDEFID,uid, null);
//创建一条BO记录 //创建一条BO记录
BO bo =new BO(); BO bo =new BO();
bo.set("APPLYTYPE","单一权限申请"); bo.set("APPLYTYPE","单一权限申请");
bo.set("APPLYFILES",palVersionId); bo.set("APPLYFILEIDS",palVersionId);
bo.set("APPLYFILES",model.getName());
SDK.getBOAPI().create(FilePermConstant.BO_ACT_FILE_PERM,bo,processInstance.getId(),uid); SDK.getBOAPI().create(FilePermConstant.BO_ACT_FILE_PERM,bo,processInstance.getId(),uid);
ProcessExecuteQuery start = SDK.getProcessAPI().start(processInstance); ProcessExecuteQuery start = SDK.getProcessAPI().start(processInstance);
TaskInstance taskInstance = start.fetchActiveTasks().get(0); TaskInstance taskInstance = start.fetchActiveTasks().get(0);

View File

@ -16,13 +16,17 @@ public interface PublisherConstant {
public static final String PROCESSGROUPID = "obj_893ec85d8219468bb6df6a19fab4f7c9"; //发布流程流程组Id public static final String PROCESSGROUPID = "obj_893ec85d8219468bb6df6a19fab4f7c9"; //发布流程流程组Id
public static final String PROCESSID = "obj_fb1c7a54b98b412187388c8bab407362"; public static final String PROCESSID = "obj_fb1c7a54b98b412187388c8bab407362";
public static final String PROCESSID_HIS_DATA = "obj_538f9d1558bf40c7b827ff311db133cd";//历史数据查询视图
public static final String BOTABLENAME = "BO_ACT_COE_PUBLISH"; //发布流程BO表主表表名 public static final String BOTABLENAME = "BO_ACT_COE_PUBLISH"; //发布流程BO表主表表名
public static final String BOSUBTABLE_N = "BO_ACT_COE_PUBLISH_N"; //发布流程BO子表-新增 public static final String BOSUBTABLE_N = "BO_ACT_COE_PUBLISH_N"; //发布流程BO子表-新增
public static final String BOSUBTABLE_C = "BO_ACT_COE_PUBLISH_C"; //发布流程BO子表-更新 public static final String BOSUBTABLE_C = "BO_ACT_COE_PUBLISH_C"; //发布流程BO子表-更新
public static final String BOSUBTABLE_S = "BO_ACT_COE_PUBLISH_S"; //发布流程BO子表-停止 public static final String BOSUBTABLE_S = "BO_ACT_COE_PUBLISH_S"; //发布流程BO子表-停止
public static final String BO_ACT_PUBLISH_HIS = "BO_ACT_PUBLISH_HIS";// 发布流程历史数据
public static final String ORG_RELATION_MANAGEMENT_STANDARD = "管理标准"; //管理标准 public static final String ORG_RELATION_MANAGEMENT_STANDARD = "管理标准"; //管理标准
public static final String ORG_RELATION_TECHNICAL_STANDARD = "技术标准"; //技术标准 public static final String ORG_RELATION_TECHNICAL_STANDARD = "技术标准"; //技术标准
public static final String ORG_RELATION_WORK_STANDARD = "工作标准"; //工作标准 public static final String ORG_RELATION_WORK_STANDARD = "工作标准"; //工作标准
} }

View File

@ -12,7 +12,6 @@ import com.actionsoft.bpms.util.UUIDGener;
import com.actionsoft.bpms.util.UtilString; import com.actionsoft.bpms.util.UtilString;
import com.actionsoft.sdk.local.SDK; import com.actionsoft.sdk.local.SDK;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.util.List; import java.util.List;

View File

@ -22,6 +22,7 @@ import com.actionsoft.bpms.bo.engine.BO;
import com.actionsoft.bpms.bpmn.engine.core.delegate.ProcessExecutionContext; import com.actionsoft.bpms.bpmn.engine.core.delegate.ProcessExecutionContext;
import com.actionsoft.bpms.bpmn.engine.listener.ExecuteListener; import com.actionsoft.bpms.bpmn.engine.listener.ExecuteListener;
import com.actionsoft.bpms.bpmn.engine.listener.ExecuteListenerInterface; import com.actionsoft.bpms.bpmn.engine.listener.ExecuteListenerInterface;
import com.actionsoft.bpms.bpmn.engine.model.run.delegate.ProcessInstance;
import com.actionsoft.bpms.commons.database.RowMap; import com.actionsoft.bpms.commons.database.RowMap;
import com.actionsoft.bpms.util.DBSql; import com.actionsoft.bpms.util.DBSql;
import com.actionsoft.bpms.util.UUIDGener; import com.actionsoft.bpms.util.UUIDGener;
@ -56,6 +57,9 @@ public class ApplyTasAfterkComplete extends ExecuteListener implements ExecuteLi
Timestamp nowTime = new Timestamp(System.currentTimeMillis()); Timestamp nowTime = new Timestamp(System.currentTimeMillis());
BO bo = SDK.getBOAPI().query(PublisherConstant.BOTABLENAME).detailByBindId(processInstId); BO bo = SDK.getBOAPI().query(PublisherConstant.BOTABLENAME).detailByBindId(processInstId);
updateEffectiveDateProperty(processInstId, bo, bolistN, bolistC); updateEffectiveDateProperty(processInstId, bo, bolistN, bolistC);
//增加提交后记录历史单据
addPublishHistory(ctx,bo);
} }
private void updateEffectiveDateProperty(String processInstId, BO bo, List<BO> bolistN, List<BO> bolistC) { private void updateEffectiveDateProperty(String processInstId, BO bo, List<BO> bolistN, List<BO> bolistC) {
// 对epc表单制度图进行生效日期更新和手册重新生成 // 对epc表单制度图进行生效日期更新和手册重新生成
@ -284,5 +288,29 @@ public class ApplyTasAfterkComplete extends ExecuteListener implements ExecuteLi
} }
return taskId; return taskId;
} }
/**
* 增加历史记录到历史维护表中
* @param processInstId
* @param uuid
* @param type
*/
public void addPublishHistory(ProcessExecutionContext ctx,BO sourceBo) {
BO bo = new BO();
bo.set("SOURCEBINDID",ctx.getProcessInstance().getId());
bo.set("SUBMITUID",sourceBo.getString("APPLYUSERID"));
bo.set("SUBMITNAME",sourceBo.getString("APPLYUSERNAME"));
bo.set("SEND_SCOPE_ORG",sourceBo.getString("SEND_SCOPE_ORG"));
bo.set("SEND_SCOPE_ORG_NAME",sourceBo.getString("APPLYUSERNAME"));
bo.set("SEND_SCOPE_POST",sourceBo.getString("SEND_SCOPE_POST"));
bo.set("SEND_SCOPE_POST_NAME",sourceBo.getString("APPLYUSERNAME"));
bo.set("SEND_SCOPE_LEVEL",sourceBo.getString("SEND_SCOPE_LEVEL"));
bo.set("SEND_SCOPE_LEVEL_NAME",sourceBo.getString("APPLYUSERNAME"));
bo.set("MARKAR",sourceBo.getString("MARKAR"));
bo.set("PROCESS_TITLE",sourceBo.getString("PROCESS_TITLE"));
bo.set("PUBLICSTATUS",0);
ProcessInstance processInstance = SDK.getProcessAPI().createBOProcessInstance(PublisherConstant.PROCESSID_HIS_DATA, ctx.getUserContext().getUID(), "");
int i = SDK.getBOAPI().create(PublisherConstant.BO_ACT_PUBLISH_HIS, bo, processInstance, ctx.getUserContext());
}
} }