文档库--数据新增和编辑

This commit is contained in:
zhn
2022-01-25 10:05:16 +08:00
parent 6ff342acc8
commit 0d683eba8c
5 changed files with 198 additions and 3 deletions
@@ -219,6 +219,40 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
return Result.OK(list);
}
/**
* 新增数据
* @param map
* @return
*/
@AutoLog(value = "新增数据")
@ApiOperation(value="新增数据", notes="新增数据")
@PostMapping(value = "/addInfo")
public Result<?> addInfo(Map<String,Object> map) {
try {
bussDocumentLibraryEOService.addInfo(map);
} catch (Exception e) {
return Result.error("新增失败");
}
return Result.OK("新增成功");
}
/**
* 编辑数据
* @param map
* @return
*/
@AutoLog(value = "编辑数据")
@ApiOperation(value="编辑数据", notes="编辑数据")
@PostMapping(value = "/updateInfo")
public Result<?> updateInfo(Map<String,Object> map) {
try {
bussDocumentLibraryEOService.updateInfo(map);
} catch (Exception e) {
return Result.error("编辑失败");
}
return Result.OK("编辑成功");
}
}
@@ -14,4 +14,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface BussDocumentLibraryEOMapper extends BaseMapper<BussDocumentLibraryEO> {
int insertInfo(@Param("insertField") String insertField,
@Param("insertValue") String insertValue);
}
@@ -34,4 +34,10 @@
<result column="warn_flag" property="warnFlag" />
<result column="read_flag" property="readFlag" />
</resultMap>
<insert id="insertInfo">
insert into buss_document_library(${insertField})
values (${insertValue})
</insert>
</mapper>
@@ -87,4 +87,16 @@ public interface IBussDocumentLibraryEOService extends IService<BussDocumentLibr
* @return
*/
List<Map<String,Object>> getDocumentInfoById(String id);
/**
* 新增数据
* @param map
*/
void addInfo(Map<String,Object> map);
/**
* 编辑数据
* @param map
*/
void updateInfo(Map<String,Object> map);
}
@@ -1,8 +1,10 @@
package com.jero.modules.document.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.ModuleEnum;
import com.jero.common.constant.enums.YesOrNo;
import com.jero.common.system.vo.LoginUser;
import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
import com.jero.modules.document.entity.BussDocumentLibraryEO;
@@ -10,18 +12,20 @@ import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.tag.entity.OnlCgformArea;
import com.jero.modules.tag.service.impl.OnlCgformAreaServiceImpl;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Date;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 文档库信息表
* @Author: jero-boot
@@ -231,6 +235,141 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
// result.add(map);
// }
// }
}
/**
* 新增数据
* @param map
*/
public void addInfo(Map<String,Object> map){
//字段属性
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
//时间类型字段
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{
valuesBuilder.append("," + "'" + value + "'");
}
fieldsBuilder.append("," + key);
// }
//处理文件类型
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("-", "");
//修改文件表关联信息connect_id
}
}
String insertField = mustFields + fieldsBuilder.toString();
String insertValue = mustValues + valuesBuilder.toString();
bussDocumentLibraryEOMapper.insertInfo(insertField,insertValue);
}
/**
* 编辑数据
* @param map
*/
public void updateInfo(Map<String,Object> map){
//字段属性
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
//时间类型字段
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);
//字段
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();
//处理修改人和修改时间
if("update_by".equals(key)){
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
value = sysUser.getUsername();
}
if( "update_time".equals(key)){
value = new Date();
}
List<OnlCgformField> fieldDate = fieldDateList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
//处理时间类型
if(fieldDate.size() != 0){
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{
valuesBuilder.append("'" + value + "'" + ",");
}
fieldsBuilder.append(key + ",");
//处理文件类型
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("-", "");
//修改文件表关联信息connect_id
}
}
String insertField = fieldsBuilder.substring(0, fieldsBuilder.length() - 1);
String insertValue = valuesBuilder.substring(0, valuesBuilder.length() - 1);
//先删除在新增.
// bussDocumentLibraryEOMapper.deleteById((String)dateList.get(0).get("id"));
bussDocumentLibraryEOMapper.deleteById((String)map.get("id"));
bussDocumentLibraryEOMapper.insertInfo(insertField,insertValue);
}
private String getMustValues(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String mustValue = "'"+ UUID.randomUUID().toString().replace("-", "") + "','" + sysUser.getUsername() + "',"
+"str_to_date('" + sdf.format(new Date()) + "','%Y-%m-%d %H:%i:%s')"+ ",'"+sysUser.getUsername() + "',"
+"str_to_date('" + sdf.format(new Date()) + "','%Y-%m-%d %H:%i:%s')"+ ",'"+sysUser.getOrgCode()+ "'";
return mustValue;
}
}