优化角色对应岗位,错乱问题

This commit is contained in:
yujh 2024-09-03 16:55:35 +08:00
parent 6ee565d31a
commit c237c6ef43

View File

@ -66,7 +66,10 @@ public class Report1Gener {
GenerLogExd log = new GenerLogExd();
//word换行符
private final String WRAPSTRING = "</w:t></w:r></w:p><w:p><w:pPr><w:keepNext w:val=\"off\"/><w:keepLines w:val=\"off\"/><w:pageBreakBefore w:val=\"off\"/><w:widowControl/><w:kinsoku/><w:wordWrap/><w:overflowPunct/><w:topLinePunct w:val=\"off\"/><w:autoSpaceDE/><w:autoSpaceDN/><w:adjustRightInd/><w:snapToGrid/><w:spacing w:line=\"240\" w:line-rule=\"auto\"/><w:ind w:left=\"0\" w:right=\"0\" w:right-chars=\"0\" w:first-line=\"0\" w:first-line-chars=\"0\"/><w:jc w:val=\"both\"/><w:textAlignment w:val=\"auto\"/><w:outlineLvl w:val=\"9\"/><w:rPr><w:rFonts w:ascii=\"宋体\" w:h-ansi=\"宋体\" w:fareast=\"宋体\" w:cs=\"宋体\" w:hint=\"fareast\"/><w:color w:val=\"auto\"/><w:sz w:val=\"21\"/><w:sz-cs w:val=\"21\"/><w:lang w:val=\"EN-US\"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii=\"宋体\" w:h-ansi=\"宋体\" w:fareast=\"宋体\" w:cs=\"宋体\" w:hint=\"fareast\"/><w:color w:val=\"auto\"/><w:sz w:val=\"21\"/><w:sz-cs w:val=\"21\"/><w:lang w:val=\"EN-US\"/></w:rPr><w:t>";
private final String WRAPSTRING_TABLE = "</w:t></w:r></w:p><w:p wsp:rsidR=\"00D07F86\" wsp:rsidRDefault=\"00D07F86\"><w:pPr><w:pStyle w:val=\"TABLEITEM\"/><w:rPr><w:sz w:val=\"21\"/><w:sz-cs w:val=\"21\"/><w:lang w:val=\"EN-US\"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint=\"fareast\"/><w:sz w:val=\"21\"/><w:sz-cs w:val=\"21\"/><w:lang w:val=\"EN-US\"/></w:rPr><w:t>";
private final String WRAPSTRING_TABLE = "</w:t></w:r></w:p><w:p wsp:rsidR=\"00D07F86\" wsp:rsidRDefault=\"00D07F86\"><w:pPr><w:pStyle w:val=\"TABLEITEM\"/><w:rPr><w:sz w:val=\"21\"/><w:sz-cs w:val=\"21\"/><w:lang w:val=\"EN-US\"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint=\"fareast\"/><w:sz w:val=\"21\"/><w:sz-cs w:val=\"21\"/><w:lang w:val=\"EN-US\"/></w:rPr><w:t>";
//word换行符公司名称
private final String WRAPSTRING_COMPANY = "</w:t></w:r></w:p><w:p wsp:rsidR=\"00AC2941\" wsp:rsidRDefault=\"00AC2941\"><w:pPr><w:jc w:val=\"center\"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii=\"黑体\" w:fareast=\"黑体\" w:h-ansi=\"黑体\" w:cs=\"黑体\"/><wx:font wx:val=\"黑体\"/><w:color w:val=\"000000\"/><w:sz w:val=\"${CNAMEFONTSIZE}\"/><w:lang w:val=\"ZH-CN\"/></w:rPr><w:t>";
public Report1Gener() {
}
@ -526,21 +529,23 @@ public class Report1Gener {
String shapeId = shape.get("id").toString();
//查询该角色有没有保定岗位
//先查询该UUID的角色映射关系
String querySqlRole = " SELECT RELATIONSHAPEID FROM APP_ACT_COE_PAL_SHAPE_RLAT WHERE SHAPEID = ? AND ATTRID = ?";
String relationShapeId = DBSql.getString(querySqlRole, new Object[]{shapeId, "role"});
String querySql = " SELECT RELATIONSHAPETEXT FROM APP_ACT_COE_PAL_SHAPE_RLAT WHERE SHAPEID = ? AND ATTRID = ?";
//可能存在一个角色对应多个岗位的关系
List<RowMap> maps = DBSql.getMaps(querySql, new Object[]{relationShapeId, "post"});
if(!maps.isEmpty()){
String postInfo = maps.stream()
.map(rowMap -> (String) rowMap.get("RELATIONSHAPETEXT")) // 提取每个Map中的RELATIONSHAPETEXT字段
.collect(Collectors.joining(",")); // 使用逗号拼接字符串
_roleMappingPostTr.put("shape_number",roleMappingPostIndex);
_roleMappingPostTr.put("roleMapping_role",attrValue);
_roleMappingPostTr.put("roleMapping_post",postInfo);
//如果存在角色关联岗位的则加个*
_tr.put("shape_" + attrId, "*"+attrValue.replace("\n", WRAPSTRING));
roleMappingPostIndex++;
String querySqlRole = " SELECT RELATIONFILEID,RELATIONSHAPEID FROM APP_ACT_COE_PAL_SHAPE_RLAT WHERE FILEID =? AND SHAPEID = ? AND ATTRID = ?";
RowMap map = DBSql.getMap(querySqlRole, new Object[]{repositoryId, shapeId, "role"});
if(null != map){
String querySql = " SELECT RELATIONSHAPETEXT FROM APP_ACT_COE_PAL_SHAPE_RLAT WHERE FILEID =? AND SHAPEID = ? AND ATTRID = ?";
//可能存在一个角色对应多个岗位的关系
List<RowMap> maps = DBSql.getMaps(querySql, new Object[]{map.getString("RELATIONFILEID"),map.getString("RELATIONSHAPEID"), "post"});
if(!maps.isEmpty()){
String postInfo = maps.stream()
.map(rowMap -> (String) rowMap.get("RELATIONSHAPETEXT")) // 提取每个Map中的RELATIONSHAPETEXT字段
.collect(Collectors.joining(",")); // 使用逗号拼接字符串
_roleMappingPostTr.put("shape_number",roleMappingPostIndex);
_roleMappingPostTr.put("roleMapping_role",attrValue);
_roleMappingPostTr.put("roleMapping_post",postInfo);
//如果存在角色关联岗位的则加个*
_tr.put("shape_" + attrId, "*"+attrValue.replace("\n", WRAPSTRING));
roleMappingPostIndex++;
}
}
}
@ -1096,18 +1101,17 @@ public class Report1Gener {
if(null!= bo){//有信息则走模版配置
//公司名称 &&&&& 换行
String companyName = bo.getString("COMPANYNAME");
companyName = companyName.replace("&&&&&", WRAPSTRING);
companyName = companyName.replace("&&&&&", WRAPSTRING_COMPANY.replace("${CNAMEFONTSIZE}",String.valueOf(Integer.parseInt(bo.getString("CNAMEFONTSIZE"))*2)));
dataMap.put("COMPANYNAME",companyName);
dataMap.put("CNAMEFONTSIZE",bo.getString("CNAMEFONTSIZE"));
dataMap.put("FILETITLE",bo.getString("FILETITLE"));
dataMap.put("FILETITLEFONTSIZE",bo.getString("FILETITLEFONTSIZE"));
dataMap.put("CNAMEFONTSIZE",Integer.parseInt(bo.getString("CNAMEFONTSIZE"))*2);
dataMap.put("HEADERFONT",bo.getString("HEADERFONT"));
dataMap.put("HEADERFONTSIZE",bo.getString("HEADERFONTSIZE"));
dataMap.put("HEADERLOGO",bo.getString("HEADERLOGO"));
dataMap.put("FOOTERFONT",bo.getString("FOOTERFONT"));
dataMap.put("FOOTERFONTSIZE",bo.getString("FOOTERFONTSIZE"));
}else{//无模版则走默认配置
dataMap.put("COMPANYNAME","内蒙古伊利实业集团股份有限公司");
dataMap.put("CNAMEFONTSIZE",44);
}
}