diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/controller/BussDocumentLibraryEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/controller/BussDocumentLibraryEOController.java index b845ade5c..e025b682b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/controller/BussDocumentLibraryEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/controller/BussDocumentLibraryEOController.java @@ -219,6 +219,40 @@ public class BussDocumentLibraryEOController extends JeroController addInfo(Map 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 map) { + try { + bussDocumentLibraryEOService.updateInfo(map); + } catch (Exception e) { + return Result.error("编辑失败"); + } + return Result.OK("编辑成功"); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/mapper/BussDocumentLibraryEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/mapper/BussDocumentLibraryEOMapper.java index 7225aaaf9..b6c7a041f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/mapper/BussDocumentLibraryEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/mapper/BussDocumentLibraryEOMapper.java @@ -14,4 +14,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface BussDocumentLibraryEOMapper extends BaseMapper { + int insertInfo(@Param("insertField") String insertField, + @Param("insertValue") String insertValue); + + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/mapper/xml/BussDocumentLibraryEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/mapper/xml/BussDocumentLibraryEOMapper.xml index 29b85813a..4343aeba8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/mapper/xml/BussDocumentLibraryEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/mapper/xml/BussDocumentLibraryEOMapper.xml @@ -34,4 +34,10 @@ + + + insert into buss_document_library(${insertField}) + values (${insertValue}) + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/IBussDocumentLibraryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/IBussDocumentLibraryEOService.java index 5bcced763..817e5d6bb 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/IBussDocumentLibraryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/IBussDocumentLibraryEOService.java @@ -87,4 +87,16 @@ public interface IBussDocumentLibraryEOService extends IService> getDocumentInfoById(String id); + + /** + * 新增数据 + * @param map + */ + void addInfo(Map map); + + /** + * 编辑数据 + * @param map + */ + void updateInfo(Map map); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 0e557cdfa..704b7dc25 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -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 map){ + //字段属性 + List fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue()); + //时间类型字段 + List fieldDateList = fieldList.stream().filter(e->"Date".equals(e.getDbType())).collect(Collectors.toList()); + //文件类型字段 + List fieldFileList = fieldList.stream().filter(e->"file".equals(e.getFieldShowType())).collect(Collectors.toList()); + //以下3行代码为测试数据(暂时保留) +// LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); +// queryWrapper.eq(BussDocumentLibraryEO::getId,"1"); +// List> 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 entry : dateList.get(0).entrySet()) { + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + Object value = entry.getValue(); + List 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 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 map){ + //字段属性 + List fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue()); + //时间类型字段 + List fieldDateList = fieldList.stream().filter(e->"Date".equals(e.getDbType())).collect(Collectors.toList()); + //文件类型字段 + List fieldFileList = fieldList.stream().filter(e->"file".equals(e.getFieldShowType())).collect(Collectors.toList()); + //一下3行代码为测试数据(暂时保留) +// LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); +// queryWrapper.eq(BussDocumentLibraryEO::getId,"1"); +// List> dateList = bussDocumentLibraryEOMapper.selectMaps(queryWrapper); + //字段 + StringBuilder fieldsBuilder = new StringBuilder(); + //数据值 + StringBuilder valuesBuilder = new StringBuilder(); +// for (Map.Entry entry : dateList.get(0).entrySet()) { + for (Map.Entry 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 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 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; + } }