Browse Source

2021/9/3 apiservice根据偏移量获取猪只数据

yinhao 3 years ago
parent
commit
e963d34295

+ 1 - 1
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/dao/PigDao.java

@@ -25,7 +25,7 @@ public interface PigDao extends BaseMapper<YearPigBaseEntity> {
 
 
     String selectPastureNameByPigstyId(Integer pigstyId);
     String selectPastureNameByPigstyId(Integer pigstyId);
 
 
-    IPage<PigBaseVo> selectPagePigBaseVoByBreedName(IPage<PigBaseVo> page, @Param("breedName") String breedName, @Param("periodId") Integer periodId);
+    IPage<PigBaseVo> selectPagePigBaseVoByBreedName(IPage<PigBaseVo> page, @Param("breedName") String breedName, @Param("periodId") Integer periodId, @Param("lastGetDataTime") String lastGetDataTime);
 
 
     boolean selectHealthStatus(String pigEarTagNo);
     boolean selectHealthStatus(String pigEarTagNo);
 
 

+ 13 - 2
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/service/impl/PigServiceImpl.java

@@ -26,6 +26,7 @@ import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import java.util.*;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -39,6 +40,9 @@ import java.util.*;
 public class PigServiceImpl extends ServiceImpl<PigDao, YearPigBaseEntity> implements PigService {
 public class PigServiceImpl extends ServiceImpl<PigDao, YearPigBaseEntity> implements PigService {
 
 
     @Autowired
     @Autowired
+    private RedisTemplate<String, String> redisTemplate;
+
+    @Autowired
     private EartagDataDao eartagDataDao;
     private EartagDataDao eartagDataDao;
 
 
     @Autowired
     @Autowired
@@ -163,9 +167,16 @@ public class PigServiceImpl extends ServiceImpl<PigDao, YearPigBaseEntity> imple
             }
             }
         }
         }
 
 
+        String lastGetDataTime = redisTemplate.opsForValue().get("getPageByBreedAndFence");
+        if (lastGetDataTime != null) {
+            redisTemplate.opsForValue().set("getPageByBreedAndFence", DateUtil.date().toString(), 0);
+        } else {
+            redisTemplate.opsForValue().set("getPageByBreedAndFence", DateUtil.date().toString(), 5, TimeUnit.DAYS);
+        }
+
 
 
         IPage<PigBaseVo> page = new Page<>(currentPage, pageSize);
         IPage<PigBaseVo> page = new Page<>(currentPage, pageSize);
-        IPage<PigBaseVo> pigBaseVoList = baseMapper.selectPagePigBaseVoByBreedName(page, breedName, periodId);
+        IPage<PigBaseVo> pigBaseVoList = baseMapper.selectPagePigBaseVoByBreedName(page, breedName, periodId, lastGetDataTime);
 
 
         return new PageUtils(pigBaseVoList);
         return new PageUtils(pigBaseVoList);
     }
     }
@@ -276,7 +287,7 @@ public class PigServiceImpl extends ServiceImpl<PigDao, YearPigBaseEntity> imple
 
 
         YearPigBaseEntity yearPigBaseEntity = getYearPigBaseEntity(pigEarTagNo);
         YearPigBaseEntity yearPigBaseEntity = getYearPigBaseEntity(pigEarTagNo);
 
 
-        if ( !yearPigBaseEntity.getFosterStatus() || yearPigBaseEntity.getOutFenceStatus() != 0) {
+        if (!yearPigBaseEntity.getFosterStatus() || yearPigBaseEntity.getOutFenceStatus() != 0) {
             throw new RRException("操作失败,该小猪目前未被认养或已经出栏!", 1001);
             throw new RRException("操作失败,该小猪目前未被认养或已经出栏!", 1001);
         }
         }
 
 

+ 3 - 1
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/task/DataCollectTask.java

