8-6 取消预算单同步删除数据库的使用记录,并撤回预算消费,创建项目时自动计算总预算

This commit is contained in:
郝彬 2025-08-06 14:30:30 +08:00
parent 0548238a18
commit dbbd3922f9
5 changed files with 58 additions and 1 deletions

View File

@ -275,7 +275,12 @@ public class ConvertsImpl implements Converts {
projectEntity.setEndDate( req.getEndDate() );
projectEntity.setProjectOrigin( req.getProjectOrigin() );
projectEntity.setProjectBudget( req.getProjectBudget() );
double budget = req.getLaborCost()
+ req.getBonusProvision()
+ req.getTransAccomMeals()
+ req.getOthersCost()
+ req.getEquipmentAmortization();
projectEntity.setProjectBudget((int) budget);
return projectEntity;
}

View File

@ -113,4 +113,19 @@ public class ProjectReq implements Serializable {
@ApiModelProperty(value = "结束时间")
private LocalDate endDate;
@ApiModelProperty("人工成本")
private Double laborCost;
@ApiModelProperty("设备摊销")
private Double equipmentAmortization;
@ApiModelProperty("奖金预提")
private Double bonusProvision;
@ApiModelProperty("交通食宿")
private Double transAccomMeals;
@ApiModelProperty("其他杂费")
private Double othersCost;
}

View File

@ -22,5 +22,7 @@ public interface ProjectBudgetInfoService extends IService<ProjectBudgetInfoEnti
void saveData(ProjectBudgetInfoImportReq req, MultipartFile[] files);
ProjectBudgetInfoDetailResp detailByProjectId(String projectId);
void delete(String budgetId);
}

View File

@ -92,4 +92,32 @@ public class ProjectBudgetInfoServiceImpl extends ServiceImpl<ProjectBudgetInfoM
resp.setRestBudget(resp.getProjectBudget() - resp.getUseLaborCost() - resp.getUseEquipmentAmortization() - resp.getUseBonusProvision() - resp.getUseTransAccomMeals() - resp.getUseOthersCost());
return resp;
}
@Override
public void delete(String budgetId) {
ProjectBudgetInfoEntity entity = this.baseMapper.selectById(budgetId);
ProjectEntity projectEntity = projectService.getById(entity.getProjectId());
switch (entity.getBudgetName()) {
case "人工成本":
projectEntity.setUseLaborCost(projectEntity.getUseLaborCost() - entity.getBudgetAmount());
break;
case "设备摊销":
projectEntity.setUseEquipmentAmortization(projectEntity.getUseEquipmentAmortization() - entity.getBudgetAmount());
break;
case "奖金预提":
projectEntity.setUseBonusProvision(projectEntity.getUseBonusProvision() - entity.getBudgetAmount());
break;
case "交通食宿":
projectEntity.setUseTransAccomMeals(projectEntity.getUseTransAccomMeals() - entity.getBudgetAmount());
break;
case "其他杂费":
projectEntity.setUseOthersCost(projectEntity.getUseOthersCost() - entity.getBudgetAmount());
break;
default:
break;
}
projectService.updateById(projectEntity);
this.baseMapper.deleteById(budgetId);
// 删除附件
}
}

View File

@ -47,5 +47,12 @@ public class ProjectBudgetInfoController {
public Result<ProjectBudgetInfoDetailResp> detail(@PathVariable String projectId) {
return Result.ok(projectBudgetInfoService.detailByProjectId(projectId));
}
@ApiOperation(value = "删除项目预算信息", httpMethod = "DELETE")
@DeleteMapping("/{budgetId}")
public Result<Void> delete(@PathVariable String budgetId) {
projectBudgetInfoService.delete(budgetId);
return Result.ok();
}
}