yinhao пре 4 година
родитељ
комит
d40c2e6c46
15 измењених фајлова са 209 додато и 30 уклоњено
  1. 4 3
      huimv-smart-management/src/main/java/com/huimv/management/controller/PeriodController.java
  2. 1 0
      huimv-smart-management/src/main/java/com/huimv/management/controller/PigstyController.java
  3. 5 0
      huimv-smart-management/src/main/java/com/huimv/management/dao/PeriodDao.java
  4. 5 0
      huimv-smart-management/src/main/java/com/huimv/management/dao/PigstyDao.java
  5. 5 0
      huimv-smart-management/src/main/java/com/huimv/management/entity/PeriodEntity.java
  6. 4 1
      huimv-smart-management/src/main/java/com/huimv/management/entity/UnitEntity.java
  7. 43 0
      huimv-smart-management/src/main/java/com/huimv/management/entity/vo/PeriodVo.java
  8. 38 0
      huimv-smart-management/src/main/java/com/huimv/management/entity/vo/PigStyVo.java
  9. 2 0
      huimv-smart-management/src/main/java/com/huimv/management/service/PeriodService.java
  10. 60 17
      huimv-smart-management/src/main/java/com/huimv/management/service/impl/PeriodServiceImpl.java
  11. 16 7
      huimv-smart-management/src/main/java/com/huimv/management/service/impl/PigstyServiceImpl.java
  12. 0 2
      huimv-smart-management/src/main/java/com/huimv/management/service/impl/YearPigBaseServiceImpl.java
  13. 14 0
      huimv-smart-management/src/main/resources/mapper/management/PeriodDao.xml
  14. 11 0
      huimv-smart-management/src/main/resources/mapper/management/PigstyDao.xml
  15. 1 0
      huimv-smart-management/src/main/resources/mapper/management/UnitDao.xml

+ 4 - 3
huimv-smart-management/src/main/java/com/huimv/management/controller/PeriodController.java

@@ -15,9 +15,10 @@ import com.huimv.management.service.PeriodService;
 import com.huimv.common.utils.PageUtils;
 import com.huimv.common.utils.R;
 
+import javax.validation.Valid;
 
 
-/**
+ /**
  * 栏期信息表
  *
  * @author yinhao
@@ -58,8 +59,8 @@ public class PeriodController {
      * 保存
      */
     @RequestMapping("/save")
