fix: 重写预算编辑接口
This commit is contained in:
@@ -65,85 +65,79 @@ public class BudgetController {
|
||||
return FuHttpResponse.Builder().dataResponse(budget).build();
|
||||
}
|
||||
|
||||
// @ApiOperation("查询预算")
|
||||
// @GetMapping("/")
|
||||
// public HttpResponse list (
|
||||
// @ApiParam(value = "每页数量") @RequestParam(name = "size", required = false, defaultValue = "10") Integer size,
|
||||
// @ApiParam(value = "页码") @RequestParam(name = "current", required = false, defaultValue = "1") Integer current,
|
||||
// @ApiParam(value = "名称") @RequestParam(value="name", required = false) String name
|
||||
// ) throws Exception {
|
||||
// var query = new LambdaQueryWrapper<Budget>();
|
||||
// if (!ObjectUtils.isEmpty(name)) {
|
||||
// query.like(Budget::getName, name);
|
||||
// }
|
||||
// var result = budgetService.page(new Page<>(current, size), query);
|
||||
// return FuHttpResponse.Builder().dataResponse(result).build();
|
||||
// }
|
||||
//
|
||||
// @ApiOperation("删除预算")
|
||||
// @CommonLog("删除预算")
|
||||
// @DeleteMapping("/")
|
||||
// public HttpResponse delete (
|
||||
// @ApiParam(value = "id列表:1,2,3") @RequestParam(value="ids") String ids
|
||||
// ) throws Exception {
|
||||
// var idList = Arrays.asList(ids.split(","));
|
||||
// var query = new LambdaQueryWrapper<Budget>();
|
||||
// query.in(Budget::getId, idList);
|
||||
// budgetService.remove(query);
|
||||
// return FuHttpResponse.Builder().dataResponse().build();
|
||||
// }
|
||||
//
|
||||
// @ApiOperation("预算详情")
|
||||
// @GetMapping("/{id}")
|
||||
// public HttpResponse detail (
|
||||
// @ApiParam(value = "id") @PathVariable("id") Integer id
|
||||
// ) throws Exception {
|
||||
// var budget = budgetService.getById(id);
|
||||
// if (budget == null) {
|
||||
// throw new NcHttpException(HttpErrorResponseEnum.BUDGET_NOT_FOUND);
|
||||
// }
|
||||
//
|
||||
// var query = new LambdaQueryWrapper<BudgetItem>();
|
||||
// query.eq(BudgetItem::getBudgetId, id);
|
||||
// var list = budgetItemService.list(query);
|
||||
//
|
||||
// var result = new BudgetDetail(budget, list);
|
||||
// return FuHttpResponse.Builder().dataResponse(result).build();
|
||||
// }
|
||||
//
|
||||
// @ApiOperation("预算编辑")
|
||||
// @CommonLog("预算编辑")
|
||||
// @PutMapping("/{id}")
|
||||
// public HttpResponse edit (
|
||||
// @ApiParam("id") @PathVariable String id,
|
||||
// @ApiParam("参数") @RequestBody BudgetCreateRequest params
|
||||
// ) throws Exception {
|
||||
// params.check();
|
||||
// var user = StpLoginUserUtil.getLoginUser();
|
||||
//
|
||||
// var budget = budgetService.getById(id);
|
||||
// if (budget == null) {
|
||||
// throw new NcHttpException(HttpErrorResponseEnum.BUDGET_NOT_FOUND);
|
||||
// }
|
||||
//
|
||||
// // 查询各月份材料价格
|
||||
// LambdaQueryWrapper<PricePublish> query = pricePublishService.getQuery(params);
|
||||
// // 转换查询结果为键值对 材料id,月份 => 价格
|
||||
// var priceMap = pricePublishService.getPriceMapEntryByMaterialIdAndMonth(query);
|
||||
// // 各月份求和
|
||||
// var totalMap = params.getTotalMap(priceMap);
|
||||
// var budgetItemList = params.getBudgetItemList(priceMap);
|
||||
// // 入库
|
||||
// budget.update(params, user, totalMap);
|
||||
// budgetService.updateById(budget);
|
||||
// budgetItemService.remove(new LambdaQueryWrapper<BudgetItem>().eq(BudgetItem::getBudgetId, id));
|
||||
// for (var budgetItem: budgetItemList) {
|
||||
// budgetItem.setBudgetId(budget.getId());
|
||||
// budgetItemService.save(budgetItem);
|
||||
// }
|
||||
//
|
||||
// return FuHttpResponse.Builder().dataResponse(budgetItemList).build();
|
||||
// }
|
||||
@ApiOperation("查询预算")
|
||||
@GetMapping("/")
|
||||
public HttpResponse<Page<Budget>> list (
|
||||
@ApiParam(value = "每页数量") @RequestParam(name = "size", required = false, defaultValue = "10") Integer size,
|
||||
@ApiParam(value = "页码") @RequestParam(name = "current", required = false, defaultValue = "1") Integer current,
|
||||
@ApiParam(value = "名称") @RequestParam(value="name", required = false) String name
|
||||
) throws Exception {
|
||||
var query = new LambdaQueryWrapper<Budget>();
|
||||
if (!ObjectUtils.isEmpty(name)) {
|
||||
query.like(Budget::getName, name);
|
||||
}
|
||||
var result = budgetService.page(new Page<>(current, size), query);
|
||||
return FuHttpResponse.Builder().dataResponse(result).build();
|
||||
}
|
||||
|
||||
@ApiOperation("删除预算")
|
||||
@CommonLog("删除预算")
|
||||
@DeleteMapping("/")
|
||||
public HttpResponse delete (
|
||||
@ApiParam(value = "id列表:1,2,3") @RequestParam(value="ids") String ids
|
||||
) throws Exception {
|
||||
var idList = Arrays.asList(ids.split(","));
|
||||
var query = new LambdaQueryWrapper<Budget>();
|
||||
query.in(Budget::getId, idList);
|
||||
budgetService.remove(query);
|
||||
return FuHttpResponse.Builder().dataResponse().build();
|
||||
}
|
||||
|
||||
@ApiOperation("预算详情")
|
||||
@GetMapping("/{id}")
|
||||
public HttpResponse<Budget> detail (
|
||||
@ApiParam(value = "id") @PathVariable("id") Integer id
|
||||
) throws Exception {
|
||||
var budget = budgetService.getById(id);
|
||||
if (budget == null) {
|
||||
throw new NcHttpException(HttpErrorResponseEnum.BUDGET_NOT_FOUND);
|
||||
}
|
||||
|
||||
var query = new LambdaQueryWrapper<BudgetItem>();
|
||||
query.eq(BudgetItem::getBudgetId, id);
|
||||
var list = budgetItemService.list(query);
|
||||
|
||||
budget.setItems(list);
|
||||
|
||||
return FuHttpResponse.Builder().dataResponse(budget).build();
|
||||
}
|
||||
|
||||
@ApiOperation("预算编辑")
|
||||
@CommonLog("预算编辑")
|
||||
@PutMapping("/{id}")
|
||||
public HttpResponse edit (
|
||||
@ApiParam("id") @PathVariable String id,
|
||||
@ApiParam("参数") @RequestBody BudgetCreateRequest params
|
||||
) throws Exception {
|
||||
params.check();
|
||||
var user = StpLoginUserUtil.getLoginUser();
|
||||
|
||||
var budget = budgetService.getById(id);
|
||||
if (budget == null) {
|
||||
throw new NcHttpException(HttpErrorResponseEnum.BUDGET_NOT_FOUND);
|
||||
}
|
||||
|
||||
// 入库
|
||||
budget.update(params, user);
|
||||
budgetService.updateById(budget);
|
||||
budgetItemService.remove(new LambdaQueryWrapper<BudgetItem>().eq(BudgetItem::getBudgetId, id));
|
||||
for (var item: params.getItems()) {
|
||||
var budgetItem = new BudgetItem(budget.getId(), item);
|
||||
budgetItemService.save(budgetItem);
|
||||
}
|
||||
|
||||
return FuHttpResponse.Builder().dataResponse(budget).build();
|
||||
}
|
||||
|
||||
// todo-1 地图里程数据
|
||||
// todo-2 外省数据上传
|
||||
@@ -152,5 +146,4 @@ public class BudgetController {
|
||||
|
||||
// * 大件运输部署测试
|
||||
// * 材料管理系统-里程计算
|
||||
// * 证据管理系统-部署
|
||||
}
|
||||
|
||||
@@ -84,6 +84,8 @@ public class Budget extends Model<Budget> {
|
||||
// @ApiModelProperty("月份")
|
||||
// @TableField(value="`MONTHS`", typeHandler = FastjsonArrayHandler.class)
|
||||
// private List months;
|
||||
@TableField(exist = false)
|
||||
private List<BudgetItem> items;
|
||||
|
||||
@Override
|
||||
public Serializable pkVal() {
|
||||
|
||||
Reference in New Issue
Block a user