diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java index 93f40f34..49f72ee1 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java @@ -10,18 +10,21 @@ import com.adc.da.slrs.sarUser.dao.TsUserDao; import com.adc.da.slrs.sarUser.service.ITsUserService; import com.adc.da.slrs.tsRoleMeunData.entity.TsRoleMenuData; import com.adc.da.slrs.tsRoleMeunData.service.ITsRoleMenuDataService; +import com.adc.da.slrs.zlTree.service.IZlTreeService; import com.adc.da.util.LoginUserUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.management.Query; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -44,6 +47,8 @@ public class FileMaterialServiceImpl extends ServiceImpl treeIds = new ArrayList<>(); + zlTreeService.subordinateTreeNodes(treeIds, queryPage.getTreeId()); + if (ObjectUtils.isEmpty(treeIds)) { return null; } + // 查看菜单是否有数据权限 + treeIds = treeIds.stream().filter(treeId -> treeIdList.contains(treeId)).collect(Collectors.toList()); + if (ObjectUtils.isEmpty(treeIds)) { + return null; + } + queryPage.setTreeIdList(treeIds); } - return fileMaterialDao.getFileMaterialPage(page,queryPage); + queryPage.setTreeId(null); + IPage fileMaterialPage = fileMaterialDao.getFileMaterialPage(page, queryPage); + if (ObjectUtils.isNotEmpty(queryPage.getDataType())) { + List fileMaterials = fileMaterialPage.getRecords().stream().filter(fileMaterial -> fileMaterial.getDataType().equals(queryPage.getDataType())).collect(Collectors.toList()); + fileMaterialPage.setRecords(fileMaterials); + fileMaterialPage.setTotal(fileMaterials.size()); + } + return fileMaterialPage; } @Override diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java index ca1a179e..d3cad04c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java @@ -3042,7 +3042,7 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl wrapper=new QueryWrapper<>(); wrapper.in("MENU_NAME",sarStandardsInfoEO.getStandSystem()); - wrapper.eq("DIC_ID","wnt12e6n258qkqgcl742"); + wrapper.eq("DIC_ID","9m4qqqaansxmox5e82zm"); wrapper.orderByDesc("length(PARENT_IDS)"); List standards=iSarMenuStandardService.list(wrapper); if (null!=standards && standards.size() == 1) { diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarFileSplitItemsEOController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarFileSplitItemsEOController.java index 112b4ca0..a7ee5512 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarFileSplitItemsEOController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarFileSplitItemsEOController.java @@ -270,6 +270,41 @@ public class SarFileSplitItemsEOController extends BaseController subList = new ArrayList<>(); + List supList = new ArrayList<>(); + boolean handleCorner = false; + if (content.contains("")) { + handleCornerMarkers(content, supList, "",""); + } + if (content.contains("")) { + handleCornerMarkers(content, subList, "",""); + } + if (subList.size() > 0 || supList.size() > 0) { + content = content.replaceAll("", ""); + content = content.replaceAll("", ""); + content = content.replaceAll("", ""); + //设置角标font + HSSFFont fontSub = workbook.createFont(); + fontSub.setTypeOffset(HSSFFont.SS_SUB); + HSSFFont fontSup = workbook.createFont(); + fontSup.setTypeOffset(HSSFFont.SS_SUPER); + + RichTextString richTextString = new HSSFRichTextString(content); + if (subList.size() > 0) { + for (SplitFont splitFont : subList) { + richTextString.applyFont(splitFont.getStartIndex(),splitFont.getEndIndex(),fontSub); + } + } + if (supList.size() > 0) { + for (SplitFont splitFont : supList) { + richTextString.applyFont(splitFont.getStartIndex(),splitFont.getEndIndex(),fontSup); + } + } + cell2.setCellValue(richTextString); + handleCorner = true; + } + if("TABLE".equals(valList.get(valRow).getValType())){ /* 连接跳转*/ CreationHelper createHelper = workbook.getCreationHelper(); @@ -287,7 +322,9 @@ public class SarFileSplitItemsEOController extends BaseController splitFontList, String label,String remove) { + content = content.replaceAll(remove, ""); + String[] split = content.split(label); + split[0] = split[0].replaceAll("", ""); + int index = split[0].length(); + for (int i = 1; i < split.length; i++) { + SplitFont splitFont = new SplitFont(); + String text = split[i]; + String cornerLabel = text.substring(0, text.indexOf("")); + splitFont.setStartIndex(index); + splitFont.setEndIndex(index + cornerLabel.length()); + splitFontList.add(splitFont); + text = text.replaceAll("", ""); + index = index + text.length(); + } + } + @ApiOperation(value = "|SarFileSplitItemsEO|导入") @PostMapping(value = "/importSplitItemsZip") public ResponseMessage importSplitItemsZip(@RequestParam(value = "file", required = false) MultipartFile file, diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/entity/SplitFont.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/entity/SplitFont.java new file mode 100644 index 00000000..6d032a21 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/entity/SplitFont.java @@ -0,0 +1,9 @@ +package com.adc.da.slrs.standardSplit.entity; + +import lombok.Data; + +@Data +public class SplitFont { + Integer startIndex; + Integer endIndex; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java index 40bc2020..811b2a52 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java @@ -20,6 +20,7 @@ import com.adc.da.utils.util.InitStandAttrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.poi.xwpf.usermodel.*; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlObject; @@ -240,7 +241,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService if(CollectionUtils.isNotEmpty(imageBundleList)) { addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); } else { - addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p.getText()); + addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p,0); } } } @@ -265,7 +266,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService if(CollectionUtils.isNotEmpty(imageBundleList)) { addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); } else { - addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p.getText()); + addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p,0); } } } else if (messageNumber >= 3) { @@ -287,7 +288,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName); treeList.add(sarFileSplitMenuEO) ; message.setMenuId(sarFileSplitMenuEO.getId()); - addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); + addItermsConditionsText(message,itemValList,p,nowStart.get(i).length()); messageList.add(message); nowStart = getNewNowStart(nowStart.get(i)); menuCanAdd = true; @@ -310,7 +311,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"附录",itemName,clauseContent); // 增加一条数据,需要在数结构中加一条数据 SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList("附录",treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,""); - addItermsConditionsText(message,itemValList,paragraphString); + addItermsConditionsText(message,itemValList,p,0); treeList.add(sarFileSplitMenuEO) ; message.setMenuId(sarFileSplitMenuEO.getId()); messageList.add(message); @@ -320,7 +321,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService } } else { if (!p.getText().equals("") ){ - addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p.getText()); + addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p,0); } List imageBundleList = readImageInParagraph((XWPFParagraph)p); if(CollectionUtils.isNotEmpty(imageBundleList)) { @@ -517,9 +518,31 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService } // 像每个条款中依次插入每一段的内容 - private void addItermsConditionsText(SarFileSplitItemsEO message, List itemsValList, String p) { - message.getItemsCondi().add(p); - message.setItermsConditions(message.getItermsConditions() + "

