From 1fcc609c58e49046c504432bfdc022d8dc55b78f Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 7 May 2021 10:38:12 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=88=86=E6=9E=90=20?= =?UTF-8?q?=E7=BB=84=E7=BB=87-=E6=9C=88=20=E4=BB=A3=E7=A0=81=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...nProjectQuantityOrgMonthlyServiceImpl.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectQuantityOrgMonthlyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectQuantityOrgMonthlyServiceImpl.java index b03f7f65b8..d18f3b6234 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectQuantityOrgMonthlyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectQuantityOrgMonthlyServiceImpl.java @@ -253,38 +253,37 @@ public class ScreenProjectQuantityOrgMonthlyServiceImpl extends BaseServiceImpl< List agencyInfos = ConvertUtils.sourceToTarget(screenProjectOrgDailyDTOS, ScreenProjectQuantityOrgMonthlyDTO.class); List projectOrg = baseDao.selectQuantityOrgMonthly(agencyInfos, monthId); - if (!CollectionUtils.isEmpty(projectOrg)){ + /*if (!CollectionUtils.isEmpty(projectOrg)){ projectOrg.forEach(p -> { p.setClosedIncr(p.getClosedIncr()); p.setProjectIncr(p.getProjectIncr()); }); - } + }*/ List projectGrandOrg = baseDao.selectQuantityGrandOrgMonthly(agencyInfos, monthId); - if (!CollectionUtils.isEmpty(projectGrandOrg)){ + /*if (!CollectionUtils.isEmpty(projectGrandOrg)){ projectGrandOrg.forEach(p -> { p.setClosedTotal(p.getClosedTotal()); p.setProjectTotal(p.getProjectTotal()); p.setUnClosedTotal(p.getUnClosedTotal()); }); - } + }*/ agencyInfos.forEach(a -> { a.setMonthId(monthId); if (!CollectionUtils.isEmpty(projectOrg)){ projectOrg.forEach(p -> { if (a.getAreaCode().equals(p.getAreaCode())){ - a.setClosedIncr(null == p.getClosedIncr() ? NumConstant.ZERO : p.getClosedIncr()); - a.setProjectIncr(null == p.getProjectIncr() ? NumConstant.ZERO : p.getProjectIncr()); - a.setProjectIncr(null == p.getProjectIncr() ? NumConstant.ZERO : p.getProjectIncr()); + a.setClosedIncr(null == p.getClosedIncr() ? a.getClosedIncr() : a.getClosedIncr() + p.getClosedIncr()); + a.setProjectIncr(null == p.getProjectIncr() ? a.getProjectIncr() : a.getProjectIncr() + p.getProjectIncr()); } }); } if (!CollectionUtils.isEmpty(projectGrandOrg)){ projectGrandOrg.forEach(p -> { if (a.getAreaCode().equals(p.getAreaCode())){ - a.setClosedTotal(null == p.getClosedTotal() ? NumConstant.ZERO : p.getClosedTotal()); - a.setProjectTotal(null == p.getProjectTotal() ? NumConstant.ZERO : p.getProjectTotal()); - a.setUnClosedTotal(null == p.getUnClosedTotal() ? NumConstant.ZERO : p.getUnClosedTotal()); - a.setProjectIncr(null == p.getProjectIncr() ? NumConstant.ZERO : p.getProjectIncr()); + a.setClosedTotal(null == p.getClosedTotal() ? a.getClosedTotal() : a.getClosedTotal() + p.getClosedTotal()); + a.setProjectTotal(null == p.getProjectTotal() ? a.getProjectTotal() : a.getProjectTotal() + p.getProjectTotal()); + a.setUnClosedTotal(null == p.getUnClosedTotal() ? a.getUnClosedTotal() : a.getUnClosedTotal() + p.getUnClosedTotal()); + a.setProjectIncr(null == p.getProjectIncr() ? a.getProjectIncr() : a.getProjectIncr() + p.getProjectIncr()); } }); } From 51a27568875a1f8d97ca865deebfca5a8f9a37b1 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 7 May 2021 11:16:44 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E5=88=86=E6=9E=90=E6=9F=A5=E8=AF=A2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/screen/ScreenProjectQuantityOrgMonthlyDao.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectQuantityOrgMonthlyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectQuantityOrgMonthlyDao.xml index 6e836f4df4..3745503ceb 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectQuantityOrgMonthlyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectQuantityOrgMonthlyDao.xml @@ -19,7 +19,7 @@ AND m.ORG_ID =#{agencyId} AND m.MONTH_ID <= #{endMonthId} ORDER BY - m.MONTH_ID ASC + m.MONTH_ID DESC LIMIT 12 - \ No newline at end of file + From cc0491f7e7980818eea0b7b2d19aeb6b502ecf1a Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 7 May 2021 12:39:36 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=A4=84=E7=90=86?= =?UTF-8?q?=E8=BF=9B=E5=B1=95=E4=B8=8A=E6=8A=A5=20=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ScreenProjectProcessAttachmentDao.java | 2 + .../screen/ScreenProjectProcessDao.java | 2 + .../impl/ScreenProjectProcessServiceImpl.java | 66 ++++++++++--------- .../ScreenProjectProcessAttachmentDao.xml | 11 ++++ .../screen/ScreenProjectProcessDao.xml | 11 ++++ 5 files changed, 60 insertions(+), 32 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectProcessAttachmentDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectProcessAttachmentDao.java index 4a84a02c90..59e6462101 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectProcessAttachmentDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectProcessAttachmentDao.java @@ -38,4 +38,6 @@ public interface ScreenProjectProcessAttachmentDao extends BaseDao list); + int deleteByProcessIds(@Param("customerId") String customerId, @Param("list") List list); + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectProcessDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectProcessDao.java index f9638e9c4f..2a92081e0b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectProcessDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectProcessDao.java @@ -41,4 +41,6 @@ public interface ScreenProjectProcessDao extends BaseDao list); + + int deleteByProcessIds(@Param("customerId") String customerId, @Param("list") List list); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectProcessServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectProcessServiceImpl.java index 863b119c07..a73ec71e5a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectProcessServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectProcessServiceImpl.java @@ -34,6 +34,7 @@ import com.epmet.dto.screen.form.ScreenProjectProcessFormDTO; import com.epmet.dto.screencoll.ScreenCollFormDTO; import com.epmet.entity.evaluationindex.screen.ScreenProjectProcessAttachmentEntity; import com.epmet.entity.evaluationindex.screen.ScreenProjectProcessEntity; +import com.epmet.service.evaluationindex.screen.ScreenProjectProcessAttachmentService; import com.epmet.service.evaluationindex.screen.ScreenProjectProcessService; import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; @@ -42,9 +43,12 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; /** * 中央区-项目数据项目处理进展表 @@ -58,6 +62,8 @@ public class ScreenProjectProcessServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -120,39 +126,35 @@ public class ScreenProjectProcessServiceImpl extends BaseServiceImpl { - //先删除旧数据 - QueryWrapper screenProjectProcessEntityQueryWrapper = new QueryWrapper<>(); - screenProjectProcessEntityQueryWrapper.eq(StringUtils.isNotBlank(item.getProjectId()), "project_id", item.getProjectId()) - .eq(StringUtils.isNotBlank(param.getCustomerId()), "customer_id", param.getCustomerId()) - .eq(StringUtils.isNotBlank(item.getProcessId()), "process_id", item.getProcessId()); - baseDao.delete(screenProjectProcessEntityQueryWrapper); - - QueryWrapper screenProjectProcessAttachmentEntityQueryWrapper = new QueryWrapper<>(); - screenProjectProcessAttachmentEntityQueryWrapper.eq(StringUtils.isNotBlank(item.getProjectId()), "project_id", item.getProjectId()) - .eq(StringUtils.isNotBlank(param.getCustomerId()), "customer_id", param.getCustomerId()) - .eq(StringUtils.isNotBlank(item.getProcessId()), "process_id", item.getProcessId()); - screenProjectProcessAttachmentDao.delete(screenProjectProcessAttachmentEntityQueryWrapper); - //插入 - ScreenProjectProcessEntity screenProjectProcessEntity = ConvertUtils.sourceToTarget(item, ScreenProjectProcessEntity.class); - screenProjectProcessEntity.setCustomerId(param.getCustomerId()); - screenProjectProcessEntity.setDataEndTime(param.getDateId()); - baseDao.insert(screenProjectProcessEntity); - - List attachments = item.getAttachments(); - if (!CollectionUtils.isEmpty(attachments)){ - for (int i = 0; i < attachments.size(); i++) { - ScreenProjectProcessAttachmentEntity attachmentEntity = ConvertUtils.sourceToTarget(attachments.get(i), ScreenProjectProcessAttachmentEntity.class); - attachmentEntity.setCustomerId(param.getCustomerId()); - attachmentEntity.setProcessId(item.getProcessId()); - attachmentEntity.setProjectId(item.getProjectId()); - if (attachmentEntity.getSort() == null) { - attachmentEntity.setSort(i); - } - screenProjectProcessAttachmentDao.insert(attachmentEntity); + List processIdList = + param.getDataList().stream().map(ScreenProjectProcessFormDTO :: getProcessId).collect(Collectors.toList()).stream().distinct() + .collect(Collectors.toList()); + //删除旧数据 + baseDao.deleteByProcessIds(param.getCustomerId(), processIdList); + screenProjectProcessAttachmentDao.deleteByProcessIds(param.getCustomerId(), processIdList); + + List attachmentList = new ArrayList<>(); + + List processList = param.getDataList().stream().map(item -> { + ScreenProjectProcessEntity entity = ConvertUtils.sourceToTarget(item, ScreenProjectProcessEntity.class); + entity.setCustomerId(param.getCustomerId()); + entity.setDataEndTime(param.getDateId()); + AtomicInteger i = new AtomicInteger(0); + List attachments = item.getAttachments().stream().map(attachment -> { + ScreenProjectProcessAttachmentEntity attachmentEntity = ConvertUtils.sourceToTarget(attachment, ScreenProjectProcessAttachmentEntity.class); + attachmentEntity.setCustomerId(param.getCustomerId()); + attachmentEntity.setProcessId(item.getProcessId()); + attachmentEntity.setProjectId(item.getProjectId()); + if (attachmentEntity.getSort() == null) { + attachmentEntity.setSort(i.getAndIncrement()); } - } - }); + return attachmentEntity; + }).collect(Collectors.toList()); + attachmentList.addAll(attachments); + return entity; + }).collect(Collectors.toList()); + this.insertBatch(processList); + screenProjectProcessAttachmentService.insertBatch(attachmentList); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectProcessAttachmentDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectProcessAttachmentDao.xml index 953f2bee72..6ca35c0bee 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectProcessAttachmentDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectProcessAttachmentDao.xml @@ -85,4 +85,15 @@ ) + + + delete from screen_project_process_attachment + where customer_id = #{customerId} + + AND + + PROCESS_ID = #{processId} + + + diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectProcessDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectProcessDao.xml index fc19f60add..31c2bb1c68 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectProcessDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectProcessDao.xml @@ -22,6 +22,17 @@ where del_flag = '0' and customer_id = #{customerId} + + delete from screen_project_process + where customer_id = #{customerId} + + AND + + PROCESS_ID = #{processId} + + + + INSERT INTO screen_project_process (