Browse Source

完成小时运动量功能。

zhuoning 2 years ago
parent
commit
9654442a27
27 changed files with 729 additions and 25 deletions
  1. 38 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagHourActEntity.java
  2. 35 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagResetCountEntity.java
  3. 35 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagResetEntity.java
  4. 15 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagHourActEntityRepo.java
  5. 9 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagResetCountEntityRepo.java
  6. 9 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagResetEntityRepo.java
  7. 19 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/utils/DateUtil.java
  8. 3 5
      huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/listener/EartagListener.java
  9. 105 20
      huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/EartagServiceImpl.java
  10. 50 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/EartagHourActController.java
  11. 21 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/EartagResetController.java
  12. 21 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/EartagResetCountController.java
  13. 16 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/mapper/EartagHourActMapper.java
  14. 16 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/mapper/EartagResetCountMapper.java
  15. 16 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/mapper/EartagResetMapper.java
  16. 20 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/mapper/xml/EartagHourActMapper.xml
  17. 19 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/mapper/xml/EartagResetCountMapper.xml
  18. 19 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/mapper/xml/EartagResetMapper.xml
  19. 39 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/pojo/EartagHourAct.java
  20. 37 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/pojo/EartagReset.java
  21. 37 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/pojo/EartagResetCount.java
  22. 20 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/EartagHourActService.java
  23. 16 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/EartagResetCountService.java
  24. 16 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/EartagResetService.java
  25. 58 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagHourActServiceImpl.java
  26. 20 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagResetCountServiceImpl.java
  27. 20 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagResetServiceImpl.java

+ 38 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagHourActEntity.java

@@ -0,0 +1,38 @@
+package com.huimv.eartag2.common.dao.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Date;
+
+@Entity
+@Table(name = "eartag_hour_act")
+@Data
+@Accessors(chain = true)
+public class EartagHourActEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "earmark")
+    private String earmark;
+
+    @Column(name = "hour")
+    private Integer hour;
+
+    @Column(name = "act")
+    private Integer act;
+
+    @Column(name = "add_date")
+    private Date addDate;
+
+    @Column(name = "farm_code")
+    private String farmCode;
+
+}

+ 35 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagResetCountEntity.java

@@ -0,0 +1,35 @@
+package com.huimv.eartag2.common.dao.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Date;
+
+@Entity
+@Table(name = "eartag_reset_count")
+@Data
+@Accessors(chain = true)
+public class EartagResetCountEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "earmark")
+    private String earmark;
+
+    @Column(name = "times")
+    private Integer times;
+
+    @Column(name = "add_date")
+    private Date addDate;
+
+    @Column(name = "farm_code")
+    private String farmCode;
+
+}

+ 35 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagResetEntity.java

@@ -0,0 +1,35 @@
+package com.huimv.eartag2.common.dao.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Date;
+import java.sql.Timestamp;
+
+@Entity
+@Data
+@Accessors(chain = true)
+@Table(name = "eartag_reset")
+public class EartagResetEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "earmark")
+    private String earmark;
+
+    @Column(name = "reset_time")
+    private Timestamp resetTime;
+
+    @Column(name = "add_date")
+    private Date addDate;
+
+    @Column(name = "farm_code")
+    private String farmCode;
+}

+ 15 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagHourActEntityRepo.java

@@ -0,0 +1,15 @@
+package com.huimv.eartag2.common.dao.repo;
+
+import com.huimv.eartag2.common.dao.entity.EartagHourActEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+import java.sql.Date;
+import java.util.Optional;
+
+public interface EartagHourActEntityRepo extends JpaRepository<EartagHourActEntity, Integer>, JpaSpecificationExecutor<EartagHourActEntity> {
+
+    @Query(nativeQuery = true,value = "SELECT * FROM eartag_hour_act WHERE farm_code=?1 AND  earmark=?2 AND hour=?3 AND add_date=?4")
+    Optional<EartagHourActEntity> findByFarmIdAndEarmarkAndHourAndDate(String farmId, String earmark, int nowHour, Date todayDate);
+}

