项目库加删除校验

This commit is contained in:
xiejunyu
2022-06-06 14:27:18 +08:00
parent 1ad9f4d143
commit 0e086e6cf9
3 changed files with 78 additions and 10 deletions
@@ -99,8 +99,9 @@ public class ProjectLibraryBaseController extends JeroController<ProjectLibraryB
@AutoLog(value = "项目库基础表-通过id删除")
@ApiOperation(value="项目库基础表-通过id删除", notes="项目库基础表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
projectLibraryBaseService.deleteById(id);
public Result<?> delete(@RequestParam(name="id",required=true) String id,
@RequestParam(name="cut",required=true) String cut) {
projectLibraryBaseService.deleteById(id,cut);
return Result.OK("删除成功!");
}
@@ -113,8 +114,9 @@ public class ProjectLibraryBaseController extends JeroController<ProjectLibraryB
@AutoLog(value = "项目库基础表-批量删除")
@ApiOperation(value="项目库基础表-批量删除", notes="项目库基础表-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.projectLibraryBaseService.deleteByIds(Arrays.asList(ids.split(",")));
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids,
@RequestParam(name="cut",required=true) String cut) {
this.projectLibraryBaseService.deleteByIds(Arrays.asList(ids.split(",")),cut);
return Result.OK("批量删除成功!");
}
@@ -40,7 +40,7 @@ public interface IProjectLibraryBaseService extends IService<ProjectLibraryBase>
* @param id
* @return
*/
void deleteById(String id);
void deleteById(String id, String cut);
/**
* 批量删除
@@ -48,7 +48,7 @@ public interface IProjectLibraryBaseService extends IService<ProjectLibraryBase>
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
void deleteByIds(List<String> ids,String cut);
/**
* 通过id查询
@@ -87,4 +87,6 @@ public interface IProjectLibraryBaseService extends IService<ProjectLibraryBase>
Map<String, Object> getProjectDetailsStatisticsGroupByTerritory(Map<String, Object> params);
void exportProjectDetailsStatisticsGroupByTerritoryXls(HttpServletResponse response, HttpServletRequest request, Map<String, Object> params);
void checkData(String id, String cut);
}
@@ -111,8 +111,10 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
QueryWrapper<ProjectLibraryBase> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("project_name_id",projectNameId)
.eq("year_name_id",yearNameId)
.eq("target_market",targetMarket)
.ne("id",projectLibraryBase.getId());
.eq("target_market",targetMarket);
if(StringUtils.isNotBlank(projectLibraryBase.getId())){
queryWrapper.ne("id",projectLibraryBase.getId());
}
Integer count = projectLibraryBaseMapper.selectCount(queryWrapper);
if (count > 0) {
if(CutEnum.CN.getValue().equals(projectLibraryBase.getCut())) {
@@ -146,10 +148,69 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
* @return
*/
@Override
public void deleteById(String id) {
public void deleteById(String id,String cut) {
checkData(id,cut);
removeById(id);
}
/*
* 判断是否可以删除
*/
@Override
public void checkData(String id, String cut) {
QueryWrapper<ProjectLawsInventoryEO> lawsInventoryQueryWrapper = new QueryWrapper<>();
lawsInventoryQueryWrapper.eq("project_library_id",id);
List<ProjectLawsInventoryEO> lawsInventoryRecords = projectLawsInventoryEOMapper.selectList(lawsInventoryQueryWrapper);
for(ProjectLawsInventoryEO projectLawsInventoryEO : lawsInventoryRecords){
String inventoryAffirmStatus = projectLawsInventoryEO.getInventoryAffirmStatus();//清单确认状态
//清单确认状态(未发起、接受、拒绝)
boolean inventoryAffirmFlag = (
org.apache.commons.lang3.StringUtils.equals(inventoryAffirmStatus,TaskAffirmStatusEnum.NOT_STARTED.getValue()) ||
org.apache.commons.lang3.StringUtils.equals(inventoryAffirmStatus,TaskAffirmStatusEnum.ACCEPTED.getValue()) ||
org.apache.commons.lang3.StringUtils.equals(inventoryAffirmStatus,TaskAffirmStatusEnum.REJECTED.getValue())
);
String taskAffirmStatus = projectLawsInventoryEO.getTaskAffirmStatus();//任务确认状态
//任务确认状态(未发起、接受、拒绝)
boolean taskAffirmFlag = (
org.apache.commons.lang3.StringUtils.equals(taskAffirmStatus,TaskAffirmStatusEnum.NOT_STARTED.getValue()) ||
org.apache.commons.lang3.StringUtils.equals(taskAffirmStatus,TaskAffirmStatusEnum.ACCEPTED.getValue()) ||
org.apache.commons.lang3.StringUtils.equals(taskAffirmStatus,TaskAffirmStatusEnum.REJECTED.getValue())
);
if (!(inventoryAffirmFlag && taskAffirmFlag)) {
if (CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("数据不能删除");
}else{
throw new JeroBootException("Data cannot be deleted.");
}
}
String lawsInventoryId = projectLawsInventoryEO.getId();
QueryWrapper<ProjectTaskInventoryEO> taskInventoryQueryWrapper = new QueryWrapper<>();
taskInventoryQueryWrapper.eq("project_laws_inventory_id",lawsInventoryId);
List<ProjectTaskInventoryEO> taskInventoryRecords = projectTaskInventoryEOMapper.selectList(taskInventoryQueryWrapper);
//设计、验证、prehomo流程(流程状态是空 或 审查完成)
for(ProjectTaskInventoryEO projectTaskInventoryEO : taskInventoryRecords){
String designStatus = projectTaskInventoryEO.getDesignStatus();
String verifyStatus = projectTaskInventoryEO.getVerifyStatus();
String prehomoStatus = projectTaskInventoryEO.getPrehomoStatus();
boolean designStatusFlag = StringUtils.isBlank(designStatus) || designStatus.equals(DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue());
boolean verifyStatusFlag = StringUtils.isBlank(verifyStatus) || verifyStatus.equals(DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue());
boolean prehomoStatusFlag = StringUtils.isBlank(prehomoStatus) || prehomoStatus.equals(DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue());
if (!(designStatusFlag && verifyStatusFlag && prehomoStatusFlag)) {
if (CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("数据不能删除");
}else{
throw new JeroBootException("Data cannot be deleted.");
}
}
}
}
}
/**
* 批量删除
*
@@ -157,7 +218,10 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
public void deleteByIds(List<String> ids,String cut) {
for(String id :ids){
checkData(id,cut);
}
removeByIds(ids);
}