|
|
|
@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
import com.epmet.commons.tools.enums.CommonOperateTypeEnum; |
|
|
|
import com.epmet.commons.tools.exception.EpmetErrorCode; |
|
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
|
@ -307,5 +308,126 @@ public class IssueProjectCategoryDictServiceImpl extends BaseServiceImpl<IssuePr |
|
|
|
@Override |
|
|
|
public List<ProjectCategoryDictResultDTO> listCategoryDict(String customerId, String pid) { |
|
|
|
return baseDao.selectListCategoryDict(customerId, pid); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Result<String> saveFirstCategory(SecondCategoryFormDTO formDTO) { |
|
|
|
// 分类名称在同一个客户下有效数据中不允许重复
|
|
|
|
Integer numCategoryName = baseDao.isCategoryName(formDTO.getCustomerId(), formDTO.getCategoryName(), null,null); |
|
|
|
if (NumConstant.ZERO < numCategoryName) { |
|
|
|
throw new RenException("现添加的一级分类名称 重复"); |
|
|
|
} |
|
|
|
IssueProjectCategoryDictEntity entity = this.packageFirstCategoryDictEntity(formDTO); |
|
|
|
baseDao.insert(entity); |
|
|
|
return new Result<String>().ok(entity.getId()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 一级分类 组装字段 |
|
|
|
* |
|
|
|
* @param formDTO |
|
|
|
* @return com.epmet.entity.IssueProjectCategoryDictEntity |
|
|
|
* @Author zhangyong |
|
|
|
* @Date 10:46 2021-03-23 |
|
|
|
**/ |
|
|
|
private IssueProjectCategoryDictEntity packageFirstCategoryDictEntity(SecondCategoryFormDTO formDTO) { |
|
|
|
IssueProjectCategoryDictEntity entity = new IssueProjectCategoryDictEntity(); |
|
|
|
entity.setCustomerId(formDTO.getCustomerId()); |
|
|
|
entity.setPid(NumConstant.ZERO_STR ); |
|
|
|
entity.setPids(NumConstant.ZERO_STR ); |
|
|
|
entity.setParentCategoryCode(NumConstant.ZERO_STR); |
|
|
|
// 查询 当前客户下,+1 后最大的一级分类数。从1开始
|
|
|
|
Integer maxCategoryCode = baseDao.getMaxCategoryCode(formDTO.getCustomerId(), NumConstant.ZERO_STR); |
|
|
|
if (NumConstant.ZERO == maxCategoryCode) { |
|
|
|
maxCategoryCode = 1001; |
|
|
|
} else { |
|
|
|
maxCategoryCode++; |
|
|
|
} |
|
|
|
entity.setCategoryCode(String.valueOf(maxCategoryCode)); |
|
|
|
|
|
|
|
entity.setCategoryName(formDTO.getCategoryName()); |
|
|
|
entity.setCategoryType(NumConstant.ONE_STR); |
|
|
|
entity.setSort(formDTO.getSort()); |
|
|
|
entity.setIsDisable("enable"); |
|
|
|
return entity; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Result<String> editFirstCategory(SecondCategoryFormDTO formDTO) { |
|
|
|
if (StringUtils.isBlank(formDTO.getCategoryId())) { |
|
|
|
throw new RenException("分类Id 不能为空"); |
|
|
|
} |
|
|
|
// 分类名称在同一个客户下有效数据中不允许重复
|
|
|
|
Integer numCategoryName = baseDao.isCategoryName(formDTO.getCustomerId(), formDTO.getCategoryName(), null, formDTO.getCategoryId()); |
|
|
|
if (NumConstant.ZERO < numCategoryName) { |
|
|
|
throw new RenException("现添加的一级分类名称 重复"); |
|
|
|
} |
|
|
|
IssueProjectCategoryDictEntity entity = new IssueProjectCategoryDictEntity(); |
|
|
|
entity.setCategoryName(formDTO.getCategoryName()); |
|
|
|
entity.setSort(formDTO.getSort()); |
|
|
|
entity.setId(formDTO.getCategoryId()); |
|
|
|
baseDao.updateById(entity); |
|
|
|
return new Result<>(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Result<String> saveSecondCategory(SecondCategoryFormDTO formDTO) { |
|
|
|
// 分类名称在同一个客户下同一 一级分类下有效数据中不允许重复
|
|
|
|
Integer numCategoryName = baseDao.isCategoryName(formDTO.getCustomerId(), formDTO.getCategoryName(), formDTO.getParentCategoryId(), null); |
|
|
|
if (NumConstant.ZERO < numCategoryName) { |
|
|
|
throw new RenException("现添加的二级分类名称 重复"); |
|
|
|
} |
|
|
|
IssueProjectCategoryDictEntity entity = this.packageSecondCategoryDictEntity(formDTO); |
|
|
|
baseDao.insert(entity); |
|
|
|
return new Result<String>().ok(entity.getId()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 二级分类 组装字段 |
|
|
|
* |
|
|
|
* @param formDTO |
|
|
|
* @return com.epmet.entity.IssueProjectCategoryDictEntity |
|
|
|
* @Author zhangyong |
|
|
|
* @Date 10:46 2021-03-23 |
|
|
|
**/ |
|
|
|
private IssueProjectCategoryDictEntity packageSecondCategoryDictEntity(SecondCategoryFormDTO formDTO) { |
|
|
|
IssueProjectCategoryDictEntity entity = new IssueProjectCategoryDictEntity(); |
|
|
|
entity.setCustomerId(formDTO.getCustomerId()); |
|
|
|
entity.setPid(formDTO.getParentCategoryId()); |
|
|
|
entity.setPids(formDTO.getParentCategoryId()); |
|
|
|
IssueProjectCategoryDictEntity parentCategoryCode = baseDao.selectById(formDTO.getParentCategoryId()); |
|
|
|
entity.setParentCategoryCode(parentCategoryCode.getCategoryCode()); |
|
|
|
// 查询 当前客户下,+1 后最大的一级分类数
|
|
|
|
Integer maxCategoryCode = baseDao.getMaxCategoryCode(formDTO.getCustomerId(), parentCategoryCode.getCategoryCode()); |
|
|
|
if (NumConstant.ZERO == maxCategoryCode) { |
|
|
|
maxCategoryCode = Integer.valueOf(parentCategoryCode.getCategoryCode() + "1001"); |
|
|
|
} else { |
|
|
|
maxCategoryCode++; |
|
|
|
} |
|
|
|
entity.setCategoryCode(String.valueOf(maxCategoryCode)); |
|
|
|
|
|
|
|
entity.setCategoryName(formDTO.getCategoryName()); |
|
|
|
entity.setCategoryType(NumConstant.TWO_STR); |
|
|
|
entity.setSort(formDTO.getSort()); |
|
|
|
entity.setIsDisable("enable"); |
|
|
|
return entity; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Result<String> editSecondCategory(SecondCategoryFormDTO formDTO) { |
|
|
|
if (StringUtils.isBlank(formDTO.getCategoryId())) { |
|
|
|
throw new RenException("分类Id 不能为空"); |
|
|
|
} |
|
|
|
// 分类名称在同一个客户下同一 一级分类下有效数据中不允许重复
|
|
|
|
Integer numCategoryName = baseDao.isCategoryName(formDTO.getCustomerId(), formDTO.getCategoryName(), formDTO.getParentCategoryId(), formDTO.getCategoryId()); |
|
|
|
if (NumConstant.ZERO < numCategoryName) { |
|
|
|
throw new RenException("现添加的二级分类名称 重复"); |
|
|
|
} |
|
|
|
IssueProjectCategoryDictEntity entity = new IssueProjectCategoryDictEntity(); |
|
|
|
entity.setCategoryName(formDTO.getCategoryName()); |
|
|
|
entity.setSort(formDTO.getSort()); |
|
|
|
entity.setId(formDTO.getCategoryId()); |
|
|
|
baseDao.updateById(entity); |
|
|
|
return new Result<>(); |
|
|
|
} |
|
|
|
} |
|
|
|
|