523096025 пре 4 година
родитељ
комит
7e923f014a

+ 27 - 1
huimv-smart-management/src/main/java/com/huimv/management/controller/UnitController.java

@@ -4,6 +4,9 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.management.entity.YearPigBaseEntity;
+import com.huimv.management.service.YearPigBaseService;
 import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -29,6 +32,9 @@ public class UnitController {
     @Autowired
     private UnitService unitService;
 
+    @Autowired
+    private YearPigBaseService baseService;
+
     /**
      * 列表
      */
@@ -65,7 +71,14 @@ public class UnitController {
      */
     @RequestMapping("/update")
     public R update(@RequestBody UnitEntity unit){
-		unitService.updateById(unit);
+        Integer currentPeriodId = unit.getCurrentPeriodId();
+
+        Integer count = baseService.countByPeriodId(currentPeriodId);
+        if (count > 0){
+            return R.error("修改失败,栏期下面有未清理的小猪");
+        }
+
+        unitService.updateById(unit);
 
         return R.ok();
     }
@@ -75,6 +88,19 @@ public class UnitController {
      */
     @RequestMapping("/delete")
     public R delete(@RequestBody Integer[] ids){
+
+        for (Integer id : ids) {
+            UnitEntity unit = unitService.getById(id);
+            if (unit == null){
+                return R.error("删除失败,栏期信息有误");
+            }
+
+            Integer currentPeriodId = unit.getCurrentPeriodId();
+            Integer count = baseService.countByPeriodId(currentPeriodId);
+            if (count > 0){
+                return R.error("删除失败,栏期下有未清除的小猪");
+            }
+        }
 		unitService.removeByIds(Arrays.asList(ids));
 
         return R.ok();

+ 2 - 0
huimv-smart-management/src/main/java/com/huimv/management/dao/YearPigBaseDao.java

@@ -9,6 +9,7 @@ import com.huimv.management.entity.vo.DrinkingWaterVo;
 import com.huimv.management.entity.vo.PigBaseVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
@@ -22,6 +23,7 @@ import java.util.List;
  * mp提供了两套接口,分别是Mapper CRUD接口和Service CRUD接口。并且mp还提供了条件构造器Wrapper,可以方便地组装SQL语句中的WHERE条件。
  */
 @Mapper
+@Repository
 public interface YearPigBaseDao extends BaseMapper<YearPigBaseEntity> {
 
 

+ 2 - 0
huimv-smart-management/src/main/java/com/huimv/management/service/YearPigBaseService.java

@@ -49,5 +49,7 @@ public interface YearPigBaseService extends IService<YearPigBaseEntity> {
     List<CountOut> suchStatisteicsMonth(String startTime, String endTime, int parseInt);
 
     void transferPeriod(HashMap<String, Object> map, HttpServletRequest request);
+
+    Integer countByPeriodId(Integer currentPeriodId);
 }
 

+ 16 - 0
huimv-smart-management/src/main/java/com/huimv/management/service/impl/UnitServiceImpl.java

@@ -40,10 +40,26 @@ public class UnitServiceImpl extends ServiceImpl<UnitDao, UnitEntity> implements
             lambdaQuery.eq(UnitEntity::getFarmId, Integer.parseInt(formFarmId));
         }
 
+        //单元编号
         String keywords = (String) params.get("keywords");
         if (StringUtils.isNotBlank(keywords)) {
+
             lambdaQuery.like(UnitEntity::getNumber, keywords);
         }
+
+        //栏期编号
+        String currentPeriodId = (String) params.get("currentPeriodId");
+        if (StringUtils.isNotBlank(currentPeriodId)) {
+            lambdaQuery.eq(UnitEntity::getCurrentPeriodId, currentPeriodId);
+        }
+
+        //猪舍编号
+        String pigstyId = (String) params.get("pigstyId");
+        if (StringUtils.isNotBlank(pigstyId)) {
+            lambdaQuery.eq(UnitEntity::getPigstyId, pigstyId);
+        }
+
+
         IPage<UnitEntity> page = page(this.page(
                 new Query<UnitEntity>().getPage(params)
         ), lambdaQuery);

+ 9 - 0
huimv-smart-management/src/main/java/com/huimv/management/service/impl/YearPigBaseServiceImpl.java

@@ -343,4 +343,13 @@ public class YearPigBaseServiceImpl extends ServiceImpl<YearPigBaseDao, YearPigB
         }
         transferPeriodLogDao.batchInsert(logEntityList);
     }
+
+
+    //查询栏期下是否有小猪
+    @Override
+    public Integer countByPeriodId(Integer currentPeriodId) {
+        QueryWrapper<YearPigBaseEntity> wrapper = new QueryWrapper<YearPigBaseEntity>();
+        wrapper.eq("current_period_id",currentPeriodId);
+        return baseMapper.selectCount(wrapper);
+    }
 }