Compare commits

..

2 Commits

Author SHA1 Message Date
袁东强
241c255ae0 Merge branch 'apps_dev_ydq_portal_process' into apps_4_test 2025-09-30 12:03:52 +08:00
袁东强
5e8bf4186d 调整列表数据取数逻辑,优化代码 2025-09-30 12:03:34 +08:00
16 changed files with 232 additions and 1519 deletions

View File

@ -9,7 +9,7 @@ package com.awspaas.user.apps.nqms.portal.view.process.constant;
*/
public class Constant {
public static final String APP_ID = "com.awspaas.user.apps.nqms.portal.view.process";
public static final String APP_ACT_COE_PAL_REPOSITORY = "APP_ACT_COE_PAL_REPOSITORY";
public static final String PAL_PROP = "APP_ACT_COE_PAL_PROP";
public static String COE_APP_ID = "com.actionsoft.apps.coe.pal";
public static String openCmd = "com.actionsoft.apps.coe.pal.publisher_publish_file_open";
}

View File

@ -1,131 +0,0 @@
package com.awspaas.user.apps.nqms.portal.view.process.constant;
import com.actionsoft.sdk.local.SDK;
/**
* @author wym
* @date 2023-04-17 11:00
* @description
*/
public class Constants {
// 此初始化可废弃已改为应用启动事件中进行初始化
public Constants(){
defaultName = SDK.getAppAPI().getProperty("com.awspaas.user.apps.nqms.portal.util", "defaultName");
processCheckType = SDK.getAppAPI().getProperty("com.awspaas.user.apps.nqms.portal.util", "processCheckType");
factorCheckType = SDK.getAppAPI().getProperty("com.awspaas.user.apps.nqms.portal.util", "factorCheckType");
openCmd = SDK.getAppAPI().getProperty("com.awspaas.user.apps.nqms.portal.util", "openType");
}
/**
* 门户相关应用id及应用参数
*/
public static final String app_util = "com.awspaas.user.apps.nqms.portal.util";
public static final String app_util_defaultName = "defaultName";
public static final String app_util_processCheckType = "processCheckType";
public static final String app_util_factorCheckType = "factorCheckType";
public static final String app_util_openType = "openType";
public static final String app_process = "com.awspaas.user.apps.nqms.portal.view.process";
public static final String app_org = "com.awspaas.user.apps.nqms.portal.view.org";
public static final String app_indexpage = "com.awspaas.user.apps.nqms.portal.indexpage";
public static final String app_factorstore = "com.awspaas.user.apps.nqms.portal.factorstore";
public static final String app_compliance = "com.awspaas.user.apps.nqms.portal.view.compliance";
public static final String app_person = "com.awspaas.user.apps.nqms.portal.view.person";
public static final String app_strategy = "com.awspaas.user.apps.nqms.portal.view.strategy";
/**
* 空值时的默认显示内容
*/
public static String defaultName= "";
// public static String defaultName="";
/**
* 1:已发布 2适用中
*/
// public static String processCheckType= SDK.getAppAPI().getProperty("com.awspaas.user.apps.nqms.portal.util", "processCheckType");
public static String processCheckType="";
/**
* 1:已发布 2适用中
*/
// public static String factorCheckType= SDK.getAppAPI().getProperty("com.awspaas.user.apps.nqms.portal.util", "factorCheckType");
public static String factorCheckType="";
public static String openCmd="";
public static String APP_ID="com.awspaas.user.apps.nqms.portal.util";
/**
* 模型文件表
*/
public static final String APP_ACT_COE_PAL_REPOSITORY="APP_ACT_COE_PAL_REPOSITORY";
/**
* 模型文件表
*/
public static final String STRUCTURED_R="APP_EU_PAL_STRUCT_R";
/**
* 模型属性表
*/
public static final String STRUCT_R_P="APP_EU_PAL_STRUCT_R_PROP";
/**
*模型关联属性表
*/
public static final String STRUCT_R_P_REL="APP_EU_PAL_STRUCT_R_P_REL";
/**
* 形状表
*/
public static final String STRUCT_S="APP_EU_PAL_STRUCT_SHAPE";
/**
* 形状属性表
*/
public static final String STRUCT_S_P="APP_EU_PAL_STRUCT_S_PROP";
/**
* 形状关联属性信息表
*/
public static final String STRUCT_S_P_REL="APP_EU_PAL_STRUCT_S_P_REL";
/**
* 形状联系连线表
*/
public static final String STRUCT_S_LINE="APP_EU_PAL_STRUCT_S_LINE";
public static final String number="number";
public static final String desc="desc";
public static final String dutyDept="dept";
public static final String dutyPerson="person";
public static final String control_icon ="el-icon-tickets";//制度文件图标
public static final String process_icon ="el-icon-share";//末阶流程文件图标
public static final String highProcess_icon ="el-icon-notebook-1";//高阶流程文件图标
/**
* 图形关联业务域的标识
*/
public static final String SHAPE_BUSINESS = "shape_business";
/**
* 被识别为末级流程图的类型多个用逗号隔开
*/
public static final String processTypeArr = "process.bpmn2,nqms.procEpc";
/**
* 高阶流程图id
*/
public static final String highProcessType = "nqms.busiProcessLink";
public static final Integer businessLevel = 1;
public static final Integer processGroupLevel = 2;
}

View File

@ -1,66 +0,0 @@
package com.awspaas.user.apps.nqms.portal.view.process.constant;
public enum PalAttrEnum {
//通用属性
NUMBER("number","编号"),
DESC("desc","描述"),
DUTY_PERSON("bpm_person","责任人"),
DUTY_DEPT( "department","责任部门"),
//流程文件的属性
POSITION("position","岗位"),
FORM("form","表单"),
KPI("kpi","绩效"),
REGIME("institution","制度"),
COMPLIANCEFILE("Compliance","合规文件"),
COMPLIANCE("compliance","合规条款"),
RISK("danger","风险"),
CONTROL("regulate","控制"),
SYSTEM("itsystem","应用系统"),
TERM("term","术语"),
//组织图(文件)属性
dutyPerson("nqmsDepartmentHead","负责人"),
manager("nqmsCompetentLeader","主管领导"),
deptType("nqmsDepartmentType","部门类型"),
target("nqmsWorkTarget","工作目标"),
dutyDesc("nqmsFunctionDesc","职能说明"),
postDuty("nqms_responsibility","职责"),
mission("nqmsMission","使命"),
//角色清单
relPost("relPost","关联岗位"),
//合规文件
comLevel("level","文件级别"),
comType("nqmsComplianceType","文件类型"),
//合规条款(形状的属性)
applicability("nqmsApplicable","适用性"),
termLevel("nqmsRequirementDegree","要求程度"),
termRiskLevel("nqmsRiskLevel","风险等级"),
termCount("nqmsClauseContent","要求内容");
private String key;
private String value;
PalAttrEnum(String key , String value){
this.key = key;
this.value = value;
}
public String getKey() {
return this.key;
}
public void setKey(String key) {
this.key = key;
}
public String getValue() {
return this.value;
}
public void setValue(String value) {
this.value = value;
}
}

View File

