Merge remote-tracking branch 'origin/fix_2nd_20230103' into fix_2nd_20230103

This commit is contained in:
zyx.net
2023-01-12 15:14:42 +08:00
8 changed files with 355 additions and 13 deletions
@@ -159,3 +159,12 @@ ALTER TABLE `laws_weilai`.`params_report_detail`
-- 更新拆分详情列 展示顺序不在列表头展示sql 2022-12-30 已同步生产环境
UPDATE `laws_weilai`.`onl_cgform_field` SET `is_show_list` = 0 WHERE `id` = '1529373706885799937'
-- 项目库置顶 2023-1-12 未同步生产环境
CREATE TABLE `laws_weilai`.`top_project` (
`id` varchar(36) NOT NULL COMMENT 'id',
`project_library_base_id` varchar(36) NULL COMMENT '项目id',
`flag` varchar(255) NULL COMMENT '置顶标识',
`sort` varchar(255) NULL COMMENT '置顶排序',
PRIMARY KEY (`id`)
);
@@ -136,7 +136,7 @@
<where>
parent_id = '' or parent_id is null
</where>
order by plb.sort desc, plb.create_time desc
order by plb.create_time desc
</select>
<!-- <select id="queryPageList" resultType="com.jero.modules.project.entity.ProjectLibraryBase">-->
@@ -52,6 +52,8 @@ import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.system.util.StringUtils;
import com.jero.modules.top.entity.TopProjectEO;
import com.jero.modules.top.service.ITopProjectEOService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.poi.hssf.usermodel.HSSFSheet;
@@ -74,6 +76,7 @@ import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
@@ -157,6 +160,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
@Autowired
private IProjectUserBrandService projectUserBrandService;
@Autowired
private ITopProjectEOService iTopProjectEOService;
/**
* 保存
*
@@ -792,7 +798,31 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
//目标市场
List<DictModel> targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
//置顶
List<String> idList = result.stream().map(ProjectLibraryBase::getId).collect(Collectors.toList());
List<TopProjectEO> topProjectEOList = new ArrayList<>();
if(ObjectUtils.isNotEmpty(idList)){
LambdaQueryWrapper<TopProjectEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(TopProjectEO::getCreateBy,loginUser.getUsername()).in(TopProjectEO::getProjectLibraryBaseId,idList).orderByDesc(TopProjectEO::getSort);
topProjectEOList = iTopProjectEOService.list(wrapper);
}
for(ProjectLibraryBase projectLibraryBase: result){
//置顶处理
if(ObjectUtils.isNotEmpty(topProjectEOList)){
List<TopProjectEO> collect = topProjectEOList.stream()
.filter(e -> projectLibraryBase.getId().equals(e.getProjectLibraryBaseId())
&& loginUser.getUsername().equals(e.getCreateBy()))
.collect(Collectors.toList());
if(ObjectUtils.isNotEmpty(collect)){
projectLibraryBase.setFlag(collect.get(0).getFlag());
projectLibraryBase.setSort(collect.get(0).getSort());
}else{
projectLibraryBase.setSort("0");
}
}else{
projectLibraryBase.setSort("0");
}
//目标市场
String targetMarket = getMarket(params, targetMarketList, projectLibraryBase);
//主项目的版本号
@@ -809,6 +839,16 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
+ "-" + projectVersion);
}
}
if(ObjectUtils.isEmpty(params.get("orderByField"))){
Collections.sort(result, new Comparator<ProjectLibraryBase>() {
@Override
public int compare(ProjectLibraryBase o1, ProjectLibraryBase o2) {
return -o1.getSort().compareTo(o2.getSort());
}
});
}
//所有主项目
List<ProjectLibraryBase> projectLibraryBaseListParent = projectLibraryBaseMapper.queryMaimList();
disposeData(projectLibraryBaseListParent,"",false);
@@ -1665,32 +1705,64 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
@Override
public void top(String id, String flag) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
ProjectLibraryBase projectLibraryBase = this.getById(id);
//置顶的时候将取消置顶标识传过来即:flag=1
if(TopEnum.TOP_CANCEL.getValue().equals(flag)){
TopProjectEO topProjectEO = new TopProjectEO();
topProjectEO.setProjectLibraryBaseId(id);
topProjectEO.setFlag(TopEnum.TOP_CANCEL.getValue());
topProjectEO.setCreateBy(loginUser.getUsername());
//置顶
LambdaQueryWrapper<ProjectLibraryBase> wrapper = new LambdaQueryWrapper<>();
wrapper.isNotNull(ProjectLibraryBase::getSort).orderByDesc(ProjectLibraryBase::getSort);
List<ProjectLibraryBase> list = this.list(wrapper);
LambdaQueryWrapper<TopProjectEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(TopProjectEO::getCreateBy,loginUser.getUsername()).orderByDesc(TopProjectEO::getSort);
List<TopProjectEO> list = iTopProjectEOService.list(wrapper);
if(list.size() != 0){
String sort = list.get(list.size() - 1).getSort();
String sort = list.get(0).getSort();
int sortTemp = Integer.valueOf(sort) + 1;
projectLibraryBase.setSort(String.valueOf(sortTemp));
topProjectEO.setSort(String.valueOf(sortTemp));
}else{
//首个置顶的项目排序为1
projectLibraryBase.setSort("1");
topProjectEO.setSort("1");
}
projectLibraryBase.setFlag(TopEnum.TOP_CANCEL.getValue());
this.updateById(projectLibraryBase);
iTopProjectEOService.save(topProjectEO);
}else{
//取消置顶
LambdaUpdateWrapper<ProjectLibraryBase> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(ProjectLibraryBase::getId,id);
updateWrapper.set(ProjectLibraryBase::getSort,null).set(ProjectLibraryBase::getFlag,null);
this.update(projectLibraryBase,updateWrapper);
LambdaUpdateWrapper<TopProjectEO> wrapper = new LambdaUpdateWrapper<>();
wrapper.in(TopProjectEO::getCreateBy,loginUser.getUsername()).in(TopProjectEO::getProjectLibraryBaseId,id);
iTopProjectEOService.remove(wrapper);
}
}
// @Override
// public void top(String id, String flag) {
// ProjectLibraryBase projectLibraryBase = this.getById(id);
// //置顶的时候将取消置顶标识传过来即:flag=1
// if(TopEnum.TOP_CANCEL.getValue().equals(flag)){
// //置顶
// LambdaQueryWrapper<ProjectLibraryBase> wrapper = new LambdaQueryWrapper<>();
// wrapper.isNotNull(ProjectLibraryBase::getSort).orderByDesc(ProjectLibraryBase::getSort);
// List<ProjectLibraryBase> list = this.list(wrapper);
// if(list.size() != 0){
// String sort = list.get(list.size() - 1).getSort();
// int sortTemp = Integer.valueOf(sort) + 1;
// projectLibraryBase.setSort(String.valueOf(sortTemp));
// }else{
// //首个置顶的项目排序为1
// projectLibraryBase.setSort("1");
// }
// projectLibraryBase.setFlag(TopEnum.TOP_CANCEL.getValue());
// this.updateById(projectLibraryBase);
//
// }else{
// //取消置顶
// LambdaUpdateWrapper<ProjectLibraryBase> updateWrapper = new LambdaUpdateWrapper<>();
// updateWrapper.in(ProjectLibraryBase::getId,id);
// updateWrapper.set(ProjectLibraryBase::getSort,null).set(ProjectLibraryBase::getFlag,null);
// this.update(projectLibraryBase,updateWrapper);
// }
// }
@Override
public List<String> getVersionsInfo(String id) {
@@ -0,0 +1,79 @@
package com.jero.modules.top.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* @Description: 项目库置顶关联表
* @Author: jero-boot
* @Date: 2023-01-12
* @Version: V1.0
*/
@Data
@TableName("top_project")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="top_project对象", description="项目库置顶关联表")
public class TopProjectEO implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
/**项目id*/
@Excel(name = "项目id", width = 15)
@ApiModelProperty(value = "项目id")
private java.lang.String projectLibraryBaseId;
/**置顶标识*/
@Excel(name = "置顶标识", width = 15)
@ApiModelProperty(value = "置顶标识")
private java.lang.String flag;
/**置顶排序*/
@Excel(name = "置顶排序", width = 15)
@ApiModelProperty(value = "置顶排序")
private java.lang.String sort;
}
@@ -0,0 +1,17 @@
package com.jero.modules.top.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.top.entity.TopProjectEO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 项目库置顶关联表
* @Author: jero-boot
* @Date: 2023-01-12
* @Version: V1.0
*/
public interface TopProjectEOMapper extends BaseMapper<TopProjectEO> {
}
@@ -0,0 +1,15 @@
<?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.jero.modules.top.mapper.TopProjectEOMapper">
<resultMap id="TopProjectEOResultMap" type="com.jero.modules.top.entity.TopProjectEO">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="project_library_base_id" property="projectLibraryBaseId" />
<result column="flag" property="flag" />
<result column="sort" property="sort" />
</resultMap>
</mapper>
@@ -0,0 +1,61 @@
package com.jero.modules.top.service;
import com.jero.modules.top.entity.TopProjectEO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: 项目库置顶关联表
* @Author: jero-boot
* @Date: 2023-01-12
* @Version: V1.0
*/
public interface ITopProjectEOService extends IService<TopProjectEO> {
/**
* 保存
*
* @param topProjectEO
* @return
*/
void add(TopProjectEO topProjectEO);
/**
* 更新
*
* @param topProjectEO
* @return
*/
void editById(TopProjectEO topProjectEO);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
TopProjectEO queryById(String id);
/**
* 列表查询
*
* @return
*/
List<TopProjectEO> queryList();
}
@@ -0,0 +1,89 @@
package com.jero.modules.top.service.impl;
import com.jero.modules.top.entity.TopProjectEO;
import com.jero.modules.top.mapper.TopProjectEOMapper;
import com.jero.modules.top.service.ITopProjectEOService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 项目库置顶关联表
* @Author: jero-boot
* @Date: 2023-01-12
* @Version: V1.0
*/
@Service
public class TopProjectEOServiceImpl extends ServiceImpl<TopProjectEOMapper, TopProjectEO> implements ITopProjectEOService {
/**
* 保存
*
* @param topProjectEO
* @return
*/
@Override
public void add(TopProjectEO topProjectEO) {
Date now = new Date();
topProjectEO.setCreateTime(now);
topProjectEO.setUpdateTime(now);
save(topProjectEO);
}
/**
* 更新
*
* @param topProjectEO
* @return
*/
@Override
public void editById(TopProjectEO topProjectEO) {
Date now = new Date();
topProjectEO.setUpdateTime(now);
saveOrUpdate(topProjectEO);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public TopProjectEO queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<TopProjectEO> queryList() {
return list();
}
}