+ 9 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagResetCountEntityRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.eartag2.common.dao.repo;
+
+import com.huimv.eartag2.common.dao.entity.EartagResetCountEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EartagResetCountEntityRepo extends JpaRepository<EartagResetCountEntity, Integer>, JpaSpecificationExecutor<EartagResetCountEntity> {
+
+}

+ 9 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagResetEntityRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.eartag2.common.dao.repo;
+
+import com.huimv.eartag2.common.dao.entity.EartagResetEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EartagResetEntityRepo extends JpaRepository<EartagResetEntity, Integer>, JpaSpecificationExecutor<EartagResetEntity> {
+
+}

+ 19 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/utils/DateUtil.java

@@ -24,6 +24,11 @@ import java.util.List;
 //@Slf4j
 public class DateUtil {
 
+    public int getNowHour(){
+        Calendar cal = Calendar.getInstance();
+        return cal.get(Calendar.HOUR_OF_DAY);
+    }
+
     //格式化日期(Long --> Date)
     public String formatLongToDate(Long longDate){
         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -60,6 +65,20 @@ public class DateUtil {
         return sdf.format(date);
     }
 
+    //格式化日期时间
+    public String formatDateText(String dateText) throws ParseException {
+        if(dateText.indexOf("T") != -1){
+            dateText = dateText.replace("T"," ");
+        }
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date date = sdf.parse(dateText);
+        return sdf.format(date);
+    }
+//    public String formatDateText(Date date) throws ParseException {
+//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+//        return sdf.format(date);
+//    }
+
     public Date parseDateTime(String dateText) throws ParseException {
         if(dateText.indexOf("T") != -1){
             dateText = dateText.replace("T"," ");

+ 3 - 5
huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/listener/EartagListener.java

@@ -60,18 +60,16 @@ public class EartagListener {
         //--保存耳标流水数据(耳标流水表)
 
         //测试-临时写入耳标数据到文件
-        if(askText.trim().indexOf("330110002000002") != -1){
-            writeTxt(askText,"eartag");
-        }
+//        if(askText.trim().indexOf("330110002000002") != -1){
+//            writeTxt(askText,"eartag");
+//        }
 
         //{处理请求报文}
         Map askMap = handleAskText(askText);
         String type = askMap.get("type").toString();
         JSONObject dataJo = (JSONObject) askMap.get("data");
-        System.out.println("## dataJo>>" + dataJo);
         //
         String earmark = dataJo.getString("earmark");
-        System.out.println("earmark>>" + earmark);
 
         //正式代码
         if (type.trim().equalsIgnoreCase("eartag")) {

+ 105 - 20
huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/EartagServiceImpl.java

@@ -70,6 +70,12 @@ public class EartagServiceImpl implements IEartagService {
     private EartagEartagRegister2EntityRepo eartagEartagRegister2EntityRepo;
     @Autowired
     private EartagOnlineStatusEntityRepo eartagOnlineStatusEntityRepo;
+    @Autowired
+    private EartagHourActEntityRepo eartagHourActEntityRepo;
+    @Autowired
+    private EartagResetEntityRepo eartagResetEntityRepo;
+    @Autowired
+    private EartagResetCountEntityRepo eartagResetCountEntityRepo;
 
     @Override
     public void handleEartag(JSONObject dataJo) throws ParseException {
@@ -88,6 +94,9 @@ public class EartagServiceImpl implements IEartagService {
         //获取牧场id
         String farmId = deviceService.getFarmIdByDeviceCode(deviceCode);
         if (farmId != null) {
+            //{计算小时运动量}
+            countHourAct(dataJo,nowTimestamp, todayDate, farmId);
+
             //{保存耳标流水(所有耳标数据,可能重复上传)}
             saveEartagFlow(dataJo, nowTimestamp, todayDate, farmId);
 
@@ -97,6 +106,9 @@ public class EartagServiceImpl implements IEartagService {
             //{更新设备注册信息}
             updateDeviceRegister(deviceCode, nowTimestamp, todayDate, farmId);
 
+            //{计算小时运动量}
+//            countHourAct(dataJo,nowTimestamp, todayDate, farmId);
+
             //{更新耳标注册信息}
 //            updateEartagRegister(earmark, deviceCode, bat, nowTimestamp, todayDate, farmId);
 
@@ -128,6 +140,98 @@ public class EartagServiceImpl implements IEartagService {
         }
     }
 
+    // 计算小时运动量
+    private void countHourAct(JSONObject eartagJo, Timestamp nowTimestamp, java.sql.Date todayDate, String farmId) {
+        DateUtil du = new DateUtil();
+        int nowHour = du.getNowHour();
+
+        int eartagOffLineTime = 24;
+        Optional<SysBaseConfigEntity> optionalConfig = sysBaseConfigEntityRepo.getConfigValue("dropDataEartagOffLineTime");
+        if (optionalConfig.isPresent()) {
+            eartagOffLineTime = Integer.parseInt(optionalConfig.get().getConfigValue());
+            log.info("耳标离线过程丢弃数据时长=" + eartagOffLineTime);
+        } else {
+            log.error("耳标离线过程丢弃数据时长属性未配置.");
+        }
+
+
+        String earmark = eartagJo.getString("earmark");
+        int act = Integer.parseInt(eartagJo.getString("act"));
+        System.out.println("本次运动量="+act);
+        //
+        Optional<EartagData2Entity> optionEartagData = eartagData2Repo.getLastByEarmark(earmark,farmId);
+        if(!optionEartagData.isPresent()){
+            log.info("该耳标号无相关数据.["+earmark+"]");
+        }
+        EartagData2Entity eartagData2Entity = optionEartagData.get();
+        Integer lastAct = eartagData2Entity.getAct();
+        System.out.println("上次运动量="+lastAct);
+        Timestamp lastAddTime = eartagData2Entity.getAddTime();
+        long timeDiff = nowTimestamp.getTime() - lastAddTime.getTime();
+        if(timeDiff/(1000*60*60) < eartagOffLineTime){
+            int act1 = 0;
+            boolean resetStatus = false;
+            if(act < lastAct){
+                act1 = act;
+                resetStatus = true;
+            }else{
+                act1 = act - lastAct;
+            }
+            System.out.println("本次运动量增量="+act1);
+            //{保存耳标小时运动量}
+            saveEartagHourAct(farmId,earmark,act1,nowHour,todayDate);
+            //{保存耳标复位记录}
+            saveEartagReset(resetStatus,farmId,earmark,nowTimestamp,todayDate);
+        }
+    }
+
+    //{保存耳标复位记录}
+    private void saveEartagReset(boolean resetStatus, String farmId, String earmark, Timestamp nowTimestamp, java.sql.Date todayDate) {
+        if(resetStatus){
+            // 保存复位记录
+            EartagResetEntity eartagResetEntity = new EartagResetEntity();
+            eartagResetEntity.setEarmark(earmark);
+            eartagResetEntity.setAddDate(todayDate);
+            eartagResetEntity.setResetTime(nowTimestamp);
+            eartagResetEntity.setFarmCode(farmId);
+            eartagResetEntityRepo.save(eartagResetEntity);
+
+            // 泊村复位统计次数
+            EartagResetCountEntity eartagResetCountEntity = new EartagResetCountEntity();
+            eartagResetCountEntity.setEarmark(earmark);
+            eartagResetCountEntity.setFarmCode(farmId);
+            eartagResetCountEntity.setAddDate(todayDate);
+            Example<EartagResetCountEntity> example = Example.of(eartagResetCountEntity);
+            Optional<EartagResetCountEntity> optionEartagResetCountEntity = eartagResetCountEntityRepo.findOne(example);
+            if(!optionEartagResetCountEntity.isPresent()){
+                eartagResetCountEntity.setTimes(1);
+                eartagResetCountEntityRepo.save(eartagResetCountEntity);
+            }else{
+                EartagResetCountEntity existEartagResetCountEntity = optionEartagResetCountEntity.get();
+                existEartagResetCountEntity.setTimes(existEartagResetCountEntity.getTimes()+1);
+                eartagResetCountEntityRepo.save(existEartagResetCountEntity);
+            }
+        }
+    }
+
+    // {保存耳标小时运动量}
+    private void saveEartagHourAct(String farmId, String earmark, int act1, int nowHour, java.sql.Date todayDate) {
+        Optional<EartagHourActEntity> optionalHourAct = eartagHourActEntityRepo.findByFarmIdAndEarmarkAndHourAndDate(farmId,earmark,nowHour,todayDate);
+        if(!optionalHourAct.isPresent()){
+            EartagHourActEntity newEartagHourActEntity = new EartagHourActEntity();
+            newEartagHourActEntity.setFarmCode(farmId);
+            newEartagHourActEntity.setEarmark(earmark);
+            newEartagHourActEntity.setAddDate(todayDate);
+            newEartagHourActEntity.setHour(nowHour);
+            newEartagHourActEntity.setAct(act1);
+            eartagHourActEntityRepo.save(newEartagHourActEntity);
+        }else{
+            EartagHourActEntity eartagHourActEntity = optionalHourAct.get();
+            eartagHourActEntity.setAct(eartagHourActEntity.getAct()+act1);
+            eartagHourActEntityRepo.save(eartagHourActEntity);
+        }
+    }
+
     // 更新耳标连线状态
     private void updateEartagLiveStatus(String earmark, String deviceCode, String todayDateText, java.sql.Date todayDate, Timestamp nowTimestamp, JSONObject dataJo, String farmId) {
         // 通过耳标注册表查找耳标所属单元
@@ -680,21 +784,14 @@ public class EartagServiceImpl implements IEartagService {
      */
     public void updateEartagRegister2(String earmark, String deviceCode, String bat, Timestamp nowTimestamp, java.sql.Date todayDate, String farmId, JSONObject eartagJo) {
         System.out.println(" ============================ 更新耳标编码 ============================ ");
-        if (deviceCode.trim().equalsIgnoreCase("330112002000002")) {
-            System.out.println("deviceCode=" + deviceCode + ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
-        }
         EartagDeviceRegisterEntity deviceRegisterEntity = deviceRegisterRepo.getByDeviceCode(deviceCode);
         Integer unitId = deviceRegisterEntity.getUnitId();
         Integer pigpenId = deviceRegisterEntity.getPigpenId();
-        System.out.println("unitId>>" + unitId);
-        System.out.println("pigpenId>>" + pigpenId);
         List<BasePigpenEntity> basePigpenEntityList = basePigpenRepo.getPigpenByPigpenIdAndUnitId(pigpenId, unitId);
-        System.out.println("basePigpenEntityList.size>>" + basePigpenEntityList.size());
         if (basePigpenEntityList.size() == 0) {
             log.error("栋舍不存在[" + pigpenId + "," + unitId + "].");
             return;
         }
-
         //-- 获取栋舍名称--//
         String pigpenName = "";
         String unitName = "";
@@ -709,12 +806,8 @@ public class EartagServiceImpl implements IEartagService {
                 stageCode = basePigpenEntity.getStageCode();
             }
         }
-        System.out.println("pigpenName>>" + pigpenName);
-        System.out.println("unitName>>" + unitName);
-        System.out.println("stageCode>>" + stageCode);
         //-- 获取阶段名称 --//
         Optional<BizBaseStageEntity> optionalBizBaseStageEntity = bizBaseStageRepo.getStageByStageCode(stageCode);
-        System.out.println("optionalBizBaseStageEntity.isPresent()>>" + optionalBizBaseStageEntity.isPresent());
         if (!optionalBizBaseStageEntity.isPresent()) {
             log.error("该阶段不存在[" + stageCode + "].");
             return;
@@ -728,18 +821,11 @@ public class EartagServiceImpl implements IEartagService {
         Integer registerType = 1;
         Integer activeStatus = 1;
         Integer liveStatus = 1;        //
-        System.out.println("deviceCode=" + deviceCode);
-        System.out.println("earmark=" + earmark);
-        System.out.println("farmId=" + farmId);
-//        EartagEartagRegister2Entity eartagRegisterEntity = eartagEartagRegister2EntityRepo.getOneByEarmark(earmark, farmId);
         EartagEartagRegister2Entity eartagRegisterEntity = eartagEartagRegister2EntityRepo.getOneByEarmark2(earmark);
-        System.out.println("判断是否有耳标注册信息 eartagRegisterEntity=" + eartagRegisterEntity.toString());
         if (eartagRegisterEntity == null) {
-            System.out.println("新建耳标数据...");
             //{新建耳标注册信息}
             newEartagRegister2(earmark, nowTimestamp, deviceCode, registerType, activeStatus, liveStatus, bat, todayDate, farmId, eartagJo, stageCode, stageName, pigpenId, pigpenName, unitId, unitName, deviceRegisterEntity);
         } else {
-            System.out.println("更新耳标数据...");
             eartagRegisterEntity.setLastTime(nowTimestamp);
             eartagRegisterEntity.setLastDevice(deviceCode);
             eartagRegisterEntity.setActiveStatus(activeStatus);
@@ -759,7 +845,6 @@ public class EartagServiceImpl implements IEartagService {
             eartagRegisterEntity.setOther(eartagJo.getString("other"));
             eartagRegisterEntity.setFarmId(farmId);
             eartagRegisterEntity.setLiveStatus(1);
-
             eartagEartagRegister2EntityRepo.saveAndFlush(eartagRegisterEntity);
             //更新耳标注册消息缓存
             cacheService.putEartagRegister(earmark, eartagRegisterEntity);
@@ -999,7 +1084,7 @@ public class EartagServiceImpl implements IEartagService {
             //更新耳标注册表中的运动量数据
             EartagEartagRegister2Entity eartagRegister2Entity = eartagEartagRegister2EntityRepo.getOneByEarmark(earmark, farmId);
             if (eartagRegister2Entity != null) {
-                System.out.println("更新耳标=" + earmark + "," + act1);
+//                System.out.println("更新耳标=" + earmark + "," + act1);
                 eartagRegister2Entity.setAct(act1);
                 eartagEartagRegister2EntityRepo.saveAndFlush(eartagRegister2Entity);
             }

+ 50 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/EartagHourActController.java

@@ -0,0 +1,50 @@
+package com.huimv.eartag2.manage2.controller;
+
+
+import com.huimv.eartag2.common.utils.Result;
+import com.huimv.eartag2.manage2.mapper.EartagHourActMapper;
+import com.huimv.eartag2.manage2.service.EartagHourActService;
+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 java.text.ParseException;
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+@RestController
+@RequestMapping("/eartag-hour-act")
+public class EartagHourActController {
+    @Autowired
+    private EartagHourActService eartagHourActService;
+
+    @RequestMapping(value = "/getAct",method = RequestMethod.POST)
+    public Result list(@RequestBody Map<String, Object> paramsMap) throws ParseException {
+        System.out.println("paramsMap>>"+paramsMap.toString());
+        String farmCode = "";
+        if (paramsMap.get("farmId") != null) {
+            farmCode = paramsMap.get("farmId")+"";
+        }
+        String addDate = "";
+        if (paramsMap.get("addDate") != null) {
+            addDate = paramsMap.get("addDate")+"";
+        }
+        String earmark = "";
+        if (paramsMap.get("earmark") != null) {
+            earmark = paramsMap.get("earmark")+"";
+        }
+        return eartagHourActService.getHourAct(farmCode,addDate,earmark);
+    }
+
+}
+

+ 21 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/EartagResetController.java

@@ -0,0 +1,21 @@
+package com.huimv.eartag2.manage2.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+@RestController
+@RequestMapping("/eartag-reset")
+public class EartagResetController {
+
+}
+

+ 21 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/EartagResetCountController.java

@@ -0,0 +1,21 @@
+package com.huimv.eartag2.manage2.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+@RestController
+@RequestMapping("/eartag-reset-count")
+public class EartagResetCountController {
+
+}
+

+ 16 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/mapper/EartagHourActMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.eartag2.manage2.mapper;
+
+import com.huimv.eartag2.manage2.pojo.EartagHourAct;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+public interface EartagHourActMapper extends BaseMapper<EartagHourAct> {
+
+}

+ 16 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/mapper/EartagResetCountMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.eartag2.manage2.mapper;
+
+import com.huimv.eartag2.manage2.pojo.EartagResetCount;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+public interface EartagResetCountMapper extends BaseMapper<EartagResetCount> {
+
+}

+ 16 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/mapper/EartagResetMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.eartag2.manage2.mapper;
+
+import com.huimv.eartag2.manage2.pojo.EartagReset;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+public interface EartagResetMapper extends BaseMapper<EartagReset> {
+
+}

+ 20 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/mapper/xml/EartagHourActMapper.xml

@@ -0,0 +1,20 @@
+<?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.manage2.mapper.EartagHourActMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.eartag2.manage2.pojo.EartagHourAct">
+        <id column="id" property="id" />
+        <result column="earmark" property="earmark" />
+        <result column="hour" property="hour" />
+        <result column="act" property="act" />
+        <result column="add_date" property="addDate" />
+        <result column="farm_code" property="farmCode" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, earmark, hour, act, add_date, farm_code
+    </sql>
+
+</mapper>

+ 19 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/mapper/xml/EartagResetCountMapper.xml

@@ -0,0 +1,19 @@
+<?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.manage2.mapper.EartagResetCountMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.eartag2.manage2.pojo.EartagResetCount">
+        <id column="id" property="id" />
+        <result column="earmark" property="earmark" />
+        <result column="times" property="times" />
+        <result column="add_date" property="addDate" />
+        <result column="farm_code" property="farmCode" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, earmark, times, add_date, farm_code
+    </sql>
+
+</mapper>

+ 19 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/mapper/xml/EartagResetMapper.xml

@@ -0,0 +1,19 @@
+<?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.manage2.mapper.EartagResetMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.eartag2.manage2.pojo.EartagReset">
+        <id column="id" property="id" />
+        <result column="earmark" property="earmark" />
+        <result column="reset_time" property="resetTime" />
+        <result column="add_date" property="addDate" />
+        <result column="farm_code" property="farmCode" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, earmark, reset_time, add_date, farm_code
+    </sql>
+
+</mapper>

+ 39 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/pojo/EartagHourAct.java

@@ -0,0 +1,39 @@
+package com.huimv.eartag2.manage2.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class EartagHourAct implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String earmark;
+
+    private Integer hour;
+
+    private Integer act;
+
+    private Date addDate;
+
+    private String farmCode;
+
+
+}

+ 37 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/pojo/EartagReset.java

@@ -0,0 +1,37 @@
+package com.huimv.eartag2.manage2.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class EartagReset implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String earmark;
+
+    private Date resetTime;
+
+    private Date addDate;
+
+    private String farmCode;
+
+
+}

+ 37 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/pojo/EartagResetCount.java

@@ -0,0 +1,37 @@
+package com.huimv.eartag2.manage2.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class EartagResetCount implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String earmark;
+
+    private Integer times;
+
+    private Date addDate;
+
+    private String farmCode;
+
+
+}

+ 20 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/EartagHourActService.java

@@ -0,0 +1,20 @@
+package com.huimv.eartag2.manage2.service;
+
+import com.huimv.eartag2.common.utils.Result;
+import com.huimv.eartag2.manage2.pojo.EartagHourAct;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.text.ParseException;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+public interface EartagHourActService extends IService<EartagHourAct> {
+
+    Result getHourAct(String farmCode, String addDate, String earmark) throws ParseException;
+}

+ 16 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/EartagResetCountService.java

@@ -0,0 +1,16 @@
+package com.huimv.eartag2.manage2.service;
+
+import com.huimv.eartag2.manage2.pojo.EartagResetCount;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+public interface EartagResetCountService extends IService<EartagResetCount> {
+
+}

+ 16 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/EartagResetService.java

@@ -0,0 +1,16 @@
+package com.huimv.eartag2.manage2.service;
+
+import com.huimv.eartag2.manage2.pojo.EartagReset;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+public interface EartagResetService extends IService<EartagReset> {
+
+}

+ 58 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagHourActServiceImpl.java

@@ -0,0 +1,58 @@
+package com.huimv.eartag2.manage2.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.eartag2.common.utils.DateUtil;
+import com.huimv.eartag2.common.utils.Result;
+import com.huimv.eartag2.common.utils.ResultCode;
+import com.huimv.eartag2.manage2.pojo.EartagHourAct;
+import com.huimv.eartag2.manage2.mapper.EartagHourActMapper;
+import com.huimv.eartag2.manage2.service.EartagHourActService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+@Service
+public class EartagHourActServiceImpl extends ServiceImpl<EartagHourActMapper, EartagHourAct> implements EartagHourActService {
+    @Autowired
+    private EartagHourActMapper eartagHourActMapper;
+
+    @Override
+    public Result getHourAct(String farmCode, String addDate, String earmark) throws ParseException {
+        QueryWrapper<EartagHourAct> queryWrapper= new QueryWrapper<>();
+        queryWrapper.eq(StringUtils.isNotBlank(farmCode),"farm_code",farmCode);
+        queryWrapper.eq(StringUtils.isNotBlank(addDate),"add_date",addDate);
+        queryWrapper.eq(StringUtils.isNotBlank(earmark),"earmark",earmark);
+//        queryWrapper.orderByAsc("add_date");
+//        queryWrapper.orderByAsc("hour");
+        List orderByAscList = new ArrayList();
+        orderByAscList.add("add_date");
+        orderByAscList.add("hour");
+        queryWrapper.orderByAsc(orderByAscList);
+        List<EartagHourAct> eartagHourActList = eartagHourActMapper.selectList(queryWrapper);
+        List resultList = new ArrayList();
+        DateUtil du = new DateUtil();
+        for(EartagHourAct eartagHourAct:eartagHourActList){
+            Map map = new HashMap<>();
+            resultList.add(map);
+            map.put("addDate",du.formatDateText(eartagHourAct.getAddDate()));
+            map.put("hour",eartagHourAct.getHour());
+            map.put("act",eartagHourAct.getAct());
+        }
+        return new Result(ResultCode.SUCCESS,resultList);
+    }
+}

+ 20 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagResetCountServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.eartag2.manage2.service.impl;
+
+import com.huimv.eartag2.manage2.pojo.EartagResetCount;
+import com.huimv.eartag2.manage2.mapper.EartagResetCountMapper;
+import com.huimv.eartag2.manage2.service.EartagResetCountService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+@Service
+public class EartagResetCountServiceImpl extends ServiceImpl<EartagResetCountMapper, EartagResetCount> implements EartagResetCountService {
+
+}

+ 20 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagResetServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.eartag2.manage2.service.impl;
+
+import com.huimv.eartag2.manage2.pojo.EartagReset;
+import com.huimv.eartag2.manage2.mapper.EartagResetMapper;
+import com.huimv.eartag2.manage2.service.EartagResetService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author zn
+ * @since 2022-08-12
+ */
+@Service
+public class EartagResetServiceImpl extends ServiceImpl<EartagResetMapper, EartagReset> implements EartagResetService {
+
+}