@ -1,76 +0,0 @@
package com.awspaas.user.apps.nqms.portal.view.process.dao;
import com.actionsoft.bpms.commons.database.RowMapper;
import com.actionsoft.bpms.commons.mvc.dao.DaoObject;
import com.actionsoft.bpms.util.DBSql;
import com.actionsoft.exception.AWSDataAccessException;
import com.awspaas.user.apps.nqms.portal.view.process.constant.Constant;
import com.awspaas.user.apps.nqms.portal.view.process.entity.FileBasicAttrEntity;
import com.awspaas.user.apps.nqms.portal.view.process.util.ViewUtil;
import org.apache.commons.lang.StringUtils;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
* @author wym
* @date 2023-05-22 17:21
* @description
*/
public class FileBasicAttrDao extends DaoObject<FileBasicAttrEntity> {
@Override
public int insert(FileBasicAttrEntity fileBasicAttrEntity) throws AWSDataAccessException {
return 0;
}
@Override
public int update(FileBasicAttrEntity fileBasicAttrEntity) throws AWSDataAccessException {
return 0;
}
@Override
public String entityName() {
return Constant.PAL_PROP;
}
@Override
public RowMapper<FileBasicAttrEntity> rowMapper() {
return new FileBasicAttrDao.Mapper();
}
private static class Mapper implements RowMapper<FileBasicAttrEntity> {
@Override
public FileBasicAttrEntity mapRow(ResultSet rset, int i) throws SQLException {
FileBasicAttrEntity entity = new FileBasicAttrEntity();
entity.setID(rset.getString("ID"));
entity.setPLID(rset.getString("PLID"));
entity.setPROPERTYID(rset.getString("PROPERTYID"));
entity.setPROPERTYNAME(rset.getString("PROPERTYNAME"));
entity.setPROPERTYVALUE(rset.getString("PROPERTYVALUE"));
entity.setORDERINDEX(rset.getString("ORDERINDEX"));
return entity;
}
}
/**
* 根据pal模型id进行查询
*
* @return
*/
public List<FileBasicAttrEntity> selectBasicAttrByFileIds(List<String> fileIdList) {
String fileIds = ViewUtil.listToSqlStr(fileIdList);
String query = "";
if (StringUtils.isNotEmpty(fileIds)) {
query += " AND PLID IN " + fileIds;
} else {
return new ArrayList<>();
}
String sql = "SELECT * FROM " + entityName() + " WHERE 1=1 " + query;
List<FileBasicAttrEntity> list = DBSql.query(sql, new Mapper());
return list;
}
}

View File

@ -1,8 +1,6 @@
package com.awspaas.user.apps.nqms.portal.view.process.dao;
import com.actionsoft.bpms.commons.database.RowMap;
import com.actionsoft.bpms.util.DBSql;
import com.awspaas.user.apps.nqms.portal.view.process.constant.Constant;
/**
* @author ydq
@ -15,9 +13,4 @@ public class RepositoryDao {
String wsId = DBSql.getString(sql, new Object[]{wsName});
return wsId;
}
public RowMap selectById(String id){
String sql = "SELECT * FROM "+ Constant.APP_ACT_COE_PAL_REPOSITORY +" WHERE ID = ?";
RowMap map = DBSql.getMap(sql, id);
return map;
}
}

View File

@ -1,109 +0,0 @@
package com.awspaas.user.apps.nqms.portal.view.process.dao;
import com.actionsoft.bpms.commons.database.RowMapper;
import com.actionsoft.bpms.commons.mvc.dao.DaoObject;
import com.actionsoft.bpms.util.DBSql;
import com.actionsoft.exception.AWSDataAccessException;
import com.alibaba.fastjson.JSONObject;
import com.awspaas.user.apps.nqms.portal.view.process.entity.RlatBpmnModel;
import com.awspaas.user.apps.nqms.portal.view.process.entity.RlatEntity;
import com.awspaas.user.apps.nqms.portal.view.process.util.StructUtil;
import org.apache.commons.lang.StringUtils;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
/**
* @author wym
* @date 2023-05-22 16:02
* @description
*/
public class RlatDao extends DaoObject<RlatEntity> {
@Override
public int insert(RlatEntity rlatEntity) throws AWSDataAccessException {
return 0;
}
@Override
public int update(RlatEntity rlatEntity) throws AWSDataAccessException {
return 0;
}
@Override
public String entityName() {
return "APP_ACT_COE_PAL_SHAPE_RLAT";
}
@Override
public RowMapper rowMapper() {
return new Mapper();
}
/**
* 根据文件id批量查询形状关联属性
*
* @param fileIds
* @return
*/
public List<RlatEntity> selectShapeRlatById(List<String> fileIds) {
String query = "";
String str = StructUtil.listToSqlStr(fileIds);
if (StringUtils.isNotEmpty(str)) {
query += " AND FILEID IN " + str;
}
String sql = "SELECT E.*, (SELECT PLNAME FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID =E.RELATIONFILEID) AS PLNAME FROM " + entityName() + " E WHERE 1=1 " + query;
List<RlatEntity> list = DBSql.query(sql, new Mapper());
return list;
}
private static class Mapper implements RowMapper<RlatEntity> {
@Override
public RlatEntity mapRow(ResultSet rset, int i) throws SQLException {
String plname = "";
try {
plname = rset.getString("PLNAME");
} catch (SQLException sqlException) {
}
String relationshapetext = rset.getString("RELATIONSHAPETEXT");
String relationshapeid = rset.getString("RELATIONSHAPEID");
String relationfileid = rset.getString("RELATIONFILEID");
if (StringUtils.isEmpty(relationshapeid)) {
relationshapetext = plname;
}
RlatEntity entity = new RlatEntity();
entity.setID(rset.getString("ID"));
entity.setATTRID(rset.getString("ATTRID"));
entity.setFILEID(rset.getString("FILEID"));
entity.setRELATIONFILEID(rset.getString("RELATIONFILEID"));
entity.setRELATIONSHAPEID(rset.getString("RELATIONSHAPEID"));
entity.setSHAPEID(rset.getString("SHAPEID"));
entity.setSHAPETEXT(rset.getString("SHAPETEXT"));
try {
String plmethodid = rset.getString("PLMETHODID");
String plcategory = rset.getString("PLCATEGORY");
entity.setPLMETHODID(plmethodid);
entity.setPLCATEGORY(plcategory);
} catch (Exception e) {
}
if (StringUtils.isNotEmpty(relationfileid) && relationfileid.equals("00000000-0000-0000-0000-000000000000")) {
RlatBpmnModel model = JSONObject.parseObject(relationshapetext, RlatBpmnModel.class);
entity.setRELATIONSHAPETEXT(model);
} else {
entity.setRELATIONSHAPETEXT(relationshapetext);
}
return entity;
}
}
}

View File

@ -1,93 +0,0 @@
package com.awspaas.user.apps.nqms.portal.view.process.entity;
/**
* @author wym
* @date 2023-05-22 17:08
* @description
*/
public class FileBasicAttrEntity {
/**
*
*/
private String ID;
/**
*PAL模型ID
*/
private String PLID;
/**
*属性Key
*/
private String PROPERTYID;
/**
*属性名称
*/
private String PROPERTYNAME;
/**
*属性值
*/
private String PROPERTYVALUE;
/**
*
*/
private String ORDERINDEX;
public String getID() {
return ID;
}
public void setID(String ID) {
this.ID = ID;
}
public String getPLID() {
return PLID;
}
public void setPLID(String PLID) {
this.PLID = PLID;
}
public String getPROPERTYID() {
return PROPERTYID;
}
public void setPROPERTYID(String PROPERTYID) {
this.PROPERTYID = PROPERTYID;
}
public String getPROPERTYNAME() {
return PROPERTYNAME;
}
public void setPROPERTYNAME(String PROPERTYNAME) {
this.PROPERTYNAME = PROPERTYNAME;
}
public String getPROPERTYVALUE() {
return PROPERTYVALUE;
}
public void setPROPERTYVALUE(String PROPERTYVALUE) {
this.PROPERTYVALUE = PROPERTYVALUE;
}
public String getORDERINDEX() {
return ORDERINDEX;
}
public void setORDERINDEX(String ORDERINDEX) {
this.ORDERINDEX = ORDERINDEX;
}
@Override
public String toString() {
return "FileBasicAttrEntity{" +
"ID='" + ID + '\'' +
", PLID='" + PLID + '\'' +
", PROPERTYID='" + PROPERTYID + '\'' +
", PROPERTYNAME='" + PROPERTYNAME + '\'' +
", PROPERTYVALUE='" + PROPERTYVALUE + '\'' +
", ORDERINDEX='" + ORDERINDEX + '\'' +
'}';
}
}