-    public R save(@RequestBody PeriodEntity period){
-		periodService.save(period);
+    public R save(@Valid @RequestBody PeriodEntity period){
+		periodService.insert(period);
         return R.ok();
     }
 

+ 1 - 0
huimv-smart-management/src/main/java/com/huimv/management/controller/PigstyController.java

@@ -34,6 +34,7 @@ public class PigstyController {
      */
     @RequestMapping("/list")
     public R list(@RequestParam Map<String, Object> params){
+
         PageUtils page = pigstyService.queryPage(params);
 
         return R.ok().put("page", page);

+ 5 - 0
huimv-smart-management/src/main/java/com/huimv/management/dao/PeriodDao.java

@@ -1,8 +1,12 @@
 package com.huimv.management.dao;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.huimv.management.entity.PeriodEntity;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.management.entity.vo.PeriodVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -17,4 +21,5 @@ import org.springframework.stereotype.Repository;
 public interface PeriodDao extends BaseMapper<PeriodEntity> {
 
 
+    IPage<PeriodVo> page(@Param("page") IPage page,@Param("ew") QueryWrapper queryWrapper);
 }

+ 5 - 0
huimv-smart-management/src/main/java/com/huimv/management/dao/PigstyDao.java

@@ -1,7 +1,10 @@
 package com.huimv.management.dao;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.huimv.management.entity.PigstyEntity;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.management.entity.vo.PigStyVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -22,4 +25,6 @@ public interface PigstyDao extends BaseMapper<PigstyEntity> {
 
     @Select("SELECT id FROM mgt_pigsty WHERE number like CONCAT('%',#{pigstyName},'%') AND deleted = 0")
     List<Integer> selectIdListByPigstyName(@Param("pigstyName") String pigstyName);
+
+    IPage<PigStyVo> page(@Param("page") IPage page,@Param("ew") QueryWrapper wrapper);
 }

+ 5 - 0
huimv-smart-management/src/main/java/com/huimv/management/entity/PeriodEntity.java

@@ -3,6 +3,8 @@ package com.huimv.management.entity;
 import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 import java.util.Date;
 
@@ -30,14 +32,17 @@ public class PeriodEntity implements Serializable {
     /**
      * 牧场id
      */
+    @NotNull(message = "牧场不能为空!")
     private Integer farmId;
     /**
      * 猪舍id
      */
+    @NotNull(message = "猪舍不能为空!")
     private Integer pigstyId;
     /**
      * 单元id
      */
+    @NotNull(message = "单元不能为空!")
     private Integer unitId;
     /**
      * 删除状态 0.正常 1.已删除

+ 4 - 1
huimv-smart-management/src/main/java/com/huimv/management/entity/UnitEntity.java

@@ -35,7 +35,10 @@ public class UnitEntity implements Serializable {
      * 牧场id
      */
     private Integer farmId;
-
+    /**
+     * 当前栏期
+     */
+    private Integer currentPeriodId;
 	/**
      * 删除状态 0正常 1已删除
      */

+ 43 - 0
huimv-smart-management/src/main/java/com/huimv/management/entity/vo/PeriodVo.java

@@ -0,0 +1,43 @@
+package com.huimv.management.entity.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 栏期vo
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/6/19 16:16
+ */
+@Data
+public class PeriodVo implements Serializable {
+    private static final long serialVersionUID = 4369541041366822614L;
+
+    /**
+     * 主键
+     */
+    private Integer id;
+    /**
+     * 编号
+     */
+    private String number;
+    /**
+     * 猪舍id
+     */
+    private Integer pigstyId;
+    /**
+     * 猪舍名称
+     */
+    private String pigstyName;
+    /**
+     * 单元id
+     */
+    private Integer unitId;
+    /**
+     * 单元名称
+     */
+    private String unitName;
+}

+ 38 - 0
huimv-smart-management/src/main/java/com/huimv/management/entity/vo/PigStyVo.java

@@ -0,0 +1,38 @@
+package com.huimv.management.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/6/19 15:08
+ */
+@Data
+public class PigStyVo {
+
+    /**
+     * 猪舍id
+     */
+    private Integer id;
+    /**
+     * 猪舍编号
+     */
+    private String number;
+    /**
+     * 牧场id
+     */
+    private Integer farmId;
+    /**
+     * 养殖员名称
+     */
+    private String feederName;
+}

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

@@ -21,5 +21,7 @@ public interface PeriodService extends IService<PeriodEntity> {
     List findAll(Integer formFarmId);
 
     List findAllByFarmId(Integer id);
+
+    void insert(PeriodEntity period);
 }
 

+ 60 - 17
huimv-smart-management/src/main/java/com/huimv/management/service/impl/PeriodServiceImpl.java

@@ -1,14 +1,21 @@
 package com.huimv.management.service.impl;
 
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huimv.common.exception.RRException;
+import com.huimv.management.dao.UnitDao;
 import com.huimv.management.entity.PeriodEntity;
 import com.huimv.management.entity.PeriodEntity;
+import com.huimv.management.entity.UnitEntity;
+import com.huimv.management.entity.vo.PeriodVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -20,6 +27,9 @@ import com.huimv.common.utils.Query;
 import com.huimv.management.dao.PeriodDao;
 import com.huimv.management.entity.PeriodEntity;
 import com.huimv.management.service.PeriodService;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.validation.constraints.NotBlank;
 
 
 @Service("periodService")
@@ -28,30 +38,37 @@ public class PeriodServiceImpl extends ServiceImpl<PeriodDao, PeriodEntity> impl
     @Autowired
     private PeriodDao periodDao;
 
+    @Autowired
+    private UnitDao unitDao;
+
     @Override
     public PageUtils queryPage(Map<String, Object> params) {
 
-        LambdaQueryWrapper<PeriodEntity> lambdaQuery = Wrappers.lambdaQuery();
-        String farmId = (String)params.get("fromFarmId");
-        lambdaQuery.eq(StringUtils.isNotBlank(farmId),PeriodEntity::getPigstyId,farmId);
-
-        String keywords = (String) params.get("keywords");
-        //没有参数
-        if (keywords == null || keywords.equals("")){
-            IPage<PeriodEntity> page = this.page(
-                    new Query<PeriodEntity>().getPage(params),
-                    new QueryWrapper<PeriodEntity>()
-            );
-
-            return new PageUtils(page);
+        QueryWrapper<PeriodVo> queryWrapper = new QueryWrapper<>();
+
+        String farmId = (String) params.get("formFarmId");
+        if (StringUtils.isBlank(farmId)) {
+            throw new RRException("参数有误,请检查!",1001);
         }
+        queryWrapper.eq("period.farm_id",Integer.parseInt(farmId));
 
-        lambdaQuery.like(PeriodEntity::getPigstyId,keywords);
-        IPage<PeriodEntity> page = page(this.page(
-                new Query<PeriodEntity>().getPage(params)
-        ), lambdaQuery);
+        String pigstyId = (String) params.get("pigstyId");
+        if (StringUtils.isNotBlank(pigstyId)) {
+            queryWrapper.eq("period.pigsty_id",Integer.parseInt(pigstyId));
+        }
+
+        String unitId = (String) params.get("unitId");
+        if (StringUtils.isNotBlank(unitId)) {
+            queryWrapper.eq("period.unit_id",unitId);
+        }
 
+        String keyword = (String) params.get("keyword");
+        if (StringUtils.isNotBlank(keyword)) {
+            queryWrapper.like("period.number", keyword);
+        }
 
+        queryWrapper.apply("period.deleted = 0 AND pigsty.deleted = 0 AND unit.deleted = 0");
+        IPage<PeriodVo> page = baseMapper.page(new Query<>().getPage(params),queryWrapper);
         return new PageUtils(page);
     }
 
@@ -75,4 +92,30 @@ public class PeriodServiceImpl extends ServiceImpl<PeriodDao, PeriodEntity> impl
         return periodEntities;
     }
 
+
+    @Override
+    @Transactional(rollbackFor = Throwable.class)
+    public void insert(PeriodEntity period) {
+
+        StringBuilder sb = new StringBuilder();
+        String periodId = sb.append(period.getFarmId()).append(period.getPigstyId()).append(period.getUnitId()).append(DateUtil.format(new Date(), "yyyyMMdd")).toString();
+        period.setNumber(periodId);
+        Integer unitId = period.getUnitId();
+        UnitEntity unitEntity = unitDao.selectById(unitId);
+        if (unitEntity != null) {
+            Integer currentPeriodId = unitEntity.getCurrentPeriodId();
+            if (currentPeriodId != null) {
+                throw new RRException("当前单元已存在栏期!",1001);
+            }
+
+            baseMapper.insert(period);
+
+            LambdaUpdateWrapper<UnitEntity> updateWrapper = Wrappers.lambdaUpdate();
+            updateWrapper.eq(UnitEntity::getId,unitId)
+                    .set(UnitEntity::getCurrentPeriodId,period.getId());
+
+            unitDao.update(null,updateWrapper);
+
+        }
+    }
 }

+ 16 - 7
huimv-smart-management/src/main/java/com/huimv/management/service/impl/PigstyServiceImpl.java

@@ -7,6 +7,9 @@ import com.huimv.management.dao.YearPigBaseDao;
 import com.huimv.management.entity.PigstyEntity;
 import com.huimv.management.entity.PigstyEntity;
 import com.huimv.management.entity.YearPigBaseEntity;
+import com.huimv.management.entity.vo.CountOut;
+import com.huimv.management.entity.vo.DrinkingWaterVo;
+import com.huimv.management.entity.vo.PigStyVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -35,19 +38,25 @@ public class PigstyServiceImpl extends ServiceImpl<PigstyDao, PigstyEntity> impl
     @Override
     public PageUtils queryPage(Map<String, Object> params) {
 
-        LambdaQueryWrapper<PigstyEntity> lambdaQuery = Wrappers.lambdaQuery();
+        QueryWrapper<PigstyEntity> wrapper = new QueryWrapper<>();
         String farmId = (String) params.get("formFarmId");
-        lambdaQuery.eq(StringUtils.isNotBlank(farmId),PigstyEntity::getFarmId,Integer.parseInt(farmId));
+        wrapper.eq(StringUtils.isNotBlank(farmId),"pigsty.farm_id",Integer.parseInt(farmId));
 
         String keywords = (String) params.get("keywords");
         if (StringUtils.isNotBlank(keywords)) {
-            lambdaQuery.like(PigstyEntity::getNumber,keywords);
+            wrapper.like("pigsty.number",keywords);
         }
 
-        lambdaQuery.like(PigstyEntity::getNumber,keywords);
-        IPage<PigstyEntity> page = page(this.page(
-                new Query<PigstyEntity>().getPage(params)
-        ), lambdaQuery);
+        String feederId = (String) params.get("feederId");
+
+        if (StringUtils.isNotBlank(feederId)) {
+            wrapper.like("pigsty.feeder_id",feederId);
+        }
+
+
+        //排除逻辑删除
+        wrapper.apply("  employee.deleted = 0 AND pigsty.deleted = 0");
+        IPage<PigStyVo> page = pigstyDao.page(new Query<>().getPage(params), wrapper);
 
 
         return new PageUtils(page);

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

@@ -343,6 +343,4 @@ public class YearPigBaseServiceImpl extends ServiceImpl<YearPigBaseDao, YearPigB
         }
         transferPeriodLogDao.batchInsert(logEntityList);
     }
-
-    }
 }

