| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- package cn.com.goldenwater.dcproj.controller.importex;
- import cn.com.goldenwater.core.web.BaseController;
- import cn.com.goldenwater.core.web.BaseResponse;
- import cn.com.goldenwater.dcproj.dao.BisInspRsvrProjectDao;
- import cn.com.goldenwater.dcproj.dao.BisInspSafeExtManageDao;
- import cn.com.goldenwater.dcproj.model.BisInspRsvrProject;
- import cn.com.goldenwater.dcproj.model.BisInspSafeExtManage;
- import cn.com.goldenwater.dcproj.param.BisInspRsvrProjectParam;
- import cn.com.goldenwater.dcproj.param.BisInspSafeExtManageParam;
- import cn.com.goldenwater.dcproj.service.BisInspRsvrRgstrService;
- import cn.com.goldenwater.id.util.UuidUtil;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.apache.commons.lang3.StringUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.data.redis.core.RedisTemplate;
- import org.springframework.transaction.annotation.Transactional;
- 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.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @Api(value = "Data 水库工程实体数据同步", tags = "Data 水库工程实体数据同步")
- @RestController
- @RequestMapping("")
- public class InitDataController extends BaseController {
- private Logger logger = LoggerFactory.getLogger(getClass());
- @Autowired
- private BisInspSafeExtManageDao bisInspSafeExtManageDao;
- @Autowired
- private BisInspRsvrProjectDao bisInspRsvrProjectDao;
- @Autowired
- private BisInspRsvrRgstrService bisInspRsvrRgstrService;
- @Autowired
- private RedisTemplate redisTemplate;
- @ApiOperation("水库工程实体数据导入")
- @RequestMapping(value = "/initData", method = RequestMethod.GET)
- @Transactional
- public BaseResponse<Map<String, String>> pblmsList_v2() {
- redisTemplate.opsForValue().set("safeSyncTime", "");
- Map<String, String> params = new HashMap<>();
- logger.info("数据迁移,将安全运行中涉及到工程实体的数据迁移到工程实体");
- BisInspSafeExtManageParam safeExtManageParam = new BisInspSafeExtManageParam();
- //分页处理,防止数据量过大撑爆内存
- Integer total = bisInspSafeExtManageDao.selectNewCount();
- int pageNum = total % 500 == 0 ? total / 500 : (total / 500) + 1;
- String desc = "需要更新的数据条数-->" + total + "共分为" + pageNum + "次导入";
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < pageNum; i++) {
- String updateTime = (String) redisTemplate.opsForValue().get("safeSyncTime");
- if (StringUtils.isNotBlank(updateTime)) {
- try {
- Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(updateTime);
- safeExtManageParam.setUpdateTime(date);
- } catch (ParseException e) {
- e.printStackTrace();
- }
- }
- safeExtManageParam.setPageNum(500);
- List<BisInspSafeExtManage> inspSafeExtManages = bisInspSafeExtManageDao.findRsvrProjectList(safeExtManageParam);
- logger.info("第" + (i + 1) + "需要迁移的数据条数——————>" + inspSafeExtManages.size());
- buffer.append("第" + (i + 1) + "需要迁移的数据条数——————>" + inspSafeExtManages.size());
- if (inspSafeExtManages != null && !inspSafeExtManages.isEmpty()) {
- BisInspSafeExtManage maxInspSafe = inspSafeExtManages.get(inspSafeExtManages.size() - 1);
- Date updateDate = maxInspSafe.getUpdateTime();
- updateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(updateDate);
- redisTemplate.opsForValue().set("safeSyncTime", updateTime);
- for (BisInspSafeExtManage safeExtManage : inspSafeExtManages) {
- BisInspRsvrProject rsvrProject = new BisInspRsvrProject();
- rsvrProject.setRgstrId(safeExtManage.getRgstrId());
- rsvrProject.setId(UuidUtil.uuid());
- rsvrProject.setUpdateTime(safeExtManage.getUpdateTime());
- rsvrProject.setCreateTime(safeExtManage.getCreateTime());
- rsvrProject.setDiskRunInfo(safeExtManage.getDikeHasLeak());
- rsvrProject.setFsltdzInfo(safeExtManage.getHavFlLowLimLev());
- rsvrProject.setHasExtDamSafeAppr(safeExtManage.getExtDamSafeAppr());
- rsvrProject.setHasSetMainFl(safeExtManage.getHasSetMainFl());
- rsvrProject.setHasSetPourFl(safeExtManage.getHasSetPourFl());
- rsvrProject.setIfReinForce(safeExtManage.getIfReinForce());
- rsvrProject.setIsMainFlNormal(safeExtManage.getIsMainFlNormal());
- rsvrProject.setStatus(safeExtManage.getStatus());
- rsvrProject.setReverOrgName(safeExtManage.getReverOrgName());
- rsvrProject.setReverOrg(safeExtManage.getReverOrg());
- rsvrProject.setReinForceRun(safeExtManage.getIfComplateAcc());
- rsvrProject.setWaterRunInfo(safeExtManage.getRetainRegular());
- rsvrProject.setNotReinForce(safeExtManage.getNoReinForceReson());
- rsvrProject.setRecPersId(safeExtManage.getRecPersId());
- rsvrProject.setPoorCountry(safeExtManage.getPoorCountry());
- rsvrProject.setPourFyIsNormal(safeExtManage.getPourFyIsNormal());
- rsvrProject.setRecPers2(safeExtManage.getRecPers2());
- rsvrProject.setRecPersId(safeExtManage.getRecPersId());
- rsvrProject.setExtDamSafeAppr(safeExtManage.getDamSafeApprNote());
- //已经存在则不操作
- //最后更改督查表状态
- BisInspRsvrProjectParam rsvrProjectParam = new BisInspRsvrProjectParam();
- rsvrProjectParam.setRgstrId(safeExtManage.getRgstrId());
- BisInspRsvrProject inspRsvrProject = bisInspRsvrProjectDao.getBy(rsvrProjectParam);
- if (inspRsvrProject == null) {
- bisInspRsvrProjectDao.insert(rsvrProject);
- bisInspRsvrRgstrService.updateRsvr(safeExtManage.getRgstrId(), safeExtManage.getStatus(), "project");
- } else {
- bisInspRsvrProjectDao.update(rsvrProject);
- }
- }
- }
- }
- params.put("size", desc);
- params.put("step", buffer.toString());
- return buildSuccessResponse(params);
- }
- }
|