Compare commits
	
		
			4 Commits
		
	
	
		
			dcc65b6ad4
			...
			c2540118d3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | c2540118d3 | ||
|   | 53e187e55e | ||
|   | 566e659d33 | ||
|   | 73295c3f76 | 
| @ -1280,7 +1280,7 @@ | ||||
|             if(mrStatus == undefined || mrStatus == 0){//生效 | ||||
|                 //先弹出二次确认框 | ||||
|                 var options = { | ||||
|                     title : "当前管理办法未生效,是否更新管理办法的生效状态?", | ||||
|                     title : "是否确定在流程文件中添加管理要求?(确认后,内容显示位置可以在“管理要求位置”属性中修改)", | ||||
|                     content:"确认生效", | ||||
|                     onConfirm: function(){ | ||||
|                         $.ajax({ | ||||
|  | ||||
| @ -0,0 +1,15 @@ | ||||
| package com.awspaas.user.apps.nqms.portal.view.process.constant; | ||||
| 
 | ||||
| /** | ||||
|  * Created with IntelliJ IDEA. | ||||
|  * | ||||
|  * @Author: yuandongqiang | ||||
|  * @Date: 2025/9/16 | ||||
|  * @Description: | ||||
|  */ | ||||
| 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"; | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,131 @@ | ||||
| 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; | ||||
| } | ||||
| @ -0,0 +1,66 @@ | ||||
| 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; | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,68 @@ | ||||
| package com.awspaas.user.apps.nqms.portal.view.process.controller; | ||||
| 
 | ||||
| import com.actionsoft.bpms.commons.htmlframework.HtmlPageTemplate; | ||||
| import com.actionsoft.bpms.server.UserContext; | ||||
| import com.actionsoft.bpms.server.bind.annotation.Controller; | ||||
| import com.actionsoft.bpms.server.bind.annotation.Mapping; | ||||
| import com.actionsoft.sdk.local.SDK; | ||||
| import com.alibaba.fastjson.JSON; | ||||
| import com.awspaas.user.apps.nqms.portal.view.process.constant.Constant; | ||||
| import com.awspaas.user.apps.nqms.portal.view.process.service.PortalProcessService; | ||||
| 
 | ||||
| import java.util.HashMap; | ||||
| 
 | ||||
| /** | ||||
|  * Created with IntelliJ IDEA. | ||||
|  * | ||||
|  * @Author: yuandongqiang | ||||
|  * @Date: 2025/9/16 | ||||
|  * @Description: | ||||
|  */ | ||||
| @Controller | ||||
| public class PortalProcessController { | ||||
| 
 | ||||
|     /** | ||||
|      * 页面入口 | ||||
|      * | ||||
|      * @param me | ||||
|      * @return | ||||
|      */ | ||||
|     @Mapping("com.awspaas.user.apps.nqms.portal.view.process_toPage") | ||||
|     public String getListHomePage(UserContext me) { | ||||
|         HashMap<String, Object> macroLibraries = new HashMap<>(1); | ||||
|         String processMapId = SDK.getAppAPI().getProperty(Constant.APP_ID, "processMapId"); | ||||
|         macroLibraries.put("sid", me.getSessionId()); | ||||
|         macroLibraries.put("uuid", processMapId); | ||||
|         macroLibraries.put("settingParam", JSON.toJSON(macroLibraries)); | ||||
|         return HtmlPageTemplate.merge(Constant.APP_ID, "main.html", macroLibraries); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 页面初始化数据 获取流程树 | ||||
|      * | ||||
|      * @param ux        用户上下文 | ||||
|      * @param parentId  父级节点 | ||||
|      * @param queryName 查询条件 | ||||
|      * @return | ||||
|      */ | ||||
|     @Mapping("com.awspaas.user.apps.nqms.portal.view.process_list_initData") | ||||
|     public String getInitData(UserContext ux, String parentId, String queryName) { | ||||
|         SDK.getLogAPI().consoleInfo("接口:[com.awspaas.user.apps.nqms.portal.view.process_list_initData] 查询人:" + ux.getUID() + ",parentId:" + parentId + ",queryName:" + queryName); | ||||
|         return PortalProcessService.getInstance().getTreeData(ux, parentId, queryName); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 查询指定节点下的流程情况 | ||||
|      * | ||||
|      * @param ux | ||||
|      * @param id   指定的根节点 | ||||
|      * @param page | ||||
|      * @param size | ||||
|      * @return | ||||
|      */ | ||||
|     @Mapping("com.awspaas.user.apps.nqms.portal.view.process_list_getFileData") | ||||
|     public String queryFileData(UserContext ux, String id, int page, int size, String queryParams) { | ||||
|         SDK.getLogAPI().consoleInfo("接口:[com.awspaas.user.apps.nqms.portal.view.process_list_getFileData] 查询人:" + ux.getUID() + ",查询条件为 id:" + id + ",page:" + page + ",size:" + size + ",queryParams:" + queryParams); | ||||
|         return PortalProcessService.getInstance().getFileData(ux, id, page, size, true, null, queryParams); | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,76 @@ | ||||
| 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; | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,23 @@ | ||||
| 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 | ||||
|  * @date 2025/08/15 | ||||
|  * @description | ||||
|  */ | ||||
| public class RepositoryDao { | ||||
|     public String getWsId(String wsName) { | ||||
|         String sql = "SELECT ID FROM APP_ACT_COE_PAL_WORKSPACE WHERE WSNAME=?"; | ||||
|         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; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,109 @@ | ||||
| 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; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,93 @@ | ||||
| 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 + '\'' + | ||||
|                 '}'; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,45 @@ | ||||
| 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 + '\'' + | ||||
|                 '}'; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,154 @@ | ||||
| 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 + | ||||
|                 '}'; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,333 @@ | ||||
| package com.awspaas.user.apps.nqms.portal.view.process.service; | ||||
| 
 | ||||
| import com.actionsoft.bpms.commons.database.RowMap; | ||||
| import com.actionsoft.bpms.commons.mvc.view.ResponseObject; | ||||
| import com.actionsoft.bpms.form.engine.FormEngine; | ||||
| import com.actionsoft.bpms.server.UserContext; | ||||
| 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.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; | ||||
| 
 | ||||
| /** | ||||
|  * Created with IntelliJ IDEA. | ||||
|  * | ||||
|  * @Author: yuandongqiang | ||||
|  * @Date: 2025/9/17 | ||||
|  * @Description: | ||||
|  */ | ||||
| public class PortalProcessService { | ||||
|     private PortalProcessService() { | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     private static class PortalProcessInstance { | ||||
|         public static PortalProcessService instance = new PortalProcessService(); | ||||
|     } | ||||
| 
 | ||||
|     public static PortalProcessService getInstance() { | ||||
|         return PortalProcessInstance.instance; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 获取流程清单页面左侧树结构初始化数据 | ||||
|      * | ||||
|      * @param ux        用户上下文 | ||||
|      * @param parentId  父级ID | ||||
|      * @param queryName 查询条件 | ||||
|      * @return | ||||
|      */ | ||||
|     public String getTreeData(UserContext ux, String parentId, String queryName) { | ||||
|         if (StringUtils.isBlank(parentId)) { | ||||
|             parentId = "process"; | ||||
|         } | ||||
|         UtilService service = UtilService.getInstance(); | ||||
|         String wsId = service.getDefaultWsId(); | ||||
|         if (StringUtils.isEmpty(wsId)) { | ||||
|             return service.getWsIdWarnMsg(); | ||||
|         } | ||||
|         List<JSONObject> files = SDK.getPALRepositoryQueryAPI().getPalRepositoryModelsByPid(wsId, parentId); | ||||
|         List<TreeNode> treeNodes = new ArrayList<>(); | ||||
|         for (JSONObject row : files) { | ||||
|             Boolean use = row.getBoolean("use"); | ||||
|             if (!use) { | ||||
|                 continue; | ||||
|             } | ||||
|             if ("process".equals(parentId)) { | ||||
|                 String name = row.getString("name"); | ||||
|                 int index = row.getIntValue("orderIndex"); | ||||
|                 if (!name.startsWith(String.valueOf(index))) { | ||||
|                     continue; | ||||
|                 } | ||||
|             } | ||||
|             if (StringUtil.isNotBlank(queryName)) { | ||||
|                 if (!row.getString("name").contains(queryName)) { | ||||
|                     boolean hasQUery = false; | ||||
|                     String id = row.getString("id"); | ||||
|                     List<JSONObject> list = SDK.getPALRepositoryQueryAPI().getAllPublishedPalRepositoryModelsByPid(wsId, id); | ||||
|                     for (JSONObject jsonObject : list) { | ||||
|                         if (jsonObject.getString("name").contains(queryName)) { | ||||
|                             hasQUery = true; | ||||
|                             break; | ||||
|                         } | ||||
|                     } | ||||
|                     if (!hasQUery) { | ||||
|                         continue; | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             TreeNode node = new TreeNode(row.getString("id"), row.getString("name"), row.getString("newParentId")); | ||||
|             treeNodes.add(node); | ||||
|         } | ||||
|         List<TreeNode> processTree = TreeUtil.treeMenu(treeNodes, parentId); | ||||
| 
 | ||||
|         ResponseObject ro = ResponseObject.newOkResponse(); | ||||
|         ro.put("treeData", processTree); | ||||
|         return ro.toString(); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 查询指定节点下的流程文件数据 | ||||
|      * | ||||
|      * @param ux | ||||
|      * @param parentId 当前点击的节点 | ||||
|      * @param page | ||||
|      * @param size | ||||
|      * @param flag     是否添加当前点击节点的信息 | ||||
|      * @return | ||||
|      */ | ||||
|     public String getFileData(UserContext ux, String parentId, int page, int size, boolean flag, List<String> myFiles, String params) { | ||||
|         JSONObject paramsMap = null; | ||||
|         if (StringUtils.isNotEmpty(params)) { | ||||
|             paramsMap = JSONObject.parseObject(params); | ||||
|         } | ||||
|         UtilService service = UtilService.getInstance(); | ||||
|         String rootId = "process"; | ||||
|         String wsId = service.getDefaultWsId(); | ||||
|         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); | ||||
|         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 = setProcessAttr(ux, data, allCollect, paramsMap); | ||||
|         } else { | ||||
|             collect = setProcessAttr(ux, collect, allCollect, paramsMap); | ||||
|             data = ViewUtil.pageUtil(collect, page, size); | ||||
|         } | ||||
| 
 | ||||
|         ResponseObject ro = ResponseObject.newOkResponse(); | ||||
|         ro.put("fileData", data); | ||||
|         ro.put("count", collect.size()); | ||||
|         ro.put("processCount", collect.size()); | ||||
|         return ro.toString(); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 构建文件的相关属性信息 | ||||
|      * | ||||
|      * @param ux | ||||
|      * @param files | ||||
|      * @param allFileMap | ||||
|      * @return | ||||
|      */ | ||||
|     public List setProcessAttr(UserContext ux, List<JSONObject> files, Map<String, List<JSONObject>> allFileMap, JSONObject paramsMap) { | ||||
|         String queryName = ""; | ||||
|         String queryDept = ""; | ||||
|         if (null != paramsMap) { | ||||
|             queryName = paramsMap.getString("name"); | ||||
|             queryDept = paramsMap.getString("dept"); | ||||
|         } | ||||
|         List<ProcessFileVO> data = new ArrayList<>(); | ||||
|         String sid = ux.getSessionId(); | ||||
|         List<String> fileIdList = new ArrayList<>(); | ||||
|         for (JSONObject file : files) { | ||||
|             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="; | ||||
| 
 | ||||
|             //关联文件 | ||||
|             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(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); | ||||
|         } | ||||
| 
 | ||||
|         //   List<ProcessFileVO> fileData = TestData.getFileData(); | ||||
|         return data; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 查询文件的关联属性 | ||||
|      * | ||||
|      * @param fileIdList | ||||
|      * @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); | ||||
|         } | ||||
| //        SDK.getLogAPI().consoleInfo(id+":结束寻找流程链"); | ||||
|         Collections.reverse(list); | ||||
|         return list; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,87 @@ | ||||
| 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 | ||||
|  * @description | ||||
|  */ | ||||
| public class UtilService { | ||||
| 
 | ||||
| 
 | ||||
|     private UtilService() { | ||||
|     } | ||||
| 
 | ||||
|     private static class FactorInstance { | ||||
|         private static UtilService instance = new UtilService(); | ||||
|     } | ||||
| 
 | ||||
|     public static UtilService getInstance() { | ||||
|         return FactorInstance.instance; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 查询默认访问的资产库id | ||||
|      * | ||||
|      * @return | ||||
|      */ | ||||
|     public String getDefaultWsId() { | ||||
|         String wsName = SDK.getAppAPI().getProperty("com.awspaas.user.apps.nqms.portal.indexpage", "wsName"); | ||||
|         RepositoryDao repositoryDao = new RepositoryDao(); | ||||
|         return repositoryDao.getWsId(wsName); | ||||
|     } | ||||
| 
 | ||||
|     public String getWsIdWarnMsg() { | ||||
|         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; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,32 @@ | ||||
| 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 ""; | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,361 @@ | ||||
| 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; | ||||
|     } | ||||
| */ | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,148 @@ | ||||
| package com.awspaas.user.apps.nqms.portal.view.process.util; | ||||
| 
 | ||||
| 
 | ||||
| import java.util.List; | ||||
| 
 | ||||
| /** | ||||
|  * @author ZHULIMIN | ||||
|  */ | ||||
| public class TreeNode { | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * 节点id | ||||
|      */ | ||||
|     private String id; | ||||
| 
 | ||||
|     /** | ||||
|      * 节点名称 | ||||
|      */ | ||||
|     private String label; | ||||
| 
 | ||||
|     /** | ||||
|      * 父节点 默认0为根节点 | ||||
|      */ | ||||
|     private String parentId; | ||||
| 
 | ||||
|     /** | ||||
|      * 是否显示  true false | ||||
|      */ | ||||
|     private Boolean disabled; | ||||
| 
 | ||||
|     /** | ||||
|      * 是否有子节点 | ||||
|      */ | ||||
|     private boolean hasChild; | ||||
|     /** | ||||
|      * 是否有子节点 | ||||
|      */ | ||||
|     private String isPublish; | ||||
|     /** | ||||
|      * 子节点 | ||||
|      */ | ||||
|     private List<TreeNode> children; | ||||
| 
 | ||||
|     /** | ||||
|      * 图标 | ||||
|      */ | ||||
|     private String icon; | ||||
| 
 | ||||
|     /** | ||||
|      * 文件类型 | ||||
|      */ | ||||
|     private String methodId = ""; | ||||
| 
 | ||||
|     public TreeNode() { | ||||
|     } | ||||
| 
 | ||||
|     public TreeNode(String id, String label, String parentId) { | ||||
|         this.id = id; | ||||
|         this.label = label; | ||||
|         this.parentId = parentId; | ||||
|     } | ||||
| 
 | ||||
|     public TreeNode(String id, String label, String parentId, Boolean disabled, boolean hasChild, String isPublish, List<TreeNode> children, String icon, String methodId) { | ||||
|         this.id = id; | ||||
|         this.label = label; | ||||
|         this.parentId = parentId; | ||||
|         this.disabled = disabled; | ||||
|         this.hasChild = hasChild; | ||||
|         this.isPublish = isPublish; | ||||
|         this.children = children; | ||||
|         this.icon = icon; | ||||
|         this.methodId = methodId; | ||||
|     } | ||||
| 
 | ||||
|     public String getIcon() { | ||||
|         return icon; | ||||
|     } | ||||
| 
 | ||||
|     public void setIcon(String icon) { | ||||
|         this.icon = icon; | ||||
|     } | ||||
| 
 | ||||
|     public String getMethodId() { | ||||
|         return methodId; | ||||
|     } | ||||
| 
 | ||||
|     public void setMethodId(String methodId) { | ||||
|         this.methodId = methodId; | ||||
|     } | ||||
| 
 | ||||
|     public String getIsPublish() { | ||||
|         return isPublish; | ||||
|     } | ||||
| 
 | ||||
|     public void setIsPublish(String isPublish) { | ||||
|         this.isPublish = isPublish; | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public String getId() { | ||||
|         return id; | ||||
|     } | ||||
| 
 | ||||
|     public void setId(String id) { | ||||
|         this.id = id; | ||||
|     } | ||||
| 
 | ||||
|     public String getLabel() { | ||||
|         return label; | ||||
|     } | ||||
| 
 | ||||
|     public void setLabel(String label) { | ||||
|         this.label = label; | ||||
|     } | ||||
| 
 | ||||
|     public String getParentId() { | ||||
|         return parentId; | ||||
|     } | ||||
| 
 | ||||
|     public void setParentId(String parentId) { | ||||
|         this.parentId = parentId; | ||||
|     } | ||||
| 
 | ||||
|     public Boolean getDisabled() { | ||||
|         return disabled; | ||||
|     } | ||||
| 
 | ||||
|     public void setDisabled(Boolean disabled) { | ||||
|         this.disabled = disabled; | ||||
|     } | ||||
| 
 | ||||
|     public boolean isHasChild() { | ||||
|         return hasChild; | ||||
|     } | ||||
| 
 | ||||
|     public void setHasChild(boolean hasChild) { | ||||
|         this.hasChild = hasChild; | ||||
|     } | ||||
| 
 | ||||
|     public List<TreeNode> getChildren() { | ||||
|         return children; | ||||
|     } | ||||
| 
 | ||||
|     public void setChildren(List<TreeNode> children) { | ||||
|         this.children = children; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,177 @@ | ||||
| package com.awspaas.user.apps.nqms.portal.view.process.util; | ||||
| 
 | ||||
| 
 | ||||
| import com.actionsoft.bpms.commons.database.RowMap; | ||||
| 
 | ||||
| import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
| /** | ||||
|  * 树形结构工具类 | ||||
|  * | ||||
|  * @author ZHULIMIN | ||||
|  * @version 1.0 | ||||
|  * @date 2023-02-28 14:57:00 | ||||
|  */ | ||||
| public final class TreeUtil { | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * 树形结构工具类 | ||||
|      * <p> | ||||
|      * 将一组list对象转成树形结构 | ||||
|      * 该list需符合设定的字段类型 | ||||
|      */ | ||||
| 
 | ||||
|     static List<TreeNode> menuCommon = null; | ||||
| 
 | ||||
|     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<>(); | ||||
|         for (TreeNode treeNode : menu) { | ||||
|             Map mapArr = Collections.synchronizedMap(new LinkedHashMap<>()); | ||||
|             if (parentId.equals(treeNode.getParentId())) { | ||||
|                 setTreeMap(mapArr, treeNode); | ||||
|                 list.add(mapArr); | ||||
|             } | ||||
|         } | ||||
|         return list; | ||||
|     } | ||||
| 
 | ||||
|     public static List menuChild(String id) { | ||||
|         List lists = new ArrayList(); | ||||
|         for (TreeNode a : menuCommon) { | ||||
|             Map childArray = Collections.synchronizedMap(new LinkedHashMap()); | ||||
|             if (a.getParentId().equals(id)) { | ||||
|                 setTreeMap(childArray, a); | ||||
|                 lists.add(childArray); | ||||
|             } | ||||
|         } | ||||
|         return lists; | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     private static void setTreeMap(Map mapArr, TreeNode treeNode) { | ||||
|         mapArr.put("id", treeNode.getId()); | ||||
|         mapArr.put("label", treeNode.getLabel()); | ||||
|         mapArr.put("parentId", treeNode.getParentId()); | ||||
|         mapArr.put("methodId", treeNode.getMethodId()); | ||||
|         mapArr.put("icon", treeNode.getIcon()); | ||||
|         List childrens = menuChild(treeNode.getId()); | ||||
|         if (childrens.size() > 0) { | ||||
|             mapArr.put("hasChild", true); | ||||
|         } else { | ||||
|             mapArr.put("hasChild", false); | ||||
|         } | ||||
|         mapArr.put("children", menuChild(treeNode.getId())); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 根据父节点寻找对应的node | ||||
|      * | ||||
|      * @param list | ||||
|      * @param parentId | ||||
|      * @return | ||||
|      */ | ||||
|     public static List<TreeNode> findTreeByNode(List<TreeNode> list, String parentId) { | ||||
|         for (TreeNode node : list) { | ||||
|             String id = node.getId(); | ||||
|             List<TreeNode> data = new ArrayList<>(); | ||||
|             data.add(node); | ||||
|             if (id.equals(parentId)) { | ||||
|                 return data; | ||||
|             } else { | ||||
|                 if (node.isHasChild()) { | ||||
|                     List<TreeNode> treeByNode = findTreeByNode(data, parentId); | ||||
|                     if (treeByNode == null) continue; | ||||
|                     return treeByNode; | ||||
|                 } else { | ||||
|                     return null; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         return null; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 根据父节点寻找对应的node | ||||
|      * | ||||
|      * @param list | ||||
|      * @param parentId | ||||
|      * @return | ||||
|      */ | ||||
|     public static List<Map> findTreeByParentId(List<RowMap> list, String parentId, List<Map> treeData) { | ||||
|         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(); | ||||
|             if (id.equals(parentId)) { | ||||
|                 if (!treeData.contains(map)) { | ||||
|                     treeData.add(map); | ||||
|                     continue; | ||||
|                 } | ||||
|             } | ||||
|             if (pid.equals(parentId)) { | ||||
|                 if (!treeData.contains(map)) { | ||||
| 
 | ||||
|                     treeData.add(map); | ||||
|                     treeData = findTreeByParentId(list, id, treeData); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         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; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,50 @@ | ||||
| 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; | ||||
| 
 | ||||
| /** | ||||
|  * @author wym | ||||
|  * @date 2023-04-24 10:52 | ||||
|  * @description | ||||
|  */ | ||||
| public class ViewUtil { | ||||
|     public static List pageUtil(List list, int page, int size) { | ||||
|         if (page==0&&size==0){ | ||||
|             return list; | ||||
|         } | ||||
|         List data = new ArrayList<>(); | ||||
|         for (int i = 0; i < list.size(); i++) { | ||||
|             if (size * (page - 1) <= i && i < (size * page)) { | ||||
|                 data.add(list.get(i)); | ||||
|             } | ||||
|         } | ||||
|         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; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,226 @@ | ||||
| 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 | ||||
|  * @description | ||||
|  */ | ||||
| public class ProcessFileVO { | ||||
|     /** | ||||
|      * | ||||
|      */ | ||||
|     private String url; | ||||
|     /** | ||||
|      * | ||||
|      */ | ||||
|     private String id; | ||||
|     /** | ||||
|      *业务域 | ||||
|      */ | ||||
|     private String businessAreas; | ||||
|     /** | ||||
|      *流程组 | ||||
|      */ | ||||
|     private String processGroup; | ||||
|     /** | ||||
|      *流程编号 | ||||
|      */ | ||||
|     private String processNO; | ||||
|     /** | ||||
|      *业务流程 | ||||
|      */ | ||||
|     private String processName; | ||||
|     /** | ||||
|      *活动步骤 | ||||
|      */ | ||||
|     private String activeName; | ||||
|     /** | ||||
|      *发布时间 | ||||
|      */ | ||||
|     private String publishDate; | ||||
|     /** | ||||
|      *责任部门 | ||||
|      */ | ||||
|     private String dutyDept; | ||||
|     /** | ||||
|      *责任人 | ||||
|      */ | ||||
|     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; | ||||
|     } | ||||
| 
 | ||||
|     public String getUrl() { | ||||
|         return url; | ||||
|     } | ||||
| 
 | ||||
|     public void setUrl(String url) { | ||||
|         this.url = url; | ||||
|     } | ||||
| 
 | ||||
|     public String getId() { | ||||
|         return id; | ||||
|     } | ||||
| 
 | ||||
|     public void setId(String id) { | ||||
|         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 void setDutyPerson(String dutyPerson) { | ||||
|         this.dutyPerson = dutyPerson; | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "ProcessFileVO{" + | ||||
|                 "url='" + url + '\'' + | ||||
|                 ", id='" + id + '\'' + | ||||
|                 ", businessAreas='" + businessAreas + '\'' + | ||||
|                 ", processGroup='" + processGroup + '\'' + | ||||
|                 ", processNO='" + processNO + '\'' + | ||||
|                 ", processName='" + processName + '\'' + | ||||
|                 ", activeName='" + activeName + '\'' + | ||||
|                 ", publishDate='" + publishDate + '\'' + | ||||
|                 ", dutyDept='" + dutyDept + '\'' + | ||||
|                 ", dutyPerson='" + dutyPerson + '\'' + | ||||
|                 ", compFiles=" + compFiles + | ||||
|                 ", regimeFiles=" + regimeFiles + | ||||
|                 ", formFiles=" + formFiles + | ||||
|                 '}'; | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user