From e96252ffd9f8368badf065436e2b58930fbd3b8d Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期三, 22 四月 2020 13:41:59 +0800 Subject: [PATCH] 4/22 --- src/main/java/com/highdatas/srs/web/SchemeController.java | 78 ++++++++++++++++++++++++++++++++++++--- 1 files changed, 72 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/highdatas/srs/web/SchemeController.java b/src/main/java/com/highdatas/srs/web/SchemeController.java index 62c17be..0de5da8 100644 --- a/src/main/java/com/highdatas/srs/web/SchemeController.java +++ b/src/main/java/com/highdatas/srs/web/SchemeController.java @@ -298,7 +298,7 @@ //鐩綍 - result.fluentPut("paths",childrenFiles ); + result.fluentPut("paths",childrenFiles); return Result.success(result); } @@ -377,6 +377,32 @@ json.fluentPut("delayCnt", delayInt); json.fluentPut("finishCnt", finishInt); + // + List<SchemeDetail> schemeDetailList = iSchemeDetailService.selectList(new EntityWrapper<SchemeDetail>().eq("parent_id", scheme.getId()).eq("finish", true)); + Date beginDate = null; + Date endDate = null; + for (SchemeDetail detail : schemeDetailList) { + if (beginDate == null) { + beginDate = detail.getStartTime(); + } + else { + int i = DbUtils.compareDate(beginDate, detail.getStartTime()); + if(i == -1) { + beginDate = detail.getStartTime(); + } + } + + if (endDate == null) { + endDate = detail.getFinishTime(); + }else { + int i = DbUtils.compareDate(endDate, detail.getFinishTime()); + if(i == 1) { + endDate = detail.getFinishTime(); + } + } + } + json.fluentPut("beginDate", beginDate); + json.fluentPut("endDate", endDate); result.add(json); } jsonObjectPage.setRecords(result); @@ -385,11 +411,9 @@ @RequestMapping(value = "/addOrUpdate", method = RequestMethod.GET) public Result add(@RequestParam String reseachType, @RequestParam String name, @RequestParam Date startTime, @RequestParam Date endTime, HttpServletRequest request) { - String id = request.getParameter("id"); String desp = request.getParameter("desp"); String userId = request.getParameter("userId"); - Scheme scheme; if (StringUtils.isEmpty(id)) { scheme = new Scheme(); @@ -403,8 +427,29 @@ if (StringUtils.isEmpty(scheme.getId())) { scheme.setId(DbUtils.getUUID()); } - boolean insert = scheme.setUserId(userId).setCreateTime(new Date()).setName(name).setStartTime(startTime).setEndTime(endTime) - .setDesp(desp).setReseachType(reseachType).insertOrUpdate(); + scheme.setUserId(userId).setCreateTime(new Date()).setName(name).setStartTime(startTime).setEndTime(endTime) + .setDesp(desp).setReseachType(reseachType); + + List<SchemeDetail> schemeDetailList = iSchemeDetailService.selectList(new EntityWrapper<SchemeDetail>().eq("parent_id", scheme.getId())); + for (SchemeDetail detail : schemeDetailList) { + Date detailStartTime = detail.getStartTime(); + if (detailStartTime != null) { + boolean effectiveDate = DbUtils.isEffectiveDate(detailStartTime, startTime, endTime); + if(!effectiveDate) { + detail.setStartTime(startTime); + } + } + Date detailEndTime = detail.getEndTime(); + if (detailEndTime != null) { + boolean effectiveDate = DbUtils.isEffectiveDate(detailEndTime, startTime, endTime); + if(!effectiveDate) { + detail.setEndTime(endTime); + } + } + boolean updated = detail.updateById(); + + } + boolean insert = scheme.insertOrUpdate(); if (insert) { return Result.success(scheme.getId()); } else { @@ -416,7 +461,28 @@ public Result add(@PathVariable String id, HttpServletRequest request) throws JsonProcessingException { String data = request.getParameter("data"); Scheme scheme = DbUtils.json2Bean(data, Scheme.class); - boolean b = scheme.insertOrUpdate(); + Date startTime = scheme.getStartTime(); + Date endTime = scheme.getEndTime(); + + List<SchemeDetail> schemeDetailList = iSchemeDetailService.selectList(new EntityWrapper<SchemeDetail>().eq("parent_id", scheme.getId())); + for (SchemeDetail detail : schemeDetailList) { + Date detailStartTime = detail.getStartTime(); + if (detailStartTime != null) { + boolean effectiveDate = DbUtils.isEffectiveDate(detailStartTime, startTime, endTime); + if(!effectiveDate) { + detail.setStartTime(startTime); + } + } + Date detailEndTime = detail.getEndTime(); + if (detailEndTime != null) { + boolean effectiveDate = DbUtils.isEffectiveDate(detailEndTime, startTime, endTime); + if(!effectiveDate) { + detail.setEndTime(endTime); + } + } + detail.updateById(); + } + boolean b = scheme.updateById(); // reseachType to enum if (b) { -- Gitblit v1.8.0