View File

@ -1,45 +0,0 @@
package com.awspaas.user.apps.nqms.portal.view.process.entity;
/**
* @author wym
* @date 2023-05-22 16:08
* @description 关联的bpmn组织模型
*/
public class RlatBpmnModel {
private String ID;
private String NAME;
private String TYPE;
public String getID() {
return ID;
}
public void setID(String ID) {
this.ID = ID;
}
public String getNAME() {
return NAME;
}
public void setNAME(String NAME) {
this.NAME = NAME;
}
public String getTYPE() {
return TYPE;
}
public void setTYPE(String TYPE) {
this.TYPE = TYPE;
}
@Override
public String toString() {
return "RlatBpmnModel{" +
"ID='" + ID + '\'' +
", NAME='" + NAME + '\'' +
", TYPE='" + TYPE + '\'' +
'}';
}
}

View File

@ -1,154 +0,0 @@
package com.awspaas.user.apps.nqms.portal.view.process.entity;
/**
* @author wym
* @date 2023-05-22 15:58
* @description 关联属性存储表
*/
public class RlatEntity {
/**
*
*/
private String ID;
/**
*PAL模型ID
*/
private String FILEID;
/**
*PAL模型形状ID
*/
private String SHAPEID;
/**
*PAL模型形状名称
*/
private String SHAPETEXT;
/**
*属性Key
*/
private String ATTRID;
/**
*关联的PAL模型ID
*/
private String RELATIONFILEID;
/**
*关联的PAL模型形状ID
*/
private String RELATIONSHAPEID;
/**
*关联的PAL模型形状名称
*/
private Object RELATIONSHAPETEXT;
/**
* 主动关联文件的类型
*/
private String PLMETHODID;
/**
*主动关联文件的分类
*/
private String PLCATEGORY;
public String getID() {
return ID;
}
public void setID(String ID) {
this.ID = ID;
}
public String getFILEID() {
return FILEID;
}
public void setFILEID(String FILEID) {
this.FILEID = FILEID;
}
public String getSHAPEID() {
return SHAPEID;
}
public void setSHAPEID(String SHAPEID) {
this.SHAPEID = SHAPEID;
}
public String getSHAPETEXT() {
return SHAPETEXT;
}
public void setSHAPETEXT(String SHAPETEXT) {
this.SHAPETEXT = SHAPETEXT;
}
public String getATTRID() {
return ATTRID;
}
public void setATTRID(String ATTRID) {
this.ATTRID = ATTRID;
}
public String getRELATIONFILEID() {
return RELATIONFILEID;
}
public void setRELATIONFILEID(String RELATIONFILEID) {
this.RELATIONFILEID = RELATIONFILEID;
}
public String getRELATIONSHAPEID() {
return RELATIONSHAPEID;
}
public void setRELATIONSHAPEID(String RELATIONSHAPEID) {
this.RELATIONSHAPEID = RELATIONSHAPEID;
}
public Object getRELATIONSHAPETEXT() {
return RELATIONSHAPETEXT;
}
public void setRELATIONSHAPETEXT(Object RELATIONSHAPETEXT) {
// if (StringUtils.isNotEmpty(this.RELATIONFILEID)&&this.RELATIONFILEID.equals("00000000-0000-0000-0000-000000000000") ){
// RlatBpmnModel model = new RlatBpmnModel();
// if (StringUtils.isNotEmpty(RELATIONSHAPETEXT)){
// model= JSONObject.parseObject(RELATIONSHAPETEXT, RlatBpmnModel.class);
// }
// this.RELATIONSHAPETEXT = model;
//
// }else {
// this.RELATIONSHAPETEXT = RELATIONSHAPETEXT;
// }
this.RELATIONSHAPETEXT = RELATIONSHAPETEXT;
}
public String getPLMETHODID() {
return PLMETHODID;
}
public void setPLMETHODID(String PLMETHODID) {
this.PLMETHODID = PLMETHODID;
}
public String getPLCATEGORY() {
return PLCATEGORY;
}
public void setPLCATEGORY(String PLCATEGORY) {
this.PLCATEGORY = PLCATEGORY;
}
@Override
public String toString() {
return "RlatEntity{" +
"ID='" + ID + '\'' +
", FILEID='" + FILEID + '\'' +
", SHAPEID='" + SHAPEID + '\'' +
", SHAPETEXT='" + SHAPETEXT + '\'' +
", ATTRID='" + ATTRID + '\'' +
", RELATIONFILEID='" + RELATIONFILEID + '\'' +
", RELATIONSHAPEID='" + RELATIONSHAPEID + '\'' +
", RELATIONSHAPETEXT=" + RELATIONSHAPETEXT +
'}';
}
}

View File