@@ -119,7 +119,9 @@ public class DataCollectTask {
             if (feedRecordJson != null) {
             if (feedRecordJson != null) {
                 JSONArray rows = feedRecordJson.getJSONArray("rows");
                 JSONArray rows = feedRecordJson.getJSONArray("rows");
                 List<FeedRecordEntity> feedRecordEntities = rows.toJavaList(FeedRecordEntity.class);
                 List<FeedRecordEntity> feedRecordEntities = rows.toJavaList(FeedRecordEntity.class);
-                feedRecordDao.batchInsertData(feedRecordEntities);
+                if (feedRecordEntities != null && feedRecordEntities.size() > 0) {
+                    feedRecordDao.batchInsertData(feedRecordEntities);
+                }
             }
             }
         } catch (Exception e) {
         } catch (Exception e) {
             throw new RRException(e.getMessage(), 1001, e);
             throw new RRException(e.getMessage(), 1001, e);

+ 27 - 21
huimv-smart-apiservice/src/main/resources/mapper/apiservice/YearPigBaseDao.xml

@@ -25,34 +25,35 @@
 
 
 
 
     <resultMap id="pigBaseVoMap" type="com.huimv.apiservice.entity.vo.PigBaseVo">
     <resultMap id="pigBaseVoMap" type="com.huimv.apiservice.entity.vo.PigBaseVo">
-        <result property="eartag" column="c_eartag" />
-        <result property="weight" column="weight" />
-        <result property="dayAge" column="day_age" />
-        <result property="breed" column="breed" />
-        <result property="birthday" column="birthday" />
-        <result property="feeder" column="feeder" />
-        <result property="pigsty" column="pigsty" />
-        <result property="periodNumber" column="period_number" />
-        <result property="inFenceTime" column="in_fence_time" />
-        <result property="outFenceTime" column="out_fence_time" />
+        <result property="eartag" column="c_eartag"/>
+        <result property="weight" column="weight"/>
+        <result property="dayAge" column="day_age"/>
+        <result property="breed" column="breed"/>
+        <result property="birthday" column="birthday"/>
+        <result property="feeder" column="feeder"/>
+        <result property="pigsty" column="pigsty"/>
+        <result property="periodNumber" column="period_number"/>
+        <result property="inFenceTime" column="in_fence_time"/>
+        <result property="outFenceTime" column="out_fence_time"/>
 
 
         <association property="mother" javaType="com.huimv.apiservice.entity.vo.PigPedigreeMotherVo">
         <association property="mother" javaType="com.huimv.apiservice.entity.vo.PigPedigreeMotherVo">
-            <result property="eartag" column="m_eartag" />
-            <result property="breed" column="m_breed" />
-            <result property="childbirthWeight" column="m_weight" />
-            <result property="originPlace" column="m_origin_place" />
-            <result property="pregnancyDate" column="pregnancy_date" />
-            <result property="childCount" column="child_count" />
+            <result property="eartag" column="m_eartag"/>
+            <result property="breed" column="m_breed"/>
+            <result property="childbirthWeight" column="m_weight"/>
+            <result property="originPlace" column="m_origin_place"/>
+            <result property="pregnancyDate" column="pregnancy_date"/>
+            <result property="childCount" column="child_count"/>
         </association>
         </association>
 
 
         <association property="father" javaType="com.huimv.apiservice.entity.vo.PigPedigreeFatherVo">
         <association property="father" javaType="com.huimv.apiservice.entity.vo.PigPedigreeFatherVo">
-            <result property="eartag" column="f_eartag" />
-            <result property="breed" column="f_breed" />
-            <result property="originPlace" column="f_origin_place" />
+            <result property="eartag" column="f_eartag"/>
+            <result property="breed" column="f_breed"/>
+            <result property="originPlace" column="f_origin_place"/>
         </association>
         </association>
     </resultMap>
     </resultMap>
 
 
-    <select id="selectFeederInfoByPigEarTagNo" parameterType="string" resultType="com.huimv.apiservice.entity.EmployeeEntity">
+    <select id="selectFeederInfoByPigEarTagNo" parameterType="string"
+            resultType="com.huimv.apiservice.entity.EmployeeEntity">
         SELECT me.*
         SELECT me.*
         FROM mgt_employee me
         FROM mgt_employee me
         JOIN mgt_pigsty mp
         JOIN mgt_pigsty mp
@@ -107,11 +108,16 @@
         <if test="periodId != null">
         <if test="periodId != null">
             AND child.period_id = #{periodId}
             AND child.period_id = #{periodId}
         </if>
         </if>
+        <if test="lastGetDataTime != null and lastGetDataTime != ''">
+            AND child.gmt_modified = #{lastGetDataTime}
+        </if>
     </select>
     </select>
 
 
 
 
     <insert id="batchInsertData">
     <insert id="batchInsertData">
-        insert into mgt_year_pig_base(eartag,day_age,unit_id,weight,breed,sex,birthday,origin_place,pigsty_id,period_id,in_fence_time,mother_eartag,father_eartag) values
+        insert into
+        mgt_year_pig_base(eartag,day_age,unit_id,weight,breed,sex,birthday,origin_place,pigsty_id,period_id,in_fence_time,mother_eartag,father_eartag)
+        values
         <foreach collection="list" item="item" separator=",">
         <foreach collection="list" item="item" separator=",">
             (#{item.eartag},
             (#{item.eartag},
             #{item.dayAge},
             #{item.dayAge},

+ 22 - 11
huimv-smart-apiservice/src/test/java/com/huimv/apiservice/HuimvSmartApiserviceApplicationTests.java

@@ -15,9 +15,11 @@ import com.huimv.apiservice.entity.vo.FeedRecordVo;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.data.redis.core.RedisTemplate;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 
 @SpringBootTest
 @SpringBootTest
 class HuimvSmartApiserviceApplicationTests {
 class HuimvSmartApiserviceApplicationTests {
@@ -34,16 +36,31 @@ class HuimvSmartApiserviceApplicationTests {
     @Autowired
     @Autowired
     private FeedRecordDao feedRecordDao;
     private FeedRecordDao feedRecordDao;
 
 
+    @Autowired
+    private RedisTemplate redisTemplate;
+
 
 
     @Test
     @Test
     void contextLoads() {
     void contextLoads() {
 
 
-        LambdaQueryWrapper<FeedRecordEntity> query = Wrappers.lambdaQuery();
-        query.eq(FeedRecordEntity::getPmsPig__earNumber, "156000020947069")
-                .ge(FeedRecordEntity::getStartTime, DateUtil.offsetDay(DateUtil.date(), -1));
+        String lastGetDataTime = (String) redisTemplate.opsForValue().get("getPageByBreedAndFence");
+        if (lastGetDataTime != null) {
+            redisTemplate.opsForValue().set("getPageByBreedAndFence", DateUtil.date().toString(), 0);
+        } else {
+            redisTemplate.opsForValue().set("getPageByBreedAndFence", DateUtil.date().toString(), 5, TimeUnit.DAYS);
+        }
 
 
-        List<FeedRecordVo> feedRecordVos = feedRecordDao.queryFeedRecords(query);
-        System.out.println(feedRecordVos);
+//        System.out.println(getPageByBreedAndFence);
+//        System.out.println(lastGetDataTime);
+//        String lastGetDataTime2 = (String) redisTemplate.opsForHash().get("offset_record", "getPageByBreedAndFence");
+//        System.out.println(lastGetDataTime2);
+
+//        LambdaQueryWrapper<FeedRecordEntity> query = Wrappers.lambdaQuery();
+//        query.eq(FeedRecordEntity::getPmsPig__earNumber, "156000020947069")
+//                .ge(FeedRecordEntity::getStartTime, DateUtil.offsetDay(DateUtil.date(), -1));
+//
+//        List<FeedRecordVo> feedRecordVos = feedRecordDao.queryFeedRecords(query);
+//        System.out.println(feedRecordVos);
 
 
 //        List<FeedRecordEntity> feedRecordEntities = feedRecordDao.select(query);
 //        List<FeedRecordEntity> feedRecordEntities = feedRecordDao.select(query);
 //        System.out.println(feedRecordEntities);
 //        System.out.println(feedRecordEntities);
@@ -203,10 +220,4 @@ class HuimvSmartApiserviceApplicationTests {
 //    }
 //    }
 
 
 
 
-
-
-
-
-
-
 }
 }

+ 0 - 102
huimv-smart-eartagdata-recive/pom.xml

@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>smart-farming</artifactId>
-        <groupId>com.huimv</groupId>
-        <version>1.0-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>huimv-smart-eartagdata-recive</artifactId>
-
-
-
-
-    <properties>
-        <java.version>1.8</java.version>
-    </properties>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jpa</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-log4j2</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>fastjson</artifactId>
-            <version>1.2.62</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>javax.persistence</groupId>
-            <artifactId>persistence-api</artifactId>
-            <version>1.0</version>
-            <scope>compile</scope>
-        </dependency>
-
-        <!--通用mapper起步依赖-->
-        <dependency>
-            <groupId>tk.mybatis</groupId>
-            <artifactId>mapper-spring-boot-starter</artifactId>
-            <version>2.1.5</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.pagehelper</groupId>
-            <artifactId>pagehelper-spring-boot-starter</artifactId>
-            <version>1.2.3</version>
-        </dependency>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-        </dependency>
-
-        <!--自定义依赖-->
-        <dependency>
-            <groupId>com.huimv</groupId>
-            <artifactId>huimv-common</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-
-
-
-
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
-
-
-</project>

+ 0 - 16
huimv-smart-eartagdata-recive/src/main/java/com/huimv/service/IClientDataPacketService.java

@@ -1,16 +0,0 @@
-package com.huimv.service;
-
-import java.text.ParseException;
-
-public interface IClientDataPacketService {
-
-    // 解析客户端数据包
-    public String handleClientSendPacket(String clientMessage) throws ParseException;
-
-
-
-
-
-
-
-}

+ 0 - 67
huimv-smart-eartagdata-recive/src/main/java/com/huimv/service/impl/ClientDataPacketServiceImpl.java

@@ -1,67 +0,0 @@
-package com.huimv.service.impl;
-
-import com.huimv.eartag.monitor.service.IClientDataPacketService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.text.ParseException;
-
-/**
- * @Project : huimv.shiwan
- * @Package : com.huimv.biosafety.uface.controller
- * @Description : TODO
- * @Version : 1.0
- * @Author : ZhuoNing
- * @Create : 2020-12-25
- **/
-@Service
-@Slf4j
-public class ClientDataPacketServiceImpl implements IClientDataPacketService {
-
-    @Autowired
-    private ReceivePackageSerivce receivePackageSerivce;
-    @Autowired
-    private SendPackageService sendPackageService;
-
-    @Override
-    public String handleClientSendPacket(String clientMessageTxt) throws ParseException {
-        if (clientMessageTxt == null || clientMessageTxt.isEmpty()) {
-            log.error("本地提交数据包为空.");
-            return null;
-        }
-        String matcher = "[+]";
-//        String matcher = "\\+";
-        String[] clientMessageArray = clientMessageTxt.split(matcher);
-        String cmd = clientMessageArray[2];
-        log.info("本次执行命令>>" + cmd);
-        StringBuilder echoResultSb = new StringBuilder();
-        // 校验后边再做;
-        if (Integer.parseInt(cmd) == 1) {
-            // 绑定序列号返回的设备id
-            return sendPackageService.getDeviceId(clientMessageArray);
-        } else if (Integer.parseInt(cmd) == 2) {
-            // 处理获取服务器时间
-            return sendPackageService.getServerDateTime(clientMessageArray);
-        } else if (Integer.parseInt(cmd) == 3) {
-            // 处理心跳包
-            return sendPackageService.getHeartbeatBag(clientMessageArray);
-        } else if (Integer.parseInt(cmd) == 4) {
-            // 处理温度上传
-            return receivePackageSerivce.handleEartagTemperature(clientMessageArray);
-        } else if (Integer.parseInt(cmd) == 5) {
-            // 处理湿度上传
-            return receivePackageSerivce.handleEartagDampness(clientMessageArray);
-        } else if (Integer.parseInt(cmd) == 6) {
-            // 处理耳标数据
-            System.out.println("处理耳标数据");
-            System.out.println(clientMessageTxt);
-            return receivePackageSerivce.handleEartagData(clientMessageArray).toString();
-
-        } else {
-            log.error("出错:当前命令cmd>>[" + cmd + "]未做任何处理.");
-            return null;
-        }
-    }
-
-}

+ 0 - 46
huimv-smart-eartagdata-recive/src/main/java/com/huimv/socket/Server.java

@@ -1,46 +0,0 @@
-package com.huimv.socket;
-
-
-
-import com.huimv.service.IClientDataPacketService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.CommandLineRunner;
-import org.springframework.stereotype.Component;
-
-import java.io.IOException;
-import java.net.ServerSocket;
-import java.net.Socket;
-
-@Component
-public class Server implements CommandLineRunner {
-
-    @Autowired
-    private IClientDataPacketService iClientDataPacketService;
-
-    @Override
-    public void run(String... args) throws Exception {
-        try {
-
-            // 初始化服务端socket连接, 并监听8888端口的socket请求
-            ServerSocket serverSocket = new ServerSocket(8888);
-
-            System.out.println("****** I am Server, now begin to wait the client ******");
-
-            int count = 0;
-
-            // 处理socket请求
-            Socket socket = null;
-            while (true) {
-                socket = serverSocket.accept();
-                ServerThread serverThread = new ServerThread(socket, iClientDataPacketService);
-                System.out.println("client host address is: " + socket.getInetAddress().getHostAddress());
-                serverThread.start();
-                count++;
-                System.out.println("now client count is: " + count);
-
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-}

+ 0 - 81
huimv-smart-eartagdata-recive/src/main/java/com/huimv/socket/ServerThread.java

@@ -1,81 +0,0 @@
-package com.huimv.socket;
-
-
-import com.huimv.eartag.monitor.service.IClientDataPacketService;
-
-import java.io.*;
-import java.net.Socket;
-import java.text.ParseException;
-
-//@Component
-public class ServerThread extends Thread {
-
-    private Socket socket;
-   // @Autowired
-    private IClientDataPacketService iClientDataPacketService;
-
-    public ServerThread(Socket socket,IClientDataPacketService iClientDataPacketService) {
-        this.socket = socket;
-        this.iClientDataPacketService = iClientDataPacketService;
-    }
-
-    @Override
-    public void run() {
-        InputStream inputStream = null;
-        InputStreamReader inputStreamReader = null;
-        BufferedReader bufferedReader = null;
-        OutputStream outputStream = null;
-        PrintWriter printWriter = null;
-
-        try {
-
-            // server接收消息
-            inputStream = socket.getInputStream();
-
-
-            inputStream = socket.getInputStream();
-            byte[] b = new byte[1024];
-            inputStream.read(b);
-            String packet = new String(b);
-
-            int i = packet.indexOf("+", packet.indexOf("+") + 1);
-            //int ver = Integer.parseInt(packet.substring(i + 1, i + 2));
-            outputStream = socket.getOutputStream();
-            packet = packet.trim();
-            // 处理数据包
-             String ss = iClientDataPacketService.handleClientSendPacket(packet);
-
-            outputStream.write(ss.getBytes());
-
-            socket.shutdownInput();
-
-        } catch (IOException | ParseException e) {
-            e.printStackTrace();
-        } finally {
-            // 关闭资源
-            try {
-                if (printWriter != null) {
-                    printWriter.close();
-                }
-                if (outputStream != null) {
-                    outputStream.close();
-
-                }
-                if (bufferedReader != null) {
-                    bufferedReader.close();
-                }
-                if (inputStreamReader != null) {
-                    inputStreamReader.close();
-                }
-                if (inputStream != null) {
-                    inputStream.close();
-                }
-                if (socket != null) {
-                    socket.close();
-                }
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-    }
-}

+ 36 - 5
huimv-smart-management/src/main/java/com/huimv/management/Abc.java

@@ -1,11 +1,14 @@
 package com.huimv.management;
 package com.huimv.management;
 
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.date.DateUtil;
 import com.huimv.common.utils.Constant;
 import com.huimv.common.utils.Constant;
 import com.huimv.management.dao.YearPigPedigreeDao;
 import com.huimv.management.dao.YearPigPedigreeDao;
 import com.huimv.management.rsa.JdkSignatureUtil;
 import com.huimv.management.rsa.JdkSignatureUtil;
 import com.huimv.management.util.GetUserUtil;
 import com.huimv.management.util.GetUserUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.http.client.methods.HttpPost;
 import org.apache.tomcat.util.codec.binary.Base64;
 import org.apache.tomcat.util.codec.binary.Base64;
 
 
 import javax.crypto.Cipher;
 import javax.crypto.Cipher;
@@ -119,11 +122,39 @@ public class Abc {
 //        System.out.println(sj.length());
 //        System.out.println(sj.length());
 //        sj.add("123456");
 //        sj.add("123456");
 //        System.out.println(sj.length());
 //        System.out.println(sj.length());
-
-        Class<? super YearPigPedigreeDao> superclass = YearPigPedigreeDao.class.getSuperclass();
-        System.out.println(superclass);
-        for (Class<?> anInterface : YearPigPedigreeDao.class.getInterfaces()) {
-            System.out.println(anInterface);
+//        String end = "2018-02";
+//        String format = DateUtil.format(DateUtil.endOfMonth(DateUtil.parse(end, "yyyy-MM")), "yyyy-MM-dd");
+//        System.out.println(format);
+
+
+        long b = System.currentTimeMillis();
+        String start = "2021-07";
+        DateTime nowDate = DateUtil.date();
+        if (StringUtils.isEmpty(start)) {
+            start = DateUtil.format(DateUtil.offsetMonth(nowDate, -12), "yyyy-MM") + "-01";
+        } else {
+            start += "-01";
+        }
+        String end = "2021-07";
+        if (StringUtils.isEmpty(end) || end.equals(DateUtil.format(nowDate, "yyyy-MM"))) {
+            end = DateUtil.format(nowDate, "yyyy-MM-dd");
+        } else {
+            end = DateUtil.format(DateUtil.endOfMonth(DateUtil.parse(end, "yyyy-MM")),"yyyy-MM-dd");
         }
         }
+        long c = System.currentTimeMillis();
+        System.out.println(c-b);
+
+        System.out.println(start);
+        System.out.println(end);
+
+
+//        DateTime parse = DateUtil.parse("2018-12", "yyyy-MM");
+//        System.out.println(parse);
+
+//        Class<? super YearPigPedigreeDao> superclass = YearPigPedigreeDao.class.getSuperclass();
+//        System.out.println(superclass);
+//        for (Class<?> anInterface : YearPigPedigreeDao.class.getInterfaces()) {
+//            System.out.println(anInterface);
+//        }
     }
     }
 }
 }

+ 0 - 1
huimv-smart-management/src/test/java/com/huimv/management/HuimvSmartManagementApplicationTests.java

@@ -9,7 +9,6 @@ class HuimvSmartManagementApplicationTests {
     @Test
     @Test
     void contextLoads() {
     void contextLoads() {
 
 
-
     }
     }
 
 
 }
 }