文档库--列表和新增

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 = "分页查询")
@ApiOperation(value="分页查询", notes="分页查询")
@GetMapping(value = "/queryPageInfo")
@PostMapping(value = "/queryPageInfo")
@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);
Result<IPage> ok = Result.OK(infoPage);
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> 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 mustValues = getMustValues();
//字段
StringBuilder fieldsBuilder = new StringBuilder();
//数据值
StringBuilder valuesBuilder = new StringBuilder();
// for (Map.Entry<String, Object> entry : dateList.get(0).entrySet()) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
List<OnlCgformField> fieldDate = fieldDateList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
//处理发布日期,标准实施日期
//以下注释代码为测试数据(暂时保留)
// if(!"id".equals(key)
// &&!"create_by".equals(key)
// &&!"create_time".equals(key)
// &&!"update_by".equals(key)
// &&!"update_time".equals(key)
// &&!"sys_org_code".equals(key)){
if ("issue_time".equals(key) || "implement_time".equals(key)) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (ObjectUtils.isNotEmpty(value)) {
value = "str_to_date('" + sdf.format(value) + "','%Y-%m-%d %H:%i:%s')";
}
valuesBuilder.append("," + value);
} else {
//处理文件类型
List<OnlCgformField> fieldFile = fieldFileList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
if (fieldFile.size() != 0 && ObjectUtils.isNotEmpty(value)) {
String valueTemp = UUID.randomUUID().toString().replace("-", "");
// value = valueTemp;
//修改文件表关联信息connect_id
List<OSSFile> oSSFileList = new ArrayList<>();
for (String fileId : value.toString().split(",")) {
OSSFile ossFile = new OSSFile();
ossFile.setId(fileId);
ossFile.setConnectId(valueTemp);
oSSFileList.add(ossFile);
for (Map.Entry<String, Object> entry : map.entrySet())
try {
{
String key = entry.getKey();
Object value = entry.getValue();
//处理发布日期,标准实施日期
if ("issue_time".equals(key) || "implement_time".equals(key)) {
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (ObjectUtils.isNotEmpty(value)) {
value = "str_to_date('" + value + "','%Y-%m-%d')";
}
valuesBuilder.append("," + value);
} else {
//处理文件类型
List<OnlCgformField> fieldFile = null;
try {
fieldFile = fieldFileList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
} catch (Exception e) {
e.printStackTrace();
}
if (fieldFile.size() != 0 && ObjectUtils.isNotEmpty(value)) {
String valueTemp = UUID.randomUUID().toString().replace("-", "");
// value = valueTemp;
//修改文件表关联信息connect_id
List<OSSFile> oSSFileList = new ArrayList<>();
for (String fileId : value.toString().split(",")) {
OSSFile ossFile = new OSSFile();
ossFile.setId(fileId);
ossFile.setConnectId(valueTemp);
oSSFileList.add(ossFile);
}
iOSSFileService.updateFileInfo(oSSFileList);
valuesBuilder.append("," + "'" + valueTemp + "'");
} else {
valuesBuilder.append("," + "'" + value + "'");
}
}
iOSSFileService.updateFileInfo(oSSFileList);
valuesBuilder.append("," + "'" + valueTemp + "'");
}else{
valuesBuilder.append("," + "'" + value + "'");
fieldsBuilder.append("," + key);
}
} catch (Exception e) {
e.printStackTrace();
}
fieldsBuilder.append("," + key);
// }
}
String insertField = mustFields + fieldsBuilder.toString();
String insertValue = mustValues + valuesBuilder.toString();
bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue);
}
/**
@@ -325,7 +316,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
if(ObjectUtils.isNotEmpty(value)){
if (ObjectUtils.isNotEmpty(value)) {
//处理修改人和修改时间
if ("update_by".equals(key)) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -359,7 +350,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
iOSSFileService.updateFileInfo(oSSFileList);
valuesBuilder.append("'" + value + "'" + ",");
}else{
} else {
valuesBuilder.append("'" + value + "'" + ",");
}
}
@@ -401,11 +392,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
for (String field : fieldListTemp) {
String fieldTemp = null;
if ("issue_time".equals(field) || "implement_time".equals(field)) {
String fieldNew = "date_format(" + field + ", '%Y-%m-%d %H:%i:%s')";
fieldTemp = "case when "+fieldNew+" is null then \"\" else "+fieldNew+" end "+ field;
String fieldNew = "date_format(" + field + ", '%Y-%m-%d')";
fieldTemp = "case when " + fieldNew + " is null then \"\" else " + fieldNew + " end " + field;
fieldListNew.add(fieldTemp);
} 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);
}
}
@@ -417,60 +408,54 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
List<Map<String, Object>> mapList = queryCondition("1");
//查询条件处理
if (ObjectUtils.isNotEmpty(parameter)) {
for (Map.Entry<String, Object> entry : parameter.entrySet()) {
String key = entry.getKey();
String value = (String) entry.getValue();
if (StringUtils.isNotBlank(value)) {
for (Map<String, Object> map : mapList) {
String fieldName = (String) map.get("db_field_name");//字段
if (key.equals(fieldName)) {
//字段类型(判断是输入框还是下拉,等等)
String fieldType = (String) map.get("field_show_type");//字段类型
for (Map.Entry<String, Object> entry : parameter.entrySet()) {
String key = entry.getKey();
String value = (String) entry.getValue();
if (StringUtils.isNotBlank(value)) {
for (Map<String, Object> map : mapList) {
String fieldName = (String) map.get("db_field_name");//字段
if (key.equals(fieldName)) {
//字段类型(判断是输入框还是下拉,等等)
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)) {
//输入框
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 + ")");
} 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 + "'");
}
} 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 ("1".equals((String) parameter.get("orderBy"))) {
conditionSb.append(" asc");//正序
} else if ("2".equals((String) parameter.get("orderBy"))) {
conditionSb.append(" desc");//倒序
}
}
//处理列表表头排序
if (StringUtils.isNotBlank((String) parameter.get("orderByField"))) {
conditionSb.append(" order by " + (String) parameter.get("orderByField"));
if ("1".equals((String) parameter.get("orderBy"))) {
conditionSb.append(" asc");//正序
} else if ("2".equals((String) parameter.get("orderBy"))) {
conditionSb.append(" desc");//倒序
}
}else{
} else {
conditionSb.append(" order by create_time desc");
}
int pageNo = 1;
int pageSize = 10;
// int pageNo = Integer.parseInt(parameter.get("pageNo").toString());
// 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 infoPage = bussDocumentLibraryEOMapper.getInfoPage(page, " " + StringUtils.join(fieldListNew, ","), conditionSb.toString());
@@ -481,7 +466,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
//下拉选处理数据字典
List records = infoPage.getRecords();
for (Object record : records) {
Map<String,Object> record1 = (Map) record;
Map<String, Object> record1 = (Map) record;
for (Map.Entry<String, Object> entry : record1.entrySet()) {
List<OnlCgformField> collect = fieldList.stream()
.filter(e -> entry.getKey().equals(e.getDictField()))
@@ -496,13 +481,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
/**
* 下拉选处理数据字典
*
* @param sysDictItems
* @param entry
* @param collect
*/
private void dictItem(List<SysDictItem> sysDictItems, Map.Entry<String, Object> entry, List<OnlCgformField> collect) {
//通过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();
//数据字典中文
List<String> dictItemsCh = new ArrayList<>();
@@ -511,11 +497,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
List<SysDictItem> dictItemList = sysDictItems.stream()
.filter(e -> e.getDictCode().equals(entry.getKey()))
.collect(Collectors.toList());
if(dictItemList.size() != 0){
if (dictItemList.size() != 0) {
List<SysDictItem> dictItems = dictItemList.stream()
.filter(e -> itemValue.equals(e.getItemValue()))
.collect(Collectors.toList());
if(dictItems.size() != 0){
if (dictItems.size() != 0) {
List<String> itemText = dictItems.stream().map(SysDictItem::getItemText).collect(Collectors.toList());
dictItemsCh.addAll(itemText);
}