+ 14 - 0
huimv-smart-management/src/main/resources/mapper/management/PeriodDao.xml

@@ -15,5 +15,19 @@
         <result property="gmtModified" column="gmt_modified"/>
     </resultMap>
 
+    <select id="page" resultType="com.huimv.management.entity.vo.PeriodVo">
+        SELECT
+          period.id,
+          period.number,
+          period.pigsty_id,
+          pigsty.number pigsty_name,
+          period.unit_id,
+          unit.number unit_name
+        FROM mgt_period period
+        JOIN mgt_pigsty pigsty ON period.pigsty_id = pigsty.id
+        JOIN mgt_unit unit ON period.unit_id = unit.id
+        ${ew.customSqlSegment}
+    </select>
+
 
 </mapper>

+ 11 - 0
huimv-smart-management/src/main/resources/mapper/management/PigstyDao.xml

@@ -14,5 +14,16 @@
         <result property="gmtModified" column="gmt_modified"/>
     </resultMap>
 
+    <select id="page" resultType="com.huimv.management.entity.vo.PigStyVo">
+        select
+          pigsty.id,
+          pigsty.number,
+          pigsty.farm_id,
+          employee.name feederName
+        from mgt_pigsty pigsty
+         JOIN mgt_farm farm ON pigsty.farm_id = farm.id
+         JOIN mgt_employee employee ON pigsty.feeder_id = employee.id
+          ${ew.customSqlSegment}
+    </select>
 
 </mapper>

+ 1 - 0
huimv-smart-management/src/main/resources/mapper/management/UnitDao.xml

@@ -9,6 +9,7 @@
         <result property="number" column="number"/>
         <result property="pigstyId" column="pigsty_id"/>
         <result property="farmId" column="farm_id"/>
+        <result property="currentPeriodId" column="current_period_id" />
         <result property="deleted" column="deleted"/>
         <result property="gmtCreate" column="gmt_create"/>
         <result property="gmtModified" column="gmt_modified"/>