@ -1,29 +1,20 @@
package com.awspaas.user.apps.nqms.portal.view.process.service;
import com.actionsoft.bpms.commons.database.RowMap;
import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryPropertyCache;
import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryPropertyModel;
import com.actionsoft.bpms.commons.mvc.view.ResponseObject;
import com.actionsoft.bpms.form.engine.FormEngine;
import com.actionsoft.bpms.server.UserContext;
import com.actionsoft.i18n.I18nRes;
import com.actionsoft.sdk.local.SDK;
import com.alibaba.fastjson.JSONObject;
import com.awspaas.user.apps.nqms.portal.view.process.constant.Constants;
import com.awspaas.user.apps.nqms.portal.view.process.constant.PalAttrEnum;
import com.awspaas.user.apps.nqms.portal.view.process.dao.FileBasicAttrDao;
import com.awspaas.user.apps.nqms.portal.view.process.dao.RepositoryDao;
import com.awspaas.user.apps.nqms.portal.view.process.dao.RlatDao;
import com.awspaas.user.apps.nqms.portal.view.process.entity.FileBasicAttrEntity;
import com.awspaas.user.apps.nqms.portal.view.process.entity.RlatBpmnModel;
import com.awspaas.user.apps.nqms.portal.view.process.entity.RlatEntity;
import com.awspaas.user.apps.nqms.portal.view.process.util.OrgUtil;
import com.awspaas.user.apps.nqms.portal.view.process.constant.Constant;
import com.awspaas.user.apps.nqms.portal.view.process.util.TreeNode;
import com.awspaas.user.apps.nqms.portal.view.process.util.TreeUtil;
import com.awspaas.user.apps.nqms.portal.view.process.util.ViewUtil;
import com.awspaas.user.apps.nqms.portal.view.process.vo.ProcessFileVO;
import jodd.util.StringUtil;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@ -125,38 +116,24 @@ public class PortalProcessService {
if (StringUtils.isEmpty(wsId)) {
return service.getWsIdWarnMsg();
}
JSONObject rootFile = null;
if (StringUtils.isEmpty(parentId)) {
parentId = rootId;
} else {
RepositoryDao RepositoryDao = new RepositoryDao();
RowMap rowMap = RepositoryDao.selectById(parentId);
rootFile = ViewUtil.toJsonObject(rowMap);
}
List<JSONObject> allFiles = service.getAllDirAndProcessPalByPid(wsId, rootId);
List<JSONObject> files = service.getAllProcessPalByPid(wsId, parentId);
List<JSONObject> allFiles = SDK.getPALRepositoryQueryAPI().getAllUsedPalRepositoryModelsByPid(wsId, parentId);
Map<String, List<JSONObject>> allCollect = allFiles.stream().collect(Collectors.groupingBy(el -> el.getString("id")));
if (rootFile != null && flag) {
files.add(rootFile);
}
List<JSONObject> collect = files.stream().sorted(Comparator.comparing(el -> el.getString("orderIndex"))).filter(el ->
CollectionUtils.isEmpty(myFiles) || myFiles.contains(el.getString("versionId"))
).sorted(Comparator.comparing(el -> el.getString("name"))).collect(Collectors.toList());
List data = new ArrayList();
if (null == paramsMap) {
data = ViewUtil.pageUtil(collect, page, size);
data = ViewUtil.pageUtil(allFiles, page, size);
data = setProcessAttr(ux, data, allCollect, paramsMap);
} else {
collect = setProcessAttr(ux, collect, allCollect, paramsMap);
data = ViewUtil.pageUtil(collect, page, size);
allFiles = setProcessAttr(ux, allFiles, allCollect, paramsMap);
data = ViewUtil.pageUtil(allFiles, page, size);
}
ResponseObject ro = ResponseObject.newOkResponse();
ro.put("fileData", data);
ro.put("count", collect.size());
ro.put("processCount", collect.size());
ro.put("count", allFiles.size());
ro.put("processCount", allFiles.size());
return ro.toString();
}
@ -182,152 +159,66 @@ public class PortalProcessService {
String id = file.getString("id");
fileIdList.add(id);
}
Map<String, List<RlatEntity>> relAttr = queryRelAttr(fileIdList);
Map<String, List<FileBasicAttrEntity>> basicAttr = queryBasicAttr(fileIdList);
for (JSONObject row : files) {
String id = row.getString("id");
List<FileBasicAttrEntity> basic = basicAttr.get(id);
String number = "";
if (CollectionUtils.isNotEmpty(basic)) {
for (FileBasicAttrEntity fileBasic : basic) {
if (fileBasic.getPROPERTYID().equals("number")) {
number = fileBasic.getPROPERTYVALUE();
break;
}
}
}
// 业务域与流程组
List<JSONObject> fileLink = findFileLink(allFileMap, id);
String businessName = "";
String proGroupName = "";
if (fileLink != null && fileLink.size() > 1) {
JSONObject firstLevel = fileLink.get(1);
businessName = firstLevel == null ? "" : firstLevel.getString("name");
}
if (fileLink != null && fileLink.size() > 2) {
JSONObject secondLevel = fileLink.get(2);
proGroupName = secondLevel == null ? "" : secondLevel.getString("name");
}
//发布时间
Date date = row.getDate("publishDate");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String publishDate = date == null ? "" : format.format(date);
//跳转链接
String url = "./w?sid=" + sid + "&cmd=" + Constants.openCmd + "&uuid=" + id + "&taskId=";
String url = "./w?sid=" + sid + "&cmd=" + Constant.openCmd + "&uuid=" + id + "&taskId=";
//文件类型
String type = I18nRes.findValue(Constant.COE_APP_ID, row.getString("methodId"));
//文件编号
String fileNo = getFileProper(id, "file_number");
//发布部门
String dutyDept = getFileProper(id, "Issuing_department");
if (StringUtils.isNotEmpty(queryDept) && !dutyDept.contains(queryDept)) continue;
//关联文件
List<String> compIds = new ArrayList<>();//关联合规文件
List<String> regimeIds = new ArrayList<>();//关联制度文件
List<String> formIds = new ArrayList<>();//关联表单文件
String duty_dept = "";
String duty_person = "";
List<RlatEntity> list = relAttr.get(id);
if (list != null && !list.isEmpty()) {
Map<String, List<RlatEntity>> collect = list.stream().collect(Collectors.groupingBy(RlatEntity::getATTRID));
//责任人
List<RlatEntity> duty_p = collect.get(PalAttrEnum.DUTY_PERSON.getKey());
if (duty_p != null && !duty_p.isEmpty()) {
try {
RlatBpmnModel model = (RlatBpmnModel) duty_p.get(0).getRELATIONSHAPETEXT();
duty_person = model.getNAME();
} catch (Exception e) {
e.printStackTrace();
SDK.getLogAPI().consoleErr("流程的【责任人】查询异常,其属性【" + PalAttrEnum.DUTY_PERSON.getKey() + "】不是关联的aws组织结构");
}
if (StringUtils.isNotEmpty(dutyDept)) {
try {
JSONObject jsonObject = JSONObject.parseObject(dutyDept);
dutyDept = jsonObject.getString("shapeText");
} catch (Exception e) {
e.printStackTrace();
System.out.println("发布部门非JSON格式转化失败显示原值。文件ID" + id);
}
if (StringUtils.isNotEmpty(queryName) && !duty_person.contains(queryName)) continue;
//责任部门
duty_dept = OrgUtil.getRelAttr(collect, PalAttrEnum.DUTY_DEPT.getKey());
if (StringUtils.isNotEmpty(queryDept) && !duty_dept.contains(queryDept)) continue;
//表单
List<RlatEntity> formList = collect.get(PalAttrEnum.FORM.getKey()) == null ? new ArrayList<>() : collect.get(PalAttrEnum.FORM.getKey());
for (RlatEntity form : formList) {
if (!formIds.contains(form.getRELATIONFILEID())) {
formIds.add(form.getRELATIONFILEID());
}
}
//合规文件
List<RlatEntity> complianceList = collect.get(PalAttrEnum.COMPLIANCE.getKey()) == null ? new ArrayList<>() : collect.get(PalAttrEnum.COMPLIANCE.getKey());
for (RlatEntity comp : complianceList) {
if (!compIds.contains(comp.getRELATIONSHAPEID())) {
compIds.add(comp.getRELATIONSHAPEID());
}
}
//制度
List<RlatEntity> regimeList = collect.get(PalAttrEnum.REGIME.getKey()) == null ? new ArrayList<>() : collect.get(PalAttrEnum.REGIME.getKey());
regimeList = regimeList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() ->
new TreeSet<>(Comparator.comparing(el -> el.getFILEID() + "-" + el.getRELATIONFILEID() +
"-" + el.getRELATIONSHAPEID()))), ArrayList::new));
for (RlatEntity regime : regimeList) {
regimeIds.add(regime.getRELATIONSHAPEID());
}
}
if (null != paramsMap && CollectionUtils.isEmpty(list)) {
continue;
}
ProcessFileVO fileVO = new ProcessFileVO(url, id, businessName, proGroupName, number, row.getString("name"), "", publishDate, compIds, regimeIds, formIds, duty_dept, duty_person);
data.add(fileVO);
//流程架构L1
String processL1 = getFileProper(id, "Process_Architecture_L1");
//流程架构L2
String processL2 = getFileProper(id, "Process_Architecture_L2");
//流程架构L3
String processL3 = getFileProper(id, "Process_Architecture_L3");
//拟制/修订人
String changeUser = getFileProper(id, "Drafted_and_revised_by");
if (StringUtils.isNotEmpty(queryName) && !changeUser.contains(queryName)) continue;
//审核人
String auditor = getFileProper(id, "auditor");
//复核人
String reviewer = getFileProper(id, "reviewer");
//审批人
String approver = getFileProper(id, "approver");
//拟制/修订日期
String changeDate = getFileProper(id, "Drafted_and_revised_date");
//生效日期
String effectiveDate = getFileProper(id, "effective_date");
ProcessFileVO processFileVO = new ProcessFileVO(url, id, type, row.getString("methodId"), row.getString("name"), fileNo, dutyDept, processL1, processL2, processL3, changeUser, auditor, reviewer, approver, changeDate, effectiveDate);
data.add(processFileVO);
}
// List<ProcessFileVO> fileData = TestData.getFileData();
return data;
}
/**
* 查询文件的关联属性
* 获取文件属性
*
* @param fileIdList
* @param id 文件ID
* @param propertyId 属性ID
* @return
*/
public Map<String, List<RlatEntity>> queryRelAttr(List<String> fileIdList) {
RlatDao dao = new RlatDao();
List<RlatEntity> list = dao.selectShapeRlatById(fileIdList);
Map<String, List<RlatEntity>> collect = list.stream().collect(Collectors.groupingBy(el -> el.getFILEID()));
return collect;
}
/**
* 查询文件的基础属性
*
* @param fileIdList
* @return
*/
public Map<String, List<FileBasicAttrEntity>> queryBasicAttr(List<String> fileIdList) {
FileBasicAttrDao dao = new FileBasicAttrDao();
List<FileBasicAttrEntity> list = dao.selectBasicAttrByFileIds(fileIdList);
Map<String, List<FileBasicAttrEntity>> collect = list.stream().collect(Collectors.groupingBy(el -> el.getPLID()));
return collect;
}
/**
* 从最底层向上查询出文件链
*
* @param collect
* @param id
* @return list的index即为从下往上的层数
*/
public List<JSONObject> findFileLink(Map<String, List<JSONObject>> collect, String id) {
List<JSONObject> fileModels = collect.get(id);
List<JSONObject> list = new ArrayList<>();
// SDK.getLogAPI().consoleInfo(id+":开始寻找流程链");
while (fileModels != null && !fileModels.isEmpty()) {
JSONObject file = fileModels.get(0);
id = file.getString("newParentId");
fileModels = collect.get(id);
list.add(file);
public String getFileProper(String id, String propertyId) {
PALRepositoryPropertyModel propModel = PALRepositoryPropertyCache.getPropertyByPropertyId(id, propertyId);
if (propModel != null) {
return propModel.getPropertyValue();
} else {
return "";
}
// SDK.getLogAPI().consoleInfo(id+":结束寻找流程链");
Collections.reverse(list);
return list;
}
}

View File

@ -2,13 +2,8 @@ package com.awspaas.user.apps.nqms.portal.view.process.service;
import com.actionsoft.bpms.commons.mvc.view.ResponseObject;
import com.actionsoft.sdk.local.SDK;
import com.alibaba.fastjson.JSONObject;
import com.awspaas.user.apps.nqms.portal.view.process.constant.Constants;
import com.awspaas.user.apps.nqms.portal.view.process.dao.RepositoryDao;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author wym
* @date 2023-05-24 10:49
@ -43,45 +38,4 @@ public class UtilService {
ResponseObject ro = ResponseObject.newWarnResponse("请检查【门户首页】应用中参数[默认资产库名称]是否配置正确");
return ro.toString();
}
/**
* 根据根id获取下面的全部数据(流程类)
* 包含文件夹
*
* @param wsId
* @param pid
* @return
*/
public List<JSONObject> getAllDirAndProcessPalByPid(String wsId, String pid) {
//查找使用中状态下的文件可以查出来文件夹发布状态的无法查出来文件夹
List<JSONObject> list;
if (new Constants().processCheckType.equals("1")) {
List<JSONObject> useList = SDK.getPALRepositoryQueryAPI().getAllUsedPalRepositoryModelsByPid(wsId, pid);
useList = useList.stream().filter(el -> "default".equals(el.getString("methodId"))).collect(Collectors.toList());
list = SDK.getPALRepositoryQueryAPI().getAllPublishedPalRepositoryModelsByPid(wsId, pid);
list.addAll(useList);
} else {
list = SDK.getPALRepositoryQueryAPI().getAllUsedPalRepositoryModelsByPid(wsId, pid);
}
return list;
}
/**
* 根据根id获取下面的全部数据(流程类)
* 不包含文件夹
*
* @param wsId
* @param pid
* @return
*/
public List<JSONObject> getAllProcessPalByPid(String wsId, String pid) {
List<JSONObject> list;
if (new Constants().processCheckType.equals("1")) {
list = SDK.getPALRepositoryQueryAPI().getAllPublishedPalRepositoryModelsByPid(wsId, pid);
} else {
list = SDK.getPALRepositoryQueryAPI().getAllUsedPalRepositoryModelsByPid(wsId, pid);
list = list.stream().filter(el -> !"default".equals(el.getString("methodId"))).collect(Collectors.toList());
}
return list;
}
}

