发布流程中方案图附件显示

This commit is contained in:
zhal 2024-09-18 17:26:20 +08:00
parent bc969529f0
commit a6ccdbfad1
5 changed files with 103 additions and 52 deletions

View File

@ -459,8 +459,7 @@ public class PublisherController {
*/
@Mapping("com.actionsoft.apps.coe.pal.publisher_publish_file_open_home_page")
public String openPublishFilePageHomePage(UserContext me, String uuid, String taskId) {
return PALRepositoryQueryAPIManager.getInstance().getPublishPortalHomePageHtml(me, uuid, taskId, false);
}
return PALRepositoryQueryAPIManager.getInstance().getPublishPortalHomePageHtml(me, uuid, taskId, false); }

View File

@ -14,6 +14,8 @@ import java.util.stream.Collectors;
import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryPropertyCache;
import com.actionsoft.apps.coe.pal.publisher.constant.FilePermConstant;
import com.actionsoft.bpms.commons.login.constant.LoginConst;
import com.actionsoft.bpms.server.SSOUtil;
import org.apache.commons.lang.StringUtils;
import com.actionsoft.apps.coe.pal.constant.CoEConstant;
@ -2981,6 +2983,25 @@ public class ProcessPublishWeb extends ActionWeb {
obj.put("fileVersion", VersionUtil.getVersionStr(model.getVersion()));
obj.put("methodId", model.getMethodId());
obj.put("category", methodCategory);
JSONArray jsonArray1=new JSONArray();
String relatedName="";
List<RowMap> relatedRowMap=DBSql.getMaps("SELECT RELATIONFILEID FROM APP_ACT_COE_PAL_SHAPE_RLAT where FILEID='"+id+"' and ATTRID='related_support_files'");
if(relatedRowMap.size()>0){
for(int j=0;j<relatedRowMap.size();j++){
JSONObject jb = new JSONObject();
PALRepositoryModel pModel=PALRepositoryCache.getCache().get(relatedRowMap.get(i).getString("RELATIONFILEID"));
String sessionId = new SSOUtil().registerClientSessionNoPassword(pModel.getCreateUser(), LoginConst.DEFAULT_LANG, "localhost", LoginConst.DEVICE_PC);
String url=SDK.getConfAPI().getPortalUrl() + "/r/w?uuid="+ id+"&teamId=&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer&sid="+sessionId;
jb.put("relatedName",pModel.getName());
jb.put("relatedUrl",url);
jsonArray1.add(jb.toJSONString());
}
}
obj.put("relatedData", jsonArray1);
// List<Map<String, Object>> shapeMessageJson4 =
// getShapeMessageJson4(publishId);
// 当前流程所有节点
@ -2999,7 +3020,7 @@ public class ProcessPublishWeb extends ActionWeb {
for (UpfileModel upfileModel : fileList) {
String type = upfileModel.getType();
if(!methodId.equals("control.policy") && methodId.contains("process") && !methodId.equals("engineering.standard")){
if(!methodId.equals("control.policy") && methodId.contains("process") && !methodId.equals("engineering.standard") && !methodId.equals("process.scheme")){
if ("s".equals(upfileModel.getType())) {
JSONObject jb = new JSONObject();
@ -3255,7 +3276,7 @@ public class ProcessPublishWeb extends ActionWeb {
if (fileList != null && fileList.size() > 0)
for (UpfileModel upfileModel : fileList){
String type = upfileModel.getType();
if(!methodId.equals("control.policy") && methodId.contains("process") && !methodId.equals("engineering.standard")){
if(!methodId.equals("control.policy") && methodId.contains("process") && !methodId.equals("engineering.standard") && !methodId.equals("process.scheme")){
if ("s".equals(upfileModel.getType())) {
JSONObject jb = new JSONObject();
//按照附件编号排序

View File

@ -708,68 +708,85 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme
//存储发布流程的流程实例ID与权限阅览数据视图做关联
bo.set("PUBLISHPROCESSID" , bindId);
RowMap rowMap = DBSql.getMap("SELECT ID FROM APP_ACT_COE_PAL_REPOSITORY WHERE PLNAME=?", name);
if(rowMap!=null){
String plid=rowMap.getString("ID");
RowMap PROCESS_ARCHITECTURE_L1= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+plid+"' and PROPERTYID='Process_Architecture_L1'");
RowMap PROCESS_ARCHITECTURE_L1= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+verId+"' and PROPERTYID='Process_Architecture_L1'");
RowMap PROCESS_ARCHITECTURE_L2= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+plid+"' and PROPERTYID='Process_Architecture_L2'");
RowMap PROCESS_ARCHITECTURE_L2= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+verId+"' and PROPERTYID='Process_Architecture_L2'");
RowMap PROCESS_ARCHITECTURE_L3= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+plid+"' and PROPERTYID='Process_Architecture_L3'");
RowMap PROCESS_ARCHITECTURE_L3= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+verId+"' and PROPERTYID='Process_Architecture_L3'");
RowMap PROCESS_ARCHITECTURE_L4= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+verId+"' and PROPERTYID='Process_Architecture_L4'");
RowMap PROCESS_ARCHITECTURE_L4= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+plid+"' and PROPERTYID='Process_Architecture_L4'");
RowMap versions= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+verId+"' and PROPERTYID='versions'");
RowMap versions= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+plid+"' and PROPERTYID='versions'");
RowMap rlatRowMap= DBSql.getMap("SELECT RELATIONSHAPETEXT FROM APP_ACT_COE_PAL_SHAPE_RLAT where FILEID = '"+verId+"' and ATTRID='Issuing_department'");
JSONObject js=JSONObject.parseObject(rlatRowMap.getString("RELATIONSHAPETEXT"));
if(rlatRowMap!=null){
bo.set("PUBLISHDEPT",js.getString("name"));
bo.set("PUBLISHDEPTID",js.getString("id"));
}
List<RowMap> rlatRowMap= DBSql.getMaps("SELECT RELATIONSHAPETEXT FROM APP_ACT_COE_PAL_SHAPE_RLAT where FILEID = '"+plid+"' and ATTRID='Issuing_department'");
PALRepositoryModel palRepositoryModel = PALRepositoryCache.getCache().get(verId);
String version=String.valueOf(palRepositoryModel.getVersion());
String plver=version.substring(0,version.indexOf(".")) + "." + version.substring(version.length() - 1, version.length());
//事业部
BO publishBO = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH").detailByBindId(bindId);
String applydepid=publishBO.getString("APPLYDEPID");
String applydeptname=publishBO.getString("APPLYDEPTNAME");
bo.set("VERSION",plver);
bo.set("PROCESS_ARCHITECTURE_L1",PROCESS_ARCHITECTURE_L1.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L2",PROCESS_ARCHITECTURE_L2.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L3",PROCESS_ARCHITECTURE_L3.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L4",PROCESS_ARCHITECTURE_L4.getString("PROPERTYVALUE"));
// 发布部门
String dempId = "";
String dempname="";
for(RowMap oneRowMap:rlatRowMap){
String relationshapetext=oneRowMap.getString("RELATIONSHAPETEXT");
JSONObject js=JSONObject.parseObject(relationshapetext);
dempId += js.getString("id") + ",";
dempname += js.getString("name") + ",";
}
dempId = dempId.substring(0, dempId.length() - 1);
dempname = dempname.substring(0, dempname.length() - 1);
if(dempId!=null && dempname!=null){
bo.set("PUBLISHDEPT",dempname);
bo.set("PUBLISHDEPTID",dempId);
}
//事业部
RowMap rlatMap= DBSql.getMap("SELECT RELATIONSHAPETEXT FROM APP_ACT_COE_PAL_SHAPE_RLAT where FILEID = '"+verId+"' and ATTRID='Issuing_department'");
if(rlatRowMap!=null){
JSONObject relationshapetext=JSONObject.parseObject(rlatRowMap.getString("RELATIONSHAPETEXT"));
if(js!=null){
DepartmentModel departmentModel=SDK.getORGAPI().getDepartmentById(relationshapetext.getString("id"));
if(departmentModel!=null){
boolean isclosed=departmentModel.isClosed();
if(isclosed==false){
String allpath = SDK.getORGAPI().getDepartmentById(relationshapetext.getString("id")).getPathNameOfCache();
if(allpath.contains("事业部")){
String depname=allpath.substring(0,allpath.indexOf("事业部")+3);
if(depname!=null){
bo.set("BUSINESS_DIVISION",depname);
}
} else if(allpath.contains("伊利")){
bo.set("BUSINESS_DIVISION","伊利集团总部");
PALRepositoryModel palRepositoryModel = PALRepositoryCache.getCache().get(plid);
String version=String.valueOf(palRepositoryModel.getVersion());
String plver=version.substring(0,version.indexOf(".")) + "." + version.substring(version.length() - 1, version.length());
bo.set("VERSION",plver);
bo.set("PROCESS_ARCHITECTURE_L1",PROCESS_ARCHITECTURE_L1.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L2",PROCESS_ARCHITECTURE_L2.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L3",PROCESS_ARCHITECTURE_L3.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L4",PROCESS_ARCHITECTURE_L4.getString("PROPERTYVALUE"));
DepartmentModel departmentModel=SDK.getORGAPI().getDepartmentById(applydepid);
if(departmentModel!=null){
boolean isclosed=departmentModel.isClosed();
if(isclosed==false){
String allpath = SDK.getORGAPI().getDepartmentById(applydepid).getPathNameOfCache();
if(allpath.contains("事业部")){
String depname=allpath.substring(allpath.indexOf("/")+2,allpath.indexOf("事业部")+3);
if(depname!=null){
bo.set("BUSINESS_DIVISION",depname);
}
} else if(allpath.contains("伊利")){
bo.set("BUSINESS_DIVISION","伊利集团总部");
}
}
}
}
ProcessInstance boProcessInstance = SDK.getProcessAPI()
.createBOProcessInstance("obj_e076b01bd0d04bc39e5af12e2c8c188c", applyUser, "权限阅览");
SDK.getBOAPI().create(newBoName, bo, boProcessInstance.getId(), applyUser);

View File

@ -197,9 +197,7 @@ function initHistoryInfo(type){
data : param,
async: false,
success : function(r) {
debugger;
if (r.result == 'ok') {
debugger;
//需要先删除缓存
$('[data-id="historyInfo"]').remove();
$("#historyInfo").removeData('plugin_awsuiPopBox');
@ -210,11 +208,9 @@ function initHistoryInfo(type){
content: initContentHtml(r.data.list),
position:'bottom-left',
callback:function(item){
debugger;
$("input[name='historyCheckBox']")
$("input[name='historyCheckBox']").check();
$("input[name='historyCheckBox']").on("ifChanged",function(){
debugger;
var historyCheckBoxArr = $('input[name="historyCheckBox"]:checked');
var names = '';
var nodes = [];
@ -365,6 +361,7 @@ function initHtml() {
newHtml += '<th style="background-color:#fff;" class="width_30">流程制度模型</th>';
newHtml += '<th style="background-color:#fff;" class="width_35">文件预览</th>';
newHtml += '<th style="background-color:#fff;" class="width_25">文件编号</th>';
newHtml += '<th style="background-color:#fff;" class="width_25">相关/支持文件</th>';
newHtml += '</tr>';
newHtml += '</thead>';
newHtml += '<tbody id="publish_new_tbody"></tbody>';
@ -404,6 +401,7 @@ function initHtml() {
changeHtml += '<th style="background-color:#fff;" class="width_25">变更后流程制度模型</th>';
changeHtml += '<th style="background-color:#fff;" class="width_35">文件预览</th>';
changeHtml += '<th style="background-color:#fff;" class="width_20">文件编号</th>';
changeHtml += '<th style="background-color:#fff;" class="width_20">相关/支持文件</th>';
changeHtml += '</tr>';
changeHtml += '</thead>';
changeHtml += '<tbody id="publish_change_tbody"></tbody>';
@ -715,6 +713,22 @@ function showlist(data, type, pageNumber, start){
//html += '<td ' + tableTdCss + '>' + fName + '</td>';
//html += '<td style="padding:1px;"><textarea onblur="changeDesc(\'new\',\'' + curr.publishFileId + '\', this)" style="width:100%;height:30px;" ' + textareaPerm + ' class="awsui-input">' + curr.publishDesc + '</textarea></td>';
html += '<td style="padding:1px;"><span>'+ processNumber +'</span></td>';
var relatedStr='';
var relatedData = curr.relatedData;
for(var i = 0; i < relatedData.length; i++){
var json=JSON.parse(relatedData[i]);
var relatedName = json.relatedName;
var relatedUrl = json.relatedUrl;
relatedStr += '</p><a href="javascript:void(0);" onclick="openUrl(\'' + relatedUrl + '\')">' + relatedName + '&nbsp</a></p>';
}
if(relatedStr!=''){
html += '<td style="padding:1px;"><span>'+ relatedStr+'</span></td>';
}
/*html += '<td style="padding:1px;"><span>'+ curr.relatedData +'</span></td>';*/
html += '</tr>';
}
}
@ -1067,7 +1081,6 @@ function addProcess(type) {
}
}
if (type == 'stop') {
debugger;
if (treeCheckedStopArr.length == 0) {
$.simpleAlert('停用流程不能为空');
return;
@ -1266,7 +1279,6 @@ function openQueryDataDialog(type) {
$('#searchData').html('<input id="processName" style="width:700px;" type="text" class="awsui-txt" placeholder="快速查询">');
//增加一个监听
$(document).on('click', function(e) {
debugger;
//if (!e.target.closest('#autoSearchProcessDiv')) {
if ($(e.target).closest('#autoSearchProcessDiv').length===0 && $(e.target).closest('.awsui-iconfont-buttonedit-search').length===0) {
// 如果点击的目标不是.input-container或其子元素则隐藏tooltip
@ -1309,7 +1321,6 @@ function openQueryDataDialog(type) {
$('#publisher_dialog_name').val(names);
closeDialog();// 关闭窗口
} else {// stop
debugger;
getStopBatchResult(type);
// 数据写入主dialog
var names = '';
@ -1493,6 +1504,7 @@ function getNewPublishBatchResult(type,nodes) {
obj.methodId = node.method;
obj.category = node.category;
obj.taskId = "";// 后续生成流程手册
obj.relatedData=node.relatedData;
treeCheckedNewArr.push(obj);
}
}
@ -1609,8 +1621,9 @@ function getChangeBatchResult(type,nodes) {
obj.changedFileNameNew = "";// 后续生成
obj.taskId = "";// 后续生成
obj.targetFileVersion = "";// 后续生成
obj.targetMethodId = node.method
obj.targetCategory = node.category
obj.targetMethodId = node.method;
obj.targetCategory = node.category;
obj.relatedData=node.relatedData;
treeCheckedChangeArr.push(obj);
}
}
@ -1670,6 +1683,7 @@ function getStopBatchResult(type,nodes) {
obj.methodId = node.method;
obj.category = node.category;
obj.taskId = "";// 后续查询已经存在的流程手册
obj.relatedData=node.relatedData;
treeCheckedStopArr.push(obj);
}
}