项目库加删除校验

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删除") @AutoLog(value = "项目库基础表-通过id删除")
@ApiOperation(value="项目库基础表-通过id删除", notes="项目库基础表-通过id删除") @ApiOperation(value="项目库基础表-通过id删除", notes="项目库基础表-通过id删除")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) { public Result<?> delete(@RequestParam(name="id",required=true) String id,
projectLibraryBaseService.deleteById(id); @RequestParam(name="cut",required=true) String cut) {
projectLibraryBaseService.deleteById(id,cut);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
@@ -113,8 +114,9 @@ public class ProjectLibraryBaseController extends JeroController<ProjectLibraryB
@AutoLog(value = "项目库基础表-批量删除") @AutoLog(value = "项目库基础表-批量删除")
@ApiOperation(value="项目库基础表-批量删除", notes="项目库基础表-批量删除") @ApiOperation(value="项目库基础表-批量删除", notes="项目库基础表-批量删除")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) { public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids,
this.projectLibraryBaseService.deleteByIds(Arrays.asList(ids.split(","))); @RequestParam(name="cut",required=true) String cut) {
this.projectLibraryBaseService.deleteByIds(Arrays.asList(ids.split(",")),cut);
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }
@@ -40,7 +40,7 @@ public interface IProjectLibraryBaseService extends IService<ProjectLibraryBase>
* @param id * @param id
* @return * @return
*/ */
void deleteById(String id); void deleteById(String id, String cut);
/** /**
* 批量删除 * 批量删除
@@ -48,7 +48,7 @@ public interface IProjectLibraryBaseService extends IService<ProjectLibraryBase>
* @param ids * @param ids
* @return * @return
*/ */
void deleteByIds(List<String> ids); void deleteByIds(List<String> ids,String cut);
/** /**
* 通过id查询 * 通过id查询
@@ -87,4 +87,6 @@ public interface IProjectLibraryBaseService extends IService<ProjectLibraryBase>
Map<String, Object> getProjectDetailsStatisticsGroupByTerritory(Map<String, Object> params); Map<String, Object> getProjectDetailsStatisticsGroupByTerritory(Map<String, Object> params);
void exportProjectDetailsStatisticsGroupByTerritoryXls(HttpServletResponse response, HttpServletRequest request, 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<ProjectLibraryBase> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("project_name_id",projectNameId) queryWrapper.eq("project_name_id",projectNameId)
.eq("year_name_id",yearNameId) .eq("year_name_id",yearNameId)
.eq("target_market",targetMarket) .eq("target_market",targetMarket);
.ne("id",projectLibraryBase.getId()); if(StringUtils.isNotBlank(projectLibraryBase.getId())){
queryWrapper.ne("id",projectLibraryBase.getId());
}
Integer count = projectLibraryBaseMapper.selectCount(queryWrapper); Integer count = projectLibraryBaseMapper.selectCount(queryWrapper);
if (count > 0) { if (count > 0) {
if(CutEnum.CN.getValue().equals(projectLibraryBase.getCut())) { if(CutEnum.CN.getValue().equals(projectLibraryBase.getCut())) {
@@ -146,10 +148,69 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
* @return * @return
*/ */
@Override @Override
public void deleteById(String id) { public void deleteById(String id,String cut) {
checkData(id,cut);
removeById(id); 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 * @return
*/ */
@Override @Override
public void deleteByIds(List<String> ids) { public void deleteByIds(List<String> ids,String cut) {
for(String id :ids){
checkData(id,cut);
}
removeByIds(ids); removeByIds(ids);
} }