feat(文档拆分): 导出完善

This commit is contained in:
yjz
2023-10-23 18:03:40 +08:00
parent 7d393a8885
commit ef980bb9be
6 changed files with 50 additions and 24 deletions
@@ -136,8 +136,10 @@ public class DocumentSplitController {
@AutoLog(value = "文档拆分-通过id删除") @AutoLog(value = "文档拆分-通过id删除")
@ApiOperation(value="文档拆分-通过id删除", notes="文档拆分-通过id删除") @ApiOperation(value="文档拆分-通过id删除", notes="文档拆分-通过id删除")
@PostMapping(value = "/delete") @PostMapping(value = "/delete")
public Result<T> delete(@RequestParam(name="id",required=true) String id) { public Result<T> delete(@RequestBody Map<String, Object> map) {
sarFileSplitInfoService.deleteById(id); if (map.containsKey("id")) {
sarFileSplitInfoService.deleteById((String) map.get("id"));
}
return Result.OK(MessageUtils.getMessage(ResultCommon.SUCCESSFULLY_DELETED)); return Result.OK(MessageUtils.getMessage(ResultCommon.SUCCESSFULLY_DELETED));
} }
@@ -149,8 +151,11 @@ public class DocumentSplitController {
@AutoLog(value = "文档拆分-批量删除") @AutoLog(value = "文档拆分-批量删除")
@ApiOperation(value="文档拆分-批量删除", notes="文档拆分-批量删除") @ApiOperation(value="文档拆分-批量删除", notes="文档拆分-批量删除")
@PostMapping(value = "/deleteBatch") @PostMapping(value = "/deleteBatch")
public Result<T> deleteBatch(@RequestParam(name="ids",required=true) String ids) { public Result<T> deleteBatch(@RequestBody Map<String, Object> map) {
this.sarFileSplitInfoService.deleteByIds(Arrays.asList(ids.split(","))); if (map.containsKey("ids")) {
String ids = (String) map.get("ids");
sarFileSplitInfoService.deleteByIds(Arrays.asList(ids.split(",")));
}
return Result.OK(MessageUtils.getMessage(ResultCommon.SUCCESSFULLY_DELETED_IN_BULK)); return Result.OK(MessageUtils.getMessage(ResultCommon.SUCCESSFULLY_DELETED_IN_BULK));
} }
@@ -14,14 +14,15 @@ import java.util.Date;
* @Description: 抽象类 * @Description: 抽象类
*/ */
@Slf4j @Slf4j
public class AbstractConditionBase { public abstract class AbstractConditionBase {
private static final String EXPLAIN = "抽象类";
/** /**
* 构建查询条件 * 构建查询条件
* @return 拼接完成的sql * @return 拼接完成的sql
*/ */
public String buildCondition(String fieldName, String value){ public String buildCondition(String fieldName, String value){
log.info("构建查询条件字段名:{} 参数值{}", fieldName, value); log.info("{}构建查询条件字段名:{} 参数值{}", EXPLAIN, fieldName, value);
return ""; return "";
} }
@@ -30,7 +31,7 @@ public class AbstractConditionBase {
* @return 拼接完成的sql * @return 拼接完成的sql
*/ */
public String buildUpdate(String fieldName, String value){ public String buildUpdate(String fieldName, String value){
log.info("构建修改字段字段名:{} 参数值{}", fieldName, value); log.info("{}构建修改字段字段名:{} 参数值{}", EXPLAIN, fieldName, value);
return ""; return "";
} }
@@ -177,4 +177,11 @@ public interface DocumentSplitMapper {
* @param sarFileSplitItemsVal * @param sarFileSplitItemsVal
*/ */
int insertSarFileSplitItemsVal(@Param("entities") List<SarFileSplitItemsVal> sarFileSplitItemsVal); int insertSarFileSplitItemsVal(@Param("entities") List<SarFileSplitItemsVal> sarFileSplitItemsVal);
/**
* 文档拆分详情根据id查询
* @param id
* @return
*/
Map<String, Object> queryDocumentSplitDetailById(String id);
} }
@@ -73,9 +73,6 @@
and type <![CDATA[<>]]> 'interpretation' and type <![CDATA[<>]]> 'interpretation'
</otherwise> </otherwise>
</choose> </choose>
<if test="type != null and type != ''">
and type = #{type}
</if>
</delete> </delete>
<delete id="deleteItemsValByItemIds"> <delete id="deleteItemsValByItemIds">
@@ -115,7 +112,7 @@
concat(u.realname, '(', u.username, ')') as author, concat(u.realname, '(', u.username, ')') as author,
i.create_time, i.create_time,
i.split_result, i.split_result,
i.create_by, u2.id createBy,
i.standard_id, i.standard_id,
i.del_flag, i.del_flag,
publish_before_id, publish_before_id,
@@ -124,7 +121,8 @@
from sar_file_split_info i from sar_file_split_info i
left join laws_domestic_standard s on i.standard_id = s.id and s.del_flag = 0 left join laws_domestic_standard s on i.standard_id = s.id and s.del_flag = 0
left join laws_enterprise_standard d on i.standard_id = d.id and d.del_flag = 0 left join laws_enterprise_standard d on i.standard_id = d.id and d.del_flag = 0
left join sys_user u on i.author = u.id) t left join sys_user u on i.author = u.id
left join sys_user u2 on i.create_by = u2.username) t
${ew.customSqlSegment} ${ew.customSqlSegment}
</select> </select>
@@ -206,6 +204,12 @@
#{item} #{item}
</foreach> </foreach>
</select> </select>
<select id="queryDocumentSplitDetailById" resultType="java.util.Map">
select *
from laws_document_split
where id =#{id}
</select>
<update id="editDocumentSplitDetail"> <update id="editDocumentSplitDetail">
UPDATE laws_document_split UPDATE laws_document_split
@@ -518,21 +518,31 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
@Override @Override
public void deleteDocumentSplitDetail(Map<String, Object> parameter) { public void deleteDocumentSplitDetail(Map<String, Object> parameter) {
// 删除数据 String id = (String) parameter.get(ID);
documentSplitMapper.deleteDocumentSplitDetail((String) parameter.get(ID)); // 获取原始据信息
Map<String, Object> documentSplitDetail = documentSplitMapper.queryDocumentSplitDetailById(id);
String menuId = (String) documentSplitDetail.get(MENU_ID);
// 删除文档拆分详情数据
documentSplitMapper.deleteDocumentSplitDetail(id);
// 删除对应目录
documentSplitMapper.sarFileSplitMenuDeleteByIdList(Collections.singletonList(menuId));
//删除对应条目信息
// 条款解读
documentSplitMapper.deleteItemsValByItemId(id, DocumentSplitCommon.INTERPRETATION);
// 条文内容
documentSplitMapper.deleteItemsValByItemId(id, "");
} }
@Override @Override
public void deleteBatchDocumentSplitDetail(Map<String, Object> parameter) { public void deleteBatchDocumentSplitDetail(Map<String, Object> parameter) {
// where条件
String updateCondition = "";
if (parameter.containsKey(IDS)){ if (parameter.containsKey(IDS)){
String ids = (String) parameter.get(IDS); String ids = (String) parameter.get(IDS);
List<String> list = Arrays.asList(ids.split(",")); String[] list = ids.split(",");
updateCondition = "id in (" + "'" + String.join("','", list) + "')"; for (String id : list) {
// 删除数据 Map<String, Object> map = new HashMap<>();
documentSplitMapper.deleteBatchDocumentSplitDetail(updateCondition); map.put(ID, id);
deleteDocumentSplitDetail(map);
}
} }
} }
@@ -3607,12 +3607,11 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
row1.getCell(cellNum).setCellStyle(cellStyleLink); row1.getCell(cellNum).setCellStyle(cellStyleLink);
} }
cell2.setCellValue(content); // IllegalArgumentException异常,excel单元格最大字符长度有限制 cell2.setCellValue(content); // IllegalArgumentException异常,excel单元格最大字符长度有限制
} } else if ("interpretation_articles".equals(fieldList.get(cellNum))) {
else if ("interpretation_articles".equals(fieldList.get(cellNum))) {
// 条文解读特殊处理 // 条文解读特殊处理
HSSFCell cell2 = row1.createCell(cellNum); HSSFCell cell2 = row1.createCell(cellNum);
row1.getCell(cellNum).setCellStyle(cellStyle); row1.getCell(cellNum).setCellStyle(cellStyle);
String content = (String) allItemsList.get(0).get("interpretation_articles"); String content = (String) allItemsList.get(rowNum).get("interpretation_articles");
if (StringUtils.isNotEmpty(content)) { if (StringUtils.isNotEmpty(content)) {
content = content.replaceAll("<p>",""); content = content.replaceAll("<p>","");
content = content.replaceAll("</p>","\n"); content = content.replaceAll("</p>","\n");