This commit is contained in:
zhn
2023-08-28 16:15:21 +08:00
parent 65101dc89b
commit e0221d7698
8 changed files with 196 additions and 7 deletions
@@ -7,6 +7,7 @@ import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectRxswinEO;
import com.jero.modules.project.service.IProjectRxswinEOService;
import io.swagger.annotations.Api;
@@ -176,4 +177,45 @@ public class ProjectRxswinEOController extends JeroController<ProjectRxswinEO, I
return super.importExcel(request, response, ProjectRxswinEO.class);
}
/**
* 调取--第一层
*
* @param projectRxswinEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "调取--第一层")
@ApiOperation(value="调取--第一层", notes="调取--第一层")
@GetMapping(value = "/getOnePage")
public Result<?> getOnePage(ProjectRxswinEO projectRxswinEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
IPage<ProjectLibraryBase> pageList = projectRxswinEOService.getOnePage(pageNo,pageSize,projectRxswinEO);
return Result.OK(pageList);
}
/**
* 调取--第二层
*
* @param projectRxswinEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "调取--第二层")
@ApiOperation(value="调取--第二层", notes="调取--第二层")
@GetMapping(value = "/getTwoPage")
public Result<?> getTwoPage(ProjectRxswinEO projectRxswinEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Page<ProjectRxswinEO> page = new Page<ProjectRxswinEO>(pageNo, pageSize);
IPage<ProjectRxswinEO> pageList = projectRxswinEOService.getTwoPage(page,projectRxswinEO);
return Result.OK(pageList);
}
}
@@ -112,6 +112,13 @@ public class ProjectLibraryBase implements Comparable<ProjectLibraryBase> {
@TableField(exist = false)
private java.lang.String targetMarketName;
@TableField(exist = false)
private java.lang.String targetMarketNameCn;
@TableField(exist = false)
private java.lang.String targetMarketNameEn;
//主项目id parent_id
private String parentId;
@@ -1,6 +1,7 @@
package com.jero.modules.project.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -88,4 +89,8 @@ public class ProjectRxswinEO implements Serializable {
@ApiModelProperty(value = "状态(0->保存,1->提交)")
private java.lang.String state;
@TableField(exist = false)
@ApiModelProperty(value = "中英文切换")
private String cut;
}
@@ -0,0 +1,45 @@
package com.jero.modules.project.enums;
/**
* 任务状态枚举类
*/
public enum StatusEnum {
SAVE("保存","0"),
SUBMIT("提交","1"),
;
String name;
String value;
private StatusEnum(String name, String value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public static String getTextByValue(String value) {
StatusEnum[] values = values();
for (StatusEnum taskStatusEnum : values) {
if (taskStatusEnum.value.equals(value)) {
return taskStatusEnum.name;
}
}
return null;
}
}
@@ -2,6 +2,7 @@ package com.jero.modules.project.mapper;
import java.util.List;
import com.jero.modules.project.entity.ProjectLibraryBase;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.project.entity.ProjectRxswinEO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -14,4 +15,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface ProjectRxswinEOMapper extends BaseMapper<ProjectRxswinEO> {
List<ProjectLibraryBase> queryProjectLibraryBaseList(@Param("projectLibraryId") String projectLibraryId);
}
@@ -15,4 +15,26 @@
<result column="version" property="version" />
<result column="state" property="state" />
</resultMap>
</mapper>
<select id="queryProjectLibraryBaseList" resultType="com.jero.modules.project.entity.ProjectLibraryBase">
SELECT
plb.id,
plb.project_name_id,
pni.project_name AS project_name,
pyni.id AS year_name_id,
pyni.year_name,
plb.target_market,
plb.parent_id,
plb.project_version,
plb.software_version,
sdi.item_text targetMarketNameCn,
sdi.en_name targetMarketNameEN,
plb.create_time
FROM
project_library_base AS plb
LEFT JOIN project_name_info AS pni ON plb.project_name_id = pni.id
LEFT JOIN project_year_name_info AS pyni ON plb.year_name_id = pyni.id
LEFT JOIN sys_dict_item AS sdi ON sdi.item_value = plb.target_market
where plb.parent_id = #{projectLibraryId}
or plb.id = #{projectLibraryId}
</select>
</mapper>
@@ -1,6 +1,8 @@
package com.jero.modules.project.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectRxswinEO;
import java.util.List;
@@ -59,4 +61,21 @@ public interface IProjectRxswinEOService extends IService<ProjectRxswinEO> {
* @return
*/
List<ProjectRxswinEO> queryList();
/**
* 调取--第一层
* @param pageNo
* @param pageSize
* @param projectRxswinEO
* @return
*/
Page<ProjectLibraryBase> getOnePage(Integer pageNo,Integer pageSize, ProjectRxswinEO projectRxswinEO);
/**
* 调取--第二层
* @param page
* @param projectRxswinEO
* @return
*/
Page<ProjectRxswinEO> getTwoPage(Page<ProjectRxswinEO> page,ProjectRxswinEO projectRxswinEO);
}
@@ -1,15 +1,20 @@
package com.jero.modules.project.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PageUtil;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectRxswinEO;
import com.jero.modules.project.enums.StatusEnum;
import com.jero.modules.project.mapper.ProjectRxswinEOMapper;
import com.jero.modules.project.service.IProjectRxswinEOService;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@@ -22,6 +27,8 @@ import java.util.List;
@Service
public class ProjectRxswinEOServiceImpl extends ServiceImpl<ProjectRxswinEOMapper, ProjectRxswinEO> implements IProjectRxswinEOService {
@Autowired
private ProjectRxswinEOMapper projectRxswinEOMapper;
/**
* 保存
*
@@ -31,9 +38,7 @@ public class ProjectRxswinEOServiceImpl extends ServiceImpl<ProjectRxswinEOMappe
@Override
public void add(ProjectRxswinEO projectRxswinEO) {
//判断主题是否已存在
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
LambdaQueryWrapper<ProjectRxswinEO> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProjectRxswinEO::getCreateBy,currentUser.getUsername());
wrapper.eq(ProjectRxswinEO::getProjectId,projectRxswinEO.getProjectId());
wrapper.eq(ProjectRxswinEO::getTheme,projectRxswinEO.getTheme());
List<ProjectRxswinEO> rxswinEOList = this.list(wrapper);
@@ -43,6 +48,7 @@ public class ProjectRxswinEOServiceImpl extends ServiceImpl<ProjectRxswinEOMappe
Date now = new Date();
projectRxswinEO.setCreateTime(now);
projectRxswinEO.setUpdateTime(now);
projectRxswinEO.setState(StatusEnum.SAVE.getValue());
save(projectRxswinEO);
}
@@ -55,9 +61,7 @@ public class ProjectRxswinEOServiceImpl extends ServiceImpl<ProjectRxswinEOMappe
@Override
public void editById(ProjectRxswinEO projectRxswinEO) {
//判断主题是否存在
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
LambdaQueryWrapper<ProjectRxswinEO> wrapper =new LambdaQueryWrapper<>();
wrapper.eq(ProjectRxswinEO::getCreateBy,currentUser.getUsername());
wrapper.eq(ProjectRxswinEO::getProjectId,projectRxswinEO.getProjectId());
wrapper.eq(ProjectRxswinEO::getTheme,projectRxswinEO.getTheme());
wrapper.ne(ProjectRxswinEO::getId,projectRxswinEO.getId());
@@ -67,6 +71,7 @@ public class ProjectRxswinEOServiceImpl extends ServiceImpl<ProjectRxswinEOMappe
}
Date now = new Date();
projectRxswinEO.setUpdateTime(now);
projectRxswinEO.setState(StatusEnum.SAVE.getValue());
saveOrUpdate(projectRxswinEO);
}
@@ -112,4 +117,45 @@ public class ProjectRxswinEOServiceImpl extends ServiceImpl<ProjectRxswinEOMappe
public List<ProjectRxswinEO> queryList() {
return list();
}
/**
* 调取--第一层
* @param pageNo
* @param pageSize
* @param projectRxswinEO
* @return
*/
@Override
public Page<ProjectLibraryBase> getOnePage(Integer pageNo,Integer pageSize,ProjectRxswinEO projectRxswinEO) {
List<ProjectLibraryBase> libraryBaseList = projectRxswinEOMapper.queryProjectLibraryBaseList(projectRxswinEO.getProjectId());
for (ProjectLibraryBase projectLibraryBase : libraryBaseList) {
//项目名称
String projectName = "";
if(CutEnum.CN.getValue().equals(projectRxswinEO.getCut())){
projectName = projectLibraryBase.getProjectName() + " " + projectLibraryBase.getYearName()
+ "-" + projectLibraryBase.getTargetMarketNameCn() + "-" + projectLibraryBase.getProjectVersion();
}else{
projectName = projectLibraryBase.getProjectName() + " " + projectLibraryBase.getYearName()
+ "-" + projectLibraryBase.getTargetMarketNameEn() + "-" + projectLibraryBase.getProjectVersion();
}
projectLibraryBase.setProjectName(projectName);
}
Collections.sort(libraryBaseList);
return PageUtil.getPages(pageNo,pageSize,libraryBaseList);
}
/**
* 调取--第二层
* @param page
* @param projectRxswinEO
* @return
*/
@Override
public Page<ProjectRxswinEO> getTwoPage(Page<ProjectRxswinEO> page,ProjectRxswinEO projectRxswinEO) {
LambdaQueryWrapper<ProjectRxswinEO> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProjectRxswinEO::getProjectId,projectRxswinEO.getProjectId());
wrapper.eq(ProjectRxswinEO::getState, StatusEnum.SUBMIT.getValue());//提交的
this.page(page,wrapper);
return this.page(page,wrapper);
}
}