文档库--列表和新增

This commit is contained in:
zhn
2022-02-22 11:12:56 +08:00
parent 24c7c76744
commit eb75eb329a
2 changed files with 90 additions and 104 deletions
@@ -68,9 +68,9 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
*/ */
@AutoLog(value = "分页查询") @AutoLog(value = "分页查询")
@ApiOperation(value="分页查询", notes="分页查询") @ApiOperation(value="分页查询", notes="分页查询")
@GetMapping(value = "/queryPageInfo") @PostMapping(value = "/queryPageInfo")
@ResponseBody @ResponseBody
public JSONObject queryPageInfo(@RequestParam(name="parameter",required=false) Map<String,Object> parameter) { public JSONObject queryPageInfo(@RequestBody Map<String,Object> parameter) {
IPage infoPage = bussDocumentLibraryEOService.getInfoPage(parameter); IPage infoPage = bussDocumentLibraryEOService.getInfoPage(parameter);
Result<IPage> ok = Result.OK(infoPage); Result<IPage> ok = Result.OK(infoPage);
JSONObject jsonResult = JSONObject.fromObject(ok); JSONObject jsonResult = JSONObject.fromObject(ok);
@@ -239,66 +239,57 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
List<OnlCgformField> fieldDateList = fieldList.stream().filter(e -> "Date".equals(e.getDbType())).collect(Collectors.toList()); List<OnlCgformField> fieldDateList = fieldList.stream().filter(e -> "Date".equals(e.getDbType())).collect(Collectors.toList());
//文件类型字段 //文件类型字段
List<OnlCgformField> fieldFileList = fieldList.stream().filter(e -> "file".equals(e.getFieldShowType())).collect(Collectors.toList()); List<OnlCgformField> fieldFileList = fieldList.stream().filter(e -> "file".equals(e.getFieldShowType())).collect(Collectors.toList());
//以下3行代码为测试数据(暂时保留)
// LambdaQueryWrapper<BussDocumentLibraryEO> queryWrapper = new LambdaQueryWrapper<>();
// queryWrapper.eq(BussDocumentLibraryEO::getId,"1");
// List<Map<String, Object>> dateList = bussDocumentLibraryEOMapper.selectMaps(queryWrapper);
String mustFields = "id,create_by,create_time,update_by,update_time,sys_org_code"; String mustFields = "id,create_by,create_time,update_by,update_time,sys_org_code";
String mustValues = getMustValues(); String mustValues = getMustValues();
//字段 //字段
StringBuilder fieldsBuilder = new StringBuilder(); StringBuilder fieldsBuilder = new StringBuilder();
//数据值 //数据值
StringBuilder valuesBuilder = new StringBuilder(); StringBuilder valuesBuilder = new StringBuilder();
// for (Map.Entry<String, Object> entry : dateList.get(0).entrySet()) { for (Map.Entry<String, Object> entry : map.entrySet())
for (Map.Entry<String, Object> entry : map.entrySet()) { try {
String key = entry.getKey(); {
Object value = entry.getValue(); String key = entry.getKey();
List<OnlCgformField> fieldDate = fieldDateList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList()); Object value = entry.getValue();
//处理发布日期,标准实施日期 //处理发布日期,标准实施日期
//以下注释代码为测试数据(暂时保留) if ("issue_time".equals(key) || "implement_time".equals(key)) {
// if(!"id".equals(key) // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// &&!"create_by".equals(key) if (ObjectUtils.isNotEmpty(value)) {
// &&!"create_time".equals(key) value = "str_to_date('" + value + "','%Y-%m-%d')";
// &&!"update_by".equals(key) }
// &&!"update_time".equals(key) valuesBuilder.append("," + value);
// &&!"sys_org_code".equals(key)){ } else {
if ("issue_time".equals(key) || "implement_time".equals(key)) { //处理文件类型
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); List<OnlCgformField> fieldFile = null;
if (ObjectUtils.isNotEmpty(value)) { try {
value = "str_to_date('" + sdf.format(value) + "','%Y-%m-%d %H:%i:%s')"; fieldFile = fieldFileList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
} } catch (Exception e) {
valuesBuilder.append("," + value); e.printStackTrace();
} else { }
//处理文件类型 if (fieldFile.size() != 0 && ObjectUtils.isNotEmpty(value)) {
List<OnlCgformField> fieldFile = fieldFileList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList()); String valueTemp = UUID.randomUUID().toString().replace("-", "");
if (fieldFile.size() != 0 && ObjectUtils.isNotEmpty(value)) { // value = valueTemp;
//修改文件表关联信息connect_id
String valueTemp = UUID.randomUUID().toString().replace("-", ""); List<OSSFile> oSSFileList = new ArrayList<>();
// value = valueTemp; for (String fileId : value.toString().split(",")) {
//修改文件表关联信息connect_id OSSFile ossFile = new OSSFile();
List<OSSFile> oSSFileList = new ArrayList<>(); ossFile.setId(fileId);
for (String fileId : value.toString().split(",")) { ossFile.setConnectId(valueTemp);
OSSFile ossFile = new OSSFile(); oSSFileList.add(ossFile);
ossFile.setId(fileId); }
ossFile.setConnectId(valueTemp); iOSSFileService.updateFileInfo(oSSFileList);
oSSFileList.add(ossFile); valuesBuilder.append("," + "'" + valueTemp + "'");
} else {
valuesBuilder.append("," + "'" + value + "'");
}
} }
iOSSFileService.updateFileInfo(oSSFileList); fieldsBuilder.append("," + key);
valuesBuilder.append("," + "'" + valueTemp + "'");
}else{
valuesBuilder.append("," + "'" + value + "'");
} }
} catch (Exception e) {
e.printStackTrace();
} }
fieldsBuilder.append("," + key);
// }
}
String insertField = mustFields + fieldsBuilder.toString(); String insertField = mustFields + fieldsBuilder.toString();
String insertValue = mustValues + valuesBuilder.toString(); String insertValue = mustValues + valuesBuilder.toString();
bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue); bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue);
} }
/** /**
@@ -325,7 +316,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
for (Map.Entry<String, Object> entry : map.entrySet()) { for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey(); String key = entry.getKey();
Object value = entry.getValue(); Object value = entry.getValue();
if(ObjectUtils.isNotEmpty(value)){ if (ObjectUtils.isNotEmpty(value)) {
//处理修改人和修改时间 //处理修改人和修改时间
if ("update_by".equals(key)) { if ("update_by".equals(key)) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -359,7 +350,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
} }
iOSSFileService.updateFileInfo(oSSFileList); iOSSFileService.updateFileInfo(oSSFileList);
valuesBuilder.append("'" + value + "'" + ","); valuesBuilder.append("'" + value + "'" + ",");
}else{ } else {
valuesBuilder.append("'" + value + "'" + ","); valuesBuilder.append("'" + value + "'" + ",");
} }
} }
@@ -401,11 +392,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
for (String field : fieldListTemp) { for (String field : fieldListTemp) {
String fieldTemp = null; String fieldTemp = null;
if ("issue_time".equals(field) || "implement_time".equals(field)) { if ("issue_time".equals(field) || "implement_time".equals(field)) {
String fieldNew = "date_format(" + field + ", '%Y-%m-%d %H:%i:%s')"; String fieldNew = "date_format(" + field + ", '%Y-%m-%d')";
fieldTemp = "case when "+fieldNew+" is null then \"\" else "+fieldNew+" end "+ field; fieldTemp = "case when " + fieldNew + " is null then \"\" else " + fieldNew + " end " + field;
fieldListNew.add(fieldTemp); fieldListNew.add(fieldTemp);
} else { } else {
fieldTemp = "case when "+field+" is null then \"\" else "+field+" end "+ field; fieldTemp = "case when " + field + " is null then \"\" else " + field + " end " + field;
fieldListNew.add(fieldTemp); fieldListNew.add(fieldTemp);
} }
} }
@@ -417,60 +408,54 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
List<Map<String, Object>> mapList = queryCondition("1"); List<Map<String, Object>> mapList = queryCondition("1");
//查询条件处理 //查询条件处理
if (ObjectUtils.isNotEmpty(parameter)) { for (Map.Entry<String, Object> entry : parameter.entrySet()) {
for (Map.Entry<String, Object> entry : parameter.entrySet()) { String key = entry.getKey();
String key = entry.getKey(); String value = (String) entry.getValue();
String value = (String) entry.getValue(); if (StringUtils.isNotBlank(value)) {
if (StringUtils.isNotBlank(value)) { for (Map<String, Object> map : mapList) {
for (Map<String, Object> map : mapList) { String fieldName = (String) map.get("db_field_name");//字段
String fieldName = (String) map.get("db_field_name");//字段 if (key.equals(fieldName)) {
if (key.equals(fieldName)) { //字段类型(判断是输入框还是下拉,等等)
//字段类型(判断是输入框还是下拉,等等) String fieldType = (String) map.get("field_show_type");//字段类型
String fieldType = (String) map.get("field_show_type");//字段类型 if (FieldTypeEnum.TEXT.getValue().equals(fieldType)) {
//输入框
conditionSb.append(" and " + key + " like concat(concat('%','" + value + "'),'%')");
} else if (FieldTypeEnum.LIST.getValue().equals(fieldType)
|| FieldTypeEnum.LIST_MULTI.getValue().equals(fieldType)) {
StringBuilder valueSb = new StringBuilder();
for (String valueTemp : value.split(",")) {
valueSb.append("'" + valueTemp + "',");
}
String substring = valueSb.substring(0, valueSb.length() - 1);
//下拉单选或下拉多选
conditionSb.append(" and " + key + " in(" + substring + ")");
if (FieldTypeEnum.TEXT.getValue().equals(fieldType)) { } else if (FieldTypeEnum.DATE.getValue().equals(fieldType)) {
//输入框 //日期(区分单日期还时间范围)
conditionSb.append(" and " + key + " like concat(concat('%','" + value + "'),'%')"); if (value.contains(",")) {
conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') >= '" + value.split(",")[0] + "'"
} else if (FieldTypeEnum.LIST.getValue().equals(fieldType) + " and " + "date_format(" + key + ",'%Y-%m-%d') <= '" + value.split(",")[1] + "'");
|| FieldTypeEnum.LIST_MULTI.getValue().equals(fieldType)) { } else {
StringBuilder valueSb = new StringBuilder(); conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') = '" + value + "'");
for (String valueTemp : value.split(",")) {
valueSb.append("'" + valueTemp + "',");
}
String substring = valueSb.substring(0, valueSb.length() - 1);
//下拉单选或下拉多选
conditionSb.append(" and " + key + " in(" + substring + ")");
} else if (FieldTypeEnum.DATE.getValue().equals(fieldType)) {
//日期(区分单日期还时间范围)
if (value.contains(",")) {
conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') >= '" + value.split(",")[0] + "'"
+ " and " + "date_format(" + key + ",'%Y-%m-%d') <= '" + value.split(",")[1] + "'");
} else {
conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') = '" + value + "'");
}
} }
} }
} }
} }
} }
//处理列表表头排序 }
if (StringUtils.isNotBlank((String) parameter.get("orderByField"))) { //处理列表表头排序
conditionSb.append(" order by " + (String) parameter.get("orderByField")); if (StringUtils.isNotBlank((String) parameter.get("orderByField"))) {
if ("1".equals((String) parameter.get("orderBy"))) { conditionSb.append(" order by " + (String) parameter.get("orderByField"));
conditionSb.append(" asc");//正序 if ("1".equals((String) parameter.get("orderBy"))) {
} else if ("2".equals((String) parameter.get("orderBy"))) { conditionSb.append(" asc");//正序
conditionSb.append(" desc");//倒序 } else if ("2".equals((String) parameter.get("orderBy"))) {
} conditionSb.append(" desc");//倒序
} }
}else{ } else {
conditionSb.append(" order by create_time desc"); conditionSb.append(" order by create_time desc");
} }
int pageNo = 1; int pageNo = Integer.parseInt(parameter.get("pageNo").toString());
int pageSize = 10; int pageSize = Integer.parseInt(parameter.get("pageSize").toString());
// int pageNo = Integer.parseInt(parameter.get("pageNo").toString());
// int pageSize = Integer.parseInt(parameter.get("pageSize").toString());
IPage page = new Page(pageNo, pageSize); IPage page = new Page(pageNo, pageSize);
IPage infoPage = bussDocumentLibraryEOMapper.getInfoPage(page, " " + StringUtils.join(fieldListNew, ","), conditionSb.toString()); IPage infoPage = bussDocumentLibraryEOMapper.getInfoPage(page, " " + StringUtils.join(fieldListNew, ","), conditionSb.toString());
@@ -481,7 +466,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
//下拉选处理数据字典 //下拉选处理数据字典
List records = infoPage.getRecords(); List records = infoPage.getRecords();
for (Object record : records) { for (Object record : records) {
Map<String,Object> record1 = (Map) record; Map<String, Object> record1 = (Map) record;
for (Map.Entry<String, Object> entry : record1.entrySet()) { for (Map.Entry<String, Object> entry : record1.entrySet()) {
List<OnlCgformField> collect = fieldList.stream() List<OnlCgformField> collect = fieldList.stream()
.filter(e -> entry.getKey().equals(e.getDictField())) .filter(e -> entry.getKey().equals(e.getDictField()))
@@ -496,13 +481,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
/** /**
* 下拉选处理数据字典 * 下拉选处理数据字典
*
* @param sysDictItems * @param sysDictItems
* @param entry * @param entry
* @param collect * @param collect
*/ */
private void dictItem(List<SysDictItem> sysDictItems, Map.Entry<String, Object> entry, List<OnlCgformField> collect) { private void dictItem(List<SysDictItem> sysDictItems, Map.Entry<String, Object> entry, List<OnlCgformField> collect) {
//通过dictField判断字段是否为下拉选(不为空则为下拉选) //通过dictField判断字段是否为下拉选(不为空则为下拉选)
if(collect.size() != 0 && StringUtils.isNotBlank(collect.get(0).getDictField())){ if (collect.size() != 0 && StringUtils.isNotBlank(collect.get(0).getDictField())) {
String value = (String) entry.getValue(); String value = (String) entry.getValue();
//数据字典中文 //数据字典中文
List<String> dictItemsCh = new ArrayList<>(); List<String> dictItemsCh = new ArrayList<>();
@@ -511,11 +497,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
List<SysDictItem> dictItemList = sysDictItems.stream() List<SysDictItem> dictItemList = sysDictItems.stream()
.filter(e -> e.getDictCode().equals(entry.getKey())) .filter(e -> e.getDictCode().equals(entry.getKey()))
.collect(Collectors.toList()); .collect(Collectors.toList());
if(dictItemList.size() != 0){ if (dictItemList.size() != 0) {
List<SysDictItem> dictItems = dictItemList.stream() List<SysDictItem> dictItems = dictItemList.stream()
.filter(e -> itemValue.equals(e.getItemValue())) .filter(e -> itemValue.equals(e.getItemValue()))
.collect(Collectors.toList()); .collect(Collectors.toList());
if(dictItems.size() != 0){ if (dictItems.size() != 0) {
List<String> itemText = dictItems.stream().map(SysDictItem::getItemText).collect(Collectors.toList()); List<String> itemText = dictItems.stream().map(SysDictItem::getItemText).collect(Collectors.toList());
dictItemsCh.addAll(itemText); dictItemsCh.addAll(itemText);
} }