From f81493860c646e87584efc9906d73b2968802c1c Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 19 Aug 2022 10:09:45 +0800
Subject: [PATCH] 新增删除地块时需要先结束当前地块种养品种才能删除地块
---
src/main/java/org/springblade/modules/lang/mapper/LandMapper.java | 2 ++
src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java | 5 +++++
src/main/java/org/springblade/modules/lang/controller/LandController.java | 9 ++++++++-
src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml | 7 +++++++
src/main/java/org/springblade/modules/lang/service/ILandService.java | 2 ++
src/main/java/org/springblade/modules/lang/vo/LandVO.java | 1 +
6 files changed, 25 insertions(+), 1 deletions(-)
diff --git a/src/main/java/org/springblade/modules/lang/controller/LandController.java b/src/main/java/org/springblade/modules/lang/controller/LandController.java
index 2261a08..c78e810 100644
--- a/src/main/java/org/springblade/modules/lang/controller/LandController.java
+++ b/src/main/java/org/springblade/modules/lang/controller/LandController.java
@@ -30,6 +30,7 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
import org.springblade.modules.farm.entity.Farm;
import org.springblade.modules.farm.vo.FarmVO;
import org.springblade.modules.resource.endpoint.OssEndpoint;
@@ -314,7 +315,13 @@
@ApiOperationSupport(order = 7)
@ApiOperation(value = "逻辑删除", notes = "传入ids")
public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
- return R.status(landService.deleteLogic(Func.toLongList(ids)));
+ //先要判断该地块是否还有正在种植的作物,先结束才能删除地块
+ List<LandVO> land= landService.findPlantInLand(ids);
+ if (land.size()<=0) {
+ return R.status(landService.deleteLogic(Func.toLongList(ids)));
+ }else {
+ throw new org.springblade.core.log.exception.ServiceException(StringUtil.format("请先结束该地块正在种养品种"));
+ }
}
/**
diff --git a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.java b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.java
index 1a3840e..5e0d6bb 100644
--- a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.java
+++ b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.java
@@ -97,4 +97,6 @@
List<Land> selectByStrainId(@Param("strainId") String strainId,@Param("farmId") String farmId);
List<Land> getByStrainIdFarmId(@Param("land")LandVO land);
+
+ List<LandVO> findPlantInLand(String ids);
}
diff --git a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
index 14e002b..3907596 100644
--- a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
+++ b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
@@ -246,5 +246,12 @@
AND sfp.status = #{land.sfpStatus}
</if>
</select>
+ <select id="findPlantInLand" resultType="org.springblade.modules.lang.vo.LandVO">
+ SELECT land.*,sfp.id AS sfpId,sfp.strain_id
+ FROM sys_land land
+ LEFT JOIN sys_farm_plant sfp ON land.id = sfp.land_id
+ WHERE land.is_deleted = 0 AND sfp.status = 1
+ AND land.id = #{ids}
+ </select>
</mapper>
diff --git a/src/main/java/org/springblade/modules/lang/service/ILandService.java b/src/main/java/org/springblade/modules/lang/service/ILandService.java
index cd31d4e..0334dd9 100644
--- a/src/main/java/org/springblade/modules/lang/service/ILandService.java
+++ b/src/main/java/org/springblade/modules/lang/service/ILandService.java
@@ -106,4 +106,6 @@
* @return
*/
List<Land> getByStrainIdFarmId(LandVO land);
+
+ List<LandVO> findPlantInLand(String ids);
}
diff --git a/src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java b/src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java
index ba8817c..e3b5814 100644
--- a/src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java
+++ b/src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java
@@ -128,4 +128,9 @@
public List<Land> getByStrainIdFarmId(LandVO land) {
return baseMapper.getByStrainIdFarmId(land);
}
+
+ @Override
+ public List<LandVO> findPlantInLand(String ids) {
+ return baseMapper.findPlantInLand(ids);
+ }
}
diff --git a/src/main/java/org/springblade/modules/lang/vo/LandVO.java b/src/main/java/org/springblade/modules/lang/vo/LandVO.java
index 5f53e23..be4feff 100644
--- a/src/main/java/org/springblade/modules/lang/vo/LandVO.java
+++ b/src/main/java/org/springblade/modules/lang/vo/LandVO.java
@@ -39,4 +39,5 @@
* 种养品种植状态
*/
String sfpStatus;
+ String sfpId;
}
--
Gitblit v1.9.3