From 49ccfe70b503d7e9757791e8c03874956e2daaf0 Mon Sep 17 00:00:00 2001 From: liuyaxin Date: Wed, 17 Jun 2026 09:14:50 +0800 Subject: [PATCH] =?UTF-8?q?zhaocaiapi=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/LauncherConstant.java | 4 +- .../src/main/resources/bootstrap.yml | 2 +- .../zhaocai/pojo/entity/ProcurementPlan.java | 32 ++-- .../pojo/entity/ProcurementPlanDetail.java | 62 +++++-- .../pojo/vo/ProcurementPlanDetailVO.java | 9 +- blade-service/blade-zhaocai/pom.xml | 4 + .../controller/ProcurementPlanController.java | 32 +++- .../mapper/ProcurementPlanDetailMapper.xml | 18 +- .../zhaocai/mapper/ProcurementPlanMapper.xml | 7 +- .../impl/ProcurementPlanServiceImpl.java | 166 ++++++++++++++++-- .../src/main/resources/application-dev.yml | 4 +- doc/nacos/blade-dev.yaml | 2 +- doc/sql/blade_zhaocai_mysql.sql | 98 +++++++++-- 13 files changed, 367 insertions(+), 73 deletions(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/LauncherConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/LauncherConstant.java index 3c470e7..cddd9ef 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/LauncherConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/LauncherConstant.java @@ -69,12 +69,12 @@ public interface LauncherConstant { /** * nacos prod 地址 */ - String NACOS_PROD_ADDR = "172.30.0.48:8848"; + String NACOS_PROD_ADDR = "127.0.0.1:8848"; /** * nacos test 地址 */ - String NACOS_TEST_ADDR = "172.19.2.126:30848"; + String NACOS_TEST_ADDR = "127.0.0.1:8848"; /** * sentinel dev 地址 diff --git a/blade-gateway/src/main/resources/bootstrap.yml b/blade-gateway/src/main/resources/bootstrap.yml index 15511b1..f6bbdec 100644 --- a/blade-gateway/src/main/resources/bootstrap.yml +++ b/blade-gateway/src/main/resources/bootstrap.yml @@ -6,7 +6,7 @@ spring: nacos: config: server-addr: 127.0.0.1:8848 - namespace: + namespace: public group: DEFAULT_GROUP username: nacos password: nacos diff --git a/blade-service-api/blade-zhaocai-api/src/main/java/org/springblade/zhaocai/pojo/entity/ProcurementPlan.java b/blade-service-api/blade-zhaocai-api/src/main/java/org/springblade/zhaocai/pojo/entity/ProcurementPlan.java index 7731046..4c5ceaa 100644 --- a/blade-service-api/blade-zhaocai-api/src/main/java/org/springblade/zhaocai/pojo/entity/ProcurementPlan.java +++ b/blade-service-api/blade-zhaocai-api/src/main/java/org/springblade/zhaocai/pojo/entity/ProcurementPlan.java @@ -29,21 +29,21 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; -import org.springblade.core.mp.base.BaseEntity; +import org.springblade.core.tenant.mp.TenantEntity; import java.io.Serial; import java.math.BigDecimal; import java.time.LocalDateTime; /** - * 招采计划实体类 + * 年度招采计划实体类 * * @author Chill */ @Data -@TableName("blade_procurement_plan") +@TableName("zc_procurement_plan") @EqualsAndHashCode(callSuper = true) -public class ProcurementPlan extends BaseEntity { +public class ProcurementPlan extends TenantEntity { @Serial private static final long serialVersionUID = 1L; @@ -85,21 +85,21 @@ public class ProcurementPlan extends BaseEntity { private String year; /** - * 所属部门 + * 需求部门 */ - @Schema(description = "所属部门") + @Schema(description = "需求部门") private String dept; /** - * 申请信息中的所属公司 + * 需求公司 */ - @Schema(description = "申请所属公司") + @Schema(description = "需求公司") private String applyCompany; /** - * 预估总金额(万元) + * 年度预估总金额(万元) */ - @Schema(description = "预估总金额(万元)") + @Schema(description = "年度预估总金额(万元)") private BigDecimal estimatedAmount; /** @@ -114,4 +114,16 @@ public class ProcurementPlan extends BaseEntity { @Schema(description = "备注") private String remark; + /** + * 流程当前节点 + */ + @Schema(description = "流程当前节点") + private String flowStatus; + + /** + * 流程实例ID + */ + @Schema(description = "流程实例ID") + private String processInstanceId; + } diff --git a/blade-service-api/blade-zhaocai-api/src/main/java/org/springblade/zhaocai/pojo/entity/ProcurementPlanDetail.java b/blade-service-api/blade-zhaocai-api/src/main/java/org/springblade/zhaocai/pojo/entity/ProcurementPlanDetail.java index 1486d89..0bbff9f 100644 --- a/blade-service-api/blade-zhaocai-api/src/main/java/org/springblade/zhaocai/pojo/entity/ProcurementPlanDetail.java +++ b/blade-service-api/blade-zhaocai-api/src/main/java/org/springblade/zhaocai/pojo/entity/ProcurementPlanDetail.java @@ -31,20 +31,21 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; -import org.springblade.core.mp.base.BaseEntity; +import org.springblade.core.tenant.mp.TenantEntity; import java.io.Serial; +import java.math.BigDecimal; import java.time.LocalDate; /** - * 招采计划明细实体类 + * 年度招采计划项目明细实体类 * * @author Chill */ @Data -@TableName("blade_procurement_plan_detail") +@TableName("zc_procurement_plan_project") @EqualsAndHashCode(callSuper = true) -public class ProcurementPlanDetail extends BaseEntity { +public class ProcurementPlanDetail extends TenantEntity { @Serial private static final long serialVersionUID = 1L; @@ -63,16 +64,10 @@ public class ProcurementPlanDetail extends BaseEntity { private String year; /** - * 计划 + * 计划号 */ - @Schema(description = "计划") - private String plan; - - /** - * 计划类型 - */ - @Schema(description = "计划类型") - private String planType; + @Schema(description = "计划号") + private String planNo; /** * 序号 @@ -98,6 +93,13 @@ public class ProcurementPlanDetail extends BaseEntity { @Schema(description = "项目对接人") private String contactPerson; + /** + * 项目对接人ID + */ + @JsonSerialize(using = ToStringSerializer.class) + @Schema(description = "项目对接人ID") + private Long contactPersonId; + /** * 计划申请日期 */ @@ -117,9 +119,39 @@ public class ProcurementPlanDetail extends BaseEntity { private String projectAttr; /** - * 采购物料明细 + * 采购需求 */ - @Schema(description = "采购物料明细") + @Schema(description = "采购需求") + private String purchaseRequirement; + + /** + * 预算金额(万元) + */ + @Schema(description = "预算金额(万元)") + private BigDecimal budgetAmount; + + /** + * 招标方式 + */ + @Schema(description = "招标方式") + private String biddingMethod; + + /** + * 项目简介 + */ + @Schema(description = "项目简介") + private String projectIntro; + + /** + * 备注 + */ + @Schema(description = "备注") + private String remark; + + /** + * 物料明细冗余汇总 + */ + @Schema(description = "物料明细冗余汇总") private String materialDetail; } diff --git a/blade-service-api/blade-zhaocai-api/src/main/java/org/springblade/zhaocai/pojo/vo/ProcurementPlanDetailVO.java b/blade-service-api/blade-zhaocai-api/src/main/java/org/springblade/zhaocai/pojo/vo/ProcurementPlanDetailVO.java index dcc8070..5b1dffe 100644 --- a/blade-service-api/blade-zhaocai-api/src/main/java/org/springblade/zhaocai/pojo/vo/ProcurementPlanDetailVO.java +++ b/blade-service-api/blade-zhaocai-api/src/main/java/org/springblade/zhaocai/pojo/vo/ProcurementPlanDetailVO.java @@ -31,9 +31,10 @@ import lombok.EqualsAndHashCode; import org.springblade.zhaocai.pojo.entity.ProcurementPlanDetail; import java.io.Serial; +import java.util.List; /** - * 招采计划明细视图对象 + * 年度招采计划项目明细视图对象 * * @author Chill */ @@ -44,4 +45,10 @@ public class ProcurementPlanDetailVO extends ProcurementPlanDetail { @Serial private static final long serialVersionUID = 1L; + /** + * 物料明细列表 + */ + @Schema(description = "物料明细列表") + private List materialList; + } diff --git a/blade-service/blade-zhaocai/pom.xml b/blade-service/blade-zhaocai/pom.xml index e207177..7245bbf 100644 --- a/blade-service/blade-zhaocai/pom.xml +++ b/blade-service/blade-zhaocai/pom.xml @@ -48,6 +48,10 @@ blade-core-auto provided + + org.springblade + blade-core-tool + diff --git a/blade-service/blade-zhaocai/src/main/java/org/springblade/zhaocai/controller/ProcurementPlanController.java b/blade-service/blade-zhaocai/src/main/java/org/springblade/zhaocai/controller/ProcurementPlanController.java index 395b756..9464fe8 100644 --- a/blade-service/blade-zhaocai/src/main/java/org/springblade/zhaocai/controller/ProcurementPlanController.java +++ b/blade-service/blade-zhaocai/src/main/java/org/springblade/zhaocai/controller/ProcurementPlanController.java @@ -37,33 +37,49 @@ import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; +import org.springblade.core.secure.annotation.PreAuth; +import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.zhaocai.pojo.entity.ProcurementPlan; import org.springblade.zhaocai.pojo.vo.ProcurementPlanVO; +import org.springblade.zhaocai.service.IBillCodeService; import org.springblade.zhaocai.service.IProcurementPlanService; import org.springframework.web.bind.annotation.*; import java.util.Map; /** - * 招采计划控制器 + * 年度招采计划控制器 * * @author Chill */ +@NonDS @RestController @RequestMapping("procurement-plan") @AllArgsConstructor -@Tag(name = "招采计划", description = "招采计划接口") +@PreAuth(menu = "procurement-plan") +@Tag(name = "年度招采计划", description = "年度招采计划接口") public class ProcurementPlanController extends BladeController { private final IProcurementPlanService procurementPlanService; + private final IBillCodeService billCodeService; + + /** + * 生成单据号 + */ + @GetMapping("/bill-no") + @ApiOperationSupport(order = 1) + @Operation(summary = "生成单据号", description = "生成唯一单据号") + public R generateBillNo() { + return R.data(billCodeService.generateBillCode("PROCUREMENT_PLAN")); + } /** * 详情(含明细) */ @GetMapping("/detail") - @ApiOperationSupport(order = 1) + @ApiOperationSupport(order = 2) @Operation(summary = "详情", description = "传入id") public R detail(@Parameter(name = "id", description = "主键", in = ParameterIn.QUERY, schema = @Schema(type = "integer")) @RequestParam Long id) { ProcurementPlanVO detail = procurementPlanService.detail(id); @@ -79,7 +95,7 @@ public class ProcurementPlanController extends BladeController { @Parameter(name = "billNo", description = "单据号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), @Parameter(name = "year", description = "年度", in = ParameterIn.QUERY, schema = @Schema(type = "string")) }) - @ApiOperationSupport(order = 2) + @ApiOperationSupport(order = 3) @Operation(summary = "分页", description = "传入procurementPlan") public R> list(@Parameter(hidden = true) @RequestParam Map procurementPlan, Query query) { IPage pages = procurementPlanService.page(Condition.getPage(query), Condition.getQueryWrapper(procurementPlan, ProcurementPlan.class)); @@ -90,7 +106,7 @@ public class ProcurementPlanController extends BladeController { * 新增 */ @PostMapping("/save") - @ApiOperationSupport(order = 3) + @ApiOperationSupport(order = 4) @Operation(summary = "新增", description = "传入procurementPlan") public R save(@RequestBody ProcurementPlanVO procurementPlanVO) { return R.status(procurementPlanService.submit(procurementPlanVO)); @@ -100,7 +116,7 @@ public class ProcurementPlanController extends BladeController { * 修改 */ @PostMapping("/update") - @ApiOperationSupport(order = 4) + @ApiOperationSupport(order = 5) @Operation(summary = "修改", description = "传入procurementPlan") public R update(@RequestBody ProcurementPlanVO procurementPlanVO) { return R.status(procurementPlanService.submit(procurementPlanVO)); @@ -110,7 +126,7 @@ public class ProcurementPlanController extends BladeController { * 新增或修改 */ @PostMapping("/submit") - @ApiOperationSupport(order = 5) + @ApiOperationSupport(order = 6) @Operation(summary = "新增或修改", description = "传入procurementPlan") public R submit(@RequestBody ProcurementPlanVO procurementPlanVO) { return R.status(procurementPlanService.submit(procurementPlanVO)); @@ -120,7 +136,7 @@ public class ProcurementPlanController extends BladeController { * 删除 */ @PostMapping("/remove") - @ApiOperationSupport(order = 6) + @ApiOperationSupport(order = 7) @Operation(summary = "逻辑删除", description = "传入ids") public R remove(@Parameter(name = "ids", description = "主键集合", in = ParameterIn.QUERY, schema = @Schema(type = "string")) @RequestParam String ids) { boolean temp = procurementPlanService.deleteLogic(Func.toLongList(ids)); diff --git a/blade-service/blade-zhaocai/src/main/java/org/springblade/zhaocai/mapper/ProcurementPlanDetailMapper.xml b/blade-service/blade-zhaocai/src/main/java/org/springblade/zhaocai/mapper/ProcurementPlanDetailMapper.xml index 42da3ca..89c0419 100644 --- a/blade-service/blade-zhaocai/src/main/java/org/springblade/zhaocai/mapper/ProcurementPlanDetailMapper.xml +++ b/blade-service/blade-zhaocai/src/main/java/org/springblade/zhaocai/mapper/ProcurementPlanDetailMapper.xml @@ -14,15 +14,20 @@ - - + + + + + + + @@ -30,20 +35,21 @@ select id, tenant_id, create_user, create_time, update_user, update_time, status, is_deleted, - plan_id, year, plan, plan_type, sort_no, project_name, project_type, contact_person, - apply_date, expect_date, project_attr, material_detail + plan_id, year, plan_no, sort_no, project_name, project_type, contact_person, contact_person_id, + apply_date, expect_date, project_attr, purchase_requirement, budget_amount, bidding_method, + project_intro, remark, material_detail - delete from blade_procurement_plan_detail where plan_id = #{planId} + delete from zc_procurement_plan_project where plan_id = #{planId} diff --git a/blade-service/blade-zhaocai/src/main/java/org/springblade/zhaocai/mapper/ProcurementPlanMapper.xml b/blade-service/blade-zhaocai/src/main/java/org/springblade/zhaocai/mapper/ProcurementPlanMapper.xml index 921f109..25357fe 100644 --- a/blade-service/blade-zhaocai/src/main/java/org/springblade/zhaocai/mapper/ProcurementPlanMapper.xml +++ b/blade-service/blade-zhaocai/src/main/java/org/springblade/zhaocai/mapper/ProcurementPlanMapper.xml @@ -24,18 +24,21 @@ + + select id, tenant_id, create_user, create_dept, create_time, update_user, update_time, status, is_deleted, - applicant, apply_time, phone, company, bill_no, year, dept, apply_company, estimated_amount, amount_upper, remark + applicant, apply_time, phone, company, bill_no, year, dept, apply_company, estimated_amount, amount_upper, + remark, flow_status, process_instance_id