diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpBudgetInfoController.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpBudgetInfoController.java index ba4c315a..6a94e7e6 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpBudgetInfoController.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpBudgetInfoController.java @@ -130,7 +130,7 @@ public class ErpBudgetInfoController extends BaseController { @SaCheckPermission("oa:erp/budgetInfo:list") @GetMapping("/listProjectInfo") public TableDataInfo listProjectInfo(ErpProjectInfoBo bo, PageQuery pageQuery) { - return erpProjectInfoService.queryPageList(bo, pageQuery); + return erpProjectInfoService.queryPageList4Select(bo, pageQuery); } /** diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetInfo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetInfo.java index e2dadefb..80be3a8d 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetInfo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetInfo.java @@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode; import java.io.Serial; import java.math.BigDecimal; +import java.util.List; /** * 项目预算对象 erp_budget_info @@ -165,4 +166,100 @@ public class ErpBudgetInfo extends TenantEntity { private String delFlag; + @TableField(exist = false) + private List erpBudgetDetailList; + + @TableField(exist = false) + private List erpBudgetMaterialCostList; + + @TableField(exist = false) + private List erpBudgetLaborCostList; + + @TableField(exist = false) + private List erpBudgetInstallCostList; + + @TableField(exist = false) + private List erpBudgetTravelCostList; + + @TableField(exist = false) + private List erpBudgetOtherCostList; + + @TableField(exist = false) + private List toDeletedMaterialCostIdList; + + @TableField(exist = false) + private List toDeletedLaborCostIdList; + + @TableField(exist = false) + private List toDeletedInstallCostIdList; + + @TableField(exist = false) + private List toDeletedTravelCostIdList; + + @TableField(exist = false) + private List toDeletedOtherCostIdList; + + + @TableField(exist = false) + private List erpRdBudgetEquipmentCostList; + + @TableField(exist = false) + private List erpRdBudgetMaterialCostList; + + @TableField(exist = false) + private List erpRdBudgetTravelCostList; + + @TableField(exist = false) + private List erpRdBudgetMeetingCostList; + + @TableField(exist = false) + private List erpRdBudgetExchangeCostList; + + @TableField(exist = false) + private List erpRdBudgetTechCostList; + + @TableField(exist = false) + private List erpRdBudgetLaborCostList; + + @TableField(exist = false) + private List erpRdBudgetLiteratureCostList; + + @TableField(exist = false) + private List erpRdBudgetTestingCostList; + + @TableField(exist = false) + private List erpRdBudgetOtherCostList; + + + @TableField(exist = false) + private List toDeletedRdEquipmentCostIdList; + + @TableField(exist = false) + private List toDeletedRdMaterialCostIdList; + + @TableField(exist = false) + private List toDeletedRdTravelCostIdList; + + @TableField(exist = false) + private List toDeletedRdMeetingCostIdList; + + @TableField(exist = false) + private List toDeletedRdExchangeCostIdList; + + @TableField(exist = false) + private List toDeletedRdTechCostIdList; + + @TableField(exist = false) + private List toDeletedRdLaborCostIdList; + + @TableField(exist = false) + private List toDeletedRdLiteratureCostIdList; + + @TableField(exist = false) + private List toDeletedRdTestingCostIdList; + + @TableField(exist = false) + private List toDeletedRdOtherCostIdList; + + } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetInstallCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetInstallCost.java index 6cadc324..985bdb90 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetInstallCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetInstallCost.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 预算安装费对象 erp_budget_install_cost @@ -50,22 +51,28 @@ public class ErpBudgetInstallCost extends TenantEntity { /** * 累计时间(月) */ - private Long cumulativeTime; + private BigDecimal cumulativeTime; /** * 月平均投入比例(%) */ - private Long monthRate; + private BigDecimal monthRate; /** * 人工标准(元/人月) */ - private Long artificialStandard; + private BigDecimal artificialStandard; /** * 金额(元) */ - private Long price; + private BigDecimal price; + + /** + * 降成本人员类别 + */ + private String reducePersonnelCategory; + /** * 降成本人数 @@ -75,22 +82,22 @@ public class ErpBudgetInstallCost extends TenantEntity { /** * 降成本累计时间(月) */ - private Long reduceCumulativeTime; + private BigDecimal reduceCumulativeTime; /** * 降成本月平均投入比例(%) */ - private Long reduceMonthRate; + private BigDecimal reduceMonthRate; /** * 降成本人工标准(元/人月) */ - private Long reduceArtificialStandard; + private BigDecimal reduceArtificialStandard; /** * 降成本降成本金额(元) */ - private Long reducePrice; + private BigDecimal reducePrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetLaborCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetLaborCost.java index 8bd71e46..fbc1c1a5 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetLaborCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetLaborCost.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 预算人工费对象 erp_budget_labor_cost @@ -50,22 +51,22 @@ public class ErpBudgetLaborCost extends TenantEntity { /** * 累计时间(月) */ - private Long cumulativeTime; + private BigDecimal cumulativeTime; /** * 月平均投入比例(%),乘以100保存 */ - private Long monthRate; + private BigDecimal monthRate; /** * 人工标准(元/人月) */ - private Long artificialStandard; + private BigDecimal artificialStandard; /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 降成本人员类别,关联sys_dict_data的dict_value @@ -80,22 +81,22 @@ public class ErpBudgetLaborCost extends TenantEntity { /** * 降成本累计时间(月) */ - private Long reduceCumulativeTime; + private BigDecimal reduceCumulativeTime; /** * 降成本月平均投入比例(%) */ - private Long reduceMonthRate; + private BigDecimal reduceMonthRate; /** * 降成本人工标准(元/人月) */ - private Long reduceArtificialStandard; + private BigDecimal reduceArtificialStandard; /** * 降成本金额(元) */ - private Long reducePrice; + private BigDecimal reducePrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetMaterialCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetMaterialCost.java index 44c0f4ec..bc126f5a 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetMaterialCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetMaterialCost.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 预算材料费对象 erp_budget_material_cost @@ -70,32 +71,32 @@ public class ErpBudgetMaterialCost extends TenantEntity { /** * 单价(元) */ - private Long unitPrice; + private BigDecimal unitPrice; /** * 购置数量 */ - private Long amount; + private BigDecimal amount; /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 降成本单价(元) */ - private Long reduceUnitPrice; + private BigDecimal reduceUnitPrice; /** * 降成本数量 */ - private Long reduceAmount; + private BigDecimal reduceAmount; /** * 降成本金额(元) */ - private Long reducePrice; + private BigDecimal reducePrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetOtherCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetOtherCost.java index 527f5364..5e169c23 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetOtherCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetOtherCost.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 预算其他费用对象 erp_budget_other_cost @@ -45,7 +46,7 @@ public class ErpBudgetOtherCost extends TenantEntity { /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 降成本项目描述 @@ -55,7 +56,7 @@ public class ErpBudgetOtherCost extends TenantEntity { /** * 降成本金额(元) */ - private Long reducePrice; + private BigDecimal reducePrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetTravelCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetTravelCost.java index c17386d6..1e6c7503 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetTravelCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetTravelCost.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 预算差旅费对象 erp_budget_travel_cost @@ -60,32 +61,47 @@ public class ErpBudgetTravelCost extends TenantEntity { /** * 天数 */ - private Long days; + private BigDecimal days; /** * 住宿标准(元) */ - private Long stayStandard; + private BigDecimal stayStandard; /** * 往返路费(元) */ - private Long travelExpenses; + private BigDecimal travelExpenses; /** * 住宿费(元) */ - private Long stayCosts; + private BigDecimal stayCosts; /** * 补贴(元) */ - private Long subsidyCosts; + private BigDecimal subsidyCosts; /** * 小计(元) */ - private Long subtotalCosts; + private BigDecimal subtotalCosts; + + /** + * 降成本排序号 + */ + private Long reduceSortOrder; + + /** + * 降成本出差地点 + */ + private String reduceTripLocation; + + /** + * 降成本事由 + */ + private String reduceReason; /** * 降成本次数 @@ -100,32 +116,32 @@ public class ErpBudgetTravelCost extends TenantEntity { /** * 降成本天数 */ - private Long reduceDayNumber; + private BigDecimal reduceDayNumber; /** * 降成本住宿标准(元) */ - private Long reduceStayStandard; + private BigDecimal reduceStayStandard; /** * 降成本往返路费(元) */ - private Long reduceTravelExpenses; + private BigDecimal reduceTravelExpenses; /** * 降成本住宿费(元) */ - private Long reduceStayCosts; + private BigDecimal reduceStayCosts; /** * 降成本补贴(元) */ - private Long reduceSubsidyCosts; + private BigDecimal reduceSubsidyCosts; /** * 降成本小计(元) */ - private Long reduceSubtotalCosts; + private BigDecimal reduceSubtotalCosts; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetEquipmentCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetEquipmentCost.java index d498a41f..77918e1e 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetEquipmentCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetEquipmentCost.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 研发预算设备费对象 erp_rd_budget_equipment_cost @@ -50,17 +51,17 @@ public class ErpRdBudgetEquipmentCost extends TenantEntity { /** * 单价(元/台件) */ - private Long unitPrice; + private BigDecimal unitPrice; /** * 数量(台件) */ - private Long amount; + private BigDecimal amount; /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetExchangeCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetExchangeCost.java index 7418fd71..de072ee2 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetExchangeCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetExchangeCost.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 研发预算交流费对象 erp_rd_budget_exchange_cost @@ -60,22 +61,22 @@ public class ErpRdBudgetExchangeCost extends TenantEntity { /** * 时间(天) */ - private Long days; + private BigDecimal days; /** * 往返路费及住宿费(元) */ - private Long travelAccommodationExpense; + private BigDecimal travelAccommodationExpense; /** * 补贴(元) */ - private Long subsidy; + private BigDecimal subsidy; /** * 小计(元) */ - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetLaborCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetLaborCost.java index 218b7f10..6056d1ec 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetLaborCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetLaborCost.java @@ -1,11 +1,13 @@ package org.dromara.oa.erp.domain; +import org.dromara.common.core.utils.StringUtils; import org.dromara.common.tenant.core.TenantEntity; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 研发预算人工费对象 erp_rd_budget_labor_cost @@ -55,22 +57,22 @@ public class ErpRdBudgetLaborCost extends TenantEntity { /** * 累计时间(月) */ - private Long cumulativeTime; + private BigDecimal cumulativeTime; /** * 月平均投入比例(%) */ - private Long monthRate; + private BigDecimal monthRate; /** * 人工标准(元/人月) */ - private Long artificialStandard; + private BigDecimal artificialStandard; /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 投入人员,多个以,隔开 @@ -94,4 +96,10 @@ public class ErpRdBudgetLaborCost extends TenantEntity { private String delFlag; + public String[] getProjectPersonnelArray(){ + if(StringUtils.isNotEmpty(projectPersonnel)){ + return projectPersonnel.split(","); + } + return null; + } } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetLiteratureCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetLiteratureCost.java index d116379c..ae7b418b 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetLiteratureCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetLiteratureCost.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 研发预算资料文献费对象 erp_rd_budget_literature_cost @@ -50,7 +51,7 @@ public class ErpRdBudgetLiteratureCost extends TenantEntity { /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetMaterialCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetMaterialCost.java index dbf6df5e..da8331f3 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetMaterialCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetMaterialCost.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 研发预算材料费对象 erp_rd_budget_material_cost @@ -42,6 +43,11 @@ public class ErpRdBudgetMaterialCost extends TenantEntity { */ private String materialName; + /** + * 材料类型 + */ + private String materialType; + /** * 单位,关联base_unit_info */ @@ -55,17 +61,17 @@ public class ErpRdBudgetMaterialCost extends TenantEntity { /** * 单价(元/台件) */ - private Long unitPrice; + private BigDecimal unitPrice; /** * 数量 */ - private Long amount; + private BigDecimal amount; /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetMeetingCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetMeetingCost.java index 8bfd888b..ba2d8365 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetMeetingCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetMeetingCost.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 研发预算会议费对象 erp_rd_budget_meeting_cost @@ -50,22 +51,22 @@ public class ErpRdBudgetMeetingCost extends TenantEntity { /** * 场地日租金(元) */ - private Long rentalFee; + private BigDecimal rentalFee; /** * 日均杂费(元) */ - private Long dailyExpense; + private BigDecimal dailyExpense; /** * 天数 */ - private Long days; + private BigDecimal days; /** * 专家交通住宿费(元) */ - private Long expertExpense; + private BigDecimal expertExpense; /** * 人数 @@ -75,12 +76,12 @@ public class ErpRdBudgetMeetingCost extends TenantEntity { /** * 人均花费(元) */ - private Long perPersonExpense; + private BigDecimal perPersonExpense; /** * 会议费(元) */ - private Long meetingPrice; + private BigDecimal meetingPrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetOtherCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetOtherCost.java index 8542ee5a..6e36875b 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetOtherCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetOtherCost.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 研发预算其他费用对象 erp_rd_budget_other_cost @@ -45,7 +46,7 @@ public class ErpRdBudgetOtherCost extends TenantEntity { /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetTechCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetTechCost.java index df84072f..f1b8fbe6 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetTechCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetTechCost.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 研发预算技术服务费对象 erp_rd_budget_tech_cost @@ -65,7 +66,7 @@ public class ErpRdBudgetTechCost extends TenantEntity { /** * 天数 */ - private Long days; + private BigDecimal days; /** * 次数 @@ -75,7 +76,7 @@ public class ErpRdBudgetTechCost extends TenantEntity { /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetTestingCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetTestingCost.java index c8daf09b..5353b726 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetTestingCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetTestingCost.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 研发预算测试化验费对象 erp_rd_budget_testing_cost @@ -60,17 +61,17 @@ public class ErpRdBudgetTestingCost extends TenantEntity { /** * 单价(元/单位数量) */ - private Long unitPrice; + private BigDecimal unitPrice; /** * 数量 */ - private Long amount; + private BigDecimal amount; /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetTravelCost.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetTravelCost.java index 43d13316..749591f2 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetTravelCost.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpRdBudgetTravelCost.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.math.BigDecimal; /** * 研发预算差旅费对象 erp_rd_budget_travel_cost @@ -60,32 +61,32 @@ public class ErpRdBudgetTravelCost extends TenantEntity { /** * 天数 */ - private Long days; + private BigDecimal days; /** * 住宿标准(元) */ - private Long stayStandard; + private BigDecimal stayStandard; /** * 往返路费(元) */ - private Long travelExpenses; + private BigDecimal travelExpenses; /** * 住宿费(元) */ - private Long stayCosts; + private BigDecimal stayCosts; /** * 补贴(元) */ - private Long subsidyCosts; + private BigDecimal subsidyCosts; /** * 小计(元) */ - private Long subtotalCosts; + private BigDecimal subtotalCosts; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetInfoBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetInfoBo.java index fae5386e..e3fbcdaf 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetInfoBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetInfoBo.java @@ -1,5 +1,6 @@ package org.dromara.oa.erp.domain.bo; +import com.baomidou.mybatisplus.annotation.TableField; import org.dromara.oa.erp.domain.*; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; @@ -174,4 +175,52 @@ public class ErpBudgetInfoBo extends BaseEntity { private List erpBudgetTravelCostList; private List erpBudgetOtherCostList; + + private List toDeletedMaterialCostIdList; + private List toDeletedLaborCostIdList; + private List toDeletedInstallCostIdList; + private List toDeletedTravelCostIdList; + private List toDeletedOtherCostIdList; + + + private List erpRdBudgetEquipmentCostList; + + private List erpRdBudgetMaterialCostList; + + private List erpRdBudgetTravelCostList; + + private List erpRdBudgetMeetingCostList; + + private List erpRdBudgetExchangeCostList; + + private List erpRdBudgetTechCostList; + + private List erpRdBudgetLaborCostList; + + private List erpRdBudgetLiteratureCostList; + + private List erpRdBudgetTestingCostList; + + private List erpRdBudgetOtherCostList; + + + private List toDeletedRdEquipmentCostIdList; + + private List toDeletedRdMaterialCostIdList; + + private List toDeletedRdTravelCostIdList; + + private List toDeletedRdMeetingCostIdList; + + private List toDeletedRdExchangeCostIdList; + + private List toDeletedRdTechCostIdList; + + private List toDeletedRdLaborCostIdList; + + private List toDeletedRdLiteratureCostIdList; + + private List toDeletedRdTestingCostIdList; + + private List toDeletedRdOtherCostIdList; } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetInstallCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetInstallCostBo.java index 623399de..d52f5314 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetInstallCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetInstallCostBo.java @@ -1,5 +1,6 @@ package org.dromara.oa.erp.domain.bo; +import cn.idev.excel.annotation.ExcelProperty; import org.dromara.oa.erp.domain.ErpBudgetInstallCost; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; @@ -9,6 +10,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 预算安装费业务对象 erp_budget_install_cost * @@ -50,22 +53,27 @@ public class ErpBudgetInstallCostBo extends BaseEntity { /** * 累计时间(月) */ - private Long cumulativeTime; + private BigDecimal cumulativeTime; /** * 月平均投入比例(%) */ - private Long monthRate; + private BigDecimal monthRate; /** * 人工标准(元/人月) */ - private Long artificialStandard; + private BigDecimal artificialStandard; /** * 金额(元) */ - private Long price; + private BigDecimal price; + + /** + * 降成本人员类别 + */ + private String reducePersonnelCategory; /** * 降成本人数 @@ -75,22 +83,22 @@ public class ErpBudgetInstallCostBo extends BaseEntity { /** * 降成本累计时间(月) */ - private Long reduceCumulativeTime; + private BigDecimal reduceCumulativeTime; /** * 降成本月平均投入比例(%) */ - private Long reduceMonthRate; + private BigDecimal reduceMonthRate; /** * 降成本人工标准(元/人月) */ - private Long reduceArtificialStandard; + private BigDecimal reduceArtificialStandard; /** * 降成本降成本金额(元) */ - private Long reducePrice; + private BigDecimal reducePrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetLaborCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetLaborCostBo.java index ad078585..f7424ae7 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetLaborCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetLaborCostBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 预算人工费业务对象 erp_budget_labor_cost * @@ -50,22 +52,22 @@ public class ErpBudgetLaborCostBo extends BaseEntity { /** * 累计时间(月) */ - private Long cumulativeTime; + private BigDecimal cumulativeTime; /** * 月平均投入比例(%),乘以100保存 */ - private Long monthRate; + private BigDecimal monthRate; /** * 人工标准(元/人月) */ - private Long artificialStandard; + private BigDecimal artificialStandard; /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 降成本人员类别,关联sys_dict_data的dict_value @@ -80,22 +82,22 @@ public class ErpBudgetLaborCostBo extends BaseEntity { /** * 降成本累计时间(月) */ - private Long reduceCumulativeTime; + private BigDecimal reduceCumulativeTime; /** * 降成本月平均投入比例(%) */ - private Long reduceMonthRate; + private BigDecimal reduceMonthRate; /** * 降成本人工标准(元/人月) */ - private Long reduceArtificialStandard; + private BigDecimal reduceArtificialStandard; /** * 降成本金额(元) */ - private Long reducePrice; + private BigDecimal reducePrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetMaterialCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetMaterialCostBo.java index 08574252..5e62c9f4 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetMaterialCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetMaterialCostBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 预算材料费业务对象 erp_budget_material_cost * @@ -70,32 +72,32 @@ public class ErpBudgetMaterialCostBo extends BaseEntity { /** * 单价(元) */ - private Long unitPrice; + private BigDecimal unitPrice; /** * 购置数量 */ - private Long amount; + private BigDecimal amount; /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 降成本单价(元) */ - private Long reduceUnitPrice; + private BigDecimal reduceUnitPrice; /** * 降成本数量 */ - private Long reduceAmount; + private BigDecimal reduceAmount; /** * 降成本金额(元) */ - private Long reducePrice; + private BigDecimal reducePrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetOtherCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetOtherCostBo.java index 2d0b6faa..b42c0d81 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetOtherCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetOtherCostBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 预算其他费用业务对象 erp_budget_other_cost * @@ -45,7 +47,7 @@ public class ErpBudgetOtherCostBo extends BaseEntity { /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 降成本项目描述 @@ -55,7 +57,7 @@ public class ErpBudgetOtherCostBo extends BaseEntity { /** * 降成本金额(元) */ - private Long reducePrice; + private BigDecimal reducePrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetTravelCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetTravelCostBo.java index 85e76945..86808f0e 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetTravelCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetTravelCostBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 预算差旅费业务对象 erp_budget_travel_cost * @@ -60,38 +62,53 @@ public class ErpBudgetTravelCostBo extends BaseEntity { /** * 天数 */ - private Long days; + private BigDecimal days; /** * 住宿标准(元) */ - private Long stayStandard; + private BigDecimal stayStandard; /** * 往返路费(元) */ - private Long travelExpenses; + private BigDecimal travelExpenses; /** * 住宿费(元) */ - private Long stayCosts; + private BigDecimal stayCosts; /** * 补贴(元) */ - private Long subsidyCosts; + private BigDecimal subsidyCosts; /** * 小计(元) */ - private Long subtotalCosts; + private BigDecimal subtotalCosts; + + /** + * 降成本排序号 + */ + private Long reduceSortOrder; /** * 降成本次数 */ private Long reduceFrequency; + /** + * 降成本出差地点 + */ + private String reduceTripLocation; + + /** + * 降成本事由 + */ + private String reduceReason; + /** * 降成本人数 */ @@ -100,32 +117,32 @@ public class ErpBudgetTravelCostBo extends BaseEntity { /** * 降成本天数 */ - private Long reduceDayNumber; + private BigDecimal reduceDayNumber; /** * 降成本住宿标准(元) */ - private Long reduceStayStandard; + private BigDecimal reduceStayStandard; /** * 降成本往返路费(元) */ - private Long reduceTravelExpenses; + private BigDecimal reduceTravelExpenses; /** * 降成本住宿费(元) */ - private Long reduceStayCosts; + private BigDecimal reduceStayCosts; /** * 降成本补贴(元) */ - private Long reduceSubsidyCosts; + private BigDecimal reduceSubsidyCosts; /** * 降成本小计(元) */ - private Long reduceSubtotalCosts; + private BigDecimal reduceSubtotalCosts; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetEquipmentCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetEquipmentCostBo.java index 0da0a719..1a3ccdec 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetEquipmentCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetEquipmentCostBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 研发预算设备费业务对象 erp_rd_budget_equipment_cost * @@ -50,17 +52,17 @@ public class ErpRdBudgetEquipmentCostBo extends BaseEntity { /** * 单价(元/台件) */ - private Long unitPrice; + private BigDecimal unitPrice; /** * 数量(台件) */ - private Long amount; + private BigDecimal amount; /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetExchangeCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetExchangeCostBo.java index f649b259..fe920f56 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetExchangeCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetExchangeCostBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 研发预算交流费业务对象 erp_rd_budget_exchange_cost * @@ -60,22 +62,22 @@ public class ErpRdBudgetExchangeCostBo extends BaseEntity { /** * 时间(天) */ - private Long days; + private BigDecimal days; /** * 往返路费及住宿费(元) */ - private Long travelAccommodationExpense; + private BigDecimal travelAccommodationExpense; /** * 补贴(元) */ - private Long subsidy; + private BigDecimal subsidy; /** * 小计(元) */ - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetLaborCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetLaborCostBo.java index 2579f41a..4181dbae 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetLaborCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetLaborCostBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 研发预算人工费业务对象 erp_rd_budget_labor_cost * @@ -57,22 +59,22 @@ public class ErpRdBudgetLaborCostBo extends BaseEntity { /** * 累计时间(月) */ - private Long cumulativeTime; + private BigDecimal cumulativeTime; /** * 月平均投入比例(%) */ - private Long monthRate; + private BigDecimal monthRate; /** * 人工标准(元/人月) */ - private Long artificialStandard; + private BigDecimal artificialStandard; /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 投入人员,多个以,隔开 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetLiteratureCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetLiteratureCostBo.java index d03c68db..04d9f3ba 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetLiteratureCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetLiteratureCostBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 研发预算资料文献费业务对象 erp_rd_budget_literature_cost * @@ -50,7 +52,7 @@ public class ErpRdBudgetLiteratureCostBo extends BaseEntity { /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetMaterialCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetMaterialCostBo.java index a5a080c8..f68c7743 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetMaterialCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetMaterialCostBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 研发预算材料费业务对象 erp_rd_budget_material_cost * @@ -42,6 +44,12 @@ public class ErpRdBudgetMaterialCostBo extends BaseEntity { */ private String materialName; + /** + * 材料名称 + */ + private String materialType; + + /** * 单位,关联base_unit_info */ @@ -55,17 +63,17 @@ public class ErpRdBudgetMaterialCostBo extends BaseEntity { /** * 单价(元/台件) */ - private Long unitPrice; + private BigDecimal unitPrice; /** * 数量 */ - private Long amount; + private BigDecimal amount; /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetMeetingCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetMeetingCostBo.java index a74131da..819637b5 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetMeetingCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetMeetingCostBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 研发预算会议费业务对象 erp_rd_budget_meeting_cost * @@ -50,22 +52,22 @@ public class ErpRdBudgetMeetingCostBo extends BaseEntity { /** * 场地日租金(元) */ - private Long rentalFee; + private BigDecimal rentalFee; /** * 日均杂费(元) */ - private Long dailyExpense; + private BigDecimal dailyExpense; /** * 天数 */ - private Long days; + private BigDecimal days; /** * 专家交通住宿费(元) */ - private Long expertExpense; + private BigDecimal expertExpense; /** * 人数 @@ -75,12 +77,12 @@ public class ErpRdBudgetMeetingCostBo extends BaseEntity { /** * 人均花费(元) */ - private Long perPersonExpense; + private BigDecimal perPersonExpense; /** * 会议费(元) */ - private Long meetingPrice; + private BigDecimal meetingPrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetOtherCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetOtherCostBo.java index 140f2bdf..01bf5a8a 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetOtherCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetOtherCostBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 研发预算其他费用业务对象 erp_rd_budget_other_cost * @@ -45,7 +47,7 @@ public class ErpRdBudgetOtherCostBo extends BaseEntity { /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetTechCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetTechCostBo.java index 497f2e66..a97eeb07 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetTechCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetTechCostBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 研发预算技术服务费业务对象 erp_rd_budget_tech_cost * @@ -66,7 +68,7 @@ public class ErpRdBudgetTechCostBo extends BaseEntity { /** * 天数 */ - private Long days; + private BigDecimal days; /** * 次数 @@ -76,7 +78,7 @@ public class ErpRdBudgetTechCostBo extends BaseEntity { /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetTestingCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetTestingCostBo.java index 8e583927..b7ffc92c 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetTestingCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetTestingCostBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 研发预算测试化验费业务对象 erp_rd_budget_testing_cost * @@ -60,17 +62,17 @@ public class ErpRdBudgetTestingCostBo extends BaseEntity { /** * 单价(元/单位数量) */ - private Long unitPrice; + private BigDecimal unitPrice; /** * 数量 */ - private Long amount; + private BigDecimal amount; /** * 金额(元) */ - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetTravelCostBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetTravelCostBo.java index 563066d5..4458136c 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetTravelCostBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpRdBudgetTravelCostBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.math.BigDecimal; + /** * 研发预算差旅费业务对象 erp_rd_budget_travel_cost * @@ -60,32 +62,32 @@ public class ErpRdBudgetTravelCostBo extends BaseEntity { /** * 天数 */ - private Long days; + private BigDecimal days; /** * 住宿标准(元) */ - private Long stayStandard; + private BigDecimal stayStandard; /** * 往返路费(元) */ - private Long travelExpenses; + private BigDecimal travelExpenses; /** * 住宿费(元) */ - private Long stayCosts; + private BigDecimal stayCosts; /** * 补贴(元) */ - private Long subsidyCosts; + private BigDecimal subsidyCosts; /** * 小计(元) */ - private Long subtotalCosts; + private BigDecimal subtotalCosts; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetInfoVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetInfoVo.java index 8011bc8c..42bc357f 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetInfoVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetInfoVo.java @@ -1,6 +1,6 @@ package org.dromara.oa.erp.domain.vo; -import org.dromara.oa.erp.domain.ErpBudgetInfo; +import org.dromara.oa.erp.domain.*; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; import org.dromara.common.excel.annotation.ExcelDictFormat; @@ -12,7 +12,7 @@ import java.io.Serial; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; - +import java.util.List; /** @@ -196,4 +196,35 @@ public class ErpBudgetInfoVo implements Serializable { private String remark; + private List erpBudgetDetailList; + + private List erpBudgetMaterialCostList; + + private List erpBudgetLaborCostList; + + private List erpBudgetInstallCostList; + + private List erpBudgetTravelCostList; + + private List erpBudgetOtherCostList; + + private List erpRdBudgetEquipmentCostList; + + private List erpRdBudgetMaterialCostList; + + private List erpRdBudgetTravelCostList; + + private List erpRdBudgetMeetingCostList; + + private List erpRdBudgetExchangeCostList; + + private List erpRdBudgetTechCostList; + + private List erpRdBudgetLaborCostList; + + private List erpRdBudgetLiteratureCostList; + + private List erpRdBudgetTestingCostList; + + private List erpRdBudgetOtherCostList; } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetInstallCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetInstallCostVo.java index 8b19aefa..70bee696 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetInstallCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetInstallCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -63,29 +64,34 @@ public class ErpBudgetInstallCostVo implements Serializable { */ @ExcelProperty(value = "累计时间", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "月=") - private Long cumulativeTime; + private BigDecimal cumulativeTime; /** * 月平均投入比例(%) */ @ExcelProperty(value = "月平均投入比例", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "%=") - private Long monthRate; + private BigDecimal monthRate; /** * 人工标准(元/人月) */ @ExcelProperty(value = "人工标准", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=/人月") - private Long artificialStandard; + private BigDecimal artificialStandard; /** * 金额(元) */ @ExcelProperty(value = "金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long price; + private BigDecimal price; + /** + * 降成本人员类别 + */ + @ExcelProperty(value = "降成本人员类别") + private String reducePersonnelCategory; /** * 降成本人数 */ @@ -97,28 +103,28 @@ public class ErpBudgetInstallCostVo implements Serializable { */ @ExcelProperty(value = "降成本累计时间", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "月=") - private Long reduceCumulativeTime; + private BigDecimal reduceCumulativeTime; /** * 降成本月平均投入比例(%) */ @ExcelProperty(value = "降成本月平均投入比例", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "%=") - private Long reduceMonthRate; + private BigDecimal reduceMonthRate; /** * 降成本人工标准(元/人月) */ @ExcelProperty(value = "降成本人工标准", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=/人月") - private Long reduceArtificialStandard; + private BigDecimal reduceArtificialStandard; /** * 降成本降成本金额(元) */ @ExcelProperty(value = "降成本降成本金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long reducePrice; + private BigDecimal reducePrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetLaborCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetLaborCostVo.java index 47daa0e9..be8128c6 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetLaborCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetLaborCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -63,28 +64,28 @@ public class ErpBudgetLaborCostVo implements Serializable { */ @ExcelProperty(value = "累计时间", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "月=") - private Long cumulativeTime; + private BigDecimal cumulativeTime; /** * 月平均投入比例(%),乘以100保存 */ @ExcelProperty(value = "月平均投入比例", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "%=") - private Long monthRate; + private BigDecimal monthRate; /** * 人工标准(元/人月) */ @ExcelProperty(value = "人工标准", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=/人月") - private Long artificialStandard; + private BigDecimal artificialStandard; /** * 金额(元) */ @ExcelProperty(value = "金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long price; + private BigDecimal price; /** * 降成本人员类别,关联sys_dict_data的dict_value @@ -103,28 +104,28 @@ public class ErpBudgetLaborCostVo implements Serializable { */ @ExcelProperty(value = "降成本累计时间", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "月=") - private Long reduceCumulativeTime; + private BigDecimal reduceCumulativeTime; /** * 降成本月平均投入比例(%) */ @ExcelProperty(value = "降成本月平均投入比例", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "%=") - private Long reduceMonthRate; + private BigDecimal reduceMonthRate; /** * 降成本人工标准(元/人月) */ @ExcelProperty(value = "降成本人工标准", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=/人月") - private Long reduceArtificialStandard; + private BigDecimal reduceArtificialStandard; /** * 降成本金额(元) */ @ExcelProperty(value = "降成本金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long reducePrice; + private BigDecimal reducePrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetMaterialCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetMaterialCostVo.java index d44327e7..64e8c1c6 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetMaterialCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetMaterialCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -86,39 +87,39 @@ public class ErpBudgetMaterialCostVo implements Serializable { * 单价(元) */ @ExcelProperty(value = "单价(元)") - private Long unitPrice; + private BigDecimal unitPrice; /** * 购置数量 */ @ExcelProperty(value = "购置数量") - private Long amount; + private BigDecimal amount; /** * 金额(元) */ @ExcelProperty(value = "金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long price; + private BigDecimal price; /** * 降成本单价(元) */ @ExcelProperty(value = "降成本单价(元)") - private Long reduceUnitPrice; + private BigDecimal reduceUnitPrice; /** * 降成本数量 */ @ExcelProperty(value = "降成本数量") - private Long reduceAmount; + private BigDecimal reduceAmount; /** * 降成本金额(元) */ @ExcelProperty(value = "降成本金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long reducePrice; + private BigDecimal reducePrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetOtherCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetOtherCostVo.java index 7dfd0d93..58152ad9 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetOtherCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetOtherCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -57,7 +58,7 @@ public class ErpBudgetOtherCostVo implements Serializable { */ @ExcelProperty(value = "金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long price; + private BigDecimal price; /** * 降成本项目描述 @@ -70,7 +71,7 @@ public class ErpBudgetOtherCostVo implements Serializable { */ @ExcelProperty(value = "降成本金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long reducePrice; + private BigDecimal reducePrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetTravelCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetTravelCostVo.java index 196fb5ef..3a279943 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetTravelCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetTravelCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -74,42 +75,57 @@ public class ErpBudgetTravelCostVo implements Serializable { * 天数 */ @ExcelProperty(value = "天数") - private Long days; + private BigDecimal days; /** * 住宿标准(元) */ @ExcelProperty(value = "住宿标准", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long stayStandard; + private BigDecimal stayStandard; /** * 往返路费(元) */ @ExcelProperty(value = "往返路费", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long travelExpenses; + private BigDecimal travelExpenses; /** * 住宿费(元) */ @ExcelProperty(value = "住宿费", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long stayCosts; + private BigDecimal stayCosts; /** * 补贴(元) */ @ExcelProperty(value = "补贴", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long subsidyCosts; + private BigDecimal subsidyCosts; /** * 小计(元) */ @ExcelProperty(value = "小计", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long subtotalCosts; + private BigDecimal subtotalCosts; + + /** + * 降成本排序号 + */ + private Long reduceSortOrder; + + /** + * 降成本出差地点 + */ + private String reduceTripLocation; + + /** + * 降成本事由 + */ + private String reduceReason; /** * 降成本次数 @@ -127,42 +143,42 @@ public class ErpBudgetTravelCostVo implements Serializable { * 降成本天数 */ @ExcelProperty(value = "降成本天数") - private Long reduceDayNumber; + private BigDecimal reduceDayNumber; /** * 降成本住宿标准(元) */ @ExcelProperty(value = "降成本住宿标准", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long reduceStayStandard; + private BigDecimal reduceStayStandard; /** * 降成本往返路费(元) */ @ExcelProperty(value = "降成本往返路费", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long reduceTravelExpenses; + private BigDecimal reduceTravelExpenses; /** * 降成本住宿费(元) */ @ExcelProperty(value = "降成本住宿费", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long reduceStayCosts; + private BigDecimal reduceStayCosts; /** * 降成本补贴(元) */ @ExcelProperty(value = "降成本补贴", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long reduceSubsidyCosts; + private BigDecimal reduceSubsidyCosts; /** * 降成本小计(元) */ @ExcelProperty(value = "降成本小计", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long reduceSubtotalCosts; + private BigDecimal reduceSubtotalCosts; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetEquipmentCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetEquipmentCostVo.java index e25443e4..f07e1781 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetEquipmentCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetEquipmentCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -62,20 +63,20 @@ public class ErpRdBudgetEquipmentCostVo implements Serializable { * 单价(元/台件) */ @ExcelProperty(value = "单价(元/台件)") - private Long unitPrice; + private BigDecimal unitPrice; /** * 数量(台件) */ @ExcelProperty(value = "数量(台件)") - private Long amount; + private BigDecimal amount; /** * 金额(元) */ @ExcelProperty(value = "金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetExchangeCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetExchangeCostVo.java index 12990a34..516d17db 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetExchangeCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetExchangeCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -76,27 +77,27 @@ public class ErpRdBudgetExchangeCostVo implements Serializable { */ @ExcelProperty(value = "时间", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "天=") - private Long days; + private BigDecimal days; /** * 往返路费及住宿费(元) */ @ExcelProperty(value = "往返路费及住宿费(元)") - private Long travelAccommodationExpense; + private BigDecimal travelAccommodationExpense; /** * 补贴(元) */ @ExcelProperty(value = "补贴", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long subsidy; + private BigDecimal subsidy; /** * 小计(元) */ @ExcelProperty(value = "小计", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetLaborCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetLaborCostVo.java index 64081ae9..5aa240ae 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetLaborCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetLaborCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -69,28 +70,28 @@ public class ErpRdBudgetLaborCostVo implements Serializable { */ @ExcelProperty(value = "累计时间", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "月=") - private Long cumulativeTime; + private BigDecimal cumulativeTime; /** * 月平均投入比例(%) */ @ExcelProperty(value = "月平均投入比例", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "%=") - private Long monthRate; + private BigDecimal monthRate; /** * 人工标准(元/人月) */ @ExcelProperty(value = "人工标准", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=/人月") - private Long artificialStandard; + private BigDecimal artificialStandard; /** * 金额(元) */ @ExcelProperty(value = "金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long price; + private BigDecimal price; /** * 投入人员,多个以,隔开 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetLiteratureCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetLiteratureCostVo.java index d0c2f8d6..cd9f5707 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetLiteratureCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetLiteratureCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -64,7 +65,7 @@ public class ErpRdBudgetLiteratureCostVo implements Serializable { */ @ExcelProperty(value = "金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetMaterialCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetMaterialCostVo.java index ef308cac..f02a3984 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetMaterialCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetMaterialCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -52,6 +53,12 @@ public class ErpRdBudgetMaterialCostVo implements Serializable { @ExcelProperty(value = "材料名称") private String materialName; + /** + * 材料类型 + */ + @ExcelProperty(value = "材料类型") + private String materialType; + /** * 单位,关联base_unit_info */ @@ -68,20 +75,20 @@ public class ErpRdBudgetMaterialCostVo implements Serializable { * 单价(元/台件) */ @ExcelProperty(value = "单价(元/台件)") - private Long unitPrice; + private BigDecimal unitPrice; /** * 数量 */ @ExcelProperty(value = "数量") - private Long amount; + private BigDecimal amount; /** * 金额(元) */ @ExcelProperty(value = "金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetMeetingCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetMeetingCostVo.java index 692cb82e..33778790 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetMeetingCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetMeetingCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -62,25 +63,25 @@ public class ErpRdBudgetMeetingCostVo implements Serializable { * 场地日租金(元) */ @ExcelProperty(value = "场地日租金(元)") - private Long rentalFee; + private BigDecimal rentalFee; /** * 日均杂费(元) */ @ExcelProperty(value = "日均杂费(元)") - private Long dailyExpense; + private BigDecimal dailyExpense; /** * 天数 */ @ExcelProperty(value = "天数") - private Long days; + private BigDecimal days; /** * 专家交通住宿费(元) */ @ExcelProperty(value = "专家交通住宿费(元)") - private Long expertExpense; + private BigDecimal expertExpense; /** * 人数 @@ -92,14 +93,14 @@ public class ErpRdBudgetMeetingCostVo implements Serializable { * 人均花费(元) */ @ExcelProperty(value = "人均花费(元)") - private Long perPersonExpense; + private BigDecimal perPersonExpense; /** * 会议费(元) */ @ExcelProperty(value = "会议费", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long meetingPrice; + private BigDecimal meetingPrice; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetOtherCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetOtherCostVo.java index 58b5e2e4..3e99d997 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetOtherCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetOtherCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -57,7 +58,7 @@ public class ErpRdBudgetOtherCostVo implements Serializable { */ @ExcelProperty(value = "金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetTechCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetTechCostVo.java index d1f75ddc..7c41eded 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetTechCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetTechCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -80,7 +81,7 @@ public class ErpRdBudgetTechCostVo implements Serializable { * 天数 */ @ExcelProperty(value = "天数") - private Long days; + private BigDecimal days; /** * 次数 @@ -93,7 +94,7 @@ public class ErpRdBudgetTechCostVo implements Serializable { */ @ExcelProperty(value = "金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetTestingCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetTestingCostVo.java index 80faad1e..99a78ee8 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetTestingCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetTestingCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -74,20 +75,20 @@ public class ErpRdBudgetTestingCostVo implements Serializable { * 单价(元/单位数量) */ @ExcelProperty(value = "单价(元/单位数量)") - private Long unitPrice; + private BigDecimal unitPrice; /** * 数量 */ @ExcelProperty(value = "数量") - private Long amount; + private BigDecimal amount; /** * 金额(元) */ @ExcelProperty(value = "金额", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long price; + private BigDecimal price; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetTravelCostVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetTravelCostVo.java index 7a080d25..d8792a5c 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetTravelCostVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpRdBudgetTravelCostVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -74,42 +75,42 @@ public class ErpRdBudgetTravelCostVo implements Serializable { * 天数 */ @ExcelProperty(value = "天数") - private Long days; + private BigDecimal days; /** * 住宿标准(元) */ @ExcelProperty(value = "住宿标准", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long stayStandard; + private BigDecimal stayStandard; /** * 往返路费(元) */ @ExcelProperty(value = "往返路费", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long travelExpenses; + private BigDecimal travelExpenses; /** * 住宿费(元) */ @ExcelProperty(value = "住宿费", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long stayCosts; + private BigDecimal stayCosts; /** * 补贴(元) */ @ExcelProperty(value = "补贴", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long subsidyCosts; + private BigDecimal subsidyCosts; /** * 小计(元) */ @ExcelProperty(value = "小计", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "元=") - private Long subtotalCosts; + private BigDecimal subtotalCosts; /** * 排序号 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/enums/ProjectCategoryEnum.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/enums/ProjectCategoryEnum.java new file mode 100644 index 00000000..551692dc --- /dev/null +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/enums/ProjectCategoryEnum.java @@ -0,0 +1,64 @@ +package org.dromara.oa.erp.enums; + +import lombok.Getter; +import org.dromara.common.core.enums.OAStatusEnum; + +/** + * @author xins + * @description 流程配置枚举 + * 定义流程编码与业务实体的映射关系 + * @date 2025/11/4 9:41 + */ +@Getter +public enum ProjectCategoryEnum { + + /** + * 销售(实施、物流) + */ + MARKET("1", "销售(实施、物流)"), + + /** + * 销售(备件) + */ + MARKET_PART("2", "销售(备件)"), + + /** + * 研发 + */ + RD("3", "研发"), + + /** + * 预投 + */ + PRE_PRODUCTION("4", "预投"); + + + /** + * 编码 + */ + private final String code; + + /** + * 名称 + */ + private final String name; + + + ProjectCategoryEnum(String code, String name) { + this.code = code; + this.name = name; + } + + /** + * 根据流程编码获取配置 + */ + public static ProjectCategoryEnum getByCode(String code) { + for (ProjectCategoryEnum config : values()) { + if (config.getCode().equals(code)) { + return config; + } + } + return null; + } + +} diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/enums/RdBudgetCostEnums.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/enums/RdBudgetCostEnums.java new file mode 100644 index 00000000..ec995ac2 --- /dev/null +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/enums/RdBudgetCostEnums.java @@ -0,0 +1,89 @@ +package org.dromara.oa.erp.enums; + +import org.dromara.oa.erp.domain.*; + +import java.util.HashMap; +import java.util.Map; + +/** + * @Author xins + * @Date 2025/11/27 13:28 + * @Description:研发项目预算类型枚举 - 统一管理所有研发项目预算类型的设置逻辑 + */ + +public enum RdBudgetCostEnums { + EQUIPMENT(ErpRdBudgetEquipmentCost.class, (cost, budgetId, projectId) -> { + ((ErpRdBudgetEquipmentCost) cost).setBudgetId(budgetId); + ((ErpRdBudgetEquipmentCost) cost).setProjectId(projectId); + }), + MATERIAL(ErpRdBudgetMaterialCost.class, (cost, budgetId, projectId) -> { + ((ErpRdBudgetMaterialCost) cost).setBudgetId(budgetId); + ((ErpRdBudgetMaterialCost) cost).setProjectId(projectId); + }), + TRAVEL(ErpRdBudgetTravelCost.class, (cost, budgetId, projectId) -> { + ((ErpRdBudgetTravelCost) cost).setBudgetId(budgetId); + ((ErpRdBudgetTravelCost) cost).setProjectId(projectId); + }), + MEETING(ErpRdBudgetMeetingCost.class, (cost, budgetId, projectId) -> { + ((ErpRdBudgetMeetingCost) cost).setBudgetId(budgetId); + ((ErpRdBudgetMeetingCost) cost).setProjectId(projectId); + }), + EXCHANGE(ErpRdBudgetExchangeCost.class, (cost, budgetId, projectId) -> { + ((ErpRdBudgetExchangeCost) cost).setBudgetId(budgetId); + ((ErpRdBudgetExchangeCost) cost).setProjectId(projectId); + }), + TECH(ErpRdBudgetTechCost.class, (cost, budgetId, projectId) -> { + ((ErpRdBudgetTechCost) cost).setBudgetId(budgetId); + ((ErpRdBudgetTechCost) cost).setProjectId(projectId); + }), + LABOR(ErpRdBudgetLaborCost.class, (cost, budgetId, projectId) -> { + ((ErpRdBudgetLaborCost) cost).setBudgetId(budgetId); + ((ErpRdBudgetLaborCost) cost).setProjectId(projectId); + }), + LITERATURE(ErpRdBudgetLiteratureCost.class, (cost, budgetId, projectId) -> { + ((ErpRdBudgetLiteratureCost) cost).setBudgetId(budgetId); + ((ErpRdBudgetLiteratureCost) cost).setProjectId(projectId); + }), + TESTING(ErpRdBudgetTestingCost.class, (cost, budgetId, projectId) -> { + ((ErpRdBudgetTestingCost) cost).setBudgetId(budgetId); + ((ErpRdBudgetTestingCost) cost).setProjectId(projectId); + }), + OTHER(ErpRdBudgetOtherCost.class, (cost, budgetId, projectId) -> { + ((ErpRdBudgetOtherCost) cost).setBudgetId(budgetId); + ((ErpRdBudgetOtherCost) cost).setProjectId(projectId); + }); + + private final Class costClass; + private final TriConsumer setter; + + RdBudgetCostEnums(Class costClass, TriConsumer setter) { + this.costClass = costClass; + this.setter = setter; + } + + public Class getCostClass() { + return costClass; + } + + public TriConsumer getSetter() { + return setter; + } + + private static final Map, RdBudgetCostEnums> CLASS_TO_TYPE = new HashMap<>(); + + static { + for (RdBudgetCostEnums type : values()) { + CLASS_TO_TYPE.put(type.costClass, type); + } + } + + public static RdBudgetCostEnums fromClass(Class clazz) { + return CLASS_TO_TYPE.get(clazz); + } + + @FunctionalInterface + public interface TriConsumer { + void accept(T t, U u, V v); + } +} + diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpProjectInfoService.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpProjectInfoService.java index 09074d6d..477a8340 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpProjectInfoService.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpProjectInfoService.java @@ -73,4 +73,13 @@ public interface IErpProjectInfoService { * @return */ ErpProjectInfoVo projectSubmitAndFlowStart(ErpProjectInfoBo bo); + + /** + * 分页查询项目信息列表,供选择使用 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 项目信息分页列表 + */ + public TableDataInfo queryPageList4Select(ErpProjectInfoBo bo, PageQuery pageQuery); } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpBudgetInfoServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpBudgetInfoServiceImpl.java index 66940417..97c669d1 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpBudgetInfoServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpBudgetInfoServiceImpl.java @@ -1,5 +1,7 @@ package org.dromara.oa.erp.service.impl; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.apache.dubbo.config.annotation.DubboReference; import org.apache.seata.spring.annotation.GlobalTransactional; import org.dromara.common.core.enums.OAStatusEnum; @@ -12,10 +14,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.RequiredArgsConstructor; -import org.dromara.oa.erp.domain.ErpBudgetDetail; -import org.dromara.oa.erp.domain.ErpBudgetMaterialCost; -import org.dromara.oa.erp.mapper.ErpBudgetDetailMapper; -import org.dromara.oa.erp.mapper.ErpBudgetMaterialCostMapper; +import org.dromara.oa.erp.domain.*; +import org.dromara.oa.erp.enums.ProjectCategoryEnum; +import org.dromara.oa.erp.enums.RdBudgetCostEnums; +import org.dromara.oa.erp.mapper.*; import org.dromara.oa.workflow.strategy.BudgetWorkflowStrategy; import org.dromara.workflow.api.RemoteWorkflowService; import org.dromara.workflow.api.domain.RemoteStartProcess; @@ -23,14 +25,16 @@ import org.dromara.workflow.strategy.AbstractWorkflowService; import org.springframework.stereotype.Service; import org.dromara.oa.erp.domain.bo.ErpBudgetInfoBo; import org.dromara.oa.erp.domain.vo.ErpBudgetInfoVo; -import org.dromara.oa.erp.domain.ErpBudgetInfo; -import org.dromara.oa.erp.mapper.ErpBudgetInfoMapper; import org.dromara.oa.erp.service.IErpBudgetInfoService; import org.dromara.workflow.strategy.WorkflowStrategy; +import org.springframework.transaction.annotation.Transactional; + import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.function.Consumer; +import java.util.function.Function; /** * 项目预算Service业务层处理 @@ -48,6 +52,35 @@ public class ErpBudgetInfoServiceImpl extends AbstractWorkflowService budgetDetailMPJLambdaWrapper = JoinWrappers.lambda(ErpBudgetDetail.class) + .selectAll(ErpBudgetDetail.class) + .eq(ErpBudgetDetail::getBudgetId, budgetId); + List erpBudgetDetailList = erpBudgetDetailMapper.selectList(budgetDetailMPJLambdaWrapper); + erpBudgetInfoVo.setErpBudgetDetailList(erpBudgetDetailList); + + if (projectCategory.equals(ProjectCategoryEnum.MARKET.getCode()) || projectCategory.equals(ProjectCategoryEnum.MARKET_PART.getCode())) { + MPJLambdaWrapper budgetMaterialCostMPJLambdaWrapper = JoinWrappers.lambda(ErpBudgetMaterialCost.class) + .selectAll(ErpBudgetMaterialCost.class) + .eq(ErpBudgetMaterialCost::getBudgetId, budgetId); + List erpBudgetMaterialCostList = erpBudgetMaterialCostMapper.selectList(budgetMaterialCostMPJLambdaWrapper); + erpBudgetInfoVo.setErpBudgetMaterialCostList(erpBudgetMaterialCostList); + + MPJLambdaWrapper budgetLaborCostMPJLambdaWrapper = JoinWrappers.lambda(ErpBudgetLaborCost.class) + .selectAll(ErpBudgetLaborCost.class) + .eq(ErpBudgetLaborCost::getBudgetId, budgetId); + List erpBudgetLaborCostList = erpBudgetLaborCostMapper.selectList(budgetLaborCostMPJLambdaWrapper); + erpBudgetInfoVo.setErpBudgetLaborCostList(erpBudgetLaborCostList); + + MPJLambdaWrapper budgetInstallCostMPJLambdaWrapper = JoinWrappers.lambda(ErpBudgetInstallCost.class) + .selectAll(ErpBudgetInstallCost.class) + .eq(ErpBudgetInstallCost::getBudgetId, budgetId); + List erpBudgetInstallCostList = erpBudgetInstallCostMapper.selectList(budgetInstallCostMPJLambdaWrapper); + erpBudgetInfoVo.setErpBudgetInstallCostList(erpBudgetInstallCostList); + + MPJLambdaWrapper budgetTravelCostMPJLambdaWrapper = JoinWrappers.lambda(ErpBudgetTravelCost.class) + .selectAll(ErpBudgetTravelCost.class) + .eq(ErpBudgetTravelCost::getBudgetId, budgetId); + List erpBudgetTravelCostList = erpBudgetTravelCostMapper.selectList(budgetTravelCostMPJLambdaWrapper); + erpBudgetInfoVo.setErpBudgetTravelCostList(erpBudgetTravelCostList); + + MPJLambdaWrapper budgetOtherCostMPJLambdaWrapper = JoinWrappers.lambda(ErpBudgetOtherCost.class) + .selectAll(ErpBudgetOtherCost.class) + .eq(ErpBudgetOtherCost::getBudgetId, budgetId); + List erpBudgetOtherCostList = erpBudgetOtherCostMapper.selectList(budgetOtherCostMPJLambdaWrapper); + erpBudgetInfoVo.setErpBudgetOtherCostList(erpBudgetOtherCostList); + } else { + loadRdBudgetCosts(budgetId, erpBudgetInfoVo); + } + } + + return erpBudgetInfoVo; + } + + private List queryBudgetCosts(BaseMapper mapper, Class entityClass, Long budgetId) { + MPJLambdaWrapper wrapper = JoinWrappers.lambda(entityClass) + .selectAll(entityClass) + .eq("budget_id", budgetId); // 直接使用字段名 + + return mapper.selectList(wrapper); + } + + private void loadBudgetCosts(Long budgetId, ErpBudgetInfoVo erpBudgetInfoVo) { + erpBudgetInfoVo.setErpBudgetMaterialCostList( + queryBudgetCosts(erpBudgetMaterialCostMapper, ErpBudgetMaterialCost.class, budgetId)); + erpBudgetInfoVo.setErpBudgetLaborCostList( + queryBudgetCosts(erpBudgetLaborCostMapper, ErpBudgetLaborCost.class, budgetId)); + erpBudgetInfoVo.setErpBudgetInstallCostList( + queryBudgetCosts(erpBudgetInstallCostMapper, ErpBudgetInstallCost.class, budgetId)); + erpBudgetInfoVo.setErpBudgetTravelCostList( + queryBudgetCosts(erpBudgetTravelCostMapper, ErpBudgetTravelCost.class, budgetId)); + erpBudgetInfoVo.setErpBudgetOtherCostList( + queryBudgetCosts(erpBudgetOtherCostMapper, ErpBudgetOtherCost.class, budgetId)); + } + + private void loadRdBudgetCosts(Long budgetId, ErpBudgetInfoVo erpBudgetInfoVo) { + erpBudgetInfoVo.setErpRdBudgetEquipmentCostList( + queryBudgetCosts(erpRdBudgetEquipmentCostMapper, ErpRdBudgetEquipmentCost.class, budgetId)); + erpBudgetInfoVo.setErpRdBudgetMaterialCostList( + queryBudgetCosts(erpRdBudgetMaterialCostMapper, ErpRdBudgetMaterialCost.class, budgetId)); + erpBudgetInfoVo.setErpRdBudgetTravelCostList( + queryBudgetCosts(erpRdBudgetTravelCostMapper, ErpRdBudgetTravelCost.class, budgetId)); + erpBudgetInfoVo.setErpRdBudgetMeetingCostList( + queryBudgetCosts(erpRdBudgetMeetingCostMapper, ErpRdBudgetMeetingCost.class, budgetId)); + erpBudgetInfoVo.setErpRdBudgetExchangeCostList( + queryBudgetCosts(erpRdBudgetExchangeCostMapper, ErpRdBudgetExchangeCost.class, budgetId)); + erpBudgetInfoVo.setErpRdBudgetTechCostList( + queryBudgetCosts(erpRdBudgetTechCostMapper, ErpRdBudgetTechCost.class, budgetId)); + erpBudgetInfoVo.setErpRdBudgetLaborCostList( + queryBudgetCosts(erpRdBudgetLaborCostMapper, ErpRdBudgetLaborCost.class, budgetId)); + erpBudgetInfoVo.setErpRdBudgetLiteratureCostList( + queryBudgetCosts(erpRdBudgetLiteratureCostMapper, ErpRdBudgetLiteratureCost.class, budgetId)); + erpBudgetInfoVo.setErpRdBudgetTestingCostList( + queryBudgetCosts(erpRdBudgetTestingCostMapper, ErpRdBudgetTestingCost.class, budgetId)); + erpBudgetInfoVo.setErpRdBudgetOtherCostList( + queryBudgetCosts(erpRdBudgetOtherCostMapper, ErpRdBudgetOtherCost.class, budgetId)); } /** @@ -140,19 +261,21 @@ public class ErpBudgetInfoServiceImpl extends AbstractWorkflowService 0; - List erpBudgetDetailList = bo.getErpBudgetDetailList(); - erpBudgetDetailList.forEach(erpBudgetDetail -> erpBudgetDetail.setBudgetId(add.getBudgetId())); - List erpBudgetMaterialCostList = bo.getErpBudgetMaterialCostList(); - erpBudgetMaterialCostList.forEach(erpBudgetMaterialCost -> erpBudgetMaterialCost.setBudgetId(add.getBudgetId())); - erpBudgetDetailMapper.insertBatch(erpBudgetDetailList); - erpBudgetMaterialCostMapper.insertBatch(erpBudgetMaterialCostList); + + if (add.getProjectCategory().equals(ProjectCategoryEnum.MARKET.getCode()) + || add.getProjectCategory().equals(ProjectCategoryEnum.MARKET_PART.getCode())) { + batchBudgetCosts(add); + } else { + batchRdBudgetCosts(add); + } + if (flag) { bo.setBudgetId(add.getBudgetId()); } @@ -189,11 +312,19 @@ public class ErpBudgetInfoServiceImpl extends AbstractWorkflowService 0; + + if (update.getProjectCategory().equals(ProjectCategoryEnum.MARKET.getCode()) + || update.getProjectCategory().equals(ProjectCategoryEnum.MARKET_PART.getCode())) { + batchBudgetCosts(update); + } else { + batchRdBudgetCosts(update); + } + + boolean isUpdated = baseMapper.updateById(update) > 0; this.executeWorkflow(bo); return isUpdated; } @@ -205,6 +336,352 @@ public class ErpBudgetInfoServiceImpl extends AbstractWorkflowService erpBudgetDetailList = erpBudgetInfo.getErpBudgetDetailList(); + erpBudgetDetailList.forEach(erpBudgetDetail -> erpBudgetDetail.setBudgetId(budgetId)); + + List toDeletedMaterialCostIdList = erpBudgetInfo.getToDeletedMaterialCostIdList(); + erpBudgetMaterialCostMapper.deleteByIds(toDeletedMaterialCostIdList); + + List toDeletedLaborCostIdList = erpBudgetInfo.getToDeletedLaborCostIdList(); + erpBudgetLaborCostMapper.deleteByIds(toDeletedLaborCostIdList); + + List toDeletedInstallCostIdList = erpBudgetInfo.getToDeletedInstallCostIdList(); + erpBudgetInstallCostMapper.deleteByIds(toDeletedInstallCostIdList); + + List toDeletedTravelCostIdList = erpBudgetInfo.getToDeletedTravelCostIdList(); + erpBudgetTravelCostMapper.deleteByIds(toDeletedTravelCostIdList); + + List toDeletedOtherCostIdList = erpBudgetInfo.getToDeletedOtherCostIdList(); + erpBudgetOtherCostMapper.deleteByIds(toDeletedOtherCostIdList); + + List erpBudgetMaterialCostList = erpBudgetInfo.getErpBudgetMaterialCostList(); + if (erpBudgetMaterialCostList != null) { + erpBudgetMaterialCostList.forEach(erpBudgetMaterialCost -> { + erpBudgetMaterialCost.setBudgetId(budgetId); + erpBudgetMaterialCost.setProjectId(projectId); + }); + } + + List erpBudgetLaborCostList = erpBudgetInfo.getErpBudgetLaborCostList(); + erpBudgetLaborCostList.forEach(erpBudgetLaborCost -> { + erpBudgetLaborCost.setBudgetId(budgetId); + erpBudgetLaborCost.setProjectId(projectId); + }); + + List erpBudgetInstallCostList = erpBudgetInfo.getErpBudgetInstallCostList(); + erpBudgetInstallCostList.forEach(erpBudgetInstallCost -> { + erpBudgetInstallCost.setBudgetId(budgetId); + erpBudgetInstallCost.setProjectId(projectId); + }); + + List erpBudgetTravelCostList = erpBudgetInfo.getErpBudgetTravelCostList(); + erpBudgetTravelCostList.forEach(erpBudgetTravelCost -> { + erpBudgetTravelCost.setBudgetId(budgetId); + erpBudgetTravelCost.setProjectId(projectId); + }); + + List erpBudgetOtherCostList = erpBudgetInfo.getErpBudgetOtherCostList(); + erpBudgetOtherCostList.forEach(erpBudgetOtherCost -> { + erpBudgetOtherCost.setBudgetId(budgetId); + erpBudgetOtherCost.setProjectId(projectId); + }); + + erpBudgetDetailMapper.insertOrUpdateBatch(erpBudgetDetailList); + erpBudgetMaterialCostMapper.insertOrUpdateBatch(erpBudgetMaterialCostList); + erpBudgetLaborCostMapper.insertOrUpdateBatch(erpBudgetLaborCostList); + erpBudgetInstallCostMapper.insertOrUpdateBatch(erpBudgetInstallCostList); + erpBudgetTravelCostMapper.insertOrUpdateBatch(erpBudgetTravelCostList); + erpBudgetOtherCostMapper.insertOrUpdateBatch(erpBudgetOtherCostList); + } + + + private void batchRdBudgetCosts(ErpBudgetInfo erpBudgetInfo) { + Long budgetId = erpBudgetInfo.getBudgetId(); + Long projectId = erpBudgetInfo.getProjectId(); + + // 1. 处理预算明细 + processRdBudgetDetails(erpBudgetInfo, budgetId); + + // 2. 批量处理删除操作 - 在同一个事务中 + processRdBudgetDeletions(erpBudgetInfo); + + // 3. 批量处理插入/更新操作 - 在同一个事务中 + processRdBudgetInsertOrUpdates(erpBudgetInfo, budgetId, projectId); + +// List erpBudgetDetailList = erpBudgetInfo.getErpBudgetDetailList(); +// erpBudgetDetailList.forEach(erpBudgetDetail -> erpBudgetDetail.setBudgetId(budgetId)); +// +// List toDeletedRdEquipmentCostIdList = erpBudgetInfo.getToDeletedRdEquipmentCostIdList(); +// erpRdBudgetEquipmentCostMapper.deleteByIds(toDeletedRdEquipmentCostIdList); +// +// List toDeletedRdMaterialCostIdList = erpBudgetInfo.getToDeletedRdMaterialCostIdList(); +// erpRdBudgetMaterialCostMapper.deleteByIds(toDeletedRdMaterialCostIdList); +// +// List toDeletedRdTravelCostIdList = erpBudgetInfo.getToDeletedRdTravelCostIdList(); +// erpRdBudgetTravelCostMapper.deleteByIds(toDeletedRdTravelCostIdList); +// +// List toDeletedRdMeetingCostIdList = erpBudgetInfo.getToDeletedRdMeetingCostIdList(); +// erpRdBudgetMeetingCostMapper.deleteByIds(toDeletedRdMeetingCostIdList); +// +// List toDeletedRdExchangeCostIdList = erpBudgetInfo.getToDeletedRdExchangeCostIdList(); +// erpRdBudgetExchangeCostMapper.deleteByIds(toDeletedRdExchangeCostIdList); +// +// List toDeletedRdTechCostIdList = erpBudgetInfo.getToDeletedRdTechCostIdList(); +// erpRdBudgetTechCostMapper.deleteByIds(toDeletedRdTechCostIdList); +// +// List toDeletedRdLaborCostIdList = erpBudgetInfo.getToDeletedRdLaborCostIdList(); +// erpRdBudgetLaborCostMapper.deleteByIds(toDeletedRdLaborCostIdList); +// +// List toDeletedRdLiteratureCostIdList = erpBudgetInfo.getToDeletedRdLiteratureCostIdList(); +// erpRdBudgetLiteratureCostMapper.deleteByIds(toDeletedRdLiteratureCostIdList); +// +// List toDeletedRdTestingCostIdList = erpBudgetInfo.getToDeletedRdTestingCostIdList(); +// erpRdBudgetTestingCostMapper.deleteByIds(toDeletedRdTestingCostIdList); +// +// List toDeletedRdOtherCostIdList = erpBudgetInfo.getToDeletedRdOtherCostIdList(); +// erpRdBudgetOtherCostMapper.deleteByIds(toDeletedRdOtherCostIdList); +// +// +// List erpRdBudgetEquipmentCostList = erpBudgetInfo.getErpRdBudgetEquipmentCostList(); +// if (erpRdBudgetEquipmentCostList != null) { +// erpRdBudgetEquipmentCostList.forEach(erpRdBudgetEquipmentCost -> { +// erpRdBudgetEquipmentCost.setBudgetId(budgetId); +// erpRdBudgetEquipmentCost.setProjectId(projectId); +// }); +// } +// +// List erpRdBudgetMaterialCostList = erpBudgetInfo.getErpRdBudgetMaterialCostList(); +// if (erpRdBudgetMaterialCostList != null) { +// erpRdBudgetMaterialCostList.forEach(erpRdBudgetMaterialCost -> { +// erpRdBudgetMaterialCost.setBudgetId(budgetId); +// erpRdBudgetMaterialCost.setProjectId(projectId); +// }); +// } +// +// List erpRdBudgetTravelCostList = erpBudgetInfo.getErpRdBudgetTravelCostList(); +// if (erpRdBudgetTravelCostList != null) { +// erpRdBudgetTravelCostList.forEach(erpRdBudgetTravelCost -> { +// erpRdBudgetTravelCost.setBudgetId(budgetId); +// erpRdBudgetTravelCost.setProjectId(projectId); +// }); +// } +// +// List erpRdBudgetMeetingCostList = erpBudgetInfo.getErpRdBudgetMeetingCostList(); +// if (erpRdBudgetMeetingCostList != null) { +// erpRdBudgetMeetingCostList.forEach(erpRdBudgetMeetingCost -> { +// erpRdBudgetMeetingCost.setBudgetId(budgetId); +// erpRdBudgetMeetingCost.setProjectId(projectId); +// }); +// } +// +// List erpRdBudgetExchangeCostList = erpBudgetInfo.getErpRdBudgetExchangeCostList(); +// if (erpRdBudgetExchangeCostList != null) { +// erpRdBudgetExchangeCostList.forEach(erpRdBudgetExchangeCost -> { +// erpRdBudgetExchangeCost.setBudgetId(budgetId); +// erpRdBudgetExchangeCost.setProjectId(projectId); +// }); +// } +// +// List erpRdBudgetTechCostList = erpBudgetInfo.getErpRdBudgetTechCostList(); +// if (erpRdBudgetTechCostList != null) { +// erpRdBudgetTechCostList.forEach(erpRdBudgetTechCost -> { +// erpRdBudgetTechCost.setBudgetId(budgetId); +// erpRdBudgetTechCost.setProjectId(projectId); +// }); +// } +// +// List erpRdBudgetLaborCostList = erpBudgetInfo.getErpRdBudgetLaborCostList(); +// if (erpRdBudgetLaborCostList != null) { +// erpRdBudgetLaborCostList.forEach(erpRdBudgetLaborCost -> { +// erpRdBudgetLaborCost.setBudgetId(budgetId); +// erpRdBudgetLaborCost.setProjectId(projectId); +// }); +// } +// +// List erpRdBudgetLiteratureCostList = erpBudgetInfo.getErpRdBudgetLiteratureCostList(); +// if (erpRdBudgetLiteratureCostList != null) { +// erpRdBudgetLiteratureCostList.forEach(erpRdBudgetLiteratureCost -> { +// erpRdBudgetLiteratureCost.setBudgetId(budgetId); +// erpRdBudgetLiteratureCost.setProjectId(projectId); +// }); +// } +// +// List erpRdBudgetTestingCostList = erpBudgetInfo.getErpRdBudgetTestingCostList(); +// if (erpRdBudgetTestingCostList != null) { +// erpRdBudgetTestingCostList.forEach(erpRdBudgetTestingCost -> { +// erpRdBudgetTestingCost.setBudgetId(budgetId); +// erpRdBudgetTestingCost.setProjectId(projectId); +// }); +// } +// +// List erpRdBudgetOtherCostList = erpBudgetInfo.getErpRdBudgetOtherCostList(); +// if (erpRdBudgetOtherCostList != null) { +// erpRdBudgetOtherCostList.forEach(erpRdBudgetOtherCost -> { +// erpRdBudgetOtherCost.setBudgetId(budgetId); +// erpRdBudgetOtherCost.setProjectId(projectId); +// }); +// } +// +// +// erpBudgetDetailMapper.insertOrUpdateBatch(erpBudgetDetailList); +// erpRdBudgetEquipmentCostMapper.insertOrUpdateBatch(erpRdBudgetEquipmentCostList); +// erpRdBudgetMaterialCostMapper.insertOrUpdateBatch(erpRdBudgetMaterialCostList); +// erpRdBudgetTravelCostMapper.insertOrUpdateBatch(erpRdBudgetTravelCostList); +// erpRdBudgetMeetingCostMapper.insertOrUpdateBatch(erpRdBudgetMeetingCostList); +// erpRdBudgetExchangeCostMapper.insertOrUpdateBatch(erpRdBudgetExchangeCostList); +// erpRdBudgetTechCostMapper.insertOrUpdateBatch(erpRdBudgetTechCostList); +// erpRdBudgetLaborCostMapper.insertOrUpdateBatch(erpRdBudgetLaborCostList); +// erpRdBudgetLiteratureCostMapper.insertOrUpdateBatch(erpRdBudgetLiteratureCostList); +// erpRdBudgetTestingCostMapper.insertOrUpdateBatch(erpRdBudgetTestingCostList); +// erpRdBudgetOtherCostMapper.insertOrUpdateBatch(erpRdBudgetOtherCostList); + } + + + /** + * 处理预算明细信息 + * + * @param erpBudgetInfo 预算信息 + * @param budgetId 预算ID + */ + private void processRdBudgetDetails(ErpBudgetInfo erpBudgetInfo, Long budgetId) { + List detailList = erpBudgetInfo.getErpBudgetDetailList(); + if (detailList != null && !detailList.isEmpty()) { +// log.debug("处理预算明细,数量: {}", detailList.size()); + detailList.forEach(detail -> detail.setBudgetId(budgetId)); + erpBudgetDetailMapper.insertOrUpdateBatch(detailList); + } + } + + /** + * 批量处理所有删除操作 + * 使用批量执行减少数据库交互次数 + * + * @param erpBudgetInfo 预算信息 + */ + private void processRdBudgetDeletions(ErpBudgetInfo erpBudgetInfo) { + executeInBatch(() -> { + deleteIfNotEmpty(erpBudgetInfo.getToDeletedRdEquipmentCostIdList(), + erpRdBudgetEquipmentCostMapper::deleteByIds, "设备成本"); + deleteIfNotEmpty(erpBudgetInfo.getToDeletedRdMaterialCostIdList(), + erpRdBudgetMaterialCostMapper::deleteByIds, "材料成本"); + deleteIfNotEmpty(erpBudgetInfo.getToDeletedRdTravelCostIdList(), + erpRdBudgetTravelCostMapper::deleteByIds, "差旅成本"); + deleteIfNotEmpty(erpBudgetInfo.getToDeletedRdMeetingCostIdList(), + erpRdBudgetMeetingCostMapper::deleteByIds, "会议成本"); + deleteIfNotEmpty(erpBudgetInfo.getToDeletedRdExchangeCostIdList(), + erpRdBudgetExchangeCostMapper::deleteByIds, "交流成本"); + deleteIfNotEmpty(erpBudgetInfo.getToDeletedRdTechCostIdList(), + erpRdBudgetTechCostMapper::deleteByIds, "技术成本"); + deleteIfNotEmpty(erpBudgetInfo.getToDeletedRdLaborCostIdList(), + erpRdBudgetLaborCostMapper::deleteByIds, "人工成本"); + deleteIfNotEmpty(erpBudgetInfo.getToDeletedRdLiteratureCostIdList(), + erpRdBudgetLiteratureCostMapper::deleteByIds, "文献成本"); + deleteIfNotEmpty(erpBudgetInfo.getToDeletedRdTestingCostIdList(), + erpRdBudgetTestingCostMapper::deleteByIds, "测试成本"); + deleteIfNotEmpty(erpBudgetInfo.getToDeletedRdOtherCostIdList(), + erpRdBudgetOtherCostMapper::deleteByIds, "其他成本"); + }); + } + + /** + * 批量处理所有插入/更新操作 + * + * @param erpBudgetInfo 预算信息 + * @param budgetId 预算ID + * @param projectId 项目ID + */ + private void processRdBudgetInsertOrUpdates(ErpBudgetInfo erpBudgetInfo, Long budgetId, Long projectId) { + executeInBatch(() -> { + processCostList(erpBudgetInfo.getErpRdBudgetEquipmentCostList(), budgetId, projectId, + erpRdBudgetEquipmentCostMapper::insertOrUpdateBatch, ErpRdBudgetEquipmentCost.class); + processCostList(erpBudgetInfo.getErpRdBudgetMaterialCostList(), budgetId, projectId, + erpRdBudgetMaterialCostMapper::insertOrUpdateBatch, ErpRdBudgetMaterialCost.class); + processCostList(erpBudgetInfo.getErpRdBudgetTravelCostList(), budgetId, projectId, + erpRdBudgetTravelCostMapper::insertOrUpdateBatch, ErpRdBudgetTravelCost.class); + processCostList(erpBudgetInfo.getErpRdBudgetMeetingCostList(), budgetId, projectId, + erpRdBudgetMeetingCostMapper::insertOrUpdateBatch, ErpRdBudgetMeetingCost.class); + processCostList(erpBudgetInfo.getErpRdBudgetExchangeCostList(), budgetId, projectId, + erpRdBudgetExchangeCostMapper::insertOrUpdateBatch, ErpRdBudgetExchangeCost.class); + processCostList(erpBudgetInfo.getErpRdBudgetTechCostList(), budgetId, projectId, + erpRdBudgetTechCostMapper::insertOrUpdateBatch, ErpRdBudgetTechCost.class); + processCostList(erpBudgetInfo.getErpRdBudgetLaborCostList(), budgetId, projectId, + erpRdBudgetLaborCostMapper::insertOrUpdateBatch, ErpRdBudgetLaborCost.class); + processCostList(erpBudgetInfo.getErpRdBudgetLiteratureCostList(), budgetId, projectId, + erpRdBudgetLiteratureCostMapper::insertOrUpdateBatch, ErpRdBudgetLiteratureCost.class); + processCostList(erpBudgetInfo.getErpRdBudgetTestingCostList(), budgetId, projectId, + erpRdBudgetTestingCostMapper::insertOrUpdateBatch, ErpRdBudgetTestingCost.class); + processCostList(erpBudgetInfo.getErpRdBudgetOtherCostList(), budgetId, projectId, + erpRdBudgetOtherCostMapper::insertOrUpdateBatch, ErpRdBudgetOtherCost.class); + }); + } + + /** + * 通用方法:处理成本列表数据 + * + * @param costList 成本列表 + * @param budgetId 预算ID + * @param projectId 项目ID + * @param saveFunction 保存函数 + * @param clazz 成本类型Class + */ + private void processCostList(List costList, Long budgetId, Long projectId, + Consumer> saveFunction, Class clazz) { + if (costList != null && !costList.isEmpty()) { +// log.debug("处理{}成本数据,数量: {}", clazz.getSimpleName(), costList.size()); + setBudgetAndProjectIds(costList, budgetId, projectId, clazz); + saveFunction.accept(costList); + } + } + + /** + * 设置预算ID和项目ID到成本对象 + * 使用枚举方式避免大量的if-else判断 + * + * @param costList 成本列表 + * @param budgetId 预算ID + * @param projectId 项目ID + * @param clazz 成本类型Class + */ + private void setBudgetAndProjectIds(List costList, Long budgetId, Long projectId, Class clazz) { + RdBudgetCostEnums rdBudgetCostEnums = RdBudgetCostEnums.fromClass(clazz); + if (rdBudgetCostEnums != null) { + costList.forEach(cost -> rdBudgetCostEnums.getSetter().accept(cost, budgetId, projectId)); + } else { +// log.warn("未找到对应的CostType枚举,类名: {}", clazz.getName()); + } + } + + /** + * 如果ID列表不为空则执行删除 + * + * @param idList 要删除的ID列表 + * @param deleteFunction 删除执行函数 + * @param costTypeName 成本类型名称(用于日志) + */ + private void deleteIfNotEmpty(List idList, Consumer> deleteFunction, String costTypeName) { + if (idList != null && !idList.isEmpty()) { +// log.debug("删除{}数据,数量: {}", costTypeName, idList.size()); + deleteFunction.accept(idList); + } + } + + /** + * 批量执行任务 - 预留批量操作扩展点 + * + * @param task 要执行的任务 + */ + private void executeInBatch(Runnable task) { + // 这里可以添加批量操作的相关优化,如批量提交、性能监控等 + long startTime = System.currentTimeMillis(); + task.run(); + long endTime = System.currentTimeMillis(); +// log.debug("批量操作执行完成,耗时: {}ms", endTime - startTime); + } + /** * 校验并批量删除项目预算信息 * diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java index caf5f6da..0ea99429 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java @@ -1,8 +1,12 @@ package org.dromara.oa.erp.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.map.MapUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.extern.slf4j.Slf4j; +import org.dromara.common.core.constant.SystemConstants; import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.core.enums.OAStatusEnum; import org.dromara.common.core.utils.MapstructUtils; @@ -14,6 +18,7 @@ import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.RequiredArgsConstructor; import org.dromara.common.tenant.helper.TenantHelper; +import org.dromara.oa.erp.enums.ProjectCategoryEnum; import org.dromara.workflow.api.event.ProcessEvent; import org.springframework.context.event.EventListener; import org.springframework.stereotype.Service; @@ -227,4 +232,40 @@ public class ErpProjectInfoServiceImpl implements IErpProjectInfoService { }); } + + /** + * 分页查询项目信息列表,供选择使用 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 项目信息分页列表 + */ + @Override + public TableDataInfo queryPageList4Select(ErpProjectInfoBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper4Select(bo); + Page result = baseMapper.selectCustomErpProjectInfoVoList(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + + private MPJLambdaWrapper buildQueryWrapper4Select(ErpProjectInfoBo bo) { + MPJLambdaWrapper wrapper = JoinWrappers.lambda(ErpProjectInfo.class); + wrapper.like(StringUtils.isNotBlank(bo.getProjectCode()), ErpProjectInfo::getProjectCode, bo.getProjectCode()) + .like(StringUtils.isNotBlank(bo.getProjectName()), ErpProjectInfo::getProjectName, bo.getProjectName()) + .and(w -> + { + if(StringUtils.isNotBlank(bo.getProjectCategory()) && bo.getProjectCategory().equals(ProjectCategoryEnum.MARKET.getCode())){ + w.eq(StringUtils.isNotBlank(bo.getProjectCategory()) ,ErpProjectInfo::getProjectCategory, ProjectCategoryEnum.MARKET.getCode()) + .or().eq(StringUtils.isNotBlank(bo.getProjectCategory()) ,ErpProjectInfo::getProjectCategory, ProjectCategoryEnum.MARKET_PART.getCode()); + }else if(StringUtils.isNotBlank(bo.getProjectCategory()) && bo.getProjectCategory().equals(ProjectCategoryEnum.RD.getCode())){ + w.eq(StringUtils.isNotBlank(bo.getProjectCategory()) ,ErpProjectInfo::getProjectCategory, ProjectCategoryEnum.RD.getCode()) + .or().eq(StringUtils.isNotBlank(bo.getProjectCategory()) ,ErpProjectInfo::getProjectCategory, ProjectCategoryEnum.PRE_PRODUCTION.getCode()); + } + + }).orderByDesc(ErpProjectInfo::getCreateTime);; + + return wrapper; + + } + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java index 237170a5..ec0b58d5 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java @@ -305,4 +305,13 @@ public class SysUserController extends BaseController { return R.ok(userService.selectUserListByDept(deptId)); } + + /** + * 下拉框查询用户列表 + */ + @GetMapping("/getUserList") + public R> getUserList(SysUserBo bo) { + List list = userService.selectUserList(); + return R.ok(list); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java index 13c74cab..94a85885 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java @@ -274,4 +274,11 @@ public interface ISysUserService { */ List selectUserIdsByRoleIds(List roleIds); + /** + * 查询所有用户 + * + * @return 用户信息集合信息 + */ + public List selectUserList(); + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index e0b309cb..c30cf2fd 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -680,4 +680,17 @@ public class SysUserServiceImpl implements ISysUserService { return ObjectUtils.notNullGetter(sysUser, SysUser::getEmail); } + + /** + * 查询所有用户 + * + * @return 用户信息集合信息 + */ + @Override + public List selectUserList() { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(SysUser::getNickName); + return baseMapper.selectVoList(lqw); + } + }