Commit 9e231a13 authored by 施翔轲's avatar 施翔轲

u

parent 43b5c405
......@@ -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.ImportCbProjectDataBo;
import com.dsk.cscec.service.CbProjectRecordService;
import com.dsk.cscec.service.IDProjectService;
import org.springframework.validation.annotation.Validated;
......@@ -48,13 +49,14 @@ public class CbProjectRecordController extends BaseController {
return R.ok(projectRecord);
}
///**
// * 根据项目文件导入数据
// */
//@PostMapping("/importData")
//public R<Void> importData(@Validated @RequestBody ImportCbProjectDataBo importDataBo){
// return toAjax(baseService.importData(importDataBo));
//}
/**
* 根据项目文件导入数据
*/
@PostMapping("/importData")
public R<Void> importData(@Validated @RequestBody ImportCbProjectDataBo importDataBo){
baseService.importData(importDataBo);
return R.ok("解析成本数据过程需3~10分钟,稍后可到项目列表查看导入结果");
}
}
package com.dsk.cscec.domain.bo;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author sxk
* @date 2024.02.07
* @time 11:28
*/
@Data
public class ImportCbProjectDataBo {
/**
* 项目ID
*/
@NotNull(message = "项目ID不能为空")
private Long projectId;
/**
* 成本阶段(0:标前成本、1:标后成本、2:转固成本)
*/
@NotNull(message = "成本阶段不能为空")
private Integer cbStage;
}
......@@ -3,6 +3,7 @@ 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.ImportCbProjectDataBo;
/**
* 项目台账表(CbProjectRecord)表服务接口
......@@ -19,11 +20,10 @@ public interface CbProjectRecordService extends IService<CbProjectRecord> {
*/
CbProjectRecord addProject(AddCbProjectBo addCbProjectBo);
///**
// * 根据项目文件导入数据
// *
// * @param importDataBo 导入对象
// * @return 导入结果
// */
//Boolean importData(ImportCbProjectDataBo importDataBo);
/**
* 根据项目文件导入数据
*
* @param importDataBo 导入对象
*/
void importData(ImportCbProjectDataBo importDataBo);
}
package com.dsk.cscec.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.constant.CbProjectConstants;
import com.dsk.cscec.domain.CbProjectFile;
import com.dsk.cscec.domain.CbProjectRecord;
import com.dsk.cscec.domain.bo.AddCbProjectBo;
import com.dsk.cscec.domain.bo.ImportCbProjectDataBo;
import com.dsk.cscec.mapper.CbProjectFileMapper;
import com.dsk.cscec.mapper.CbProjectRecordMapper;
import com.dsk.cscec.service.CbProjectRecordService;
......@@ -42,37 +44,33 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
//删除状态:否
projectRecord.setDelFlag(CbProjectConstants.DELETE_FLAG_EXIST);
if (baseMapper.insert(projectRecord) > 0) {
CbProjectFile projectFile = new CbProjectFile();
projectFile.setProjectId(projectRecord.getId());
projectFile.setCbStage(projectRecord.getCbStage());
//项目文件状态:未上传
projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_NOT_UPLOAD);
//成本类型:未确定
projectFile.setCbType(CbProjectConstants.CB_TYPE_NOT_CONFIRM);
projectFile.setDelFlag(CbProjectConstants.DELETE_FLAG_EXIST);
projectFileMapper.insert(projectFile);
return projectRecord;
}
return null;
}
///**
// * 根据项目文件导入数据
// *
// * @param importDataBo 导入对象
// * @return 导入结果
// */
//@Override
//public Boolean importData(ImportCbProjectDataBo importDataBo) {
// Long projectId = importDataBo.getProjectId();
// Integer cbStage = importDataBo.getCbStage();
// //校验项目是否存在
// Assert.isTrue(baseMapper.exists(new LambdaQueryWrapper<CbProjectRecord>()
// .eq(CbProjectRecord::getId, projectId)
// .eq(CbProjectRecord::getCbStage, cbStage)
// .eq(CbProjectRecord::getDelFlag, CbProjectConstants.DELETE_FLAG_EXIST)), "该项目不存在");
// //TODO:调各个成本类型的导入文件方法
//
// return null;
//}
/**
* 根据项目文件导入数据
*
* @param importDataBo 导入对象
*/
@Override
public void importData(ImportCbProjectDataBo importDataBo) {
Long projectId = importDataBo.getProjectId();
Integer cbStage = importDataBo.getCbStage();
//校验项目是否存在
Assert.isTrue(baseMapper.exists(new LambdaQueryWrapper<CbProjectRecord>()
.eq(CbProjectRecord::getId, projectId)
.eq(CbProjectRecord::getCbStage, cbStage)
.eq(CbProjectRecord::getDelFlag, CbProjectConstants.DELETE_FLAG_EXIST)), "该项目不存在");
//TODO:校验各个成本类型是否至少有1个文件
//TODO:调各个成本类型的解析文件方法
//直接费成本
//工料汇总
//措施项目
//其他项目
//现场经费
//成本汇总
}
}
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