feat (farm): 物种库

- 物种库 三级拼接规则
This commit is contained in:
达富斌
2025-08-24 22:23:24 +08:00
parent e696248c80
commit 2d5ae4222b
6 changed files with 74 additions and 2 deletions

View File

@@ -18,6 +18,7 @@ public class SysDictReqVO {
private String dictTypeCode; private String dictTypeCode;
private String field1Code; private String field1Code;
private String field2Code; private String field2Code;
private String field3Code;
private Integer deleted; private Integer deleted;
public SysDictReqVO(String dictTypeCode, String field1Code,Integer deleted) { public SysDictReqVO(String dictTypeCode, String field1Code,Integer deleted) {

View File

@@ -0,0 +1,22 @@
package cn.iocoder.yudao.module.farm.controller.admin.dict.vo.sys;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @description: 物种 三级合并发挥
* code:10/1010/101011
* name:粮食/红薯丝滑
* @author: binda
* @date: 2025/8/24 22:14
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SysDictThreeLvRespVO {
private String codes;
private String names;
}

View File

@@ -16,6 +16,7 @@ import java.util.List;
public interface SysDictMapper { public interface SysDictMapper {
SysDictDO selectDictByMaxField2Code(SysDictReqVO reqVO); SysDictDO selectDictByMaxField2Code(SysDictReqVO reqVO);
SysDictDO getDictByField3Code(SysDictReqVO reqVO);
SysDictDO selectDictByOne(SysDictReqVO reqVO); SysDictDO selectDictByOne(SysDictReqVO reqVO);

View File

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.farm.service.sysDict;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.SpeciesClassifyLibraryRespVO; import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.SpeciesClassifyLibraryRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.sys.SysDictPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.sys.SysDictPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.sys.SysDictThreeLvRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.FarmingNameMaintenancePageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.FarmingNameMaintenancePageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.FarmingNameMaintenanceSaveReqVO; import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.FarmingNameMaintenanceSaveReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenancePageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenancePageReqVO;
@@ -31,6 +32,8 @@ public interface SysDictService {
List<SpeciesClassifyLibraryRespVO> getSpeciesClassifyAndModelList(); List<SpeciesClassifyLibraryRespVO> getSpeciesClassifyAndModelList();
SysDictThreeLvRespVO getDictByField3Code(String field3Code);
/** /**
* 农事类型 * 农事类型
*/ */

View File

@@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.SpeciesClassifyLibraryRespVO; import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.SpeciesClassifyLibraryRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.sys.SysDictPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.sys.SysDictPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.sys.SysDictReqVO; import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.sys.SysDictReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.sys.SysDictThreeLvRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.FarmingNameMaintenancePageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.FarmingNameMaintenancePageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.FarmingNameMaintenanceSaveReqVO; import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.FarmingNameMaintenanceSaveReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenancePageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenancePageReqVO;
@@ -20,6 +21,7 @@ import cn.iocoder.yudao.module.farm.utils.StrHelperUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.MessageFormat;
import java.util.*; import java.util.*;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -194,6 +196,20 @@ public class SysDictServiceImpl implements SysDictService {
return rootList; return rootList;
} }
@Override
public SysDictThreeLvRespVO getDictByField3Code(String field3Code) {
SysDictReqVO query = new SysDictReqVO();
query.setDictTypeCode(CommonConstants.DICT_TYPE_CODE_3);
query.setField3Code(field3Code);
SysDictDO obj = sysDictMapper.getDictByField3Code(query);
String codes = MessageFormat.format("{0}/{1}/{2}", obj.getField1Code(), obj.getField2Code(), obj.getField3Code());
String names = MessageFormat.format("{0}/{1}/{2}", obj.getField1Name(), obj.getField2Name(), obj.getField3Name());
return new SysDictThreeLvRespVO(codes,names);
}
@Override @Override
public PageResult<FarmingTypeMaintenanceDO> getFarmingTypeMaintenancePage(FarmingTypeMaintenancePageReqVO reqVO) { public PageResult<FarmingTypeMaintenanceDO> getFarmingTypeMaintenancePage(FarmingTypeMaintenancePageReqVO reqVO) {

View File

@@ -27,12 +27,41 @@
update_time update_time
</sql> </sql>
<select id="selectDictByMaxField2Code" resultType="cn.iocoder.yudao.module.farm.dal.mysql.sysDict.SysDictDO"> <select id="selectDictByMaxField2Code"
parameterType="cn.iocoder.yudao.module.farm.controller.admin.dict.vo.sys.SysDictReqVO"
resultType="cn.iocoder.yudao.module.farm.dal.mysql.sysDict.SysDictDO">
SELECT id,field1_code, field1_name, field2_name, field3_code SELECT id,field1_code, field1_name, field2_name, field3_code
FROM farm_sys_dict FROM farm_sys_dict
WHERE dict_type_code = #{dictTypeCode} AND field2_code = #{field2Name} WHERE dict_type_code = #{dictTypeCode} AND field2_code = #{field2Code}
ORDER BY field3_code DESC ORDER BY field3_code DESC
LIMIT 1 LIMIT 1
</select>
<select id="getDictByField3Code"
parameterType="cn.iocoder.yudao.module.farm.controller.admin.dict.vo.sys.SysDictReqVO"
resultType="cn.iocoder.yudao.module.farm.dal.mysql.sysDict.SysDictDO">
SELECT field1_code, field1_name, field2_name, field2_code, field3_code, field3_name
FROM farm_sys_dict
<where>
deleted = 0
<if test="dictTypeCode != null and dictTypeCode != ''">
AND dict_type_code = #{dictTypeCode}
</if>
<if test="field1Code != null and field1Code != ''">
AND field1_code = #{field1Code}
</if>
<if test="field2Code != null and field2Code != ''">
AND field2_code = #{field2Code}
</if>
<if test="field3Code != null and field3Code != ''">
AND field3_code = #{field3Code}
</if>
</where>
DESC LIMIT 1
</select> </select>
<select id="selectDictByOne" <select id="selectDictByOne"