fix: 重写预算编辑接口

This commit is contained in:
han0
2024-11-11 17:10:23 +08:00
parent 5361de770b
commit 007376fbf9
4 changed files with 84 additions and 84 deletions

View File

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

View File

@@ -84,6 +84,8 @@ public class Budget extends Model<Budget> {
// @ApiModelProperty("月份") // @ApiModelProperty("月份")
// @TableField(value="`MONTHS`", typeHandler = FastjsonArrayHandler.class) // @TableField(value="`MONTHS`", typeHandler = FastjsonArrayHandler.class)
// private List months; // private List months;
@TableField(exist = false)
private List<BudgetItem> items;
@Override @Override
public Serializable pkVal() { public Serializable pkVal() {

View File

@@ -33,6 +33,4 @@ public class LoginTest {
var result = authService.doLogin(param, SaClientTypeEnum.B.getValue()); var result = authService.doLogin(param, SaClientTypeEnum.B.getValue());
System.out.println(result); System.out.println(result);
} }
} }

View File

@@ -13,6 +13,9 @@ import javax.annotation.Resource;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.net.URLConnection;
import java.nio.file.Files;
import java.nio.file.Path;
@SpringBootTest(classes = Application.class) @SpringBootTest(classes = Application.class)
@RunWith(SpringJUnit4ClassRunner.class) @RunWith(SpringJUnit4ClassRunner.class)
@@ -25,7 +28,8 @@ public class UploadFileTest {
// var filePath = "C:\\Users\\Administrator\\Desktop\\材料管理系统模版\\历史数据\\地材-202405.xlsx"; // var filePath = "C:\\Users\\Administrator\\Desktop\\材料管理系统模版\\历史数据\\地材-202405.xlsx";
var filePath = "C:\\Users\\Administrator\\Documents\\工作表 在 9月完成功能.xlsx"; var filePath = "C:\\Users\\Administrator\\Documents\\工作表 在 9月完成功能.xlsx";
var file = new File(filePath); var file = new File(filePath);
var multipartFile = this.mockMultipartFile(file, "相邻城市价格.xlsx", "application/x-zip-compressed"); // var multipartFile = this.mockMultipartFile(file, "相邻城市价格.xlsx", "application/x-zip-compressed");
var multipartFile = this.mockMultipartFile(file);
var fileId = devFileService.uploadReturnId(DevFileEngineTypeEnum.LOCAL.getValue(), multipartFile); var fileId = devFileService.uploadReturnId(DevFileEngineTypeEnum.LOCAL.getValue(), multipartFile);
System.out.println("UploadFileTest.test | fileId " + fileId); System.out.println("UploadFileTest.test | fileId " + fileId);
} }
@@ -40,7 +44,9 @@ public class UploadFileTest {
* 1838851336371163138 相邻城市.xlsx 600 * 1838851336371163138 相邻城市.xlsx 600
*/ */
private MultipartFile mockMultipartFile(File file, String fileName, String contentType) { private MultipartFile mockMultipartFile(File file) throws IOException {
var fileName = file.getName();
var contentType = Files.probeContentType(Path.of(file.getPath()));
try { try {
// 使用文件内容和文件名创建MockMultipartFile // 使用文件内容和文件名创建MockMultipartFile
MockMultipartFile mockMultipartFile = new MockMultipartFile( MockMultipartFile mockMultipartFile = new MockMultipartFile(
@@ -55,4 +61,5 @@ public class UploadFileTest {
} }
return null; return null;
} }
} }