Commit 31d77f68 authored by tianhongyang's avatar tianhongyang

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents 0d536722 7124ef60
......@@ -17,7 +17,6 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
import java.util.List;
......@@ -42,9 +41,9 @@ public class CbProjectRecordController extends BaseController {
/**
* 校验项目编码是否存在
*/
@GetMapping("/checkProjectCodeExist/{projectCode}")
public R<Boolean> checkProjectCodeExist(@NotBlank(message = "项目编码不能为空") @PathVariable String projectCode) {
return R.ok(dProjectService.checkProjectCodeExist(projectCode));
@GetMapping("/checkProjectCodeExist")
public R<Boolean> checkProjectCodeExist(@Validated CbCheckProjectCodeExistBo checkBo) {
return R.ok(dProjectService.checkProjectCodeExist(checkBo));
}
/**
......
......@@ -32,21 +32,11 @@ public class AddCbDirectExpenseBo {
*/
@NotBlank(message = "单位不能为空")
private String unit;
/**
* 招标控制价单价
*/
@NotBlank(message = "招标控制价单价不能为空")
private String tenderControlUnitPrice;
/**
* 不含税成本单价
*/
@NotBlank(message = "不含税成本单价不能为空")
private String excludeTaxCbUnitPrice;
/**
* 含税成本单价
*/
@NotBlank(message = "含税成本单价不能为空")
private String includeTaxCbUnitPrice;
/**
* 特征描述
*/
......
package com.dsk.cscec.domain.bo;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author sxk
* @date 2024.03.22
* @time 16:02
*/
@Data
public class CbCheckProjectCodeExistBo {
/**
* 项目ID
*/
private Long projectId;
/**
* IPM项目编码
*/
@NotBlank(message = "项目编码不能为空")
String projectCode;
}
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.domain.bo.CbCheckProjectCodeExistBo;
import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo;
import com.dsk.cscec.domain.bo.ProjectDetailBo;
import com.dsk.cscec.domain.bo.ProjectSearchBo;
......@@ -57,13 +58,14 @@ public interface IDProjectService extends IService<DProject> {
/**
* 校验项目编码是否存在
*
* @param projectCode 项目编码
* @param checkBo 待校验信息
* @return 校验结果
*/
Boolean checkProjectCodeExist(String projectCode);
Boolean checkProjectCodeExist(CbCheckProjectCodeExistBo checkBo);
/**
* 获取工程项目信息
*
* @param projectId 项目ID
* @return 工程项目信息
*/
......
......@@ -244,7 +244,8 @@ public class CbDirectExpenseServiceImpl extends ServiceImpl<CbDirectExpenseMappe
//查询该菜单下的清
List<CbDirectExpenseDataDetailVo> qingList = BeanUtil.copyToList(baseMapper.selectList(new LambdaQueryWrapper<CbDirectExpense>()
.eq(CbDirectExpense::getParentId, menuId)
.eq(CbDirectExpense::getExpenseCategoryTag, CbProjectConstants.DIRECT_EXPENSE_CATEGORY_TAG_QING)), CbDirectExpenseDataDetailVo.class);
//.eq(CbDirectExpense::getExpenseCategoryTag, CbProjectConstants.DIRECT_EXPENSE_CATEGORY_TAG_QING)
), CbDirectExpenseDataDetailVo.class);
Assert.isFalse(qingList.isEmpty(), "该菜单下无数据");
//生成数据树形
......@@ -276,6 +277,7 @@ public class CbDirectExpenseServiceImpl extends ServiceImpl<CbDirectExpenseMappe
directExpense.setParentId(qing.getId());
directExpense.setLevel(qing.getLevel() + 1);
directExpense.setProjectId(qing.getProjectId());
//新增数据没有项目文件,为防止空指针,暂且设为-1,后期可根据业务需要更改
directExpense.setProjectFileId(-1L);
directExpense.setIsImport(false);
......
......@@ -28,7 +28,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.framework.AopContext;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionTemplate;
import javax.annotation.Resource;
import java.util.ArrayList;
......@@ -63,8 +62,6 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
private ICbCostMeasureService costMeasureService;
@Resource
private CbDirectExpenseService directExpenseService;
@Resource
private TransactionTemplate transactionTemplate;
/**
* 新增项目
......
......@@ -18,6 +18,7 @@ import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.AdvisoryBodyProject;
import com.dsk.cscec.domain.CbProjectRecord;
import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.domain.bo.CbCheckProjectCodeExistBo;
import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo;
import com.dsk.cscec.domain.bo.ProjectDetailBo;
import com.dsk.cscec.domain.bo.ProjectSearchBo;
......@@ -256,16 +257,34 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
/**
* 校验项目编码是否存在
*
* @param projectCode 项目编码
* @param checkBo 待校验信息
* @return 校验结果
*/
@Override
public Boolean checkProjectCodeExist(String projectCode) {
public Boolean checkProjectCodeExist(CbCheckProjectCodeExistBo checkBo) {
Long projectId = checkBo.getProjectId();
String projectCode = checkBo.getProjectCode();
//新增全新项目时,直接校验IPM编码是否重复和是否存在
if (ObjectUtil.isNull(projectId)) {
Assert.isFalse(projectRecordMapper.exists(new LambdaQueryWrapper<CbProjectRecord>()
.eq(CbProjectRecord::getIpmProjectNo, projectCode)), "项目台账列表中已存在相同IPM编码的项目");
return baseMapper.exists(new LambdaQueryWrapper<DProject>()
.eq(DProject::getProjectCode, projectCode));
} else {
//修改项目信息or新增新阶段项目时
CbProjectRecord projectRecord = projectRecordMapper.selectById(projectId);
if (projectCode.equals(projectRecord.getIpmProjectNo())
&& projectRecord.getIsGetProjectDetail()) {
return true;
} else {
Assert.isFalse(projectRecordMapper.exists(new LambdaQueryWrapper<CbProjectRecord>()
.eq(CbProjectRecord::getIpmProjectNo, projectCode)), "项目台账列表中已存在相同IPM编码的项目");
return baseMapper.exists(new LambdaQueryWrapper<DProject>()
.eq(DProject::getProjectCode, projectCode));
}
}
}
/**
* 获取工程项目信息
......
......@@ -6,7 +6,8 @@
select cde.id menuId, cde.parent_id, cde.expense_name menuName, cde.level menuLevel
from cb_direct_expense cde
where cde.project_id = #{projectId}
and cde.expense_category_tag regexp #{regx}
<!-- and cde.expense_category_tag regexp #{regx}-->
and cde.expense_category_tag in ('1','2','3')
and cde.del_flag = #{deleteFlagExist}
order by cde.sort
</select>
......
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