智慧农业后台管理
guoshilong
2022-08-19 f81493860c646e87584efc9906d73b2968802c1c
新增删除地块时需要先结束当前地块种养品种才能删除地块
6 files modified
26 ■■■■■ changed files
src/main/java/org/springblade/modules/lang/controller/LandController.java 9 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/mapper/LandMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/service/ILandService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/vo/LandVO.java 1 ●●●● patch | view | raw | blame | history
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("请先结束该地块正在种养品种"));
        }
    }
    /**
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);
}
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>
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);
}
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);
    }
}
src/main/java/org/springblade/modules/lang/vo/LandVO.java
@@ -39,4 +39,5 @@
     * 种养品种植状态
     */
    String sfpStatus;
    String sfpId;
}