Merge remote-tracking branch 'origin/master'

This commit is contained in:
chengli 2022-07-13 15:52:42 +08:00
commit 95a4cbbf16
19 changed files with 167 additions and 40 deletions

View File

@ -326,6 +326,27 @@ public class CooperationController {
return web.removeCooperationMember(teamId, userIds);
}
/**
* 权限复制
* @param uc
* @param teamId
* @param userid
* @param targetUserid
* @return
*/
@Mapping("com.actionsoft.apps.coe.pal.cooperation_manage_team_member_perm_copy")
public String copyCooperationMemberPerm(UserContext uc,String teamId,String userid,String targetUserid){
CooperationWeb web = new CooperationWeb(uc);
return web.copyCooperationMemberPerm(teamId,userid,targetUserid);
}
@Mapping("com.actionsoft.apps.coe.pal.cooperation_test")
public String test(UserContext uc) {
ResponseObject ro = ResponseObject.newOkResponse();
List<TeamInfo> allTeamInfo = CooperationCache.getAllTeamInfo();
ro.put("perms",allTeamInfo);
return ro.toString();
}
}

View File

@ -266,10 +266,8 @@ public class CooperationWeb extends ActionWeb {
if (SDK.getAppAPI().getPropertyBooleanValue(CoEConstant.APP_ID, "IS_RECORD_OP_LOG", false)) {
CoEOpLogAPI.auditOkOp(_uc, CoEOpLogConst.MODULE_CATEGORY_COOPERATION, CoEOpLogConst.OP_CREATE, CoEOpLogConst.INFO_COOPERATION_CREATE);
}
if (!isOlderVersion){
//更新用户权限缓存
CooperationCache.updateTeamInfo(teamId);
}
//更新用户权限缓存
CooperationCache.updateTeamInfo(teamId);
return ResponseObject.newOkResponse().toString();
} else {
return ResponseObject.newErrResponse(msg + ",保存失败").toString();
@ -335,10 +333,8 @@ public class CooperationWeb extends ActionWeb {
if (SDK.getAppAPI().getPropertyBooleanValue(CoEConstant.APP_ID, "IS_RECORD_OP_LOG", false)) {
CoEOpLogAPI.auditOkOp(_uc, CoEOpLogConst.MODULE_CATEGORY_COOPERATION, CoEOpLogConst.OP_UPDATE, CoEOpLogConst.INFO_COOPERATION_UPDATE);
}
if (!isOlderVersion){
//更新用户权限缓存
CooperationCache.updateTeamInfo(teamId);
}
//更新用户权限缓存
CooperationCache.updateTeamInfo(teamId);
return ResponseObject.newOkResponse().toString();
} else {
return ResponseObject.newErrResponse(msg + ",更新失败").toString();
@ -1697,6 +1693,53 @@ public class CooperationWeb extends ActionWeb {
return data;
}
/**
* 权限复制
* @param teamId
* @param userid 待复制用户id
* @param targetUserid 目标用户id
* @return
*/
public String copyCooperationMemberPerm(String teamId,String userid,String targetUserid){
ResponseObject ro = ResponseObject.newOkResponse();
CoeUser coeUser = new CoeUser();
if(userid.equals(targetUserid)){
return ResponseObject.newErrResponse("待复制用户id与目标用户id不能相同").toString();
}
if (!coeUser.validateIsAccessCOE(userid) || !coeUser.validateIsAccessCOE(targetUserid)){
return ResponseObject.newErrResponse("用户id异常").toString();
}
CoeCooperationAPIManager api = CoeCooperationAPIManager.getInstance();
if (CoeCooperationAPIManager.getInstance().queryCooperationRoleByUser(teamId,userid) == null || CoeCooperationAPIManager.getInstance().queryCooperationRoleByUser(teamId,targetUserid) == null){
return ResponseObject.newErrResponse("参与复制的用户必须在对应小组下").toString();
}
//处理小组下成员信息,先删除关系后将target的角色id复制到user上新增
api.removeCooperationMemeber(teamId,userid);
List<CoeCooperationMemberModel> memberModels = api.queryCooperationTeamMembersByUser(teamId, targetUserid);
Timestamp now = new Timestamp(System.currentTimeMillis());
List<CoeCooperationMemberModel> copyUsers = new ArrayList<>();
for (CoeCooperationMemberModel memberModel : memberModels) {
CoeCooperationMemberModel member = new CoeCooperationMemberModel(UUIDGener.getUUID(), teamId, userid, memberModel.getRoleId(), _uc.getUID(), now, _uc.getUID(), now);
copyUsers.add(member);
}
api.createCooperationMemebers(copyUsers);
//处理隐藏角色的权限复制
CoeCooperationRoleModel originHideRole = api.queryCooperationTeamHideRole(teamId, userid);
api.removeCooperationRolePerms(teamId,originHideRole.getId());
CoeCooperationRoleModel targetHideRole = api.queryCooperationTeamHideRole(teamId, targetUserid);
List<CoeCooperationRolePermModel> targetRolePerms = api.queryCooperationRoleDataPermList(teamId, targetHideRole.getId());
List<CoeCooperationRolePermModel> permModelList = new ArrayList<>();
for (CoeCooperationRolePermModel targetRolePerm : targetRolePerms) {
CoeCooperationRolePermModel permModel = new CoeCooperationRolePermModel(UUIDGener.getUUID(), teamId, originHideRole.getId(), targetRolePerm.getPalVersionId(), targetRolePerm.getActionPerm());
permModelList.add(permModel);
}
api.createCooperationRolePerms(permModelList);
return ro.toString();
}
/**
* 获取单位下第一级部门
* @param companyId

View File

@ -2,6 +2,9 @@ ALTER TABLE APP_ACT_COE_PAL_UPFILE ADD COLUMN SECURITYLEVEL SMALLINT(1) NOT NULL
ALTER TABLE APP_ACT_COE_PAL_REPO_R ADD COLUMN SECURITYLEVEL SMALLINT(1) NOT NULL DEFAULT -1;
ALTER TABLE APP_ACT_COE_PAL_REPOSITORY ADD COLUMN SECURITYLEVEL SMALLINT(1) NOT NULL DEFAULT -1;
ALTER TABLE APP_ACT_COE_PAL_REPOSITORY modify PLVER DECIMAL(6,3)
ALTER TABLE APP_ACT_COE_PAL_REPOSITORY modify PLVER DECIMAL(6,3);
ALTER TABLE APP_ACT_COE_PAL_REPO_R modify PLLEVEL DECIMAL(6,3);
ALTER TABLE APP_ACT_COE_PAL_REPO_R modify PLLEVEL DECIMAL(6,3)
ALTER TABLE APP_ACT_COE_PAL_COOP_ROLE_PERM ADD ACTIONPERM varchar(36);
ALTER TABLE APP_ACT_COE_PAL_COOP_ROLE ADD ISUSER SMALLINT;
UPDATE APP_ACT_COE_PAL_COOP_ROLE SET ISUSER = 0;

View File

@ -1,3 +1,10 @@
ALTER TABLE APP_ACT_COE_PAL_UPFILE ADD (SECURITYLEVEL NUMBER(1) DEFAULT -1 NOT NULL);
ALTER TABLE APP_ACT_COE_PAL_REPO_R ADD (SECURITYLEVEL NUMBER(1) DEFAULT -1 NOT NULL);
ALTER TABLE APP_ACT_COE_PAL_REPOSITORY ADD (SECURITYLEVEL NUMBER(1) DEFAULT -1 NOT NULL);
ALTER TABLE APP_ACT_COE_PAL_REPOSITORY ADD (SECURITYLEVEL NUMBER(1) DEFAULT -1 NOT NULL);
ALTER TABLE APP_ACT_COE_PAL_REPOSITORY modify (PLVER NUMBER(6,3));
ALTER TABLE APP_ACT_COE_PAL_REPO_R modify (PLLEVEL NUMBER(6,3));
ALTER TABLE APP_ACT_COE_PAL_COOP_ROLE_PERM ADD (ACTIONPERM VARCHAR2(36));
ALTER TABLE APP_ACT_COE_PAL_COOP_ROLE ADD (ISUSER NUMBER(1));
UPDATE APP_ACT_COE_PAL_COOP_ROLE SET ISUSER = 0;

View File

@ -1,3 +0,0 @@
ALTER TABLE APP_ACT_COE_PAL_REPOSITORY modify PLVER DECIMAL(6,3)
ALTER TABLE APP_ACT_COE_PAL_REPO_R modify PLLEVEL DECIMAL(6,3)

View File

@ -127,6 +127,29 @@ public class CoeCooperationAPIManager {
return dao.queryUserListByTeam(teamId);
}
/**
* 获取小组下指定用户的多角色列表
* @param teamId
* @param userid
* @return
*/
public List<CoeCooperationMemberModel> queryCooperationTeamMembersByUser(String teamId,String userid) {
CoeCooperationMemberDao dao = new CoeCooperationMemberDao();
return dao.getTeamRolesByUser(teamId,userid);
}
/**
* 获取小组下指定用户的隐藏角色-用户权限
* @param teamId
* @param userid
* @return
*/
public CoeCooperationRoleModel queryCooperationTeamHideRole(String teamId,String userid){
CoeCooperationRoleDao roleDao = new CoeCooperationRoleDao();
return roleDao.getCooperationHideRoleByRoleName(teamId,userid);
}
/**
* 获取小组的管理员用户
* @param teamId

View File

@ -8170,7 +8170,7 @@ public class CoeProcessLevelWeb extends ActionWeb {
if(sb.length()>0){
keywordStr = sb.deleteCharAt(sb.length() - 1).toString();//去掉最后一个逗号
}else{
keywordStr="";
keywordStr=" ";
}
ro.put("repositoryPathData",keywordStr);
return ro.toString();
@ -8231,11 +8231,11 @@ public class CoeProcessLevelWeb extends ActionWeb {
if(type.equals("1")){
shape=ShapeUtils.getProcessShapeDefinitionByName("control_policy", "regulation");
shape.put("id", shapeId);
shape.put("text","制度");
shape.put("text",title);
}else {
shape= ShapeUtils.getProcessShapeDefinitionByName("control_policy", "I/O_L4");
shape.put("id", shapeId);
shape.put("text","操作指导");
shape.put("text",title);
}

View File

@ -13,4 +13,4 @@
var mainType = "<#mainType>";
var uid = "<#uid>";
var wHref = "./w";
var jdHref = "./jd";</script><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-18ba0bf3.b9b5de63.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-1fd5b92a.9170273e.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-201283e8.3761301d.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-3a7599c6.bb861d84.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-532765fe.0cca68dd.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-6a168504.2ccf5270.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-6c83edf4.6c467910.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-9d1e04c4.d1caea12.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-f3e4ff48.721c4dc9.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-18ba0bf3.d0d27872.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-1fd5b92a.07c16352.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-201283e8.208e8fb5.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d0ab156.ca03ae9d.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d0b25b0.3ebfc816.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d0f078a.3038704d.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d216d3a.96ada280.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d224b23.e62adedc.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d224ef1.44cb7f2b.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-3a7599c6.5d555915.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-532765fe.9bb04323.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-5ca06e36.c64d879b.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-6a168504.97568202.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-6c83edf4.93b8726a.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-9d1e04c4.ddede9a0.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-bf7921b8.1d6eee48.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-f3e4ff48.6d7f9787.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/app.634e376c.css rel=preload as=style><link href=../apps/com.actionsoft.apps.coe.pal/main/js/app.f342b1ba.js rel=preload as=script><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-vendors.bd2b52b4.js rel=preload as=script><link href=../apps/com.actionsoft.apps.coe.pal/main/css/app.634e376c.css rel=stylesheet></head><body style=margin:0;><div id=app></div><script src=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-vendors.bd2b52b4.js></script><script src=../apps/com.actionsoft.apps.coe.pal/main/js/app.f342b1ba.js></script></body></html>
var jdHref = "./jd";</script><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-18ba0bf3.b9b5de63.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-1fd5b92a.9170273e.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-201283e8.3761301d.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-3a7599c6.bb861d84.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-4a9f77c7.b6520782.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-532765fe.0cca68dd.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-6c83edf4.6c467910.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-9d1e04c4.d1caea12.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-f3e4ff48.721c4dc9.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-18ba0bf3.d0d27872.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-1fd5b92a.07c16352.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-201283e8.208e8fb5.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d0ab156.ca03ae9d.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d0b25b0.3ebfc816.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d0f078a.3038704d.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d216d3a.96ada280.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d224b23.e62adedc.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d224ef1.44cb7f2b.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-3a7599c6.5d555915.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-4a9f77c7.6376b24a.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-532765fe.9bb04323.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-5ca06e36.c64d879b.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-6c83edf4.93b8726a.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-9d1e04c4.ddede9a0.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-bf7921b8.1d6eee48.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-f3e4ff48.6d7f9787.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/app.634e376c.css rel=preload as=style><link href=../apps/com.actionsoft.apps.coe.pal/main/js/app.752c2064.js rel=preload as=script><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-vendors.bd2b52b4.js rel=preload as=script><link href=../apps/com.actionsoft.apps.coe.pal/main/css/app.634e376c.css rel=stylesheet></head><body style=margin:0;><div id=app></div><script src=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-vendors.bd2b52b4.js></script><script src=../apps/com.actionsoft.apps.coe.pal/main/js/app.752c2064.js></script></body></html>

View File

@ -709,6 +709,7 @@
}
function initOutputFileLink() {
if(taskId != "") {
var html = '';
// 只包含手册的链接
@ -736,6 +737,7 @@
//三员模式文件预览
function secOpenOutputFile(id) {
debugger;
if (taskId !="<#taskId>"){
openOutputFile(taskId);
}else{

View File

@ -976,12 +976,12 @@ function openRelationDialog(obj, callback) {
var method=JSON.parse(ref).method;
var methodName="";
if(title=="表单"){
if(title=="支持文件"){
methodName="新建表单模型";
}else if(method=="control.kpi"){
methodName="新建绩效模型";
}
if(title=="表单" || method=="control.kpi"){
if(title=="支持文件" || method=="control.kpi"){
var relationDlg = parent.FrmDialog.open({
title: title,
width:710,
@ -1023,12 +1023,9 @@ function openRelationDialog(obj, callback) {
methodId:method
},
success : function(msg) {
debugger;
if (msg.result == "ok") {
window.open("./w?uuid=" + msg.data.uuid+"&teamId"
+ "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer&sid=" + encodeURIComponent($('#sid').val()));
}
}

View File

@ -349,8 +349,8 @@ $(function() {
y : 180 - pos.top
});
Designer.setPageStyle({
width: minPageWidth,
height: contentHeight + 360
width: Math.trunc(minPageWidth),
height: Math.trunc(contentHeight + 360)
});
} else if(movingShapes.length > 0 && contentWidth > minPageWidth - 180*2) {
// 右移或左移 距左部60 默认padding 60
@ -364,8 +364,8 @@ $(function() {
y : 180 - pos.top
});
Designer.setPageStyle({
width: contentWidth + 180*2,
height: contentHeight + 180*2
width: Math.trunc(contentWidth + 180*2),
height: Math.trunc(contentHeight + 180*2)
});
}
Model.updateMulti(movingShapes);

View File

@ -1575,6 +1575,16 @@ function initUpfileData(obj) {
}
t += '</table>';
}
//流程手册附件展示
t += '<table class="awsui-table">';
t += '<tr>';
t += '<td class="tableHeader">流程手册</td>';
t += '</tr>';
t += '<tr>';
t += '<td class="tableContent" style="padding-left:20px;"><a href="javascript:void(0);" onclick="openOutputFile(\''+ ruuid +'\')">'+ fileName +'</a></td>';
t += '</tr>';
t += '</table>';
var elements = Model.define.elements;
for(var e in elements) {
var ele = elements[e];
@ -1742,7 +1752,15 @@ function initShapeAttribute(obj) {
}
}
var t = '';
t += '<table class="awsui-table awsui-table-bordered" name="' + shape.id + '">';
t += '<table>';
t += '<tr>';
t += '<button type="button" class="awsui-btn awsui-btn-blue awsui-btn-sm" onclick="searchChange(\''+shape.id+'\')">';
t +='<i class="awsui-iconfont" id="searchChange'+shape.id+'">&#xe718;</i>';
t += '</button>';
t += '</tr>';
t += '</table>';
t +='<input type="hidden" name="searchChangeFlg" id="searchChangeFlg'+shape.id+'" value="0" />';
t += '<table class="awsui-table awsui-table-bordered" name="' + shape.id + '" id="' +shape.id+ 'change" >';
t += '<tr name="trHeader">';
t += '<td class="tableHeader" colspan="3">' + shape.text + '</td>';
t += '</tr>';
@ -1776,6 +1794,21 @@ function initShapeAttribute(obj) {
}
}
function searchChange(id) {
if (document.getElementById("searchChangeFlg"+id).value == "1") {
document.getElementById(id+"change").style.display="";
document.getElementById("searchChange"+id).innerHTML = "&#xe718;";
document.getElementById("searchChangeFlg"+id).value = "0";
} else {
document.getElementById(id+"change").style.display="none";
document.getElementById("searchChange"+id).innerHTML = "&#xe716;";
document.getElementById("searchChangeFlg"+id).value = "1";
}
}
//获取select类型属性的option
var comboboxs = [];
function getSelectOptions(category, selectValues) {

View File

@ -4529,15 +4529,16 @@ var Designer = {
l = j.name + ": "
}
if (jjj.showType == "text" || jjj.showType == "attr") {
//判断如果岗位多个数据,...显示 by zhaolei
var lenth=jjj.value.match(/,/g).length;
if(lenth>=2){
var index1=jjj.value.indexOf(",");
var index2=jjj.value.indexOf(",",index1+1);
l+=jjj.value.substr(0,index2)+"...";
}else{
l += jjj.value
if (jjj.value != "") {
var lenth = jjj.value.match(/,/g).length;
if (lenth >= 2) {
var index1 = jjj.value.indexOf(",");
var index2 = jjj.value.indexOf(",", index1 + 1);
l += jjj.value.substr(0, index2) + "...";
} else {
l += jjj.value
}
}
} else {

File diff suppressed because one or more lines are too long