View File

@ -1,32 +0,0 @@
package com.awspaas.user.apps.nqms.portal.view.process.util;
import com.awspaas.user.apps.nqms.portal.view.process.entity.RlatBpmnModel;
import com.awspaas.user.apps.nqms.portal.view.process.entity.RlatEntity;
import java.util.List;
import java.util.Map;
/**
* @author wym
* @date 2023-05-25 17:01
* @description 组织数据相关
*/
public class OrgUtil {
public static String getRelAttr(Map<String, List<RlatEntity>> relAttr , String attrId){
String attrVal = "";
List<RlatEntity> attr = relAttr.get(attrId);
if (attr!=null&&!attr.isEmpty()){
RlatEntity entity = attr.get(0);
if ( entity.getRELATIONFILEID().equals("00000000-0000-0000-0000-000000000000")) {
RlatBpmnModel bpmnModel = (RlatBpmnModel) entity.getRELATIONSHAPETEXT();
return bpmnModel.getNAME();
}else {
return (String) entity.getRELATIONSHAPETEXT();
}
}else {
return "";
}
}
}

View File

@ -1,361 +0,0 @@
package com.awspaas.user.apps.nqms.portal.view.process.util;
import org.apache.commons.lang.StringUtils;
import java.util.List;
/**
* @author wym
* @date 2023-04-17 14:08
* @description
*/
public class StructUtil {
/**
* @param list
* @return
*/
public static String listToSqlStr(List<String> list) {
if (list == null || list.isEmpty()) return "";
StringBuilder sqlStr = new StringBuilder("(");
for (String el : list) {
if (StringUtils.isEmpty(el)) continue;
String str = "'" + el + "',";
sqlStr.append(str);
}
sqlStr.append(")");
int i = sqlStr.lastIndexOf(",");
if (i>=0){
sqlStr.deleteCharAt(i);
}
String str = sqlStr.toString();
return str.equals("()")?"":str;
}
/*
*/
/**
* 转为basemodel
*
* @param list
* @return
*//*
public static List<FileModel> toFileModel(List<RowMap> list) {
Map<String, List<RowMap>> processFile = list.stream().collect(Collectors.groupingBy(el -> el.getString("ID")));
List<FileModel> data = new ArrayList<>();
for (String key : processFile.keySet()) {
FileModel model = new FileModel();
model = setFileModel(model, processFile.get(key).get(0));
updateFileModel(processFile.get(key), model);
data.add(model);
}
return data;
}
public static List<FileModel> setFileAttr(List<RowMap> list, List<FileModel> fileModels) {
Map<String, List<RowMap>> rel = list.stream().collect(Collectors.groupingBy(el -> el.getString("PL_ID")));
for (FileModel file : fileModels) {
String plId = file.getID();
List<RowMap> rowMaps = rel.get(plId);
updateFileModel(rowMaps, file);
}
return fileModels;
}
*/
/**
* 根据结果集更新文件模型里形状的属性
* @param list
* @param fileModels
* @return
*//*
public static List<FileModel> setShapeAttr(List<RowMap> list, List<FileModel> fileModels) {
Map<String, List<RowMap>> rel = list.stream().collect(Collectors.groupingBy(el -> el.getString("PL_ID")));
for (FileModel file : fileModels) {
String plId = file.getID();
List<RowMap> rowMaps = rel.get(plId);
updateShapeModelAttr(rowMaps, file);
}
return fileModels;
}
*/
/**
* 更新文件模型的属性
*
* @param rowMaps
* @param model
*//*
public static void updateFileModel(List<RowMap> rowMaps, FileModel model) {
AttrModel attrModel = model.getAttrModel() == null ? new AttrModel() : model.getAttrModel();
for (RowMap map : rowMaps) {
// String parentId = map.getString("PL_ID");
// //被哪个文件使用
// if (StringUtils.isNotEmpty(parentId) && !parentId.equals(model.getID())) {
// List<Map<String,String>> relationId = attrModel.getRelationList() == null ? new ArrayList<>() : attrModel.getRelationList();
// HashMap<String, String> rel = new HashMap<>();
// if (!relationId.contains(parentId)) {
// relationId.add(parentId);
// attrModel.setRelationId(relationId);
// }
// }
setBasicAttr(map, attrModel);
setAwsRelAttr(map, attrModel);
setRelAttr(map, attrModel);
}
model.setAttrModel(attrModel);
}
*/
/**
* 更新形状模型的属性
* @param rowMaps
* @param model
*//*
public static void updateShapeModelAttr(List<RowMap> rowMaps, FileModel model){
Map<String, List<RowMap>> attrs = rowMaps.stream().collect(Collectors.groupingBy(el -> el.getString("SHAPE_ID")));
// List<ShapeModel> shapes = model.getAttrModel().getShapes();
List<ShapeModel> shapes = model.getShapes();
for (ShapeModel shape:shapes) {
ShapeAttrModel shapeAttrModel = shape.getShapeAttrModel()==null?new ShapeAttrModel(): shape.getShapeAttrModel();
List<RowMap> shapeAttrs = attrs.get(shape.getID());
for (RowMap shapeAttr:shapeAttrs) {
setBasicAttr(shapeAttr,shapeAttrModel);
setRelAttr(shapeAttr,shapeAttrModel);
setAwsRelAttr(shapeAttr,shapeAttrModel);
}
}
}
public static void setAttrModel(RowMap map, AttrModel attrModel) {
setBasicAttr(map,attrModel);
setAwsRelAttr(map,attrModel);
setRelAttr(map,attrModel);
}
*/
/**
* 设置基础属性
*
* @param map
* @param attrModel
*//*
public static void setBasicAttr(RowMap map, AttrModel attrModel) {
String attr_id = map.getString("ATTR_ID");
String attr_name = map.getString("ATTR_NAME");
String attr_value = map.getString("ATTR_VALUE");
if (attr_value != null) {
if (Constants.number.equals(attr_id)) {
attrModel.setNumber(attr_value);
} else if (Constants.desc.equals(attr_id)) {
attrModel.setDesc(attr_value);
} else {
List<BasicAttrModel> basicAttr = attrModel.getBasicAttr() == null ? new ArrayList<>() : attrModel.getBasicAttr();
BasicAttrModel basicAttrModel = new BasicAttrModel();
basicAttrModel.setID(attr_id);
basicAttrModel.setNAME(attr_name);
basicAttrModel.setVALUE(attr_value);
basicAttr.add(basicAttrModel);
attrModel.setBasicAttr(basicAttr);
}
}
}
*/
/**
* 设置关联aws组织的属性
*
* @param map
* @param attrModel
*//*
public static void setAwsRelAttr(RowMap map, AttrModel attrModel) {
String attr_id = map.getString("ATTR_ID");
String fileId = map.getString("RELATION_FILE_ID");
String textId = map.getString("RELATION_TEXT_ID");
String textName = map.getString("RELATION_TEXT_NAME");
String textType = map.getString("RELATION_TEXT_TYPE");
List<AwsOrgModel> dutyDept=attrModel.getDuty_dept()==null?new ArrayList<>():attrModel.getDuty_dept();
List<AwsOrgModel> dutyPerson=attrModel.getDuty_person()==null?new ArrayList<>():attrModel.getDuty_person();
AwsOrgModel dutyDeptMap = new AwsOrgModel();
AwsOrgModel dutyPersonMap = new AwsOrgModel();
if ("00000000-0000-0000-0000-000000000000".equals(fileId)) {
if (Constants.dutyDept.equals(attr_id)) {
dutyDeptMap.setID(textId);
dutyDeptMap.setNAME(textName);
dutyDeptMap.setTYPE(textType);
dutyDept.add(dutyDeptMap);
} else if (Constants.dutyPerson.equals(attr_id)) {
dutyPersonMap.setID(textId);
dutyPersonMap.setNAME(textName);
dutyPersonMap.setTYPE(textType);
dutyPerson.add(dutyPersonMap);
}
attrModel.setDuty_dept(dutyDept);
attrModel.setDuty_person(dutyPerson);
}
}
*/
/**
* 设置关联pal文件的属性
*
* @param map
* @param attrModel
*//*
public static void setRelAttr(RowMap map, AttrModel attrModel) {
String fileId = map.getString("RELATION_FILE_ID");
String shapeId = map.getString("RELATION_SHAPE_ID");
String shapeText = map.getString("RELATION_SHAPE_TEXT");
if (StringUtils.isEmpty(shapeId)) {
List<FileModel> relationFile = attrModel.getRelationFile() == null ? new ArrayList<>() : attrModel.getRelationFile();
FileModel relation = new FileModel();
relation.setID(fileId);
relationFile.add(relation);
attrModel.setRelationFile(relationFile);
} else if (StringUtils.isNotEmpty(shapeId)) {
List<ShapeModel> relationShape = attrModel.getRelationShape() == null ? new ArrayList<>() : attrModel.getRelationShape();
ShapeModel relation = new ShapeModel();
relation.setID(fileId);
relationShape.add(relation);
attrModel.setRelationShape(relationShape);
}
}
*/
/**
* 将查询结果转为shape对象
*
* @param rowMaps
* @param files
* @return
*//*
public static List<FileModel> toShapeModel(List<RowMap> rowMaps, List<FileModel> files) {
Map<String, List<RowMap>> shapeMap = rowMaps.stream().collect(Collectors.groupingBy(el -> el.getString("PL_ID")));
for (FileModel file : files) {
String fileId = file.getID();
// AttrModel attrModel = file.getAttrModel() == null ? new AttrModel() : file.getAttrModel();
List<ShapeModel> shapeModels = file.getShapes() == null ? new ArrayList<>() : file.getShapes();
List<RowMap> shapes = shapeMap.get(fileId);
for (RowMap row : shapes) {
ShapeModel shapeModel = new ShapeModel();
shapeModels.add(setShapeModel(shapeModel, row));
}
file.setShapes(shapeModels);
// file.setAttrModel(attrModel);
}
return files;
}
*/
/**
* 转为形状模型
* @param rowMaps
* @return
*//*
public static List<ShapeModel> toShapeModel(List<RowMap> rowMaps) {
ArrayList<ShapeModel> list = new ArrayList<>();
for (RowMap map:rowMaps
) {
ShapeModel shapeModel = new ShapeModel();
StructUtil.setShapeModel(shapeModel, map);
list.add(shapeModel);
}
return list;
}
*/
/**
* @param model
* @param map
*//*
public static FileModel setFileModel(FileModel model, RowMap map) {
model.setID(map.getString("ID")); // 唯一标识
model.setWS_ID(map.getString("WS_ID"));
model.setMODEL_NAME(map.getString("MODEL_NAME"));
model.setMODEL_PARENT_ID(map.getString("MODEL_PARENT_ID"));
model.setMODEL_PARENT_NAME(map.getString("MODEL_PARENT_NAME"));
model.setREPO_LEVEL(map.getString("REPO_LEVEL"));
model.setIS_USE(map.getString("IS_USE"));
model.setIS_APPROVAL(map.getString("IS_APPROVAL"));
model.setIS_PUBLISH(map.getString("IS_PUBLISH"));
model.setIS_STOP(map.getString("IS_STOP"));
model.setPUBLISH_USER(map.getString("PUBLISH_USER"));
model.setPUBLISH_DATE(map.getString("PUBLISH_DATE"));
model.setCATEGORY_ID(map.getString("CATEGORY_ID"));
model.setCATEGORY_NAME(map.getString("CATEGORY_NAME"));
model.setMETHOD_ID(map.getString("METHOD_ID"));
model.setMETHOD_NAME(map.getString("METHOD_NAME"));
model.setVERSION_NUM(map.getString("VERSION_NUM"));
model.setVERSION_ID(map.getString("VERSION_ID"));
model.setPROCESSINST_ID(map.getString("PROCESSINST_ID"));
model.setIS_CORRELATE(map.getString("IS_CORRELATE"));
model.setCORRELATE_TYPE(map.getString("CORRELATE_TYPE"));
model.setCORRELATE_AWS_ID(map.getString("CORRELATE_AWS_ID"));
return model;
}
*/
/**
* 转换形状模型
* @param model
* @param map
* @return
*//*
public static ShapeModel setShapeModel(ShapeModel model, RowMap map) {
model.setID(map.getString("ID"));
model.setDEFAULT_NAME(map.getString("DEFAULT_NAME"));
model.setPL_ID(map.getString("PL_ID"));
model.setSHAPE_CATEGORY(map.getString("SHAPE_CATEGORY"));
model.setSHAPE_ID(map.getString("SHAPE_ID"));
model.setSHAPE_NAME(map.getString("SHAPE_NAME"));
model.setSHAPE_TYPE(map.getString("SHAPE_TYPE"));
model.setWS_ID(map.getString("WS_ID"));
return model;
}
*/
/**
* 从文件模型集合中获取文件ID的集合
* @param files
* @return
*//*
public static List<String> getFileIds(List<FileModel> files) {
List<String> ids = new ArrayList<>();
for (FileModel model : files
) {
ids.add(model.getID());
}
// return listToSqlStr(ids);
return ids;
}
*/
/**
* 从形状模型中获取形状id的集合
* @param shapes
* @return
*//*
public static List<String> getShapeIds(List<ShapeModel> shapes){
List<String> ids = new ArrayList<>();
for (ShapeModel model : shapes
) {
ids.add(model.getID());
}
return ids;
}
*/
}

