Commit 3e8fcfb1 authored by 施翔轲's avatar 施翔轲

获取草稿弹窗列表

parent d1779a75
......@@ -8,7 +8,6 @@ import com.dsk.common.enums.BusinessType;
import com.dsk.common.exception.ServiceException;
import com.dsk.cscec.domain.bo.AddProjectFileUploadBo;
import com.dsk.cscec.domain.bo.QueryProjectFileUploadDetailBo;
import com.dsk.cscec.domain.vo.DraftDialogListVo;
import com.dsk.cscec.domain.vo.QueryProjectFileUploadDetailVo;
import com.dsk.cscec.service.CbProjectFileService;
import com.dsk.system.domain.vo.SysOssVo;
......@@ -23,7 +22,6 @@ import javax.validation.constraints.NotNull;
import java.io.UnsupportedEncodingException;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
......@@ -77,18 +75,6 @@ public class CbProjectFileController extends BaseController {
return toAjax(baseService.deleteProjectFile(fileId));
}
/**
* 获取草稿弹窗列表
*/
@GetMapping("/getDraftDialogList")
public R<List<DraftDialogListVo>> getDraftDialogList() {
List<DraftDialogListVo> draftList = baseService.getDraftDialogList();
if (draftList.isEmpty()) {
return R.ok("暂无草稿记录");
}
return R.ok(draftList);
}
/**
* 获取项目文件上传详情
*/
......
......@@ -5,6 +5,7 @@ import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.R;
import com.dsk.cscec.domain.CbProjectRecord;
import com.dsk.cscec.domain.bo.AddCbProjectBo;
import com.dsk.cscec.domain.bo.EditProjectInfoBo;
import com.dsk.cscec.domain.bo.ImportCbProjectDataBo;
import com.dsk.cscec.service.CbProjectRecordService;
import com.dsk.cscec.service.IDProjectService;
......@@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.constraints.NotBlank;
import java.util.List;
/**
* 项目台账表(CbProjectRecord)表控制层
......@@ -53,9 +55,38 @@ public class CbProjectRecordController extends BaseController {
* 根据项目文件导入数据
*/
@PostMapping("/importData")
public R<Void> importData(@Validated @RequestBody ImportCbProjectDataBo importDataBo){
public R<Void> importData(@Validated @RequestBody ImportCbProjectDataBo importDataBo) {
baseService.importData(importDataBo);
return R.ok("解析成本数据过程需3~10分钟,稍后可到项目列表查看导入结果");
return R.ok("已开始解析成本数据,过程需3~10分钟,稍后可到项目列表查看导入结果");
}
/**
* 修改项目信息
*/
@PutMapping("/editProjectInfo")
public R<Void> editProjectInfo(@Validated @RequestBody EditProjectInfoBo editBo) {
return toAjax(baseService.editProjectInfo(editBo));
}
///**
// * 获取项目台账列表
// */
//@GetMapping("/getProjectList")
//public R<List<CbProjectRecord>> getProjectList() {
// List<CbProjectRecord> projectList = baseService.getProjectList();
// return R.ok(projectList);
//}
/**
* 获取草稿弹窗列表
*/
@GetMapping("/getDraftDialogList")
public R<List<CbProjectRecord>> getDraftDialogList() {
List<CbProjectRecord> draftList = baseService.getDraftDialogList();
if (draftList.isEmpty()) {
return R.ok("暂无草稿记录");
}
return R.ok(draftList);
}
}
......
package com.dsk.cscec.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.dsk.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -57,5 +58,6 @@ public class CbProjectFile extends BaseEntity implements Serializable {
/**
* 删除状态(0:否、2:是)
*/
@TableLogic(value = "0", delval = "2")
private Integer delFlag;
}
package com.dsk.cscec.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.dsk.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -49,5 +50,6 @@ public class CbProjectRecord extends BaseEntity implements Serializable {
/**
* 删除状态(0:否、2:是)
*/
@TableLogic(value = "0", delval = "2")
private Integer delFlag;
}
package com.dsk.cscec.domain.vo;
import lombok.Data;
import java.util.Date;
/**
* @author sxk
* @date 2024.02.07
* @time 16:28
*/
@Data
public class DraftDialogListVo {
/**
* 项目ID
*/
private Long projectId;
/**
* 项目名称
*/
private String projectName;
/**
* 成本阶段(0:标前成本、1:标后成本、2:转固成本)
*/
private Integer cbStage;
/**
* 更新时间
*/
private Date updateTime;
}
\ No newline at end of file
......@@ -2,10 +2,6 @@ package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.CbProjectFile;
import com.dsk.cscec.domain.vo.DraftDialogListVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 项目成本文件表(CbProjectFile)表数据库访问层
......@@ -14,11 +10,6 @@ import java.util.List;
* @since 2024-02-05 14:01:03
*/
public interface CbProjectFileMapper extends BaseMapper<CbProjectFile> {
/**
* 获取草稿弹窗列表
*
* @return 草稿弹窗列表
*/
List<DraftDialogListVo> getDraftDialogList(@Param("projectFileStatusWaitParse") Integer projectFileStatusWaitParse,@Param("deleteFlagExist")Integer deleteFlagExist);
}
......@@ -4,12 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.CbProjectFile;
import com.dsk.cscec.domain.bo.AddProjectFileUploadBo;
import com.dsk.cscec.domain.bo.QueryProjectFileUploadDetailBo;
import com.dsk.cscec.domain.vo.DraftDialogListVo;
import com.dsk.cscec.domain.vo.QueryProjectFileUploadDetailVo;
import com.dsk.system.domain.vo.SysOssVo;
import java.util.List;
/**
* 项目成本文件表(CbProjectFile)表服务接口
*
......@@ -33,13 +30,6 @@ public interface CbProjectFileService extends IService<CbProjectFile> {
*/
Integer deleteProjectFile(Long fileId);
/**
* 获取草稿弹窗列表
*
* @return 草稿弹窗列表
*/
List<DraftDialogListVo> getDraftDialogList();
/**
* 获取项目文件上传详情
*
......
......@@ -3,8 +3,11 @@ package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.CbProjectRecord;
import com.dsk.cscec.domain.bo.AddCbProjectBo;
import com.dsk.cscec.domain.bo.EditProjectInfoBo;
import com.dsk.cscec.domain.bo.ImportCbProjectDataBo;
import java.util.List;
/**
* 项目台账表(CbProjectRecord)表服务接口
*
......@@ -26,4 +29,19 @@ public interface CbProjectRecordService extends IService<CbProjectRecord> {
* @param importDataBo 导入对象
*/
void importData(ImportCbProjectDataBo importDataBo);
/**
* 修改项目信息
*
* @param editBo 修改对象
* @return 修改结果
*/
Integer editProjectInfo(EditProjectInfoBo editBo);
/**
* 获取草稿弹窗列表
*
* @return 草稿弹窗列表
*/
List<CbProjectRecord> getDraftDialogList();
}
......@@ -10,7 +10,6 @@ import com.dsk.cscec.domain.CbProjectFile;
import com.dsk.cscec.domain.CbProjectRecord;
import com.dsk.cscec.domain.bo.AddProjectFileUploadBo;
import com.dsk.cscec.domain.bo.QueryProjectFileUploadDetailBo;
import com.dsk.cscec.domain.vo.DraftDialogListVo;
import com.dsk.cscec.domain.vo.QueryProjectFileUploadDetailVo;
import com.dsk.cscec.mapper.CbProjectFileMapper;
import com.dsk.cscec.mapper.CbProjectRecordMapper;
......@@ -52,7 +51,7 @@ public class CbProjectFileServiceImpl extends ServiceImpl<CbProjectFileMapper, C
projectFile.setFileName(oss.getOriginalName());
projectFile.setFileOssId(oss.getOssId());
projectFile.setFileOssUrl(oss.getUrl());
//项目文件状态:解析
//项目文件状态:准备
projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_PREPARING);
//删除状态:未删除
projectFile.setDelFlag(CbProjectConstants.DELETE_FLAG_EXIST);
......@@ -73,16 +72,6 @@ public class CbProjectFileServiceImpl extends ServiceImpl<CbProjectFileMapper, C
return baseMapper.updateById(projectFile);
}
/**
* 获取草稿弹窗列表
*
* @return 草稿弹窗列表
*/
@Override
public List<DraftDialogListVo> getDraftDialogList() {
return baseMapper.getDraftDialogList(CbProjectConstants.PROJECT_FILE_STATUS_PREPARING, CbProjectConstants.DELETE_FLAG_EXIST);
}
/**
* 获取项目文件上传详情
*
......
......@@ -17,6 +17,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
/**
* 项目台账表(CbProjectRecord)表服务实现类
......@@ -41,7 +42,7 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
@Transactional(rollbackFor = Exception.class)
public CbProjectRecord addProject(AddCbProjectBo addCbProjectBo) {
CbProjectRecord projectRecord = BeanUtil.toBean(addCbProjectBo, CbProjectRecord.class);
//项目文件状态:待解析
//项目文件状态:准备中
projectRecord.setProjectFileStatus(CbProjectConstants.PROJECT_FILE_STATUS_PREPARING);
//删除状态:否
projectRecord.setDelFlag(CbProjectConstants.DELETE_FLAG_EXIST);
......@@ -99,7 +100,7 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
.eq(CbProjectFile::getProjectId, importDataBo.getProjectId())
.eq(CbProjectFile::getCbStage, importDataBo.getCbStage())
.eq(CbProjectFile::getCbType, cbType)
//项目文件状态:待解析
//项目文件状态:准备中
.eq(CbProjectFile::getFileParseStatus, CbProjectConstants.PROJECT_FILE_STATUS_PREPARING)
//删除状态:否
.eq(CbProjectFile::getDelFlag, CbProjectConstants.DELETE_FLAG_EXIST));
......@@ -129,13 +130,22 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
* 校验项目是否存在
*
* @param projectId 项目ID
* @return 项目实体
*/
private CbProjectRecord checkProjectExist(Long projectId) {
private void checkProjectExist(Long projectId) {
CbProjectRecord projectRecord = baseMapper.selectOne(new LambdaQueryWrapper<CbProjectRecord>()
.eq(CbProjectRecord::getId, projectId)
.eq(CbProjectRecord::getDelFlag, CbProjectConstants.DELETE_FLAG_EXIST));
Assert.notNull(projectRecord, "该项目不存在");
return projectRecord;
}
/**
* 获取草稿弹窗列表
*
* @return 草稿弹窗列表
*/
@Override
public List<CbProjectRecord> getDraftDialogList() {
return baseMapper.selectList(new LambdaQueryWrapper<CbProjectRecord>()
.eq(CbProjectRecord::getProjectFileStatus,CbProjectConstants.PROJECT_FILE_STATUS_PREPARING));
}
}
<?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.dsk.cscec.mapper.CbProjectFileMapper">
<!--获取草稿弹窗列表-->
<select id="getDraftDialogList" resultType="com.dsk.cscec.domain.vo.DraftDialogListVo">
SELECT cpf.project_id,
cpr.project_name,
cpf.cb_stage,
max(cpf.update_time) as update_time
FROM cb_project_file cpf
left join cb_project_record cpr
on cpf.project_id = cpr.id
WHERE (file_parse_status = #{projectFileStatusWaitParse} AND cpf.del_flag = #{deleteFlagExist})
group by cpf.project_id, cpf.cb_stage
</select>
</mapper>
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