feat (farm): 农事报表
- 农事任务分类统计 - 种植类信息 - 投入品分类统计/金额统计
This commit is contained in:
@@ -267,7 +267,7 @@ public class CropFarmingCenterController {
|
|||||||
|
|
||||||
@Operation(summary = "农事报表")
|
@Operation(summary = "农事报表")
|
||||||
@GetMapping("/farming-report/1")
|
@GetMapping("/farming-report/1")
|
||||||
public CommonResult<List<FarmingReport1RespVO>> getFarmReport(FarmingReport1ReqVO req) {
|
public CommonResult<List<FarmingReport1RespVO>> getFarmReport(ChartCommonReqVO req) {
|
||||||
List<FarmingReport1RespVO> res = cropFarmingCenterService.getFarmReport(req);
|
List<FarmingReport1RespVO> res = cropFarmingCenterService.getFarmReport(req);
|
||||||
return success(res);
|
return success(res);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class FarmingReport1RespVO {
|
|||||||
@Schema(description = "持续天数")
|
@Schema(description = "持续天数")
|
||||||
private Integer intervalDays;
|
private Integer intervalDays;
|
||||||
|
|
||||||
@Schema(description = "投入品ID", example = "30559")
|
@Schema(description = "投入品ID")
|
||||||
private String inputId;
|
private String inputId;
|
||||||
private String inputName;
|
private String inputName;
|
||||||
|
|
||||||
|
|||||||
@@ -38,4 +38,7 @@ public class InputUsageRecordsSaveReqVO {
|
|||||||
@Schema(description = "备注", example = "随便")
|
@Schema(description = "备注", example = "随便")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
private String baseId;
|
||||||
|
private String plotId;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.farm.framework.util.ImageCollectionUtil;
|
|||||||
import com.baomidou.mybatisplus.annotation.*;
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -46,6 +47,8 @@ public class FarmingRecordDO extends BaseDO {
|
|||||||
* 任务时间
|
* 任务时间
|
||||||
*/
|
*/
|
||||||
private String taskTime;
|
private String taskTime;
|
||||||
|
private LocalDate taskStartDate;
|
||||||
|
private LocalDate taskEndDate;
|
||||||
/**
|
/**
|
||||||
* 任务计划 (0: 未开始; 1: 开始; 2: 结束;)
|
* 任务计划 (0: 未开始; 1: 开始; 2: 结束;)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ package cn.iocoder.yudao.module.farm.dal.mysql.inputlibrary;
|
|||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.FarmingReport1RespVO;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.chart.ChartCommonReqVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.chart.ChartCommonReqVO;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.chart.InputUsageChartRespVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.chart.InputUsageChartRespVO;
|
||||||
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;
|
||||||
@@ -33,4 +34,6 @@ public interface InputUsageRecordsMapper extends BaseMapperX<InputUsageRecordsDO
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<InputUsageChartRespVO> getInputUsageChart(ChartCommonReqVO req);
|
List<InputUsageChartRespVO> getInputUsageChart(ChartCommonReqVO req);
|
||||||
|
|
||||||
|
List<FarmingReport1RespVO> getFarmReport(ChartCommonReqVO req);
|
||||||
}
|
}
|
||||||
@@ -74,7 +74,7 @@ public interface CropFarmingCenterService {
|
|||||||
|
|
||||||
List<FarmingRecordReportRespVO> getFcReport(FarmingRecordReportReqVO req);
|
List<FarmingRecordReportRespVO> getFcReport(FarmingRecordReportReqVO req);
|
||||||
|
|
||||||
List<FarmingReport1RespVO> getFarmReport(FarmingReport1ReqVO req);
|
List<FarmingReport1RespVO> getFarmReport(ChartCommonReqVO req);
|
||||||
|
|
||||||
List<FarmTypeChartRespVO> getFarmTypeChart(ChartCommonReqVO req);
|
List<FarmTypeChartRespVO> getFarmTypeChart(ChartCommonReqVO req);
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanag
|
|||||||
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.models.vo.ModelManagementRespVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.models.vo.ModelManagementRespVO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO;
|
import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecord.FarmingRecordDO;
|
import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecord.FarmingRecordDO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputUsageRecordsDO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO;
|
import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.modelmanagement.ModelManagementDO;
|
import cn.iocoder.yudao.module.farm.dal.dataobject.modelmanagement.ModelManagementDO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.PersonnelManagementDO;
|
import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.PersonnelManagementDO;
|
||||||
@@ -712,15 +713,8 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<FarmingReport1RespVO> getFarmReport(FarmingReport1ReqVO req) {
|
public List<FarmingReport1RespVO> getFarmReport(ChartCommonReqVO req) {
|
||||||
List<FarmingReport1RespVO> res = new ArrayList<>();
|
return inputUsageRecordsMapper.getFarmReport(req);
|
||||||
|
|
||||||
List<FarmingRecordDO> farmingRecordDOS = farmingRecordMapper.selectList();
|
|
||||||
for (FarmingRecordDO f : farmingRecordDOS) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -735,7 +729,6 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<InputUsageChartRespVO> getInputUsageChart(ChartCommonReqVO req) {
|
public List<InputUsageChartRespVO> getInputUsageChart(ChartCommonReqVO req) {
|
||||||
|
|
||||||
return inputUsageRecordsMapper.getInputUsageChart(req);
|
return inputUsageRecordsMapper.getInputUsageChart(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,4 +44,49 @@
|
|||||||
ORDER BY usageAmount DESC
|
ORDER BY usageAmount DESC
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getFarmReport"
|
||||||
|
parameterType="cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.chart.ChartCommonReqVO"
|
||||||
|
resultType="cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.FarmingReport1RespVO">
|
||||||
|
SELECT
|
||||||
|
fpp.base_id AS baseId,
|
||||||
|
fpp.base_name AS baseName,
|
||||||
|
fpp.plan_number AS planNumber,
|
||||||
|
ffr.task_start_date AS taskStartDate,
|
||||||
|
ffr.task_end_date AS taskEndDate,
|
||||||
|
DATEDIFF(ffr.task_end_date, ffr.task_start_date) AS intervalDays,
|
||||||
|
fiur.input_id AS inputId,
|
||||||
|
fiur.input_name AS inputName,
|
||||||
|
fiur.total_price AS inputTotalPrice,
|
||||||
|
fiur.usage_amount AS usageAmount,
|
||||||
|
fiur.current_spec_type AS currentSpecType,
|
||||||
|
CASE
|
||||||
|
WHEN fiur.current_spec_type = 1 THEN fiur.unit
|
||||||
|
WHEN fiur.current_spec_type = 2 THEN fiur.spec
|
||||||
|
ELSE fiur.unit
|
||||||
|
END AS unit
|
||||||
|
FROM farm_input_usage_records fiur
|
||||||
|
INNER JOIN farm_farming_record ffr ON fiur.farm_record_id = ffr.id
|
||||||
|
INNER JOIN farm_production_plan fpp ON ffr.production_plan_id = fpp.id
|
||||||
|
<where>
|
||||||
|
fiur.deleted = 0
|
||||||
|
<if test="tenantId != null">
|
||||||
|
AND fiur.tenant_id = #{tenantId}
|
||||||
|
</if>
|
||||||
|
<if test="yearDate != null">
|
||||||
|
AND YEAR(ffr.task_start_date) = #{yearDate}
|
||||||
|
</if>
|
||||||
|
<if test="baseId != null and baseId != ''">
|
||||||
|
AND fiur.base_id = #{baseId}
|
||||||
|
</if>
|
||||||
|
<if test="plotId != null and plotId != ''">
|
||||||
|
AND fiur.plot_id = #{plotId}
|
||||||
|
</if>
|
||||||
|
<if test="state != null and state != ''">
|
||||||
|
AND fpp.plan_status = #{state}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
ORDER BY ffr.task_start_date DESC
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user