View File

@ -27,37 +27,6 @@ public final class TreeUtil {
private static List list;
/**
* 转为树结构
*
* @param menu
* @return
*/
public static List<TreeNode> treeMenu(final List<TreeNode> menu) {
menuCommon = menu;
list = new ArrayList<>();
for (TreeNode treeNode : menu) {
Map mapArr = Collections.synchronizedMap(new LinkedHashMap<>());
if ("0".equals(treeNode.getParentId())) {
setTreeMap(mapArr, treeNode);
list.add(mapArr);
}
}
return list;
}
public static List<TreeNode> treeMenu(final List<TreeNode> menu, List<String> parentList) {
menuCommon = menu;
list = new ArrayList<>();
for (TreeNode treeNode : menu) {
Map mapArr = Collections.synchronizedMap(new LinkedHashMap<>());
if (parentList.contains(treeNode.getParentId())) {
setTreeMap(mapArr, treeNode);
list.add(mapArr);
}
}
return list;
}
public static List<TreeNode> treeMenu(final List<TreeNode> menu, String parentId) {
menuCommon = menu;
list = new ArrayList<>();
@ -137,10 +106,6 @@ public final class TreeUtil {
if (null == list || list.isEmpty()) {
return treeData;
}
;
//// Map<String, List<Map>> parentIdList = list.stream().collect(Collectors.groupingBy(el -> el.get("parentId").toString()));
// List<RowMap> newList = new ArrayList<>();
// newList.addAll(list);
for (Map map : list) {
String id = map.get("ID").toString();
String pid = map.get("PLPARENTID").toString();
@ -161,17 +126,4 @@ public final class TreeUtil {
return treeData;
}
public static List<TreeNode> toTreeNode(List<RowMap> list) {
ArrayList<TreeNode> nodes = new ArrayList<>();
for (Map map : list) {
TreeNode node = new TreeNode();
node.setId( map.get("ID")==null?"":(String) map.get("ID"));
node.setLabel( map.get("MODEL_NAME")==null?"":(String) map.get("MODEL_NAME"));
node.setParentId( map.get("MODEL_PARENT_ID")==null?"":(String) map.get("MODEL_PARENT_ID"));
node.setIsPublish( map.get("IS_PUBLISH")==null?"":(String) map.get("IS_PUBLISH"));
node.setMethodId( map.get("METHOD_ID")==null?"":(String) map.get("METHOD_ID"));
nodes.add(node);
}
return nodes;
}
}

View File

@ -1,9 +1,5 @@
package com.awspaas.user.apps.nqms.portal.view.process.util;
import com.actionsoft.bpms.commons.database.RowMap;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.List;
@ -25,26 +21,4 @@ public class ViewUtil {
}
return data;
}
public static String listToSqlStr(List<String> list) {
if (list == null || list.isEmpty()) return "";
StringBuilder sqlStr = new StringBuilder("(");
for (String el : list) {
if (StringUtils.isEmpty(el)) continue;
String str = "'" + el + "',";
sqlStr.append(str);
}
sqlStr.append(")");
sqlStr.deleteCharAt(sqlStr.lastIndexOf(","));
return sqlStr.toString();
}
public static JSONObject toJsonObject(RowMap map){
JSONObject object = new JSONObject();
object.put("id",map.getString("ID"));
object.put("publish",map.getString("ISPUBLISH").equals("1"));
object.put("publishDate",map.getDate("PUBLISHDATE"));
object.put("name",map.getString("PLNAME"));
object.put("orderIndex",map.getString("PLORDERINDEX"));
object.put("methodId",map.getString("PLMETHODID"));
return object;
}
}

View File

@ -1,8 +1,5 @@
package com.awspaas.user.apps.nqms.portal.view.process.vo;
import com.alipay.remoting.util.StringUtils;
import java.util.List;
/**
* @author wym
* @date 2023-04-23 15:34
@ -18,86 +15,61 @@ public class ProcessFileVO {
*/
private String id;
/**
*业务域
* 分类
*/
private String businessAreas;
private String type;
/**
*流程组
* 分类ID
*/
private String processGroup;
private String methodId;
/**
*流程编号
* 文件名称
*/
private String processNO;
private String fileName;
/**
*业务流程
* 文件编号
*/
private String processName;
private String fileNo;
/**
*活动步骤
*/
private String activeName;
/**
*发布时间
*/
private String publishDate;
/**
*责任部门
* 发布部门
*/
private String dutyDept;
/**
*责任人
* 流程架构L1
*/
private String dutyPerson;
private List<String> compFiles;
private List<String> regimeFiles;
private List<String> formFiles;
public ProcessFileVO() {
}
public ProcessFileVO(String id, String businessAreas, String processGroup, String processNO, String processName, String activeName, String publishDate) {
this.id = id;
this.businessAreas = businessAreas;
this.processGroup = processGroup;
this.processNO = processNO;
this.processName = processName;
this.activeName = activeName;
this.publishDate = publishDate;
}
public ProcessFileVO(String id, String businessAreas, String processGroup, String processNO, String processName, String activeName, String publishDate, List<String> compFiles, List<String> regimeFiles, List<String> formFiles, String dutyDept, String dutyPerson) {
this.id = id;
this.businessAreas = businessAreas;
this.processGroup = processGroup;
this.processNO = processNO;
this.processName = processName;
this.activeName = activeName;
this.publishDate = publishDate;
this.compFiles = compFiles;
this.regimeFiles = regimeFiles;
this.formFiles = formFiles;
this.dutyDept = dutyDept;
this.dutyPerson = dutyPerson;
}
public ProcessFileVO(String url, String id, String businessAreas, String processGroup, String processNO, String processName, String activeName, String publishDate, List<String> compFiles, List<String> regimeFiles, List<String> formFiles, String dutyDept, String dutyPerson) {
this.url = url;
this.id = id;
this.businessAreas = businessAreas;
this.processGroup = processGroup;
this.processNO = processNO;
this.processName = processName;
this.activeName = activeName;
this.publishDate = publishDate;
this.compFiles = compFiles;
this.regimeFiles = regimeFiles;
this.formFiles = formFiles;
this.dutyDept = dutyDept;
this.dutyPerson = dutyPerson;
}
private String processL1;
/**
* 流程架构L2
*/
private String processL2;
/**
* 流程架构L3
*/
private String processL3;
/**
* 拟制/修订人
*/
private String changeUser;
/**
* 审核人
*/
private String auditor;
/**
* 复核人
*/
private String reviewer;
/**
* 审批人
*/
private String approver;
/**
* 拟制/修订日期
*/
private String changeDate;
/**
* 生效日期
*/
private String effectiveDate;
public String getUrl() {
return url;
@ -115,94 +87,116 @@ public class ProcessFileVO {
this.id = id;
}
public String getBusinessAreas() {
return businessAreas;
}
public void setBusinessAreas(String businessAreas) {
this.businessAreas = businessAreas;
}
public String getProcessGroup() {
return processGroup;
}
public void setProcessGroup(String processGroup) {
this.processGroup = processGroup;
}
public String getProcessNO() {
return processNO;
}
public void setProcessNO(String processNO) {
this.processNO = processNO;
}
public String getProcessName() {
return processName;
}
public void setProcessName(String processName) {
this.processName = processName;
}
public String getActiveName() {
return activeName;
}
public void setActiveName(String activeName) {
this.activeName = activeName;
}
public String getPublishDate() {
return publishDate;
}
public void setPublishDate(String publishDate) {
this.publishDate = publishDate;
}
public List<String> getCompFiles() {
return compFiles;
}
public void setCompFiles(List<String> compFiles) {
this.compFiles = compFiles;
}
public List<String> getRegimeFiles() {
return regimeFiles;
}
public void setRegimeFiles(List<String> regimeFiles) {
this.regimeFiles = regimeFiles;
}
public List<String> getFormFiles() {
return formFiles;
}
public void setFormFiles(List<String> formFiles) {
this.formFiles = formFiles;
}
public String getDutyDept() {
return dutyDept;
}
public void setDutyDept(String dutyDept) {
this.dutyDept = dutyDept;
}
public String getDutyPerson() {
return dutyPerson;
public String getType() {
return type;
}
public void setDutyPerson(String dutyPerson) {
this.dutyPerson = dutyPerson;
public void setType(String type) {
this.type = type;
}
public String getMethodId() {
return methodId;
}
public void setMethodId(String methodId) {
this.methodId = methodId;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getFileNo() {
return fileNo;
}
public void setFileNo(String fileNo) {
this.fileNo = fileNo;
}
public String getProcessL1() {
return processL1;
}
public void setProcessL1(String processL1) {
this.processL1 = processL1;
}
public String getProcessL2() {
return processL2;
}
public void setProcessL2(String processL2) {
this.processL2 = processL2;
}
public String getProcessL3() {
return processL3;
}
public void setProcessL3(String processL3) {
this.processL3 = processL3;
}
public String getChangeUser() {
return changeUser;
}
public void setChangeUser(String changeUser) {
this.changeUser = changeUser;
}
public String getAuditor() {
return auditor;
}
public void setAuditor(String auditor) {
this.auditor = auditor;
}
public String getReviewer() {
return reviewer;
}
public void setReviewer(String reviewer) {
this.reviewer = reviewer;
}
public String getApprover() {
return approver;
}
public void setApprover(String approver) {
this.approver = approver;
}
public String getChangeDate() {
return changeDate;
}
public void setChangeDate(String changeDate) {
this.changeDate = changeDate;
}
public String getEffectiveDate() {
return effectiveDate;
}
public void setEffectiveDate(String effectiveDate) {
this.effectiveDate = effectiveDate;
}
@Override
@ -210,17 +204,39 @@ public class ProcessFileVO {
return "ProcessFileVO{" +
"url='" + url + '\'' +
", id='" + id + '\'' +
", businessAreas='" + businessAreas + '\'' +
", processGroup='" + processGroup + '\'' +
", processNO='" + processNO + '\'' +
", processName='" + processName + '\'' +
", activeName='" + activeName + '\'' +
", publishDate='" + publishDate + '\'' +
", type='" + type + '\'' +
", methodId='" + methodId + '\'' +
", fileName='" + fileName + '\'' +
", fileNo='" + fileNo + '\'' +
", dutyDept='" + dutyDept + '\'' +
", dutyPerson='" + dutyPerson + '\'' +
", compFiles=" + compFiles +
", regimeFiles=" + regimeFiles +
", formFiles=" + formFiles +
", processL1='" + processL1 + '\'' +
", processL2='" + processL2 + '\'' +
", processL3='" + processL3 + '\'' +
", changeUser='" + changeUser + '\'' +
", auditor='" + auditor + '\'' +
", reviewer='" + reviewer + '\'' +
", approver='" + approver + '\'' +
", changeDate='" + changeDate + '\'' +
", effectiveDate='" + effectiveDate + '\'' +
'}';
}
public ProcessFileVO(String url, String id, String type, String methodId, String fileName, String fileNo, String dutyDept, String processL1, String processL2, String processL3, String changeUser, String auditor, String reviewer, String approver, String changeDate, String effectiveDate) {
this.url = url;
this.id = id;
this.type = type;
this.methodId = methodId;
this.fileName = fileName;
this.fileNo = fileNo;
this.dutyDept = dutyDept;
this.processL1 = processL1;
this.processL2 = processL2;
this.processL3 = processL3;
this.changeUser = changeUser;
this.auditor = auditor;
this.reviewer = reviewer;
this.approver = approver;
this.changeDate = changeDate;
this.effectiveDate = effectiveDate;
}
}