Forráskód Böngészése

查询栋舍、根据栋舍查询单元

Newspaper 2 éve
szülő
commit
4e7412d8e7

+ 13 - 5
huimv-eartag2-admin/src/main/java/com/huimv/eartag2/admin/controller/BasePigpenController.java

@@ -5,12 +5,9 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.huimv.eartag2.admin.service.BasePigpenService;
 import com.huimv.eartag2.common.utils.Result;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.Map;
 
 /**
@@ -156,5 +153,16 @@ public class BasePigpenController {
         //
         return basePigpenService.editUnit(id,parentId,unitName,stageCode,Integer.parseInt(sort),type);
     }
+
+    @PostMapping("/listBuildings")
+    public Result listBuildings (HttpServletRequest request){
+        return basePigpenService.listBuildings(request);
+    }
+
+    @PostMapping("/listUnitByBuilding")
+    public Result listUnitByBuilding(HttpServletRequest request,@RequestBody Map<String,String> paramsMap){
+        return basePigpenService.listUnitByBuilding(request,paramsMap);
+    }
+
 }
 

+ 13 - 0
huimv-eartag2-admin/src/main/java/com/huimv/eartag2/admin/entity/dto/BuildingDto.java

@@ -0,0 +1,13 @@
+package com.huimv.eartag2.admin.entity.dto;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+@Data
+public class BuildingDto extends Model {
+    private static final long serialVersionUID = 1L;
+
+    private String buildingName;
+
+    private Integer buildingId;
+}

+ 13 - 0
huimv-eartag2-admin/src/main/java/com/huimv/eartag2/admin/entity/dto/UnitDto.java

@@ -0,0 +1,13 @@
+package com.huimv.eartag2.admin.entity.dto;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+@Data
+public class UnitDto extends Model {
+    private static final long serialVersionUID = 1L;
+
+    private String unitName;
+
+    private Integer unitId;
+}

+ 9 - 0
huimv-eartag2-admin/src/main/java/com/huimv/eartag2/admin/mapper/BasePigpenMapper.java

@@ -2,6 +2,11 @@ package com.huimv.eartag2.admin.mapper;
 
 import com.huimv.eartag2.admin.entity.BasePigpen;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.eartag2.admin.entity.dto.BuildingDto;
+import com.huimv.eartag2.admin.entity.dto.UnitDto;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 /**
  * <p>
@@ -11,6 +16,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @author zn
  * @since 2022-11-09
  */
+@Repository
 public interface BasePigpenMapper extends BaseMapper<BasePigpen> {
 
+    List<BuildingDto> listBuildings(String farmId);
+
+    List<UnitDto> listUnitByBuilding(String farmId, String buildingId);
 }

+ 7 - 0
huimv-eartag2-admin/src/main/java/com/huimv/eartag2/admin/service/BasePigpenService.java

@@ -4,6 +4,9 @@ import com.huimv.eartag2.admin.entity.BasePigpen;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.huimv.eartag2.common.utils.Result;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 /**
  * <p>
  *  服务类
@@ -25,4 +28,8 @@ public interface BasePigpenService extends IService<BasePigpen> {
     Result editUnit(String id, String parentId, String unitName, String stageCode, Integer sort, Integer type);
 
     Result list(String farmCode, String pigpenName, String stageCode);
+
+    Result listBuildings(HttpServletRequest request);
+
+    Result listUnitByBuilding(HttpServletRequest request, Map<String, String> paramsMap);
 }

+ 13 - 0
huimv-eartag2-admin/src/main/java/com/huimv/eartag2/admin/service/impl/BasePigpenServiceImpl.java

@@ -14,6 +14,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -153,6 +154,18 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
         return new Result(ResultCode.SUCCESS,treeBasePigpens);
     }
 
+    @Override
+    public Result listBuildings(HttpServletRequest request) {
+        String farmId = request.getHeader("farmId");
+        return new Result(ResultCode.SUCCESS,basePigpenMapper.listBuildings(farmId));
+    }
+
+    @Override
+    public Result listUnitByBuilding(HttpServletRequest request, Map<String, String> paramsMap) {
+        String farmId = request.getHeader("farmId");
+        String buildingId = paramsMap.get("buildingId");
+        return new Result(ResultCode.SUCCESS,basePigpenMapper.listUnitByBuilding(farmId,buildingId));
+    }
 
 
     /**

+ 33 - 0
huimv-eartag2-admin/src/main/resources/com/huimv/eartag2/admin/mapper/BasePigpenMapper.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.eartag2.admin.mapper.BasePigpenMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.eartag2.admin.entity.BasePigpen">
+        <id column="id" property="id" />
+        <result column="pigpen_code" property="pigpenCode" />
+        <result column="pigpen_name" property="pigpenName" />
+        <result column="parent_id" property="parentId" />
+        <result column="f_type" property="fType" />
+        <result column="farm_code" property="farmCode" />
+        <result column="sort" property="sort" />
+        <result column="stage_code" property="stageCode" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, pigpen_code, pigpen_name, parent_id, f_type, farm_code, sort, stage_code
+    </sql>
+
+    <select id="listBuildings" resultType="com.huimv.eartag2.admin.entity.dto.BuildingDto">
+        SELECT DISTINCT a.pigpen_name 'buildingName',a.id 'buildingId' FROM `base_pigpen` a
+        INNER JOIN `base_pigpen` b ON a.id = b.parent_id
+        WHERE a.farm_code = #{farmId}
+    </select>
+    
+    <select id="listUnitByBuilding" resultType="com.huimv.eartag2.admin.entity.dto.UnitDto">
+        SELECT a.pigpen_name 'unitName',a.id 'unitId' FROM `base_pigpen` a INNER JOIN `base_pigpen` b ON a.parent_id = b.id
+        WHERE b.id = #{buildingId} AND b.farm_code = #{farmId}
+    </select>
+
+</mapper>