Commit 8b50a32f by zhangkb

修改基础指标接口和基础指标、考核指标版本

parent 4b06f9d9
...@@ -28,20 +28,20 @@ public class IndCatalogCtrl { ...@@ -28,20 +28,20 @@ public class IndCatalogCtrl {
@ApiOperation(value = "新建基础指标目录", notes = "新建基础指标目录") @ApiOperation(value = "新建基础指标目录", notes = "新建基础指标目录")
@PostMapping(value = "/createBaseIndCatalog") @PostMapping(value = "/createBaseIndCatalog")
public String createBaseIndCatalog(@RequestBody IndCatalog indCatalog) throws Exception{ public int createBaseIndCatalog(@RequestBody IndCatalog indCatalog) throws Exception{
indCatalog = indCatalogService.saveOrUpdate(indCatalog); indCatalog = indCatalogService.saveOrUpdate(indCatalog);
return indCatalog.getId(); return indCatalog.getId();
} }
@ApiOperation(value = "批量级联删除基础指标目录", notes = "批量级联删除基础指标目录") @ApiOperation(value = "批量级联删除基础指标目录", notes = "批量级联删除基础指标目录")
@PostMapping(value = "/deleteBaseIndCatalog") @PostMapping(value = "/deleteBaseIndCatalog")
public void deleteBaseIndCatalog(@RequestParam List<String> ids) throws Exception{ public void deleteBaseIndCatalog(@RequestParam List<Integer> ids) throws Exception{
indCatalogService.recursionDelete(ids); indCatalogService.recursionDelete(ids);
} }
@ApiOperation(value = "获取基础指标目录", notes = "获取基础指标目录") @ApiOperation(value = "获取基础指标目录", notes = "获取基础指标目录")
@PostMapping(value = "/getBaseIndCatalog") @PostMapping(value = "/getBaseIndCatalog")
public List<IndCatalog> getBaseIndCatalog(@RequestParam(required=false) String parentId, public List<IndCatalog> getBaseIndCatalog(@RequestParam(required=false) Integer parentId,
@RequestParam List<String> codes){ @RequestParam List<String> codes){
return indCatalogService.getCatalog(parentId, codes); return indCatalogService.getCatalog(parentId, codes);
} }
......
package com.keymobile.indicators.model.entity.indicators; package com.keymobile.indicators.model.entity.indicators;
import java.io.Serializable; import java.util.Date;
import org.springframework.data.annotation.Id; import javax.persistence.Id;
import org.springframework.data.mongodb.core.mapping.Document; import javax.persistence.Table;
import com.keymobile.indicators.utils.DateUtils;
import lombok.Data; import lombok.Data;
...@@ -11,17 +13,13 @@ import lombok.Data; ...@@ -11,17 +13,13 @@ import lombok.Data;
*author:zhangkb time:2020-5-20 desc:基础项数据版本数据 *author:zhangkb time:2020-5-20 desc:基础项数据版本数据
*/ */
@Data @Data
@Document(collection="base_ind_def_version_data") @Table(name="base_ind_def_version_data")
public class BaseIndDefVersionData implements Serializable{ public class BaseIndDefVersionData{
/**
*
*/
private static final long serialVersionUID = 1L;
@Id @Id
private String id; private Integer id;
private String indId; private String indId;
private String indName; private String indName;
private String version; private String version;
private String dataJson; private String dataJson;
private String lastUpdateTime = DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss");
} }
package com.keymobile.indicators.model.entity.indicators; package com.keymobile.indicators.model.entity.indicators;
import java.io.Serializable; import java.util.Date;
import org.springframework.data.annotation.Id; import javax.persistence.Id;
import org.springframework.data.mongodb.core.mapping.Document; import javax.persistence.Table;
import com.keymobile.indicators.utils.DateUtils;
import lombok.Data; import lombok.Data;
...@@ -11,17 +13,13 @@ import lombok.Data; ...@@ -11,17 +13,13 @@ import lombok.Data;
*author:zhangkb time:2020-5-21 desc:考核指标数据版本数据 *author:zhangkb time:2020-5-21 desc:考核指标数据版本数据
*/ */
@Data @Data
@Document(collection="drive_ind_def_version_data") @Table(name="drive_ind_def_version_data")
public class DriveIndDefVersionData implements Serializable{ public class DriveIndDefVersionData {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id @Id
private String id; private Integer id;
private String indId; private String indId;
private String indName; private String indName;
private String version; private String version;
private String dataJson; private String dataJson;
private String lastUpdateTime = DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss");
} }
package com.keymobile.indicators.model.entity.indicators; package com.keymobile.indicators.model.entity.indicators;
import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
import org.springframework.data.annotation.Id; import javax.persistence.Id;
import org.springframework.data.mongodb.core.mapping.Document; import javax.persistence.Table;
import com.keymobile.indicators.utils.DateUtils; import com.keymobile.indicators.utils.DateUtils;
...@@ -15,19 +13,14 @@ import lombok.Data; ...@@ -15,19 +13,14 @@ import lombok.Data;
*author:zhangkb time:2020-5-18 desc:基础项目录 *author:zhangkb time:2020-5-18 desc:基础项目录
*/ */
@Data @Data
@Document(collection="ind_catalog") @Table(name="base_ind_catalog")
public class IndCatalog implements Serializable{ public class IndCatalog {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id @Id
private String id; private Integer id;
private String catalogName; private String catalogName;
//private String type; //private String type;
private String catalogType;//分为数据项级别和数据项类别 0:数据项级别 1:数据项类别 2:普通目录 private String catalogType;//分为数据项级别和数据项类别 0:数据项级别 1:数据项类别 2:普通目录
private String parentId;//顶层节点parentId为0 private Integer parentId;//顶层节点parentId为0
private String idPath; private String idPath;
private String code;//目录编码 private String code;//目录编码
private String lastUpdater; private String lastUpdater;
......
...@@ -15,5 +15,5 @@ public interface BaseIndDefMapper extends BaseMapper<BaseIndDef>{ ...@@ -15,5 +15,5 @@ public interface BaseIndDefMapper extends BaseMapper<BaseIndDef>{
public int getByKeywordCount(Map<String,Object> param); public int getByKeywordCount(Map<String,Object> param);
public void deleteByCatalogIdIn(List<String> catalogIds); public void deleteByCatalogIdIn(List<Integer> catalogIds);
} }
package com.keymobile.indicators.model.mapper.indmapper;
import org.apache.ibatis.annotations.Mapper;
import com.keymobile.indicators.model.entity.indicators.BaseIndDefVersionData;
import tk.mybatis.mapper.common.BaseMapper;
@Mapper
public interface BaseIndDefVersionDataMapper extends BaseMapper<BaseIndDefVersionData>{
}
package com.keymobile.indicators.model.mapper.indmapper;
import com.keymobile.indicators.model.entity.indicators.DriveIndDefVersionData;
import tk.mybatis.mapper.common.BaseMapper;
public interface DriveIndDefVersionDataMapper extends BaseMapper<DriveIndDefVersionData>{
}
package com.keymobile.indicators.model.mapper.indmapper;
import java.util.List;
import java.util.Map;
import com.keymobile.indicators.model.entity.indicators.IndCatalog;
import feign.Param;
import tk.mybatis.mapper.common.BaseMapper;
public interface IndCatalogMapper extends BaseMapper<IndCatalog>{
public void deleteByIdIn(List<Integer> ids);
public List<IndCatalog> findByParentIdAndCodeInOrderByLastUpdateTimeDesc(Map<String,Object> params);
public List<IndCatalog> findByParentId(@Param("pid") Integer pid);
}
package com.keymobile.indicators.persistence.hyindicators;
import org.springframework.data.mongodb.repository.MongoRepository;
import com.keymobile.indicators.model.entity.indicators.BaseIndDefVersionData;
public interface BaseIndDefVersionRepository extends MongoRepository<BaseIndDefVersionData,String>{
}
package com.keymobile.indicators.persistence.hyindicators;
import org.springframework.data.mongodb.repository.MongoRepository;
import com.keymobile.indicators.model.entity.indicators.DriveIndDefVersionData;
public interface DriveIndDefVersionRepository extends MongoRepository<DriveIndDefVersionData,String>{
}
package com.keymobile.indicators.persistence.hyindicators;
import java.util.List;
import org.springframework.data.mongodb.repository.MongoRepository;
import com.keymobile.indicators.model.entity.indicators.IndCatalog;
public interface IndCatalogRepository extends MongoRepository<IndCatalog,String>{
public void deleteByIdIn(List<String> ids);
public List<IndCatalog> findByParentIdAndCodeInOrderByLastUpdateTimeDesc(String pid,List<String> codes);
public List<IndCatalog> findByParentId(String pid);
}
...@@ -9,14 +9,14 @@ import com.google.gson.Gson; ...@@ -9,14 +9,14 @@ import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import com.keymobile.indicators.model.entity.indicators.BaseIndDef; import com.keymobile.indicators.model.entity.indicators.BaseIndDef;
import com.keymobile.indicators.model.entity.indicators.BaseIndDefVersionData; import com.keymobile.indicators.model.entity.indicators.BaseIndDefVersionData;
import com.keymobile.indicators.persistence.hyindicators.BaseIndDefVersionRepository; import com.keymobile.indicators.model.mapper.indmapper.BaseIndDefVersionDataMapper;
@Service @Service
public class BaseIndDefVersionService { public class BaseIndDefVersionService {
private Logger logger = LoggerFactory.getLogger(BaseIndDefVersionService.class); private Logger logger = LoggerFactory.getLogger(BaseIndDefVersionService.class);
@Autowired @Autowired
private BaseIndDefVersionRepository baseIndDefVersionRepo; private BaseIndDefVersionDataMapper baseIndDefVersionDataMapper;
public boolean save(BaseIndDef baseIndDef) throws Exception{ public boolean save(BaseIndDef baseIndDef) throws Exception{
BaseIndDefVersionData baseIndDefVersionData = new BaseIndDefVersionData(); BaseIndDefVersionData baseIndDefVersionData = new BaseIndDefVersionData();
...@@ -27,7 +27,7 @@ public class BaseIndDefVersionService { ...@@ -27,7 +27,7 @@ public class BaseIndDefVersionService {
gsonBuilder.setPrettyPrinting(); gsonBuilder.setPrettyPrinting();
Gson gson = gsonBuilder.create(); Gson gson = gsonBuilder.create();
baseIndDefVersionData.setDataJson(gson.toJson(baseIndDef)); baseIndDefVersionData.setDataJson(gson.toJson(baseIndDef));
baseIndDefVersionRepo.save(baseIndDefVersionData); baseIndDefVersionDataMapper.insert(baseIndDefVersionData);
return true; return true;
} }
} }
...@@ -9,14 +9,14 @@ import com.google.gson.Gson; ...@@ -9,14 +9,14 @@ import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import com.keymobile.indicators.model.entity.indicators.DriveIndDef; import com.keymobile.indicators.model.entity.indicators.DriveIndDef;
import com.keymobile.indicators.model.entity.indicators.DriveIndDefVersionData; import com.keymobile.indicators.model.entity.indicators.DriveIndDefVersionData;
import com.keymobile.indicators.persistence.hyindicators.DriveIndDefVersionRepository; import com.keymobile.indicators.model.mapper.indmapper.DriveIndDefVersionDataMapper;
@Service @Service
public class DriveIndDefVersionService { public class DriveIndDefVersionService {
private Logger logger = LoggerFactory.getLogger(DriveIndDefVersionService.class); private Logger logger = LoggerFactory.getLogger(DriveIndDefVersionService.class);
@Autowired @Autowired
private DriveIndDefVersionRepository driveIndDefVersionRepo; private DriveIndDefVersionDataMapper driveIndDefVersionDataMapper;
public boolean save(DriveIndDef driveIndDef) throws Exception{ public boolean save(DriveIndDef driveIndDef) throws Exception{
DriveIndDefVersionData driveIndDefVersionData = new DriveIndDefVersionData(); DriveIndDefVersionData driveIndDefVersionData = new DriveIndDefVersionData();
...@@ -27,7 +27,7 @@ public class DriveIndDefVersionService { ...@@ -27,7 +27,7 @@ public class DriveIndDefVersionService {
gsonBuilder.setPrettyPrinting(); gsonBuilder.setPrettyPrinting();
Gson gson = gsonBuilder.create(); Gson gson = gsonBuilder.create();
driveIndDefVersionData.setDataJson(gson.toJson(driveIndDef)); driveIndDefVersionData.setDataJson(gson.toJson(driveIndDef));
driveIndDefVersionRepo.save(driveIndDefVersionData); driveIndDefVersionDataMapper.insert(driveIndDefVersionData);
return true; return true;
} }
} }
package com.keymobile.indicators.service.hytobacco; package com.keymobile.indicators.service.hytobacco;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional; import java.util.Optional;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
...@@ -12,49 +14,51 @@ import org.springframework.stereotype.Service; ...@@ -12,49 +14,51 @@ import org.springframework.stereotype.Service;
import com.keymobile.indicators.model.entity.indicators.IndCatalog; import com.keymobile.indicators.model.entity.indicators.IndCatalog;
import com.keymobile.indicators.model.mapper.indicators.BaseIndDefMapper; import com.keymobile.indicators.model.mapper.indicators.BaseIndDefMapper;
import com.keymobile.indicators.persistence.hyindicators.IndCatalogRepository; import com.keymobile.indicators.model.mapper.indmapper.IndCatalogMapper;
@Service @Service
public class IndCatalogService { public class IndCatalogService {
private Logger logger = LoggerFactory.getLogger(IndCatalogService.class); private Logger logger = LoggerFactory.getLogger(IndCatalogService.class);
@Autowired @Autowired
private IndCatalogRepository indCatalogRepo; private IndCatalogMapper indCatalogMapper;
@Autowired @Autowired
private BaseIndDefMapper baseIndDefMapper; private BaseIndDefMapper baseIndDefMapper;
public IndCatalog saveOrUpdate(IndCatalog indCatalog) throws Exception{ public IndCatalog saveOrUpdate(IndCatalog indCatalog) throws Exception{
if(StringUtils.isBlank(indCatalog.getId())) {//新增 if(indCatalog.getId()!=null) {//新增
//保存 //保存
indCatalog = indCatalogRepo.save(indCatalog); indCatalogMapper.insert(indCatalog);
} }
//获取parentId拼接idPath //获取parentId拼接idPath
String parentId = indCatalog.getParentId(); int parentId = indCatalog.getParentId();
if(StringUtils.isBlank(parentId) || "0".equals(parentId)) {//顶层节点 if(parentId==0) {//顶层节点
indCatalog.setIdPath(indCatalog.getId()); indCatalog.setIdPath(String.valueOf(indCatalog.getId()));
}else { }else {
Optional<IndCatalog> parentIndCatalog = indCatalogRepo.findById(indCatalog.getParentId()); IndCatalog findIndCatalog = new IndCatalog();
if(!parentIndCatalog.isPresent()) { findIndCatalog.setId(indCatalog.getParentId());
IndCatalog parentIndCatalog = indCatalogMapper.selectOne(findIndCatalog);
if(parentIndCatalog==null) {
throw new Exception("父节点不存在:parent catalog is not exist"); throw new Exception("父节点不存在:parent catalog is not exist");
}else { }else {
indCatalog.setIdPath(parentIndCatalog.get().getIdPath()+";"+indCatalog.getId()); indCatalog.setIdPath(parentIndCatalog.getIdPath()+";"+indCatalog.getId());
} }
} }
//保存 //保存
indCatalog = indCatalogRepo.save(indCatalog); indCatalogMapper.insert(indCatalog);
return indCatalog; return indCatalog;
} }
public void delete(List<String> ids) { public void delete(List<Integer> ids) {
indCatalogRepo.deleteByIdIn(ids); indCatalogMapper.deleteByIdIn(ids);
} }
//递归查找父目录下的子目录 //递归查找父目录下的子目录
public List<String> getDeleteCatalogId(String id){ public List<Integer> getDeleteCatalogId(int id){
List<String> result = new ArrayList<>(); List<Integer> result = new ArrayList<>();
result.add(id); result.add(id);
//根据id获取子节点 //根据id获取子节点
List<IndCatalog> children = indCatalogRepo.findByParentId(id); List<IndCatalog> children = indCatalogMapper.findByParentId(id);
if(!children.isEmpty()) { if(!children.isEmpty()) {
for(IndCatalog child : children) { for(IndCatalog child : children) {
result.addAll(getDeleteCatalogId(child.getId())); result.addAll(getDeleteCatalogId(child.getId()));
...@@ -64,9 +68,9 @@ public class IndCatalogService { ...@@ -64,9 +68,9 @@ public class IndCatalogService {
} }
//递归删除 //递归删除
public void recursionDelete(List<String> ids) { public void recursionDelete(List<Integer> ids) {
for(String id : ids) { for(Integer id : ids) {
List<String> result = this.getDeleteCatalogId(id); List<Integer> result = this.getDeleteCatalogId(id);
this.delete(result); this.delete(result);
//删除目录关联的指标 //删除目录关联的指标
baseIndDefMapper.deleteByCatalogIdIn(result); baseIndDefMapper.deleteByCatalogIdIn(result);
...@@ -74,10 +78,10 @@ public class IndCatalogService { ...@@ -74,10 +78,10 @@ public class IndCatalogService {
} }
//获取目录树 //获取目录树
public List<IndCatalog> getCatalog(String parentId,List<String> codes){ public List<IndCatalog> getCatalog(Integer parentId,List<String> codes){
if(StringUtils.isBlank(parentId) || "0".equals(parentId)) { Map<String,Object> paramMap = new HashMap<>();
return indCatalogRepo.findByParentIdAndCodeInOrderByLastUpdateTimeDesc("0", codes); paramMap.put("pid", parentId);
} paramMap.put("codes", codes);
return indCatalogRepo.findByParentIdAndCodeInOrderByLastUpdateTimeDesc(parentId, codes); return indCatalogMapper.findByParentIdAndCodeInOrderByLastUpdateTimeDesc(paramMap);
} }
} }
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.keymobile.indicators.model.mapper.indmapper.BaseIndDefVersionDataMapper">
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.keymobile.indicators.model.mapper.indmapper.DriveIndDefVersionDataMapper">
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.keymobile.indicators.model.mapper.indmapper.IndCatalogMapper">
<delete id="deleteByIdIn" parameterType="java.util.List">
delete
from base_ind_catalog
where id in
<foreach item="id" collection="ids" open="(" close=")" separator=",">
#{id}
</foreach>
</delete>
<select id="findByParentIdAndCodeInOrderByLastUpdateTimeDesc" parameterType="map" resultType="com.keymobile.indicators.model.entity.indicators.IndCatalog" >
select *
from base_ind_catalog
where parent_id = #{pid} and
code in
<foreach item="id" collection="codes" open="(" close=")" separator=",">
#{id}
</foreach>
order by last_update_time desc
</select>
<select id="findByParentId" resultType="com.keymobile.indicators.model.entity.indicators.IndCatalog" >
select *
from base_ind_catalog
where parent_id = #{pid}
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment