lange vor 5 Jahren
Ursprung
Commit
45d0f18ed1

+ 2 - 2
whepi-web/src/main/java/com/bofeng/dao/MsReportMapper.java

@@ -22,8 +22,8 @@ public interface MsReportMapper extends BaseMapper<MsReport> {
     @Select("select * from ms_report where report_date<curdate()  and user_create=#{userCreate} ORDER BY report_date desc LIMIT 1")
     List<MsReport> getNowByYesterdayDate(@Param("userCreate") Long userCreate);
 
-    @Select("select user_create  from ms_report where report_date<curdate() GROUP BY user_create")
-    List<Long> getUserByYesterdayDate();
+    @Select("select user_create  from ms_report where report_date<curdate() GROUP BY user_create limit #{start}, #{count}")
+    List<Long> getUserByYesterdayDate(@Param("start") Long start, @Param("count") Long count);
 
     @Select("select property_id from sys_user_role where user_id=#{userId} and role_id=1")
     Long selectHouseIdByUserId(@Param("userId") Long userId);

+ 76 - 67
whepi-web/src/main/java/com/bofeng/service/MsReportService.java

@@ -6,6 +6,7 @@ import com.bofeng.dao.MsReportMapper;
 import com.bofeng.dao.MsSuspectedMapper;
 import com.bofeng.entity.MsReport;
 import com.bofeng.entity.MsSuspected;
+import com.bofeng.entity.UserOpen;
 import org.joda.time.DateTime;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -57,7 +58,8 @@ public class MsReportService {
     //获取今天数据
     public MsReport getReportByDateNow(Long userCreate) {
         //根据昨天的获取今天的
-        msReportService.getNowByYesterday(userCreate);
+       // msReportService.getNowByYesterday(userCreate);
+        //msReportService.getNowByYesterdayDate();
         Date t = new Date();
         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
         String reportDate = df.format(t);
@@ -183,78 +185,85 @@ public class MsReportService {
     //自动将用户最新的数据更新到今天
     @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
     public void getNowByYesterdayDate() {
-        //今天以前一共有多少用户
-        List<Long> listUser = msReportMapper.getUserByYesterdayDate();
-        if (listUser != null && listUser.size() > 0) {
-            for (Long userCreate : listUser) {
-                //判断用户今天是否有数据
-                SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
-                Date d = new Date();
-                String DateNow = sj.format(d);
-                List<MsReport> listReport = msReportMapper.selectByReportDate(DateNow, userCreate);
-                if (listReport != null && listReport.size() > 0)
-                    continue;
-                //查询改用户今天以前的最近一条记录
-                List<MsReport> listReport1 = msReportMapper.getNowByYesterdayDate(userCreate);
-                if (listReport1 != null && listReport1.size() > 0) {
-                    for (MsReport msReport : listReport1) {
-                        if (msReport != null) {
-                            //添加日报
-                            MsReport msReport1 = new MsReport();
-                            msReport1.setReportId(IdWorker.getId());
-                            msReport1.setHouseId(msReport.getHouseId());
-                            msReport1.setSafetyNum(msReport.getSafetyNum());
-                            msReport1.setSureNum(msReport.getSureNum());
-                            msReport1.setSuspectedNum(msReport.getSuspectedNum());
-                            msReport1.setNormalNum(msReport.getNormalNum());
-                            msReport1.setSingleNum(msReport.getSingleNum());
-                            msReport1.setRemarks(msReport.getRemarks());
-                            msReport1.setReportDate(DateTime.now().toDate());
-                            msReport1.setReportStatus(0);//未上报
-                            msReport1.setMsStatus(msReport.getMsStatus());
-                            msReport1.setUserCreate(msReport.getUserCreate());
-                            msReport1.setTimeCreate(DateTime.now());
-                            msReport1.setUserUpdate(msReport.getUserCreate());
-                            msReport1.setTimeUpdate(DateTime.now());
-                            msReportMapper.insert(msReport1);
-                            //添加家人
-                            List<MsSuspected> listSuspected = msSuspectedMapper.selectByReportId(msReport.getReportId());
-                            if (listSuspected != null && listSuspected.size() > 0) {
-                                for (MsSuspected msSuspected : listSuspected) {
-                                    MsSuspected msSuspected1 = new MsSuspected();
-                                    msSuspected1.setSuspectedId(IdWorker.getId());
-                                    msSuspected1.setReportId(msReport1.getReportId());
-                                    msSuspected1.setUserName(msSuspected.getUserName());
-                                    msSuspected1.setGrender(msSuspected.getGrender());
-                                    msSuspected1.setAge(msSuspected.getAge());
-                                    msSuspected1.setFamilyStatus(msSuspected.getFamilyStatus());
-                                    msSuspected1.setStatusDesp(msSuspected.getStatusDesp());
-                                    msSuspected1.setMedical(msSuspected.getMedical());
-                                    msSuspected1.setTemperature(new BigDecimal(0));//温度0
-                                    msSuspected1.setCough(msSuspected.getCough());
-                                    msSuspected1.setMuscle(msSuspected.getMuscle());
-                                    msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
-                                    msSuspected1.setFatigue(msSuspected.getFatigue());
-                                    msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
-                                    msSuspected1.setSingleRoom(msSuspected.getSingleRoom());
-                                    msSuspected1.setOthers(msSuspected.getOthers());
-                                    // msSuspected1.setScoreRezult(msSuspected.getScoreRezult());
-                                    // msSuspected1.setScore(msSuspected.getScore());
-                                    // msSuspected1.setScoreHistroy(msSuspected.getScoreHistroy());
-                                    // msSuspected1.setTemperatureScore(msSuspected.getTemperatureScore());
-                                    msSuspected1.setSuspectedStatus(0);
-                                    msSuspected1.setUserCreate(msSuspected.getUserCreate());
-                                    msSuspected1.setTimeCreate(DateTime.now());
-                                    msSuspected1.setUserUpdate(msSuspected.getUserUpdate());
-                                    msSuspected1.setTimeUpdate(DateTime.now());
-                                    msSuspectedMapper.insert(msSuspected1);
+        //每次执行100条
+        Long start = 0L, count = 100L;
+        while (true) {
+            //今天以前一共有多少用户
+            List<Long> listUser = msReportMapper.getUserByYesterdayDate(start,count);
+            if (listUser != null && listUser.size() > 0) {
+                for (Long userCreate : listUser) {
+                    //判断用户今天是否有数据
+                    SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
+                    Date d = new Date();
+                    String DateNow = sj.format(d);
+                    List<MsReport> listReport = msReportMapper.selectByReportDate(DateNow, userCreate);
+                    if (listReport != null && listReport.size() > 0)
+                        continue;
+                    //查询改用户今天以前的最近一条记录
+                    List<MsReport> listReport1 = msReportMapper.getNowByYesterdayDate(userCreate);
+                    if (listReport1 != null && listReport1.size() > 0) {
+                        for (MsReport msReport : listReport1) {
+                            if (msReport != null) {
+                                //添加日报
+                                MsReport msReport1 = new MsReport();
+                                msReport1.setReportId(IdWorker.getId());
+                                msReport1.setHouseId(msReport.getHouseId());
+                                msReport1.setSafetyNum(msReport.getSafetyNum());
+                                msReport1.setSureNum(msReport.getSureNum());
+                                msReport1.setSuspectedNum(msReport.getSuspectedNum());
+                                msReport1.setNormalNum(msReport.getNormalNum());
+                                msReport1.setSingleNum(msReport.getSingleNum());
+                                msReport1.setRemarks(msReport.getRemarks());
+                                msReport1.setReportDate(DateTime.now().toDate());
+                                msReport1.setReportStatus(0);//未上报
+                                msReport1.setMsStatus(msReport.getMsStatus());
+                                msReport1.setUserCreate(msReport.getUserCreate());
+                                msReport1.setTimeCreate(DateTime.now());
+                                msReport1.setUserUpdate(msReport.getUserCreate());
+                                msReport1.setTimeUpdate(DateTime.now());
+                                msReportMapper.insert(msReport1);
+                                //添加家人
+                                List<MsSuspected> listSuspected = msSuspectedMapper.selectByReportId(msReport.getReportId());
+                                if (listSuspected != null && listSuspected.size() > 0) {
+                                    for (MsSuspected msSuspected : listSuspected) {
+                                        MsSuspected msSuspected1 = new MsSuspected();
+                                        msSuspected1.setSuspectedId(IdWorker.getId());
+                                        msSuspected1.setReportId(msReport1.getReportId());
+                                        msSuspected1.setUserName(msSuspected.getUserName());
+                                        msSuspected1.setGrender(msSuspected.getGrender());
+                                        msSuspected1.setAge(msSuspected.getAge());
+                                        msSuspected1.setFamilyStatus(msSuspected.getFamilyStatus());
+                                        msSuspected1.setStatusDesp(msSuspected.getStatusDesp());
+                                        msSuspected1.setMedical(msSuspected.getMedical());
+                                        msSuspected1.setTemperature(new BigDecimal(0));//温度0
+                                        msSuspected1.setCough(msSuspected.getCough());
+                                        msSuspected1.setMuscle(msSuspected.getMuscle());
+                                        msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
+                                        msSuspected1.setFatigue(msSuspected.getFatigue());
+                                        msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
+                                        msSuspected1.setSingleRoom(msSuspected.getSingleRoom());
+                                        msSuspected1.setOthers(msSuspected.getOthers());
+                                        // msSuspected1.setScoreRezult(msSuspected.getScoreRezult());
+                                        // msSuspected1.setScore(msSuspected.getScore());
+                                        // msSuspected1.setScoreHistroy(msSuspected.getScoreHistroy());
+                                        // msSuspected1.setTemperatureScore(msSuspected.getTemperatureScore());
+                                        msSuspected1.setSuspectedStatus(0);
+                                        msSuspected1.setUserCreate(msSuspected.getUserCreate());
+                                        msSuspected1.setTimeCreate(DateTime.now());
+                                        msSuspected1.setUserUpdate(msSuspected.getUserUpdate());
+                                        msSuspected1.setTimeUpdate(DateTime.now());
+                                        msSuspectedMapper.insert(msSuspected1);
+                                    }
                                 }
                             }
-
                         }
                     }
                 }
             }
+            start += count;
+            if (listUser == null || listUser.size()<count) {
+                break;
+            }
         }
     }