diff --git a/zhyc-admin/src/main/resources/application-druid.yml b/zhyc-admin/src/main/resources/application-druid.yml index 2351abb..0970b07 100644 --- a/zhyc-admin/src/main/resources/application-druid.yml +++ b/zhyc-admin/src/main/resources/application-druid.yml @@ -6,7 +6,7 @@ spring: druid: # 主库数据源 master: -# url: jdbc:mysql://146.56.214.124:3306/zhyc?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 +# url: jdbc:mysql://localhost:3306/zhyc?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 # username: zhyc # password: zhyc1234 url: jdbc:mysql://118.182.97.76:3306/zhyc?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 diff --git a/zhyc-module/src/main/java/com/zhyc/module/base/controller/DaSheepfoldController.java b/zhyc-module/src/main/java/com/zhyc/module/base/controller/DaSheepfoldController.java index 01463d0..f937d5a 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/base/controller/DaSheepfoldController.java +++ b/zhyc-module/src/main/java/com/zhyc/module/base/controller/DaSheepfoldController.java @@ -50,6 +50,7 @@ public class DaSheepfoldController extends BaseController /** * 主表格:羊舍级别汇总列表 */ + @PreAuthorize("@ss.hasPermi('sheepfold_management:sheepfold_management:list')") @GetMapping("/summaryList") public TableDataInfo summaryList(DaSheepfold daSheepfold) { startPage(); diff --git a/zhyc-module/src/main/java/com/zhyc/module/base/controller/SheepFileController.java b/zhyc-module/src/main/java/com/zhyc/module/base/controller/SheepFileController.java index f718ba3..e114931 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/base/controller/SheepFileController.java +++ b/zhyc-module/src/main/java/com/zhyc/module/base/controller/SheepFileController.java @@ -8,6 +8,7 @@ import com.zhyc.common.core.page.TableDataInfo; import com.zhyc.common.core.text.Convert; import com.zhyc.common.enums.BusinessType; import com.zhyc.common.utils.poi.ExcelUtil; +import com.zhyc.module.base.domain.BasSheep; import com.zhyc.module.base.domain.SheepFile; import com.zhyc.module.base.service.ISheepFileService; import org.apache.commons.lang3.StringUtils; @@ -139,7 +140,7 @@ public class SheepFileController extends BaseController PageHelper.startPage(pageNum, pageSize); // 调用支持复杂查询的Service方法 - List list = sheepFileService.selectSheepFileListByCondition(customParams, sheepFile); + List list = sheepFileService.selectSheepFileListByCondition( sheepFile,customParams); return getDataTable(list); } @@ -255,7 +256,7 @@ public class SheepFileController extends BaseController } // 3. 获取数据并执行行过滤 - List list = sheepFileService.selectSheepFileListByCondition(customParams, sheepFile); + List list = sheepFileService.selectSheepFileListByCondition(sheepFile,customParams); if (StringUtils.isNotBlank(exportIdsStr)) { List exportIdList = Arrays.asList(exportIdsStr.split(",")); list = list.stream() @@ -332,28 +333,28 @@ public class SheepFileController extends BaseController @GetMapping("/stat/sheepType") public AjaxResult statSheepType() { - return success(sheepFileService.countBySheepType()); + return success(sheepFileService.countBySheepType(new SheepFile())); } @GetMapping("/stat/breedStatus") public AjaxResult statBreedStatus() { - return success(sheepFileService.countByBreedStatus()); + return success(sheepFileService.countByBreedStatus(new SheepFile())); } @GetMapping("/stat/variety") public AjaxResult statVariety() { - return success(sheepFileService.countByVariety()); + return success(sheepFileService.countByVariety(new SheepFile())); } @GetMapping("/stat/lactationParity") public AjaxResult statLactationParity() { - return success(sheepFileService.countParityOfLactation()); + return success(sheepFileService.countParityOfLactation(new SheepFile())); } // 在群总数 @GetMapping("/stat/inGroupCount") public AjaxResult inGroupCount() { - return success(sheepFileService.countInGroup()); + return success(sheepFileService.countInGroup(new SheepFile())); } /** diff --git a/zhyc-module/src/main/java/com/zhyc/module/base/domain/DaSheepfold.java b/zhyc-module/src/main/java/com/zhyc/module/base/domain/DaSheepfold.java index a5a0a27..3e6b23b 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/base/domain/DaSheepfold.java +++ b/zhyc-module/src/main/java/com/zhyc/module/base/domain/DaSheepfold.java @@ -19,70 +19,6 @@ public class DaSheepfold extends BaseEntity { private static final long serialVersionUID = 1L; - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getRanchId() { - return ranchId; - } - - public void setRanchId(Long ranchId) { - this.ranchId = ranchId; - } - - public String getSheepfoldName() { - return sheepfoldName; - } - - public void setSheepfoldName(String sheepfoldName) { - this.sheepfoldName = sheepfoldName; - } - - public Long getSheepfoldTypeId() { - return sheepfoldTypeId; - } - - public void setSheepfoldTypeId(Long sheepfoldTypeId) { - this.sheepfoldTypeId = sheepfoldTypeId; - } - - public String getSheepfoldNo() { - return sheepfoldNo; - } - - public void setSheepfoldNo(String sheepfoldNo) { - this.sheepfoldNo = sheepfoldNo; - } - - public String getRowNo() { - return rowNo; - } - - public void setRowNo(String rowNo) { - this.rowNo = rowNo; - } - - public String getColumns() { - return columns; - } - - public void setColumns(String columns) { - this.columns = columns; - } - - public String getComment() { - return comment; - } - - public void setComment(String comment) { - this.comment = comment; - } - /** 羊舍id */ @Excel(name = "羊舍id") private Long id; @@ -127,20 +63,4 @@ public class DaSheepfold extends BaseEntity /** 部门编号 */ private Long deptId; - - public Long getUserId() { - return userId; - } - - public void setUserId(Long userId) { - this.userId = userId; - } - - public Long getDeptId() { - return deptId; - } - - public void setDeptId(Long deptId) { - this.deptId = deptId; - } } diff --git a/zhyc-module/src/main/java/com/zhyc/module/base/mapper/SheepFileMapper.java b/zhyc-module/src/main/java/com/zhyc/module/base/mapper/SheepFileMapper.java index 909955d..334eb5a 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/base/mapper/SheepFileMapper.java +++ b/zhyc-module/src/main/java/com/zhyc/module/base/mapper/SheepFileMapper.java @@ -3,8 +3,6 @@ package com.zhyc.module.base.mapper; import com.zhyc.module.base.domain.SheepFile; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.ResultMap; -import org.apache.ibatis.annotations.SelectProvider; import java.util.List; import java.util.Map; @@ -50,19 +48,19 @@ public interface SheepFileMapper SheepFile selectSheepByManageTags(String tags); // 在群羊只总数 - Long countInGroup(); + Long countInGroup(SheepFile sheep); // 羊只类别分布(按 name 分组) - List> countBySheepType(); + List> countBySheepType(SheepFile sheep); // 繁育状态分布(按 breed 分组) - List> countByBreedStatus(); + List> countByBreedStatus(SheepFile sheep); // 品种分布(按 variety 分组) - List> countByVariety(); + List> countByVariety(SheepFile sheep); // 泌乳羊胎次分布(name = '泌乳羊' 时按 parity 分组) - List> countParityOfLactation(); + List> countParityOfLactation(SheepFile sheep); /** * 获取指定字段的唯一值列表 (配合 XML 中的 selectFieldValues) @@ -75,22 +73,22 @@ public interface SheepFileMapper * 必须使用 @Param 注解以便 XML 能正确识别两个参数 */ List selectSheepFileListByCondition( - @Param("params") Map params, - @Param("sheepFile") SheepFile sheepFile - ); - - /** - * 保留原有 Provider 方法 (若项目其他地方有用到) - */ - @SelectProvider(type = SheepFileSqlProvider.class, method = "selectByCondition") - @ResultMap("SheepFileResult") - List selectByCondition( @Param("sheepFile") SheepFile sheepFile, - @Param("conditions") Map conditions + @Param("params") Map params ); - @SelectProvider(type = SheepFileSqlProvider.class, method = "selectFieldValues") - List selectFieldValuesByProvider(@Param("fieldName") String fieldName); +// /** +// * 保留原有 Provider 方法 (若项目其他地方有用到) +// */ +// @SelectProvider(type = SheepFileSqlProvider.class, method = "selectByCondition") +// @ResultMap("SheepFileResult") +// List selectByCondition( +// @Param("sheepFile") SheepFile sheepFile, +// @Param("conditions") Map conditions +// ); +// +// @SelectProvider(type = SheepFileSqlProvider.class, method = "selectFieldValues") +// List selectFieldValuesByProvider(@Param("fieldName") String fieldName); /** * 查询所有公羊(gender=2) diff --git a/zhyc-module/src/main/java/com/zhyc/module/base/service/ISheepFileService.java b/zhyc-module/src/main/java/com/zhyc/module/base/service/ISheepFileService.java index c90d97a..7e53adc 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/base/service/ISheepFileService.java +++ b/zhyc-module/src/main/java/com/zhyc/module/base/service/ISheepFileService.java @@ -1,6 +1,7 @@ package com.zhyc.module.base.service; import com.zhyc.module.base.domain.SheepFile; +import io.lettuce.core.dynamic.annotation.Param; import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -34,26 +35,21 @@ public interface ISheepFileService SheepFile selectBasSheepByManageTags(String trim); - Long countInGroup(); + Long countInGroup(SheepFile sheepFile); - List> countBySheepType(); - List> countByBreedStatus(); - List> countByVariety(); - List> countParityOfLactation(); + List> countBySheepType(SheepFile sheepFile); + List> countByBreedStatus(SheepFile sheepFile); + List> countByVariety(SheepFile sheepFile); + List> countParityOfLactation(SheepFile sheepFile); /** * 获取指定字段的唯一值列表 */ List getFieldValues(String fieldName); - /** - * 根据复杂条件查询羊只档案列表 - * @param params 自定义参数Map (用于动态SQL) - * @param sheepFile 包含List筛选条件的实体对象 - */ List selectSheepFileListByCondition( - Map params, - SheepFile sheepFile + @Param("sheepFile") SheepFile sheepFile, + @Param("params") Map params ); @Transactional diff --git a/zhyc-module/src/main/java/com/zhyc/module/base/service/impl/DaSheepfoldServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/base/service/impl/DaSheepfoldServiceImpl.java index 1ab33d5..4596bfc 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/base/service/impl/DaSheepfoldServiceImpl.java +++ b/zhyc-module/src/main/java/com/zhyc/module/base/service/impl/DaSheepfoldServiceImpl.java @@ -63,8 +63,10 @@ public class DaSheepfoldServiceImpl implements IDaSheepfoldService * 羊舍级别汇总查询(主表格) */ @DataScope(deptAlias = "ds", userAlias = "ds") + @Override public List selectDaSheepfoldSummaryList(DaSheepfold daSheepfold) { - return daSheepfoldMapper.selectDaSheepfoldSummaryList(daSheepfold); + List sheepfoldList = daSheepfoldMapper.selectDaSheepfoldSummaryList(daSheepfold); + return sheepfoldList; } /** diff --git a/zhyc-module/src/main/java/com/zhyc/module/base/service/impl/SheepFileServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/base/service/impl/SheepFileServiceImpl.java index 960e54f..3afe226 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/base/service/impl/SheepFileServiceImpl.java +++ b/zhyc-module/src/main/java/com/zhyc/module/base/service/impl/SheepFileServiceImpl.java @@ -2,6 +2,7 @@ package com.zhyc.module.base.service.impl; // 新增这一行导入 import com.zhyc.common.annotation.DataScope; +import com.zhyc.module.base.domain.BasSheep; import com.zhyc.module.base.domain.BreedRamFile; import com.zhyc.module.base.domain.SheepFile; import com.zhyc.module.base.mapper.SheepFileMapper; @@ -61,31 +62,33 @@ public class SheepFileServiceImpl implements ISheepFileService { @DataScope(deptAlias = "sf", userAlias = "sf") @Override - public List> countBySheepType() { - return sheepFileMapper.countBySheepType(); + public List> countBySheepType(SheepFile sheepFile) { + return sheepFileMapper.countBySheepType(sheepFile); } @DataScope(deptAlias = "sf", userAlias = "sf") @Override - public List> countByBreedStatus() { - return sheepFileMapper.countByBreedStatus(); + public List> countByBreedStatus(SheepFile sheepFile) { + return sheepFileMapper.countByBreedStatus(sheepFile); } @DataScope(deptAlias = "sf", userAlias = "sf") @Override - public List> countByVariety() { - return sheepFileMapper.countByVariety(); + public List> countByVariety(SheepFile sheepFile) { + return sheepFileMapper.countByVariety(sheepFile); } @DataScope(deptAlias = "sf", userAlias = "sf") @Override - public List> countParityOfLactation() { - return sheepFileMapper.countParityOfLactation(); + public List> countParityOfLactation(SheepFile sheepFile) { + return sheepFileMapper.countParityOfLactation(sheepFile); } @DataScope(deptAlias = "sf", userAlias = "sf") @Override - public Long countInGroup() { return sheepFileMapper.countInGroup(); } + public Long countInGroup(SheepFile sheepFile) { + return sheepFileMapper.countInGroup(sheepFile); + } /** * 获取指定字段的唯一值列表 @@ -110,13 +113,14 @@ public class SheepFileServiceImpl implements ISheepFileService { */ @DataScope(deptAlias = "sf", userAlias = "sf") @Override - public List selectSheepFileListByCondition(Map params, SheepFile sheepFile) { + public List selectSheepFileListByCondition( SheepFile sheepFile,Map params) { // 1. 验证并处理自定义参数 (驼峰转下划线、安全检查) Map safeConditions = processConditions(params); + System.out.println("sheepFile.params: " + (sheepFile.getParams() != null ? sheepFile.getParams().get("dataScope") : "null")); // 2. 调用 Mapper // 这里必须使用与 XML 中 @@ -95,7 +95,7 @@ ORDER BY id ASC - SELECT DISTINCT bs_manage_tags FROM sheep_file WHERE (is_delete = 0 OR is_delete IS NULL) @@ -116,53 +116,53 @@ where bs_manage_tags = #{tags} - SELECT COUNT(*) FROM sheep_file sf WHERE sf.status_id = 1 AND (sf.is_delete = 0 OR sf.is_delete IS NULL) - ${params.dataScope} + ${params.dataScope} - SELECT sf.name AS name, COUNT(*) AS value FROM sheep_file sf WHERE sf.status_id = 1 AND (sf.is_delete = 0 OR sf.is_delete IS NULL) - ${params.dataScope} + ${params.dataScope} GROUP BY sf.name - SELECT sf.breed AS name, COUNT(*) AS value FROM sheep_file sf WHERE sf.status_id = 1 AND (sf.is_delete = 0 OR sf.is_delete IS NULL) - ${params.dataScope} + ${params.dataScope} GROUP BY sf.breed - SELECT sf.variety AS name, COUNT(*) AS value FROM sheep_file sf WHERE sf.status_id = 1 AND (sf.is_delete = 0 OR sf.is_delete IS NULL) - ${params.dataScope} + ${params.dataScope} GROUP BY sf.variety - SELECT sf.parity AS name, COUNT(*) AS value FROM sheep_file sf WHERE sf.status_id = 1 AND sf.name = '泌乳羊' AND (sf.is_delete = 0 OR sf.is_delete IS NULL) - ${params.dataScope} + ${params.dataScope} GROUP BY sf.parity ORDER BY sf.parity - SELECT DISTINCT ${fieldName} as field_value FROM sheep_file WHERE ${fieldName} IS NOT NULL AND ${fieldName} != '' AND ${fieldName} != 'null' @@ -173,7 +173,7 @@ AND (is_delete = 0 OR is_delete IS NULL) - + ${sheepFile.params.dataScope} AND bs_manage_tags IN @@ -282,7 +282,7 @@ - ${params.dataScope} + ORDER BY id ASC diff --git a/zhyc-module/src/main/resources/mapper/produce/breed/ScBreedPlanGenerateMapper.xml b/zhyc-module/src/main/resources/mapper/produce/breed/ScBreedPlanGenerateMapper.xml index e558ba0..e5d52e6 100644 --- a/zhyc-module/src/main/resources/mapper/produce/breed/ScBreedPlanGenerateMapper.xml +++ b/zhyc-module/src/main/resources/mapper/produce/breed/ScBreedPlanGenerateMapper.xml @@ -61,7 +61,7 @@ - select bs.id, bs.manage_tags as bs_manage_tags, @@ -86,9 +86,10 @@ left join da_sheepfold dsf on bs.sheepfold_id = dsf.id where bs.gender = 1 and bs.is_delete = 0 - - and bs.manage_tags like concat('%', #{manageTags}, '%') + + and bs.manage_tags like concat('%', #{bsManageTags}, '%') + ${params.dataScope} and (bs.status_id = 1 or bs.status_id is null) and ( (bst.name in ('青年羊', '超龄羊') and ( @@ -103,7 +104,7 @@ - select bs.id, bs.manage_tags as bs_manage_tags, @@ -121,9 +122,10 @@ left join bas_breed_status bbs on bs.breed_status_id = bbs.id where bs.gender = 2 and bs.is_delete = 0 - - and bs.manage_tags like concat('%', #{manageTags}, '%') + + and bs.manage_tags like concat('%', #{bsManageTags}, '%') + ${params.dataScope} and bs.status_id = 1 and ( (bst.name in ('青年羊', '超龄羊') and ( @@ -212,7 +214,7 @@ - select temp.id, temp.ram_id, @@ -254,7 +256,7 @@ - select temp.id, temp.ram_id,