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删除")
@ApiOperation(value="文档拆分-通过id删除", notes="文档拆分-通过id删除")
@PostMapping(value = "/delete")
public Result<T> delete(@RequestParam(name="id",required=true) String id) {
sarFileSplitInfoService.deleteById(id);
public Result<T> delete(@RequestBody Map<String, Object> map) {
if (map.containsKey("id")) {
sarFileSplitInfoService.deleteById((String) map.get("id"));
}
return Result.OK(MessageUtils.getMessage(ResultCommon.SUCCESSFULLY_DELETED));
}
@@ -149,8 +151,11 @@ public class DocumentSplitController {
@AutoLog(value = "文档拆分-批量删除")
@ApiOperation(value="文档拆分-批量删除", notes="文档拆分-批量删除")
@PostMapping(value = "/deleteBatch")
public Result<T> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.sarFileSplitInfoService.deleteByIds(Arrays.asList(ids.split(",")));
public Result<T> deleteBatch(@RequestBody Map<String, Object> map) {
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));
}
@@ -14,14 +14,15 @@ import java.util.Date;
* @Description: 抽象类
*/
@Slf4j
public class AbstractConditionBase {
public abstract class AbstractConditionBase {
private static final String EXPLAIN = "抽象类";
/**
* 构建查询条件
* @return 拼接完成的sql
*/
public String buildCondition(String fieldName, String value){
log.info("构建查询条件字段名:{} 参数值{}", fieldName, value);
log.info("{}构建查询条件字段名:{} 参数值{}", EXPLAIN, fieldName, value);
return "";
}
@@ -30,7 +31,7 @@ public class AbstractConditionBase {
* @return 拼接完成的sql
*/
public String buildUpdate(String fieldName, String value){
log.info("构建修改字段字段名:{} 参数值{}", fieldName, value);
log.info("{}构建修改字段字段名:{} 参数值{}", EXPLAIN, fieldName, value);
return "";
}
@@ -177,4 +177,11 @@ public interface DocumentSplitMapper {
* @param 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'
</otherwise>
</choose>
<if test="type != null and type != ''">
and type = #{type}
</if>
</delete>
<delete id="deleteItemsValByItemIds">
@@ -115,7 +112,7 @@
concat(u.realname, '(', u.username, ')') as author,
i.create_time,
i.split_result,
i.create_by,
u2.id createBy,
i.standard_id,
i.del_flag,
publish_before_id,
@@ -124,7 +121,8 @@
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_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}
</select>
@@ -206,6 +204,12 @@
#{item}
</foreach>
</select>
<select id="queryDocumentSplitDetailById" resultType="java.util.Map">
select *
from laws_document_split
where id =#{id}
</select>
<update id="editDocumentSplitDetail">
UPDATE laws_document_split
@@ -518,21 +518,31 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
@Override
public void deleteDocumentSplitDetail(Map<String, Object> parameter) {
// 删除数据
documentSplitMapper.deleteDocumentSplitDetail((String) parameter.get(ID));
String id = (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
public void deleteBatchDocumentSplitDetail(Map<String, Object> parameter) {
// where条件
String updateCondition = "";
if (parameter.containsKey(IDS)){
String ids = (String) parameter.get(IDS);
List<String> list = Arrays.asList(ids.split(","));
updateCondition = "id in (" + "'" + String.join("','", list) + "')";
// 删除数据
documentSplitMapper.deleteBatchDocumentSplitDetail(updateCondition);
String[] list = ids.split(",");
for (String id : list) {
Map<String, Object> map = new HashMap<>();
map.put(ID, id);
deleteDocumentSplitDetail(map);
}
}
}
@@ -3607,12 +3607,11 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
row1.getCell(cellNum).setCellStyle(cellStyleLink);
}
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);
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)) {
content = content.replaceAll("<p>","");
content = content.replaceAll("</p>","\n");