refactor (farm): 投入品重构
- 涉及到的模块: - 基础数据管理 - 投入品 (模版类型) - 模型管理 - 农事记录 - 投入品(引用类型) - 生产中心 - 农事记录 - 投入品使用记录
This commit is contained in:
@@ -27,6 +27,7 @@ public class FarmingRecordCreateReqVO {
|
|||||||
|
|
||||||
@Schema(description = "生产计划ID", example = "24782")
|
@Schema(description = "生产计划ID", example = "24782")
|
||||||
private String productionPlanId;
|
private String productionPlanId;
|
||||||
|
private String modelFarmingOperationId;
|
||||||
|
|
||||||
@Schema(description = "执行人ID列表")
|
@Schema(description = "执行人ID列表")
|
||||||
private List<String> executor;
|
private List<String> executor;
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatam
|
|||||||
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.InputLibraryRespVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.InputLibraryRespVO;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.InputLibrarySaveReqVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.InputLibrarySaveReqVO;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.inputs.*;
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.inputs.*;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.usagerecords.InputUsageRecordsPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.usagerecords.InputUsageRecordsRespVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.usagerecords.InputUsageRecordsSaveReqVO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputsDO;
|
import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputsDO;
|
||||||
import cn.iocoder.yudao.module.farm.manager.inputs.InputsManager;
|
import cn.iocoder.yudao.module.farm.manager.inputs.InputsManager;
|
||||||
import cn.iocoder.yudao.module.farm.service.inputlibrary.InputsService;
|
import cn.iocoder.yudao.module.farm.service.inputlibrary.InputsService;
|
||||||
@@ -114,9 +117,30 @@ public class InputLibraryController {
|
|||||||
|
|
||||||
@GetMapping("/drop-down-box")
|
@GetMapping("/drop-down-box")
|
||||||
@Operation(summary = "投入品下拉框")
|
@Operation(summary = "投入品下拉框")
|
||||||
public CommonResult<List<InputsDropDownListRespVO>> syncInputLibrary() {
|
public CommonResult<List<InputsDropDownListRespVO>> getDropDownList() {
|
||||||
List<InputsDropDownListRespVO> res = inputsManager.getInputsDropDownList();
|
List<InputsDropDownListRespVO> res = inputsManager.getInputsDropDownList();
|
||||||
return success(res);
|
return success(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @GetMapping("/drop-down-box/reference-type")
|
||||||
|
// @Operation(summary = "投入品下拉框(引用类型)")
|
||||||
|
// @Parameter(name = "frId", description = "农事记录ID", required = true, example = "1024")
|
||||||
|
// public CommonResult<List<InputsDropDownListForReferenceRespVO>> getDropDownListForReference(String frId) {
|
||||||
|
// List<InputsDropDownListForReferenceRespVO> res = inputsManager.getInputsDropDownListForReference(frId);
|
||||||
|
// return success(res);
|
||||||
|
// }
|
||||||
|
|
||||||
|
@GetMapping("/usage-records/page")
|
||||||
|
@Operation(summary = "投入品使用日志-分页)")
|
||||||
|
public CommonResult<PageResult<InputUsageRecordsRespVO>> getInputUsageRecordsPage(InputUsageRecordsPageReqVO reqVO) {
|
||||||
|
PageResult<InputUsageRecordsRespVO> pageResult = inputsManager.getInputUsageRecordsPage(reqVO);
|
||||||
|
return success(pageResult);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/usage-records/create")
|
||||||
|
@Operation(summary = "投入品使用日志-新增)")
|
||||||
|
public CommonResult<String> createInputUsageRecords(InputUsageRecordsSaveReqVO req) {
|
||||||
|
inputsManager.createInputUsageRecords(req);
|
||||||
|
return success("success");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.inputs;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: TODO
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/10/20 21:58
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class InputsDropDownListForReferenceRespVO {
|
||||||
|
|
||||||
|
private String id;
|
||||||
|
@Schema(description = "投入品名称")
|
||||||
|
private String inputName;
|
||||||
|
|
||||||
|
@Schema(description = "投入品分类 (1: 模版分类; 2: 引用分类)")
|
||||||
|
private Integer inputCategory;
|
||||||
|
private String inputCategoryName;
|
||||||
|
|
||||||
|
@Schema(description = "投入品用量")
|
||||||
|
private Integer inputUsage;
|
||||||
|
@Schema(description = " 当前规格类型 (1: 按单品; 2: 按规格)")
|
||||||
|
private Integer currentSpecType;
|
||||||
|
private String currentSpecTypeName;
|
||||||
|
|
||||||
|
@Schema(description = "投入品单价")
|
||||||
|
private BigDecimal inputPrice;
|
||||||
|
@Schema(description = "投入品规格")
|
||||||
|
private String inputSpec;
|
||||||
|
@Schema(description = "投入品单位")
|
||||||
|
private String inputUnit;
|
||||||
|
private String inputUnitName;
|
||||||
|
@Schema(description = "投入品规格单位")
|
||||||
|
private String specUnit;
|
||||||
|
private String specUnitName;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -72,7 +72,7 @@ public class InputsRespVO {
|
|||||||
|
|
||||||
@Schema(description = "创建时间")
|
@Schema(description = "创建时间")
|
||||||
@ExcelProperty("创建时间")
|
@ExcelProperty("创建时间")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
@Schema(description = "可用库存数量")
|
@Schema(description = "可用库存数量")
|
||||||
@@ -94,4 +94,5 @@ public class InputsRespVO {
|
|||||||
private String activePrinciple;
|
private String activePrinciple;
|
||||||
// 稀释倍液 非必填
|
// 稀释倍液 非必填
|
||||||
private Integer diluted;
|
private Integer diluted;
|
||||||
|
private String sourceId;
|
||||||
}
|
}
|
||||||
@@ -33,6 +33,9 @@ public class InputsSaveReqVO {
|
|||||||
@Schema(description = "投入品规格单位")
|
@Schema(description = "投入品规格单位")
|
||||||
private String specUnit;
|
private String specUnit;
|
||||||
|
|
||||||
|
@Schema(description = "当前规格类型 (1: 按单品; 2: 按规格)")
|
||||||
|
private Integer currentSpecType;
|
||||||
|
|
||||||
@Schema(description = "投入品用量")
|
@Schema(description = "投入品用量")
|
||||||
private Integer inputUsage;
|
private Integer inputUsage;
|
||||||
|
|
||||||
@@ -55,4 +58,6 @@ public class InputsSaveReqVO {
|
|||||||
private String activePrinciple;
|
private String activePrinciple;
|
||||||
// 稀释倍液 非必填
|
// 稀释倍液 非必填
|
||||||
private Integer diluted;
|
private Integer diluted;
|
||||||
|
// 回显ID
|
||||||
|
private String sourceId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,24 +20,24 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
|
|||||||
@Data
|
@Data
|
||||||
public class InputUsageRecordsPageReqVO extends PageParam {
|
public class InputUsageRecordsPageReqVO extends PageParam {
|
||||||
|
|
||||||
@Schema(description = "投入品ID", example = "30559")
|
// @Schema(description = "投入品ID", example = "30559")
|
||||||
private String inputId;
|
// private String inputId;
|
||||||
|
|
||||||
@Schema(description = "农事记录ID", example = "26500")
|
@Schema(description = "种植中心-农事记录ID")
|
||||||
private String farmRecordId;
|
private String farmRecordId;
|
||||||
|
|
||||||
@Schema(description = "用量")
|
// @Schema(description = "用量")
|
||||||
private BigDecimal usageAmount;
|
// private BigDecimal usageAmount;
|
||||||
|
//
|
||||||
@Schema(description = "单价", example = "280")
|
// @Schema(description = "单价", example = "280")
|
||||||
private BigDecimal unitPrice;
|
// private BigDecimal unitPrice;
|
||||||
|
//
|
||||||
@Schema(description = "总价", example = "29353")
|
// @Schema(description = "总价", example = "29353")
|
||||||
private BigDecimal totalPrice;
|
// private BigDecimal totalPrice;
|
||||||
|
//
|
||||||
@Schema(description = "备注", example = "随便")
|
// @Schema(description = "备注", example = "随便")
|
||||||
private String remark;
|
// private String remark;
|
||||||
|
//
|
||||||
@Schema(description = "创建时间")
|
@Schema(description = "创建时间")
|
||||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
private LocalDateTime[] createTime;
|
private LocalDateTime[] createTime;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.usagerecords;
|
package cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.usagerecords;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
@@ -25,6 +26,7 @@ public class InputUsageRecordsRespVO {
|
|||||||
@Schema(description = "投入品ID", example = "30559")
|
@Schema(description = "投入品ID", example = "30559")
|
||||||
@ExcelProperty("投入品ID")
|
@ExcelProperty("投入品ID")
|
||||||
private String inputId;
|
private String inputId;
|
||||||
|
private String inputName;
|
||||||
|
|
||||||
@Schema(description = "农事记录ID", example = "26500")
|
@Schema(description = "农事记录ID", example = "26500")
|
||||||
@ExcelProperty("农事记录ID")
|
@ExcelProperty("农事记录ID")
|
||||||
@@ -32,7 +34,18 @@ public class InputUsageRecordsRespVO {
|
|||||||
|
|
||||||
@Schema(description = "用量")
|
@Schema(description = "用量")
|
||||||
@ExcelProperty("用量")
|
@ExcelProperty("用量")
|
||||||
private BigDecimal usageAmount;
|
private Integer usageAmount;
|
||||||
|
|
||||||
|
@Schema(description = "当前规格类型")
|
||||||
|
private Integer currentSpecType;
|
||||||
|
private String currentSpecTypeName;
|
||||||
|
|
||||||
|
@Schema(description = "规格")
|
||||||
|
private Integer spec;
|
||||||
|
private String specName;
|
||||||
|
@Schema(description = "单位")
|
||||||
|
private Integer unit;
|
||||||
|
private String unitName;
|
||||||
|
|
||||||
@Schema(description = "单价", example = "280")
|
@Schema(description = "单价", example = "280")
|
||||||
@ExcelProperty("单价")
|
@ExcelProperty("单价")
|
||||||
@@ -48,6 +61,7 @@ public class InputUsageRecordsRespVO {
|
|||||||
|
|
||||||
@Schema(description = "创建时间")
|
@Schema(description = "创建时间")
|
||||||
@ExcelProperty("创建时间")
|
@ExcelProperty("创建时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -22,14 +22,17 @@ public class InputUsageRecordsSaveReqVO {
|
|||||||
|
|
||||||
@Schema(description = "农事记录ID", example = "26500")
|
@Schema(description = "农事记录ID", example = "26500")
|
||||||
private String farmRecordId;
|
private String farmRecordId;
|
||||||
|
@Schema(description = "当前使用规格")
|
||||||
|
private Integer currentSpecType; // 当前使用规格
|
||||||
@Schema(description = "用量")
|
@Schema(description = "用量")
|
||||||
private BigDecimal usageAmount;
|
private Integer usageAmount;
|
||||||
|
@Schema(description = "单价")
|
||||||
@Schema(description = "单价", example = "280")
|
|
||||||
private BigDecimal unitPrice;
|
private BigDecimal unitPrice;
|
||||||
|
@Schema(description = "规格")
|
||||||
@Schema(description = "总价", example = "29353")
|
private Integer spec;
|
||||||
|
@Schema(description = "单位")
|
||||||
|
private Integer unit;
|
||||||
|
@Schema(description = "总价")
|
||||||
private BigDecimal totalPrice;
|
private BigDecimal totalPrice;
|
||||||
|
|
||||||
@Schema(description = "备注", example = "随便")
|
@Schema(description = "备注", example = "随便")
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.modelfarmingoperation;
|
package cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.modelfarmingoperation;
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.inputs.InputsRespVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.inputs.InputsRespVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.inputs.InputsSaveReqVO;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.modelfarmingoperation.vo.ModelFarmingOperationPageReqVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.modelfarmingoperation.vo.ModelFarmingOperationPageReqVO;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.modelfarmingoperation.vo.ModelFarmingOperationRespVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.modelfarmingoperation.vo.ModelFarmingOperationRespVO;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.modelfarmingoperation.vo.ModelFarmingOperationSaveReqVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.modelfarmingoperation.vo.ModelFarmingOperationSaveReqVO;
|
||||||
@@ -46,9 +47,10 @@ public class ModelFarmingOperationController {
|
|||||||
|
|
||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
@Operation(summary = "创建模型管理-农事操作")
|
@Operation(summary = "创建模型管理-农事操作")
|
||||||
|
|
||||||
public CommonResult<String> createModelFarmingOperation(@Valid @RequestBody ModelFarmingOperationSaveReqVO createReqVO) {
|
public CommonResult<String> createModelFarmingOperation(@Valid @RequestBody ModelFarmingOperationSaveReqVO createReqVO) {
|
||||||
return success(modelFarmingOperationService.createModelFarmingOperation(createReqVO));
|
String id = modelFarmingOperationService.createModelFarmingOperation(createReqVO);
|
||||||
|
inputsManager.createInputsForReferenceType(id,createReqVO.getInputsSaveReqVOList());
|
||||||
|
return success(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping("/update")
|
@PutMapping("/update")
|
||||||
@@ -56,6 +58,8 @@ public class ModelFarmingOperationController {
|
|||||||
|
|
||||||
public CommonResult<Boolean> updateModelFarmingOperation(@Valid @RequestBody ModelFarmingOperationSaveReqVO updateReqVO) {
|
public CommonResult<Boolean> updateModelFarmingOperation(@Valid @RequestBody ModelFarmingOperationSaveReqVO updateReqVO) {
|
||||||
modelFarmingOperationService.updateModelFarmingOperation(updateReqVO);
|
modelFarmingOperationService.updateModelFarmingOperation(updateReqVO);
|
||||||
|
String id = updateReqVO.getId();
|
||||||
|
inputsManager.createInputsForReferenceType(id,updateReqVO.getInputsSaveReqVOList());
|
||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.modelfarmingoperation.vo;
|
package cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.modelfarmingoperation.vo;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.inputs.InputsSaveReqVO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO;
|
import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -52,4 +53,7 @@ public class ModelFarmingOperationSaveReqVO {
|
|||||||
private String tenantId;
|
private String tenantId;
|
||||||
private String farmingId;
|
private String farmingId;
|
||||||
private List<ModelFarmingOperationInputDO> investGoodsList;
|
private List<ModelFarmingOperationInputDO> investGoodsList;
|
||||||
|
|
||||||
|
@Schema(description = "投入品集合")
|
||||||
|
private List<InputsSaveReqVO> inputsSaveReqVOList;
|
||||||
}
|
}
|
||||||
@@ -32,26 +32,31 @@ public class InputUsageRecordsDO extends BaseDO {
|
|||||||
* 投入品ID
|
* 投入品ID
|
||||||
*/
|
*/
|
||||||
private String inputId;
|
private String inputId;
|
||||||
|
private String inputName;
|
||||||
/**
|
/**
|
||||||
* 农事记录ID
|
* 农事记录ID
|
||||||
*/
|
*/
|
||||||
private String farmRecordId;
|
private String farmRecordId;
|
||||||
/**
|
|
||||||
* 用量
|
private Integer currentSpecType; // 当前使用规格
|
||||||
*/
|
@TableField(exist = false)
|
||||||
private BigDecimal usageAmount;
|
private String currentSpecTypeName;
|
||||||
/**
|
|
||||||
* 单价
|
private Integer usageAmount; // 用量
|
||||||
*/
|
private BigDecimal unitPrice; // 单价
|
||||||
private BigDecimal unitPrice;
|
|
||||||
/**
|
private String spec; // 规格
|
||||||
* 总价
|
@TableField(exist = false)
|
||||||
*/
|
private String specName;
|
||||||
private BigDecimal totalPrice;
|
|
||||||
|
private String unit; // 单位
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String unitName;
|
||||||
|
|
||||||
|
private BigDecimal totalPrice; // 总价
|
||||||
/**
|
/**
|
||||||
* 备注
|
* 备注
|
||||||
*/
|
*/
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -119,4 +119,6 @@ public class InputsDO extends BaseDO {
|
|||||||
private String activePrinciple;
|
private String activePrinciple;
|
||||||
// 稀释倍液 非必填
|
// 稀释倍液 非必填
|
||||||
private Integer diluted;
|
private Integer diluted;
|
||||||
|
// 原始的主键ID, 用于回显 (只有引用类型才会存在该字段值)
|
||||||
|
private String sourceId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,14 +18,14 @@ public interface InputUsageRecordsMapper extends BaseMapperX<InputUsageRecordsDO
|
|||||||
|
|
||||||
default PageResult<InputUsageRecordsDO> selectPage(InputUsageRecordsPageReqVO reqVO) {
|
default PageResult<InputUsageRecordsDO> selectPage(InputUsageRecordsPageReqVO reqVO) {
|
||||||
return selectPage(reqVO, new LambdaQueryWrapperX<InputUsageRecordsDO>()
|
return selectPage(reqVO, new LambdaQueryWrapperX<InputUsageRecordsDO>()
|
||||||
.eqIfPresent(InputUsageRecordsDO::getInputId, reqVO.getInputId())
|
// .eqIfPresent(InputUsageRecordsDO::getInputId, reqVO.getInputId())
|
||||||
.eqIfPresent(InputUsageRecordsDO::getFarmRecordId, reqVO.getFarmRecordId())
|
.eqIfPresent(InputUsageRecordsDO::getFarmRecordId, reqVO.getFarmRecordId())
|
||||||
.eqIfPresent(InputUsageRecordsDO::getUsageAmount, reqVO.getUsageAmount())
|
// .eqIfPresent(InputUsageRecordsDO::getUsageAmount, reqVO.getUsageAmount())
|
||||||
.eqIfPresent(InputUsageRecordsDO::getUnitPrice, reqVO.getUnitPrice())
|
// .eqIfPresent(InputUsageRecordsDO::getUnitPrice, reqVO.getUnitPrice())
|
||||||
.eqIfPresent(InputUsageRecordsDO::getTotalPrice, reqVO.getTotalPrice())
|
// .eqIfPresent(InputUsageRecordsDO::getTotalPrice, reqVO.getTotalPrice())
|
||||||
.eqIfPresent(InputUsageRecordsDO::getRemark, reqVO.getRemark())
|
// .eqIfPresent(InputUsageRecordsDO::getRemark, reqVO.getRemark())
|
||||||
.betweenIfPresent(InputUsageRecordsDO::getCreateTime, reqVO.getCreateTime())
|
.betweenIfPresent(InputUsageRecordsDO::getCreateTime, reqVO.getCreateTime())
|
||||||
.orderByDesc(InputUsageRecordsDO::getId));
|
.orderByDesc(InputUsageRecordsDO::getCreateTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,10 @@ package cn.iocoder.yudao.module.farm.manager.inputs;
|
|||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.inputs.*;
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.inputs.*;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.usagerecords.InputUsageRecordsPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.usagerecords.InputUsageRecordsRespVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.usagerecords.InputUsageRecordsSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputUsageRecordsDO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputsDO;
|
import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputsDO;
|
||||||
import cn.iocoder.yudao.module.farm.enums.CommonConstants;
|
import cn.iocoder.yudao.module.farm.enums.CommonConstants;
|
||||||
import cn.iocoder.yudao.module.farm.manager.inputs.dto.wms.InputCategoryDTO;
|
import cn.iocoder.yudao.module.farm.manager.inputs.dto.wms.InputCategoryDTO;
|
||||||
@@ -17,10 +21,7 @@ import org.apache.commons.lang3.ObjectUtils;
|
|||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.*;
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.module.farm.enums.CommonConstants.*;
|
import static cn.iocoder.yudao.module.farm.enums.CommonConstants.*;
|
||||||
@@ -166,27 +167,45 @@ public class InputsManager {
|
|||||||
* =================================================
|
* =================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public void createInputsForReferenceType(List<InputsSaveReqVO> req) {
|
public void createInputsForReferenceType(String fId,List<InputsSaveReqVO> req) {
|
||||||
|
|
||||||
|
StringBuilder ids = new StringBuilder();
|
||||||
for (InputsSaveReqVO i : req) {
|
for (InputsSaveReqVO i : req) {
|
||||||
if (!ObjectUtils.notEqual(i.getInputCategory(), INPUT_CATEGORY_1)) {
|
if (!ObjectUtils.notEqual(i.getInputCategory(), INPUT_CATEGORY_1)) {
|
||||||
// 模版类型 直接新增
|
// 模版类型 直接新增
|
||||||
|
String sourceId = i.getId();
|
||||||
|
i.setSourceId(sourceId);
|
||||||
i.setInputCategory(INPUT_TYPE_2);
|
i.setInputCategory(INPUT_TYPE_2);
|
||||||
String id = inputsService.createInputs(i);
|
String id = inputsService.createInputs(i);
|
||||||
|
ids.append(id).append(",");
|
||||||
} else {
|
} else {
|
||||||
continue;
|
// 先删除
|
||||||
|
inputsService.deleteInputs(i.getId());
|
||||||
|
// 后新增
|
||||||
|
i.setInputCategory(INPUT_TYPE_2);
|
||||||
|
i.setId(null);
|
||||||
|
String id = inputsService.createInputs(i);
|
||||||
|
ids.append(id).append(",");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ids.length() > 0) {
|
||||||
|
modelFarmingOperationService.updateModelFarmingOperationForInputIds(fId,ids);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public List<InputsRespVO> getInputsPageForReferenceType(String mfId) {
|
public List<InputsRespVO> getInputsPageForReferenceType(String mfId) {
|
||||||
|
|
||||||
Map<String, String> inputTypeNameMap = this.getDictTypeMap(ASSET_TYPE);
|
Map<String, String> inputTypeNameMap = this.getDictTypeMap(ASSET_TYPE);
|
||||||
Map<String, String> itemsNameMap = this.getDictTypeMap(ITEMS_UNIT);
|
Map<String, String> itemsNameMap = this.getDictTypeMap(ITEMS_UNIT);
|
||||||
Map<String, String> specificationNameMap = this.getDictTypeMap(SPECIFICATION_PRICE);
|
Map<String, String> specificationNameMap = this.getDictTypeMap(SPECIFICATION_PRICE);
|
||||||
|
|
||||||
List<String> ids = modelFarmingOperationService.getModelFarmingOperationInputIds(mfId);
|
List<String> ids = modelFarmingOperationService.getModelFarmingOperationInputIds(mfId);
|
||||||
|
if (ObjectUtils.isEmpty(ids)) {
|
||||||
|
return Collections.EMPTY_LIST;
|
||||||
|
}
|
||||||
|
|
||||||
List<InputsDO> iList = inputsService.getInputsByIds(ids);
|
List<InputsDO> iList = inputsService.getInputsByIds(ids);
|
||||||
iList.stream().forEach(e -> {
|
iList.stream().forEach(e -> {
|
||||||
@@ -195,10 +214,28 @@ public class InputsManager {
|
|||||||
|
|
||||||
List<InputsRespVO> res = BeanUtils.toBean(iList, InputsRespVO.class);
|
List<InputsRespVO> res = BeanUtils.toBean(iList, InputsRespVO.class);
|
||||||
return res;
|
return res;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List<InputsDropDownListForReferenceRespVO> getInputsDropDownListForReference(String modelFoId) {
|
||||||
|
Map<String, String> inputTypeNameMap = this.getDictTypeMap(ASSET_TYPE);
|
||||||
|
Map<String, String> itemsNameMap = this.getDictTypeMap(ITEMS_UNIT);
|
||||||
|
Map<String, String> specificationNameMap = this.getDictTypeMap(SPECIFICATION_PRICE);
|
||||||
|
|
||||||
|
List<String> ids = modelFarmingOperationService.getModelFarmingOperationInputIds(modelFoId);
|
||||||
|
if (ObjectUtils.isEmpty(ids)) {
|
||||||
|
return Collections.EMPTY_LIST;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<InputsDO> iList = inputsService.getInputsByIds(ids);
|
||||||
|
iList.stream().forEach(e -> {
|
||||||
|
covertStr(e, inputTypeNameMap, itemsNameMap, specificationNameMap);
|
||||||
|
});
|
||||||
|
|
||||||
|
List<InputsDropDownListForReferenceRespVO> res = BeanUtils.toBean(iList, InputsDropDownListForReferenceRespVO.class);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -221,9 +258,24 @@ public class InputsManager {
|
|||||||
* ===============================
|
* ===============================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public void createInputUsageRecords(InputsSaveReqVO req) {
|
public void createInputUsageRecords(InputUsageRecordsSaveReqVO req) {
|
||||||
|
inputUsageRecordsService.createInputUsageRecords(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public PageResult<InputUsageRecordsRespVO> getInputUsageRecordsPage(InputUsageRecordsPageReqVO req) {
|
||||||
|
|
||||||
|
Map<String, String> itemsNameMap = this.getDictTypeMap(ITEMS_UNIT);
|
||||||
|
Map<String, String> specificationNameMap = this.getDictTypeMap(SPECIFICATION_PRICE);
|
||||||
|
|
||||||
|
PageResult<InputUsageRecordsDO> inputUsageRecordsPage = inputUsageRecordsService.getInputUsageRecordsPage(req);
|
||||||
|
for (InputUsageRecordsDO e : inputUsageRecordsPage.getList()) {
|
||||||
|
e.setCurrentSpecTypeName(CURRENT_SPEC_TYPE_MAP.get(e.getCurrentSpecType()));
|
||||||
|
e.setUnitName(itemsNameMap.get(e.getUnit()));
|
||||||
|
e.setSpecName(specificationNameMap.get(e.getSpec()));
|
||||||
|
}
|
||||||
|
return BeanUtils.toBean(inputUsageRecordsPage, InputUsageRecordsRespVO.class);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,6 +162,7 @@ public class FarmingRecordServiceImpl implements FarmingRecordService {
|
|||||||
@Override
|
@Override
|
||||||
public String createFarmingRecordNew(FarmingRecordCreateReqVO createReqVO) {
|
public String createFarmingRecordNew(FarmingRecordCreateReqVO createReqVO) {
|
||||||
LoginUser user = getLoginUser();
|
LoginUser user = getLoginUser();
|
||||||
|
String taskScope = createReqVO.getTaskScope();
|
||||||
|
|
||||||
// 转换时间格式:取第一个时间作为任务时间
|
// 转换时间格式:取第一个时间作为任务时间
|
||||||
String taskTime = null;
|
String taskTime = null;
|
||||||
@@ -179,6 +180,8 @@ public class FarmingRecordServiceImpl implements FarmingRecordService {
|
|||||||
executor = String.join(",", createReqVO.getExecutor());
|
executor = String.join(",", createReqVO.getExecutor());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String modelFarmingOperationId = ""; // TODO: 2025/10/21
|
||||||
|
|
||||||
// 创建FarmingRecordSaveReqVO对象
|
// 创建FarmingRecordSaveReqVO对象
|
||||||
FarmingRecordSaveReqVO saveReqVO = new FarmingRecordSaveReqVO();
|
FarmingRecordSaveReqVO saveReqVO = new FarmingRecordSaveReqVO();
|
||||||
saveReqVO.setTaskType(createReqVO.getTaskType());
|
saveReqVO.setTaskType(createReqVO.getTaskType());
|
||||||
@@ -187,6 +190,7 @@ public class FarmingRecordServiceImpl implements FarmingRecordService {
|
|||||||
saveReqVO.setTaskTime(taskTime);
|
saveReqVO.setTaskTime(taskTime);
|
||||||
saveReqVO.setPlotId(createReqVO.getPlotId());
|
saveReqVO.setPlotId(createReqVO.getPlotId());
|
||||||
saveReqVO.setProductionPlanId(createReqVO.getProductionPlanId());
|
saveReqVO.setProductionPlanId(createReqVO.getProductionPlanId());
|
||||||
|
saveReqVO.setModelFarmingOperationId(modelFarmingOperationId);
|
||||||
saveReqVO.setExecutor(executor);
|
saveReqVO.setExecutor(executor);
|
||||||
saveReqVO.setDayLaborer(createReqVO.getDayLaborer());
|
saveReqVO.setDayLaborer(createReqVO.getDayLaborer());
|
||||||
saveReqVO.setActualLaborCost(createReqVO.getActualLaborCost());
|
saveReqVO.setActualLaborCost(createReqVO.getActualLaborCost());
|
||||||
@@ -198,28 +202,28 @@ public class FarmingRecordServiceImpl implements FarmingRecordService {
|
|||||||
saveReqVO.setTenantId(createReqVO.getTenantId());
|
saveReqVO.setTenantId(createReqVO.getTenantId());
|
||||||
|
|
||||||
// 转换投入品列表
|
// 转换投入品列表
|
||||||
if (createReqVO.getInvestGoodsList() != null && !createReqVO.getInvestGoodsList().isEmpty()) {
|
// if (createReqVO.getInvestGoodsList() != null && !createReqVO.getInvestGoodsList().isEmpty()) {
|
||||||
List<FarmingRecordInputDO> inputList = createReqVO.getInvestGoodsList().stream()
|
// List<FarmingRecordInputDO> inputList = createReqVO.getInvestGoodsList().stream()
|
||||||
.map(item -> {
|
// .map(item -> {
|
||||||
FarmingRecordInputDO input = new FarmingRecordInputDO();
|
// FarmingRecordInputDO input = new FarmingRecordInputDO();
|
||||||
input.setId(IdUtil.fastUUID());
|
// input.setId(IdUtil.fastUUID());
|
||||||
input.setDosage(item.getDose());
|
// input.setDosage(item.getDose());
|
||||||
input.setUsage(item.getUsage());
|
// input.setUsage(item.getUsage());
|
||||||
input.setInputParentCategory(item.getAssetType()); // 投入品-父类
|
// input.setInputParentCategory(item.getAssetType()); // 投入品-父类
|
||||||
input.setInputChildCategory(item.getInputsId()); // 投入品-子类
|
// input.setInputChildCategory(item.getInputsId()); // 投入品-子类
|
||||||
input.setSingleUseOption(item.getUnit()); // 单位用量
|
// input.setSingleUseOption(item.getUnit()); // 单位用量
|
||||||
input.setSingleUseUnit(item.getPackageUnit()); // 单件单位
|
// input.setSingleUseUnit(item.getPackageUnit()); // 单件单位
|
||||||
input.setDilutionRatio(item.getDiluted()); // 稀释倍液
|
// input.setDilutionRatio(item.getDiluted()); // 稀释倍液
|
||||||
|
//
|
||||||
input.setBaseId(createReqVO.getBaseId());
|
// input.setBaseId(createReqVO.getBaseId());
|
||||||
input.setBaseName(createReqVO.getBaseName());
|
// input.setBaseName(createReqVO.getBaseName());
|
||||||
input.setPlotId(createReqVO.getPlotId());
|
// input.setPlotId(createReqVO.getPlotId());
|
||||||
input.setPlotName(createReqVO.getPlotName());
|
// input.setPlotName(createReqVO.getPlotName());
|
||||||
input.setTenantId(createReqVO.getTenantId());
|
// input.setTenantId(createReqVO.getTenantId());
|
||||||
return input;
|
// return input;
|
||||||
}).collect(Collectors.toList());
|
// }).collect(Collectors.toList());
|
||||||
saveReqVO.setInvestGoodsList(inputList);
|
// saveReqVO.setInvestGoodsList(inputList);
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 调用原有的创建方法
|
// 调用原有的创建方法
|
||||||
return createFarmingRecord(saveReqVO);
|
return createFarmingRecord(saveReqVO);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package cn.iocoder.yudao.module.farm.service.inputlibrary;
|
package cn.iocoder.yudao.module.farm.service.inputlibrary;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.usagerecords.InputUsageRecordsPageReqVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.usagerecords.InputUsageRecordsPageReqVO;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.usagerecords.InputUsageRecordsSaveReqVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.usagerecords.InputUsageRecordsSaveReqVO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputUsageRecordsDO;
|
import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputUsageRecordsDO;
|
||||||
@@ -27,8 +28,10 @@ public class InputUsageRecordsServiceImpl implements InputUsageRecordsService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String createInputUsageRecords(InputUsageRecordsSaveReqVO createReqVO) {
|
public String createInputUsageRecords(InputUsageRecordsSaveReqVO createReqVO) {
|
||||||
|
String id = IdUtil.fastUUID();
|
||||||
// 插入
|
// 插入
|
||||||
InputUsageRecordsDO inputUsageRecords = BeanUtils.toBean(createReqVO, InputUsageRecordsDO.class);
|
InputUsageRecordsDO inputUsageRecords = BeanUtils.toBean(createReqVO, InputUsageRecordsDO.class);
|
||||||
|
inputUsageRecords.setId(id);
|
||||||
inputUsageRecordsMapper.insert(inputUsageRecords);
|
inputUsageRecordsMapper.insert(inputUsageRecords);
|
||||||
|
|
||||||
// 返回
|
// 返回
|
||||||
|
|||||||
@@ -67,4 +67,6 @@ public interface ModelFarmingOperationService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<String> getModelFarmingOperationInputIds(String mfId);
|
List<String> getModelFarmingOperationInputIds(String mfId);
|
||||||
|
|
||||||
|
void updateModelFarmingOperationForInputIds(String fId, StringBuilder ids);
|
||||||
}
|
}
|
||||||
@@ -15,10 +15,13 @@ import cn.iocoder.yudao.module.farm.dal.mysql.sysDict.SysDictDO;
|
|||||||
import cn.iocoder.yudao.module.farm.enums.CommonConstants;
|
import cn.iocoder.yudao.module.farm.enums.CommonConstants;
|
||||||
import cn.iocoder.yudao.module.farm.service.sysDict.SysDictService;
|
import cn.iocoder.yudao.module.farm.service.sysDict.SysDictService;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -51,11 +54,11 @@ public class ModelFarmingOperationServiceImpl implements ModelFarmingOperationSe
|
|||||||
modelFarmingOperation.setId(IdUtil.fastUUID());
|
modelFarmingOperation.setId(IdUtil.fastUUID());
|
||||||
modelFarmingOperation.setTenantId(String.valueOf(user.getTenantId()));
|
modelFarmingOperation.setTenantId(String.valueOf(user.getTenantId()));
|
||||||
modelFarmingOperationMapper.insert(modelFarmingOperation);
|
modelFarmingOperationMapper.insert(modelFarmingOperation);
|
||||||
createReqVO.getInvestGoodsList().forEach(e -> {
|
// createReqVO.getInvestGoodsList().forEach(e -> {
|
||||||
e.setId(IdUtil.fastUUID());
|
// e.setId(IdUtil.fastUUID());
|
||||||
e.setFarmingId(modelFarmingOperation.getId());
|
// e.setFarmingId(modelFarmingOperation.getId());
|
||||||
modelFarmingOperationInputMapper.insert(e);
|
// modelFarmingOperationInputMapper.insert(e);
|
||||||
});
|
// });
|
||||||
// 返回
|
// 返回
|
||||||
return modelFarmingOperation.getId();
|
return modelFarmingOperation.getId();
|
||||||
}
|
}
|
||||||
@@ -68,11 +71,11 @@ public class ModelFarmingOperationServiceImpl implements ModelFarmingOperationSe
|
|||||||
ModelFarmingOperationDO updateObj = BeanUtils.toBean(updateReqVO, ModelFarmingOperationDO.class);
|
ModelFarmingOperationDO updateObj = BeanUtils.toBean(updateReqVO, ModelFarmingOperationDO.class);
|
||||||
modelFarmingOperationMapper.updateById(updateObj);
|
modelFarmingOperationMapper.updateById(updateObj);
|
||||||
modelFarmingOperationInputMapper.deleteByFarmingId(updateObj.getId());
|
modelFarmingOperationInputMapper.deleteByFarmingId(updateObj.getId());
|
||||||
updateReqVO.getInvestGoodsList().forEach(e -> {
|
// updateReqVO.getInvestGoodsList().forEach(e -> {
|
||||||
e.setId(IdUtil.fastUUID());
|
// e.setId(IdUtil.fastUUID());
|
||||||
e.setFarmingId(updateObj.getId());
|
// e.setFarmingId(updateObj.getId());
|
||||||
modelFarmingOperationInputMapper.insert(e);
|
// modelFarmingOperationInputMapper.insert(e);
|
||||||
});
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -127,11 +130,25 @@ public class ModelFarmingOperationServiceImpl implements ModelFarmingOperationSe
|
|||||||
@Override
|
@Override
|
||||||
public List<String> getModelFarmingOperationInputIds(String mfId) {
|
public List<String> getModelFarmingOperationInputIds(String mfId) {
|
||||||
ModelFarmingOperationDO modelFarmingOperationDO = modelFarmingOperationMapper.selectById(mfId);
|
ModelFarmingOperationDO modelFarmingOperationDO = modelFarmingOperationMapper.selectById(mfId);
|
||||||
|
if (ObjectUtils.isEmpty(modelFarmingOperationDO)) {
|
||||||
|
return Collections.EMPTY_LIST;
|
||||||
|
}
|
||||||
String inputsIds = modelFarmingOperationDO.getInputsIds();
|
String inputsIds = modelFarmingOperationDO.getInputsIds();
|
||||||
|
if (StringUtils.isEmpty(inputsIds)) {
|
||||||
|
return Collections.EMPTY_LIST;
|
||||||
|
}
|
||||||
return Arrays.stream(inputsIds.split(","))
|
return Arrays.stream(inputsIds.split(","))
|
||||||
.map(String::trim)
|
.map(String::trim)
|
||||||
.filter(s -> !s.isEmpty())
|
.filter(s -> !s.isEmpty())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateModelFarmingOperationForInputIds(String fId, StringBuilder ids) {
|
||||||
|
ModelFarmingOperationDO aDo = new ModelFarmingOperationDO();
|
||||||
|
aDo.setId(fId);
|
||||||
|
aDo.setInputsIds(ids.toString());
|
||||||
|
modelFarmingOperationMapper.updateById(aDo);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|||||||
import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils;
|
import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.inputlibrary.vo.inputs.InputsRespVO;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.modelcycle.vo.ModelCycleRespVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.modelcycle.vo.ModelCycleRespVO;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.modelfarmingoperation.vo.ModelFarmingOperationRespVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.modelfarmingoperation.vo.ModelFarmingOperationRespVO;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.models.vo.ModelManagementForPlanRespVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.models.vo.ModelManagementForPlanRespVO;
|
||||||
@@ -35,6 +36,7 @@ import cn.iocoder.yudao.module.farm.dal.mysql.modelweatherdisaster.ModelWeatherD
|
|||||||
import cn.iocoder.yudao.module.farm.dal.mysql.personnelmanagement.SystemUserMapper;
|
import cn.iocoder.yudao.module.farm.dal.mysql.personnelmanagement.SystemUserMapper;
|
||||||
import cn.iocoder.yudao.module.farm.enums.CommonConstants;
|
import cn.iocoder.yudao.module.farm.enums.CommonConstants;
|
||||||
import cn.iocoder.yudao.module.farm.framework.util.ModelManagementConvertUtil;
|
import cn.iocoder.yudao.module.farm.framework.util.ModelManagementConvertUtil;
|
||||||
|
import cn.iocoder.yudao.module.farm.manager.inputs.InputsManager;
|
||||||
import cn.iocoder.yudao.module.farm.service.inputlibrary.InputLibraryService;
|
import cn.iocoder.yudao.module.farm.service.inputlibrary.InputLibraryService;
|
||||||
import cn.iocoder.yudao.module.farm.service.specieslibrary.SpeciesLibraryService;
|
import cn.iocoder.yudao.module.farm.service.specieslibrary.SpeciesLibraryService;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
@@ -83,6 +85,8 @@ public class ModelManagementServiceImpl implements ModelManagementService {
|
|||||||
private SystemUserMapper systemUserMapper;
|
private SystemUserMapper systemUserMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private FarmingRecordMapper farmingRecordMapper;
|
private FarmingRecordMapper farmingRecordMapper;
|
||||||
|
@Resource
|
||||||
|
private InputsManager inputsManager;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String createModelManagement(ModelManagementSaveReqVO createReqVO) {
|
public String createModelManagement(ModelManagementSaveReqVO createReqVO) {
|
||||||
@@ -336,14 +340,16 @@ public class ModelManagementServiceImpl implements ModelManagementService {
|
|||||||
List<ModelFarmingOperationRespVO> respVOS = new ArrayList<>();
|
List<ModelFarmingOperationRespVO> respVOS = new ArrayList<>();
|
||||||
farmingOperationDO.forEach(e -> {
|
farmingOperationDO.forEach(e -> {
|
||||||
ModelFarmingOperationRespVO respVO = BeanUtils.toBean(e, ModelFarmingOperationRespVO.class);
|
ModelFarmingOperationRespVO respVO = BeanUtils.toBean(e, ModelFarmingOperationRespVO.class);
|
||||||
List<ModelFarmingOperationInputDO> farmingOperationInputDOS = modelFarmingOperationInputMapper.selectByFarmingId(e.getId());
|
// List<ModelFarmingOperationInputDO> farmingOperationInputDOS = modelFarmingOperationInputMapper.selectByFarmingId(e.getId());
|
||||||
for (ModelFarmingOperationInputDO aDo : farmingOperationInputDOS) {
|
// for (ModelFarmingOperationInputDO aDo : farmingOperationInputDOS) {
|
||||||
InputLibraryDO inputLibrary = inputLibraryService.getInputLibrary(aDo.getInputsId());
|
// InputLibraryDO inputLibrary = inputLibraryService.getInputLibrary(aDo.getInputsId());
|
||||||
aDo.setInputsName(inputLibrary.getAssetName());
|
// aDo.setInputsName(inputLibrary.getAssetName());
|
||||||
aDo.setUnitName(DictFrameworkUtils.parseDictDataLabel("asset_unit", aDo.getUnit()));
|
// aDo.setUnitName(DictFrameworkUtils.parseDictDataLabel("asset_unit", aDo.getUnit()));
|
||||||
aDo.setPackageUnitName(DictFrameworkUtils.parseDictDataLabel("asset_price", aDo.getPackageUnit()));
|
// aDo.setPackageUnitName(DictFrameworkUtils.parseDictDataLabel("asset_price", aDo.getPackageUnit()));
|
||||||
}
|
// }
|
||||||
respVO.setFarmingOperationInputDOS(farmingOperationInputDOS);
|
// respVO.setFarmingOperationInputDOS(farmingOperationInputDOS);
|
||||||
|
List<InputsRespVO> inputs = inputsManager.getInputsPageForReferenceType(respVO.getId());
|
||||||
|
respVO.setFarmingOperationInputVOS(inputs);
|
||||||
|
|
||||||
int usableType = this.getModelFarmingOperationForUsableType(e.getId());
|
int usableType = this.getModelFarmingOperationForUsableType(e.getId());
|
||||||
respVO.setUsableType(usableType);
|
respVO.setUsableType(usableType);
|
||||||
|
|||||||
Reference in New Issue
Block a user