" + p + "

"); + private void addItermsConditionsText(SarFileSplitItemsEO message, List itemsValList, XWPFParagraph p,Integer length) { + StringBuffer buffer = new StringBuffer(); + for (XWPFRun xwrun : p.getRuns()) { + VerticalAlign subscript = xwrun.getSubscript(); + String smalltext = xwrun.getText(0); + if (ObjectUtils.isNotEmpty(smalltext)) { + switch (subscript) { + case BASELINE: + buffer.append(smalltext); + break; + case SUBSCRIPT: + buffer.append("" + smalltext + ""); + break; + case SUPERSCRIPT: + buffer.append("" + smalltext + ""); + break; + } + } + } + String text = buffer.toString(); + if (length > 0) { + text = text.substring(length); + } + message.getItemsCondi().add(text); + message.setItermsConditions(message.getItermsConditions() + "

" + text + "

"); // 判断message中是否引用到其他标准 // String testString = p; // Pattern ptest = Pattern.compile("[A-Z]{1,}/{0,1}[A-Z]{1,}\\s{0,1}[0-9]\\d*\\.?\\d*"); @@ -542,7 +565,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService // message.setReferenceStand(matcher.group()); // } // } - itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.TEXT.getValue(), p, message.getItemsCondi().size(), null)); + itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.TEXT.getValue(), text, message.getItemsCondi().size(), null)); } private SarFileSplitMenuEO getTreeList(String name, List treeList, String generalCatalogueId, SarFileSplitInfoEO sarFileSplitInfoEO, Long treeListDisplay, String itemName) { diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java index 1ed663b7..e37b374c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java @@ -5,6 +5,7 @@ import com.adc.da.slrs.zlTree.entity.ZlTree; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Arrays; import java.util.List; /** @@ -51,4 +52,6 @@ public interface IZlTreeService extends IService { * @return */ ZlTree queryTree(String treeId); + + void subordinateTreeNodes(List treeIds,String parentTreeId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java index 98caaac2..4d9a6e88 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java @@ -154,4 +154,23 @@ public class ZlTreeServiceImpl extends ServiceImpl implements } return null; } + + /** + * 根据树的父节点查询所有子节点id + * + * @param parentTreeId + * @return + */ + @Override + public void subordinateTreeNodes(List treeIds, String parentTreeId) { + treeIds.add(parentTreeId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("p_id", parentTreeId); + List list = list(queryWrapper); + if (ObjectUtils.isNotEmpty(list)) { + for (ZlTree zlTree : list) { + subordinateTreeNodes(treeIds,zlTree.getId()); + } + } + } } diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/fileMaterialCenter/FileMaterialMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/fileMaterialCenter/FileMaterialMapper.xml index 9642feb1..886a9f25 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/fileMaterialCenter/FileMaterialMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/fileMaterialCenter/FileMaterialMapper.xml @@ -38,9 +38,6 @@ and fm.id=#{flieM.id} - - AND fm.data_type like concat('%',#{flieM.dataType},'%') - AND fm.data_title like concat('%',#{flieM.dataTitle},'%') diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml index ecf551f9..b43f68ff 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml @@ -482,7 +482,9 @@ ) where 1=1 - + + and SAR_BUSS_STAND_ATTR_INFO.QCDW like concat(concat('%',#{QCDW}),'%') + and put_time=#{putTime} @@ -649,7 +651,9 @@ and (SAR_BUSSIONESS_STAND.STAND_CODE = #{standCode} or REPLACE( SAR_BUSSIONESS_STAND.STAND_CODE,' ','') = REPLACE( #{standCode},' ','')) - + + and SAR_BUSS_STAND_ATTR_INFO.QCDW like concat(concat('%',#{QCDW}),'%') + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml index 012d967b..bb1bae1c 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml @@ -155,7 +155,7 @@ LEFT JOIN ts_user_position on ts_user.USID = ts_user_position.user_id WHERE ts_user_position.position_id in ( SELECT ts_position_role.position_id from ts_position_role - WHERE ts_position_role.role_id = #{role.roleId} ) + WHERE ts_position_role.role_id = #{role.roleId} ) and ts_user.DISABLE_FLAG = '0' and ts_user.USID like concat(concat('%',#{role.userId}),'%') @@ -177,7 +177,7 @@ LEFT JOIN ts_user_position on ts_user.USID = ts_user_position.user_id WHERE ts_user_position.position_id in ( SELECT ts_position_role.position_id from ts_position_role - WHERE ts_position_role.role_id = #{role.roleId} ) + WHERE ts_position_role.role_id = #{role.roleId} ) and ts_user.DISABLE_FLAG = '0' and ts_user.USID like concat(concat('%',#{role.userId}),'%')