From b72ecc66878db93a0ef34cdff015f1b1aac59a42 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Sun, 3 Apr 2022 14:05:09 +0800 Subject: [PATCH 01/83] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E8=A6=81=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...V0.0.37__ic_epidemic_special_attention.sql | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.37__ic_epidemic_special_attention.sql diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.37__ic_epidemic_special_attention.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.37__ic_epidemic_special_attention.sql new file mode 100644 index 0000000000..c16c75f965 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.37__ic_epidemic_special_attention.sql @@ -0,0 +1,21 @@ +CREATE TABLE `ic_epidemic_special_attention` ( + `ID` varchar(64) NOT NULL COMMENT 'ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `ORG_ID` varchar(64) NOT NULL COMMENT '当前工作人员所属组织ID', + `PID` varchar(64) NOT NULL COMMENT '组织ID上级', + `PIDS` varchar(255) NOT NULL COMMENT '组织ID所有上级', + `IS_ATTENTION` tinyint(1) NOT NULL COMMENT '是否关注 1:关注,0:取消关注', + `ATTENTION_TYPE` tinyint(1) NOT NULL COMMENT '关注类型,核酸检测:2,疫苗接种:1,行程上报:0', + `NAME` varchar(64) NOT NULL COMMENT '姓名', + `MOBILE` varchar(11) NOT NULL COMMENT '手机号', + `ID_CARD` varchar(18) NOT NULL COMMENT '身份证号', + `REASON` varchar(1000) DEFAULT NULL COMMENT '原因', + `REMARK` varchar(1000) DEFAULT NULL COMMENT '备注', + `DEL_FLAG` int(11) NOT NULL, + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='疫情特别关注'; \ No newline at end of file From fddb475e0a5bfd20303214409edf2f3cc5a73e58 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Sun, 3 Apr 2022 17:31:50 +0800 Subject: [PATCH 02/83] =?UTF-8?q?=E5=BD=A2=E6=88=90=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/PageTripReportFormDTO.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java index af23243c03..e698f58af9 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java @@ -1,7 +1,9 @@ package com.epmet.dto.form; import com.epmet.commons.tools.dto.form.PageFormDTO; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; @@ -32,10 +34,16 @@ public class PageTripReportFormDTO extends PageFormDTO implements Serializable { * 来源地区名称 */ private String sourceAddress; + /** * 来到本地时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") private Date startDate; + + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") private Date endDate; /** From 46862b8fad6e52e023d91c20b19c8e20980b5827 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Sun, 3 Apr 2022 17:41:26 +0800 Subject: [PATCH 03/83] =?UTF-8?q?=E5=BD=A2=E6=88=90=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/PageTripReportFormDTO.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java index e698f58af9..80ecb83186 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java @@ -38,13 +38,9 @@ public class PageTripReportFormDTO extends PageFormDTO implements Serializable { /** * 来到本地时间 */ - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd") - private Date startDate; + private String startDate; - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd") - private Date endDate; + private String endDate; /** * token里设置 From 5f9c9d8009d07cc44e39d8ef7cab69e5495a2b62 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 6 Apr 2022 09:49:21 +0800 Subject: [PATCH 04/83] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=8F=91=E9=80=81?= =?UTF-8?q?=E9=80=9A=E7=9F=A5bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/SendNoticeFormDTO.java | 12 +++++++----- .../com/epmet/service/impl/IcNoticeServiceImpl.java | 5 ++++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java index bd24801531..4454aba909 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java @@ -4,7 +4,8 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import lombok.Data; import lombok.NoArgsConstructor; -import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.Size; import java.io.Serializable; import java.util.List; @@ -22,22 +23,23 @@ public class SendNoticeFormDTO implements Serializable { /** * 用户列表 */ - @NotNull(message = "用户列表不能为空", groups = DefaultGroup.class) + @NotEmpty(message = "用户列表不能为空", groups = DefaultGroup.class) private List userList; /** * 通知渠道通知渠道 0小程序通知,1短信通知 */ - @NotNull(message = "通知渠道不能为空", groups = DefaultGroup.class) + @NotEmpty(message = "请选择通知渠道", groups = DefaultGroup.class) private List channel; /** * 通知来源 0 行程上报,1 疫苗接种,2 核酸检测 */ - @NotNull(message = "通知来源不能为空", groups = DefaultGroup.class) + @NotEmpty(message = "通知来源不能为空", groups = DefaultGroup.class) private String origin; /** * 通知内容 */ - @NotNull(message = "通知内容不能为空", groups = DefaultGroup.class) + @NotEmpty(message = "通知内容不能为空", groups = DefaultGroup.class) + @Size(max = 500, message = "通知内容不超过500字") private String content; /** * 组织名 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java index c306bec8aa..28fd02753b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java @@ -137,7 +137,10 @@ public class IcNoticeServiceImpl extends BaseServiceImpl entityList = formDTO.getUserList().stream().map(item -> { + List userBeanList = formDTO.getUserList().stream().collect(Collectors.collectingAndThen( + Collectors.toCollection(() -> new TreeSet<>( + Comparator.comparing( SendNoticeFormDTO.UserListBean::getIdCard))), ArrayList::new)); + List entityList = userBeanList.stream().map(item -> { IcNoticeEntity entity = new IcNoticeEntity(); entity.setCustomerId(formDTO.getCustomerId()); entity.setChannel(channel); From 952b133fa545cebaf2932c26f5bb47c9e0edc408 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 6 Apr 2022 10:46:08 +0800 Subject: [PATCH 05/83] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=8F=91=E9=80=81?= =?UTF-8?q?=E9=80=9A=E7=9F=A5bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java index 4454aba909..fbf4bf72f9 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java @@ -38,8 +38,7 @@ public class SendNoticeFormDTO implements Serializable { /** * 通知内容 */ - @NotEmpty(message = "通知内容不能为空", groups = DefaultGroup.class) - @Size(max = 500, message = "通知内容不超过500字") + @Size(min = 1, max = 500, message = "通知内容不超过500字") private String content; /** * 组织名 From ed6dc1a27e8b5e895e5840fd9848426f7649b9fe Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 6 Apr 2022 10:53:25 +0800 Subject: [PATCH 06/83] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=8F=91=E9=80=81?= =?UTF-8?q?=E9=80=9A=E7=9F=A5bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/SendNoticeFormDTO.java | 10 +++++----- .../java/com/epmet/controller/IcNoticeController.java | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java index fbf4bf72f9..afe1d50aa9 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java @@ -1,6 +1,6 @@ package com.epmet.dto.form; -import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.AddGroup; import lombok.Data; import lombok.NoArgsConstructor; @@ -23,22 +23,22 @@ public class SendNoticeFormDTO implements Serializable { /** * 用户列表 */ - @NotEmpty(message = "用户列表不能为空", groups = DefaultGroup.class) + @NotEmpty(message = "用户列表不能为空", groups = AddGroup.class) private List userList; /** * 通知渠道通知渠道 0小程序通知,1短信通知 */ - @NotEmpty(message = "请选择通知渠道", groups = DefaultGroup.class) + @NotEmpty(message = "请选择通知渠道", groups = AddGroup.class) private List channel; /** * 通知来源 0 行程上报,1 疫苗接种,2 核酸检测 */ - @NotEmpty(message = "通知来源不能为空", groups = DefaultGroup.class) + @NotEmpty(message = "通知来源不能为空", groups = AddGroup.class) private String origin; /** * 通知内容 */ - @Size(min = 1, max = 500, message = "通知内容不超过500字") + @Size(min = 1, max = 500, message = "通知内容不超过500字", groups = AddGroup.class) private String content; /** * 组织名 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java index b0b8a31553..b74e7956bc 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java @@ -72,7 +72,7 @@ public class IcNoticeController { @PostMapping("sendNotice") public Result sendNotice(@LoginUser TokenDto tokenDto, @RequestBody SendNoticeFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, DefaultGroup.class); + ValidatorUtils.validateEntity(formDTO, AddGroup.class); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setStaffId(tokenDto.getUserId()); icNoticeService.sendNotice(formDTO); From 2b4972e7894510570b3515ab74368091b25e613b Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 6 Apr 2022 11:16:22 +0800 Subject: [PATCH 07/83] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=8F=91=E9=80=81?= =?UTF-8?q?=E9=80=9A=E7=9F=A5bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/form/SendNoticeFormDTO.java | 9 +++++---- .../java/com/epmet/controller/IcNoticeController.java | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java index afe1d50aa9..7aadaf3fcb 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java @@ -1,6 +1,7 @@ package com.epmet.dto.form; import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import lombok.NoArgsConstructor; @@ -23,22 +24,22 @@ public class SendNoticeFormDTO implements Serializable { /** * 用户列表 */ - @NotEmpty(message = "用户列表不能为空", groups = AddGroup.class) + @NotEmpty(message = "用户列表不能为空", groups = CustomerClientShowGroup.class) private List userList; /** * 通知渠道通知渠道 0小程序通知,1短信通知 */ - @NotEmpty(message = "请选择通知渠道", groups = AddGroup.class) + @NotEmpty(message = "请选择通知渠道", groups = CustomerClientShowGroup.class) private List channel; /** * 通知来源 0 行程上报,1 疫苗接种,2 核酸检测 */ - @NotEmpty(message = "通知来源不能为空", groups = AddGroup.class) + @NotEmpty(message = "通知来源不能为空", groups = CustomerClientShowGroup.class) private String origin; /** * 通知内容 */ - @Size(min = 1, max = 500, message = "通知内容不超过500字", groups = AddGroup.class) + @Size(min = 1, max = 500, message = "通知内容不超过500字", groups = CustomerClientShowGroup.class) private String content; /** * 组织名 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java index b74e7956bc..ab0529b158 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNoticeController.java @@ -8,6 +8,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IcNoticeDTO; @@ -72,7 +73,7 @@ public class IcNoticeController { @PostMapping("sendNotice") public Result sendNotice(@LoginUser TokenDto tokenDto, @RequestBody SendNoticeFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, AddGroup.class); + ValidatorUtils.validateEntity(formDTO, CustomerClientShowGroup.class); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setStaffId(tokenDto.getUserId()); icNoticeService.sendNotice(formDTO); From a339bc561fcaf88c9e134c55505f000cec1410af Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 6 Apr 2022 13:57:06 +0800 Subject: [PATCH 08/83] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E7=8E=AF=E5=A2=83compo?= =?UTF-8?q?se=E6=96=87=E4=BB=B6=EF=BC=8C=E6=9B=BF=E6=8D=A2=E4=B8=BAversion?= =?UTF-8?q?=5Fplaceholder?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-admin/epmet-admin-server/deploy/docker-compose-prod.yml | 2 +- epmet-auth/deploy/docker-compose-prod.yml | 2 +- epmet-gateway/deploy/docker-compose-prod.yml | 2 +- .../data-aggregator-server/deploy/docker-compose-prod.yml | 2 +- .../data-report-server/deploy/docker-compose-prod.yml | 2 +- .../data-statistical-server/deploy/docker-compose-prod.yml | 2 +- .../epmet-activiti-server/deploy/docker-compose-prod.yml | 2 +- .../common-service-server/deploy/docker-compose-prod.yml | 2 +- .../epmet-ext/epmet-ext-server/deploy/docker-compose-prod.yml | 2 +- .../epmet-heart-server/deploy/docker-compose-prod.yml | 2 +- .../epmet-job/epmet-job-server/deploy/docker-compose-prod.yml | 2 +- .../epmet-message-server/deploy/docker-compose-prod.yml | 2 +- .../epmet-oss/epmet-oss-server/deploy/docker-compose-prod.yml | 2 +- .../epmet-point-server/deploy/docker-compose-prod.yml | 2 +- .../epmet-third-server/deploy/docker-compose-prod.yml | 2 +- .../gov-access/gov-access-server/deploy/docker-compose-prod.yml | 2 +- .../gov-grid/gov-grid-server/deploy/docker-compose-prod.yml | 2 +- .../gov-issue/gov-issue-server/deploy/docker-compose-prod.yml | 2 +- .../gov-mine/gov-mine-server/deploy/docker-compose-prod.yml | 2 +- .../gov-org/gov-org-server/deploy/docker-compose-prod.yml | 2 +- .../gov-project-server/deploy/docker-compose-prod.yml | 2 +- .../gov-voice/gov-voice-server/deploy/docker-compose-prod.yml | 2 +- .../open-data-worker-server/deploy/docker-compose-prod.yml | 2 +- .../oper-access-server/deploy/docker-compose-prod.yml | 2 +- .../oper-crm/oper-crm-server/deploy/docker-compose-prod.yml | 2 +- .../oper-customize-server/deploy/docker-compose-prod.yml | 2 +- .../resi-group/resi-group-server/deploy/docker-compose-prod.yml | 2 +- .../resi-guide/resi-guide-server/deploy/docker-compose-prod.yml | 2 +- .../resi-hall/resi-hall-server/deploy/docker-compose-prod.yml | 2 +- .../resi-home/resi-home-server/deploy/docker-compose-prod.yml | 2 +- .../resi-mine/resi-mine-server/deploy/docker-compose-prod.yml | 2 +- .../resi-partymember-server/deploy/docker-compose-prod.yml | 2 +- .../resi-voice/resi-voice-server/deploy/docker-compose-prod.yml | 2 +- epmet-openapi/epmet-openapi-scan/deploy/docker-compose-prod.yml | 2 +- epmet-user/epmet-user-server/deploy/docker-compose-prod.yml | 2 +- 35 files changed, 35 insertions(+), 35 deletions(-) diff --git a/epmet-admin/epmet-admin-server/deploy/docker-compose-prod.yml b/epmet-admin/epmet-admin-server/deploy/docker-compose-prod.yml index 550b4369e3..62a9e89b35 100644 --- a/epmet-admin/epmet-admin-server/deploy/docker-compose-prod.yml +++ b/epmet-admin/epmet-admin-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-admin-server: container_name: epmet-admin-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-admin-server:0.3.32 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-admin-server:version_placeholder ports: - "8082:8082" network_mode: host # 使用现有网络 diff --git a/epmet-auth/deploy/docker-compose-prod.yml b/epmet-auth/deploy/docker-compose-prod.yml index 6b9592dfa9..b7776bbaaf 100644 --- a/epmet-auth/deploy/docker-compose-prod.yml +++ b/epmet-auth/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-auth-server: container_name: epmet-auth-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-auth:0.3.98 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-auth:version_placeholder ports: - "8081:8081" network_mode: host # 使用现有网络 diff --git a/epmet-gateway/deploy/docker-compose-prod.yml b/epmet-gateway/deploy/docker-compose-prod.yml index 4edd602d7a..49094f4521 100644 --- a/epmet-gateway/deploy/docker-compose-prod.yml +++ b/epmet-gateway/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-gateway-server: container_name: epmet-gateway-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-gateway:0.3.71 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-gateway:version_placeholder ports: - "8080:8080" network_mode: host # 使用现有网络 diff --git a/epmet-module/data-aggregator/data-aggregator-server/deploy/docker-compose-prod.yml b/epmet-module/data-aggregator/data-aggregator-server/deploy/docker-compose-prod.yml index 4060745034..3576fadb73 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/deploy/docker-compose-prod.yml +++ b/epmet-module/data-aggregator/data-aggregator-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: data-aggregator-server: container_name: data-aggregator-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-aggregator-server:0.3.92 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-aggregator-server:version_placeholder ports: - "8114:8114" network_mode: host # 使用现有网络 diff --git a/epmet-module/data-report/data-report-server/deploy/docker-compose-prod.yml b/epmet-module/data-report/data-report-server/deploy/docker-compose-prod.yml index 7e1e17409e..42714f4238 100644 --- a/epmet-module/data-report/data-report-server/deploy/docker-compose-prod.yml +++ b/epmet-module/data-report/data-report-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: data-report-server: container_name: data-report-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-report-server:0.3.210 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-report-server:version_placeholder ports: - "8108:8108" network_mode: host # 使用现有网络 diff --git a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml index a54a0348a6..78a46c8117 100644 --- a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml +++ b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: data-statistical-server: container_name: data-statistical-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.345 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:version_placeholder ports: - "8108:8108" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-prod.yml b/epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-prod.yml index c6d7c0d65c..12ab635118 100644 --- a/epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-prod.yml +++ b/epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-activiti-server: container_name: epmet-activiti-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-activiti-server:0.3.1 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-activiti-server:version_placeholder ports: - "8086:8086" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-prod.yml b/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-prod.yml index 97adff5e39..ab8df1446d 100644 --- a/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-prod.yml +++ b/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: common-service-server: container_name: common-service-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/common-service-server:0.3.42 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/common-service-server:version_placeholder ports: - "8103:8103" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-prod.yml b/epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-prod.yml index caa3059dad..9c95c05818 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-prod.yml +++ b/epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-ext-server: container_name: epmet-ext-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-ext-server:0.0.20 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-ext-server:version_placeholder ports: - "8113:8113" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-prod.yml b/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-prod.yml index d1ccbc081a..40df63bc4c 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-prod.yml +++ b/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-heart-server: container_name: epmet-heart-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-heart-server:0.0.72 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-heart-server:version_placeholder ports: - "8111:8111" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-prod.yml b/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-prod.yml index b1813f2660..6bffd4ae87 100644 --- a/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-prod.yml +++ b/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-job-server: container_name: epmet-job-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-job-server:0.3.47 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-job-server:version_placeholder ports: - "8084:8084" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-prod.yml b/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-prod.yml index 01efd03422..121ed15355 100644 --- a/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-prod.yml +++ b/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-message-server: container_name: epmet-message-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-message-server:0.3.57 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-message-server:version_placeholder ports: - "8085:8085" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-prod.yml b/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-prod.yml index c839bb22b4..4f1e024566 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-prod.yml +++ b/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-oss-server: container_name: epmet-oss-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-oss-server:0.3.40 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-oss-server:version_placeholder ports: - "8083:8083" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-prod.yml b/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-prod.yml index d4ea51ca74..de8dc52452 100644 --- a/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-prod.yml +++ b/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-point-server: container_name: epmet-point-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-point-server:0.0.63 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-point-server:version_placeholder ports: - "8112:8112" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml b/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml index 7a2eb84297..04d9efb87a 100644 --- a/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml +++ b/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-third-server: container_name: epmet-third-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-third-server:0.0.183 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-third-server:version_placeholder ports: - "8110:8110" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-access/gov-access-server/deploy/docker-compose-prod.yml b/epmet-module/gov-access/gov-access-server/deploy/docker-compose-prod.yml index 9d6e4d7ae6..208783e787 100644 --- a/epmet-module/gov-access/gov-access-server/deploy/docker-compose-prod.yml +++ b/epmet-module/gov-access/gov-access-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-access-server: container_name: gov-access-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-access-server:0.3.61 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-access-server:version_placeholder ports: - "8099:8099" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-prod.yml b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-prod.yml index 8401604cf7..b47e7b1ed2 100644 --- a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-prod.yml +++ b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-grid-server: container_name: gov-grid-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-grid-server:0.3.49 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-grid-server:version_placeholder ports: - "8097:8097" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-prod.yml b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-prod.yml index 8105b3917f..b11be53989 100644 --- a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-prod.yml +++ b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-issue-server: container_name: gov-issue-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-issue-server:0.3.100 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-issue-server:version_placeholder ports: - "8101:8101" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-prod.yml b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-prod.yml index 9e3c87d67b..c1883ae965 100644 --- a/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-prod.yml +++ b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-mine-server: container_name: gov-mine-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-mine-server:0.3.47 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-mine-server:version_placeholder ports: - "8098:8098" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-prod.yml b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-prod.yml index 25ea20b467..c0ee252ff0 100644 --- a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-prod.yml +++ b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-org-server: container_name: gov-org-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-org-server:0.3.156 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-org-server:version_placeholder ports: - "8092:8092" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-prod.yml b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-prod.yml index fb855657d2..75a8f44f2e 100644 --- a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-prod.yml +++ b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-project-server: container_name: gov-project-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-project-server:0.3.96 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-project-server:version_placeholder ports: - "8102:8102" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-prod.yml b/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-prod.yml index d5a6908cd6..dc5e5818f0 100644 --- a/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-prod.yml +++ b/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-voice-server: container_name: gov-voice-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-voice-server:0.3.78 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-voice-server:version_placeholder ports: - "8105:8105" network_mode: host # 使用现有网络 diff --git a/epmet-module/open-data-worker/open-data-worker-server/deploy/docker-compose-prod.yml b/epmet-module/open-data-worker/open-data-worker-server/deploy/docker-compose-prod.yml index bc90323bc3..ab0a79aa2e 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/deploy/docker-compose-prod.yml +++ b/epmet-module/open-data-worker/open-data-worker-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-voice-server: container_name: open-data-worker-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/open-data-worker-server:0.3.22 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/open-data-worker-server:version_placeholder ports: - "8117:8117" network_mode: host # 使用现有网络 diff --git a/epmet-module/oper-access/oper-access-server/deploy/docker-compose-prod.yml b/epmet-module/oper-access/oper-access-server/deploy/docker-compose-prod.yml index 2d0c1631c4..eb87408016 100644 --- a/epmet-module/oper-access/oper-access-server/deploy/docker-compose-prod.yml +++ b/epmet-module/oper-access/oper-access-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: oper-access-server: container_name: oper-access-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/oper-access-server:0.3.24 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/oper-access-server:version_placeholder ports: - "8093:8093" network_mode: host # 使用现有网络 diff --git a/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-prod.yml b/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-prod.yml index 9cc48783a1..cb05ebd8f2 100644 --- a/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-prod.yml +++ b/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: oper-crm-server: container_name: oper-crm-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/oper-crm-server:0.3.87 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/oper-crm-server:version_placeholder ports: - "8090:8090" network_mode: host # 使用现有网络 diff --git a/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-prod.yml b/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-prod.yml index 88f8deb3ed..11022f5b5b 100644 --- a/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-prod.yml +++ b/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: oper-customize-server: container_name: oper-customize-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/oper-customize-server:0.3.66 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/oper-customize-server:version_placeholder ports: - "8089:8089" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-prod.yml b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-prod.yml index 354d8b1daa..c2d1f70171 100644 --- a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-prod.yml +++ b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-group-server: container_name: resi-group-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-group-server:0.3.130 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-group-server:version_placeholder ports: - "8095:8095" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-prod.yml b/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-prod.yml index 0405bc5164..5cad88228d 100644 --- a/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-prod.yml +++ b/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-guide-server: container_name: resi-guide-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-guide-server:0.3.34 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-guide-server:version_placeholder ports: - "8091:8091" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-prod.yml b/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-prod.yml index 6ae227458d..11b8c09a2f 100644 --- a/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-prod.yml +++ b/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-hall-server: container_name: resi-hall-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-hall-server:0.3.36 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-hall-server:version_placeholder ports: - "8100:8100" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-home/resi-home-server/deploy/docker-compose-prod.yml b/epmet-module/resi-home/resi-home-server/deploy/docker-compose-prod.yml index 9a31b60a8d..d93cc35e88 100644 --- a/epmet-module/resi-home/resi-home-server/deploy/docker-compose-prod.yml +++ b/epmet-module/resi-home/resi-home-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-home-server: container_name: resi-home-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-home-server:0.3.23 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-home-server:version_placeholder ports: - "8104:8104" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-prod.yml b/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-prod.yml index 98ef0ddad1..fb4fb7fd26 100644 --- a/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-prod.yml +++ b/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-mine-server: container_name: resi-mine-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-mine-server:0.3.54 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-mine-server:version_placeholder ports: - "8094:8094" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-prod.yml b/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-prod.yml index 253215b123..593f8d4709 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-prod.yml +++ b/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-partymember-server: container_name: resi-partymember-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-partymember-server:0.3.83 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-partymember-server:version_placeholder ports: - "8096:8096" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-voice/resi-voice-server/deploy/docker-compose-prod.yml b/epmet-module/resi-voice/resi-voice-server/deploy/docker-compose-prod.yml index ed0013dad4..3375e0d198 100644 --- a/epmet-module/resi-voice/resi-voice-server/deploy/docker-compose-prod.yml +++ b/epmet-module/resi-voice/resi-voice-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-voice-server: container_name: resi-voice-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-voice-server:0.3.12 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-voice-server:version_placeholder ports: - "8106:8106" network_mode: host # 使用现有网络 diff --git a/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-prod.yml b/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-prod.yml index 3254a018e6..2be1100292 100644 --- a/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-prod.yml +++ b/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-openapi-scan: container_name: epmet-openapi-scan-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-openapi-scan:0.3.32 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-openapi-scan:version_placeholder ports: - "8107:8107" network_mode: host # 不会创建新的网络 diff --git a/epmet-user/epmet-user-server/deploy/docker-compose-prod.yml b/epmet-user/epmet-user-server/deploy/docker-compose-prod.yml index 1fbe59593f..3e494ca6df 100644 --- a/epmet-user/epmet-user-server/deploy/docker-compose-prod.yml +++ b/epmet-user/epmet-user-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-user-server: container_name: epmet-user-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-user-server:0.3.218 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-user-server:version_placeholder ports: - "8087:8087" network_mode: host # 不会创建新的网络 From 750ebf0d06cb95a42aa924ff211dfe6cde7d685e Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 6 Apr 2022 14:34:01 +0800 Subject: [PATCH 09/83] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=AB=AF=E6=88=91?= =?UTF-8?q?=E7=9A=84=E4=B8=8A=E6=8A=A5=E5=A2=9E=E5=8A=A0=E8=BF=94=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/result/MyNatListResultDTO.java | 6 ++++++ .../src/main/resources/mapper/IcNatDao.xml | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java index feb97d97f5..c05f7fff2c 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java @@ -67,4 +67,10 @@ public class MyNatListResultDTO implements Serializable { */ private String attachmentUrl; + /** + * 检测时间,yyyy-MM-dd HH:mm + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date createdTime; + } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index 8392bf5856..3d24bec4bd 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -15,7 +15,8 @@ nat_result natResult, nat_address natAddress, file_name fileName, - attachment_url attachmentUrl + attachment_url attachmentUrl, + created_time createdTime FROM ic_nat WHERE From 8e20669c2cd6fee22117d49459e6ae0693ba181d Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 6 Apr 2022 14:55:40 +0800 Subject: [PATCH 10/83] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=AB=AF=E6=88=91?= =?UTF-8?q?=E7=9A=84=E4=B8=8A=E6=8A=A5=E5=A2=9E=E5=8A=A0=E8=BF=94=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/result/MyNatListResultDTO.java | 2 +- .../epmet-user-server/src/main/resources/mapper/IcNatDao.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java index c05f7fff2c..355d52d213 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java @@ -71,6 +71,6 @@ public class MyNatListResultDTO implements Serializable { * 检测时间,yyyy-MM-dd HH:mm */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") - private Date createdTime; + private Date reportTime; } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index 3d24bec4bd..5c4ad0b6e7 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -16,7 +16,7 @@ nat_address natAddress, file_name fileName, attachment_url attachmentUrl, - created_time createdTime + created_time reportTime FROM ic_nat WHERE From c36267bdb96c02848db486615e60d1e0486714ef Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 6 Apr 2022 15:50:42 +0800 Subject: [PATCH 11/83] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/IcVaccineDTO.java | 119 ++++++++++++++++++ .../com/epmet/dto/IcVaccineRelationDTO.java | 82 ++++++++++++ .../epmet/controller/IcVaccineController.java | 81 ++++++++++++ .../IcVaccineRelationController.java | 72 +++++++++++ .../main/java/com/epmet/dao/IcVaccineDao.java | 16 +++ .../com/epmet/dao/IcVaccineRelationDao.java | 16 +++ .../com/epmet/entity/IcVaccineEntity.java | 89 +++++++++++++ .../epmet/entity/IcVaccineRelationEntity.java | 52 ++++++++ .../service/IcVaccineRelationService.java | 78 ++++++++++++ .../com/epmet/service/IcVaccineService.java | 78 ++++++++++++ .../impl/IcVaccineRelationServiceImpl.java | 82 ++++++++++++ .../service/impl/IcVaccineServiceImpl.java | 82 ++++++++++++ .../main/resources/mapper/IcVaccineDao.xml | 6 + .../resources/mapper/IcVaccineRelationDao.xml | 6 + 14 files changed, 859 insertions(+) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineRelationDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineRelationController.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineRelationEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineRelationService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineRelationServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineDTO.java new file mode 100644 index 0000000000..73a5d69fe0 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineDTO.java @@ -0,0 +1,119 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 疫苗接种记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Data +public class IcVaccineDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 唯一标识 + */ + private String id; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 是否客户下居民(0:否 1:是) + */ + private String isResiUser; + + /** + * 数据来源【导入的:import;】 + */ + private String userType; + + /** + * 接种时间 + */ + private Date inoculateTime; + + /** + * 接种地点 + */ + private String inoculateAddress; + + /** + * 疫苗厂家 + */ + private String manufacturer; + + /** + * 预留字段1 + */ + private String field1; + + /** + * 预留字段2 + */ + private String field2; + + /** + * 预留字段3 + */ + private String field3; + + /** + * 备注 + */ + private String remaek; + + /** + * 删除标识 0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineRelationDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineRelationDTO.java new file mode 100644 index 0000000000..3dfbaf85cd --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineRelationDTO.java @@ -0,0 +1,82 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 疫苗接种记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Data +public class IcVaccineRelationDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 居民端上报时存储用户所在网格的组织id.居民信息的人存储居民所在组织id.单个新增或者导入的存储登录用户所属的组织id + */ + private String agencyId; + + /** + * 组织pids,包含当前agencyId值 + */ + private String pids; + + /** + * 疫苗记录表Id(ic_vaccine.id) + */ + private String icVaccineId; + + /** + * 关系数据的绑定途径【 +数字社区录入:icresi; +导入的:import; +同步的:synchro】 + */ + private String userType; + + /** + * 删除标识 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java new file mode 100644 index 0000000000..aed45aacad --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -0,0 +1,81 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ExcelUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.dto.IcVaccineDTO; +import com.epmet.service.IcVaccineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 疫苗接种记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@RestController +@RequestMapping("icVaccine") +public class IcVaccineController { + + @Autowired + private IcVaccineService icVaccineService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icVaccineService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcVaccineDTO data = icVaccineService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcVaccineDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icVaccineService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody IcVaccineDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icVaccineService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icVaccineService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = icVaccineService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, IcVaccineExcel.class); + } + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineRelationController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineRelationController.java new file mode 100644 index 0000000000..b24494d2c9 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineRelationController.java @@ -0,0 +1,72 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.dto.IcVaccineRelationDTO; +import com.epmet.service.IcVaccineRelationService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * 疫苗接种记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@RestController +@RequestMapping("icVaccineRelation") +public class IcVaccineRelationController { + + @Autowired + private IcVaccineRelationService icVaccineRelationService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icVaccineRelationService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcVaccineRelationDTO data = icVaccineRelationService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcVaccineRelationDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icVaccineRelationService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody IcVaccineRelationDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icVaccineRelationService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icVaccineRelationService.delete(ids); + return new Result(); + } + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java new file mode 100644 index 0000000000..9e2b136739 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcVaccineEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 疫苗接种记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Mapper +public interface IcVaccineDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java new file mode 100644 index 0000000000..6e1d2a8c9f --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcVaccineRelationEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 疫苗接种记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Mapper +public interface IcVaccineRelationDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineEntity.java new file mode 100644 index 0000000000..25a0b904f0 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineEntity.java @@ -0,0 +1,89 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 疫苗接种记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_vaccine") +public class IcVaccineEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 是否客户下居民(0:否 1:是) + */ + private String isResiUser; + + /** + * 数据来源【导入的:import;】 + */ + private String userType; + + /** + * 接种时间 + */ + private Date inoculateTime; + + /** + * 接种地点 + */ + private String inoculateAddress; + + /** + * 疫苗厂家 + */ + private String manufacturer; + + /** + * 预留字段1 + */ + private String field1; + + /** + * 预留字段2 + */ + private String field2; + + /** + * 预留字段3 + */ + private String field3; + + /** + * 备注 + */ + private String remaek; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineRelationEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineRelationEntity.java new file mode 100644 index 0000000000..b20ce6dc69 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineRelationEntity.java @@ -0,0 +1,52 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 疫苗接种记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_vaccine_relation") +public class IcVaccineRelationEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 居民端上报时存储用户所在网格的组织id.居民信息的人存储居民所在组织id.单个新增或者导入的存储登录用户所属的组织id + */ + private String agencyId; + + /** + * 组织pids,包含当前agencyId值 + */ + private String pids; + + /** + * 疫苗记录表Id(ic_vaccine.id) + */ + private String icVaccineId; + + /** + * 关系数据的绑定途径【 +数字社区录入:icresi; +导入的:import; +同步的:synchro】 + */ + private String userType; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineRelationService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineRelationService.java new file mode 100644 index 0000000000..a7c9339f6e --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineRelationService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcVaccineRelationDTO; +import com.epmet.entity.IcVaccineRelationEntity; + +import java.util.List; +import java.util.Map; + +/** + * 疫苗接种记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +public interface IcVaccineRelationService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-04-06 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-04-06 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcVaccineRelationDTO + * @author generator + * @date 2022-04-06 + */ + IcVaccineRelationDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-04-06 + */ + void save(IcVaccineRelationDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-04-06 + */ + void update(IcVaccineRelationDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-04-06 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java new file mode 100644 index 0000000000..a983466956 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcVaccineDTO; +import com.epmet.entity.IcVaccineEntity; + +import java.util.List; +import java.util.Map; + +/** + * 疫苗接种记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +public interface IcVaccineService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-04-06 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-04-06 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcVaccineDTO + * @author generator + * @date 2022-04-06 + */ + IcVaccineDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-04-06 + */ + void save(IcVaccineDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-04-06 + */ + void update(IcVaccineDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-04-06 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineRelationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineRelationServiceImpl.java new file mode 100644 index 0000000000..6920ddf8d5 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineRelationServiceImpl.java @@ -0,0 +1,82 @@ +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.IcVaccineRelationDao; +import com.epmet.dto.IcVaccineRelationDTO; +import com.epmet.entity.IcVaccineRelationEntity; +import com.epmet.service.IcVaccineRelationService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 疫苗接种记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Service +public class IcVaccineRelationServiceImpl extends BaseServiceImpl implements IcVaccineRelationService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcVaccineRelationDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcVaccineRelationDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcVaccineRelationDTO get(String id) { + IcVaccineRelationEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcVaccineRelationDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcVaccineRelationDTO dto) { + IcVaccineRelationEntity entity = ConvertUtils.sourceToTarget(dto, IcVaccineRelationEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcVaccineRelationDTO dto) { + IcVaccineRelationEntity entity = ConvertUtils.sourceToTarget(dto, IcVaccineRelationEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java new file mode 100644 index 0000000000..18348ebde7 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -0,0 +1,82 @@ +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.IcVaccineDao; +import com.epmet.dto.IcVaccineDTO; +import com.epmet.entity.IcVaccineEntity; +import com.epmet.service.IcVaccineService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 疫苗接种记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Service +public class IcVaccineServiceImpl extends BaseServiceImpl implements IcVaccineService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcVaccineDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcVaccineDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcVaccineDTO get(String id) { + IcVaccineEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcVaccineDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcVaccineDTO dto) { + IcVaccineEntity entity = ConvertUtils.sourceToTarget(dto, IcVaccineEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcVaccineDTO dto) { + IcVaccineEntity entity = ConvertUtils.sourceToTarget(dto, IcVaccineEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml new file mode 100644 index 0000000000..49fdaa2fe4 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml new file mode 100644 index 0000000000..4c356c5e10 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From 2e3a26c863766daa8ba6b3f9fd3d7f5d59082c53 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 6 Apr 2022 15:52:04 +0800 Subject: [PATCH 12/83] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/controller/IcVaccineController.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index aed45aacad..0a6638394e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -70,12 +70,6 @@ public class IcVaccineController { return new Result(); } - @GetMapping("export") - public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { - List list = icVaccineService.list(params); - ExcelUtils.exportExcelToTarget(response, null, list, IcVaccineExcel.class); - } - } From d69e26f1342b56c359cf8ce56121be29ca47c5f2 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 16:09:26 +0800 Subject: [PATCH 13/83] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/IcVaccineController.java | 308 ++++++++- .../main/java/com/epmet/dao/IcVaccineDao.java | 56 +- .../excel/data/IcVaccineImportExcelData.java | 63 ++ .../handler/IcVaccineExcelImportListener.java | 148 +++++ .../com/epmet/service/IcVaccineService.java | 111 ++-- .../service/impl/IcVaccineServiceImpl.java | 627 ++++++++++++++++-- .../main/resources/mapper/IcVaccineDao.xml | 172 ++++- 7 files changed, 1366 insertions(+), 119 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 0a6638394e..65f19fc3df 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -1,22 +1,49 @@ package com.epmet.controller; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.constant.AppClientConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.utils.ExcelUtils; -import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; -import com.epmet.commons.tools.validator.group.DefaultGroup; -import com.epmet.dto.IcVaccineDTO; +import com.epmet.constants.ImportTaskConstants; +import com.epmet.dto.IcNatDTO; +import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.result.ImportTaskCommonResultDTO; +import com.epmet.dto.result.MyNatListResultDTO; +import com.epmet.dto.result.NatListCommonExcelResultDTO; +import com.epmet.dto.result.NatListResultDTO; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.IcVaccineService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URLEncoder; +import java.nio.file.Path; import java.util.List; -import java.util.Map; +import java.util.UUID; /** @@ -25,51 +52,268 @@ import java.util.Map; * @author generator generator@elink-cn.com * @since v1.0.0 2022-04-06 */ +@Slf4j @RestController @RequestMapping("icVaccine") -public class IcVaccineController { +public class IcVaccineController implements ResultDataResolver { @Autowired private IcVaccineService icVaccineService; - @RequestMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = icVaccineService.page(params); - return new Result>().ok(page); + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + + /** + * 记录一下核酸记录模块的业务程序逻辑,防止后续理不清 ic_nat:基础信息表 ic_nat_relation:关系表 + * 1.数字平台导入时,按身份证检测时间查询数据,查到数据不是导入的状态则记录下并跳过,是导入数据更新结果,未查到直接新增 + * 是否居民以及userId值查询数据平台居民,能查到就相应的赋值; + * 2.居民端录入可以录自己的或别人的,但是数据属于当前录入的组织; + * 3.数据平台录入可以为已有居民录入也可以录新数据,新数据则是否居民和userId无值; + * 4.导入数据不允许修改删除,录入数据可以修改删除,删除时相应的删除基础表和可能存在的所有关心表数据, + * 数据同步可多次重复,只是修改对应的关系表数据,基础信息表数据公用; + * 5.同一条数据被A街道和A社区都同步了,街道在看本辖区数据时会看到两条,但是只有A街道的那一条才能看到取消同步按钮; + * 6.数据库一个人一个检测时间只存在一条记录,以导入数据结果为准,已导入的各项值都不能修改,即使错误也只能通过导入修改; + * 7.新增、删除居民时会相应的修改基础信息表是否居民以及userId的值; + * 注:1.导入数据不允许修改是觉得导入数据是官方提供的且没有问题的数据,不需要在平台有维护操作,只要看就可以了; + * 2.是否居民的查询条件以及是否居民的列标题在看整个客户列表数据时这两个都隐藏 + * + */ + + /** + * @Author sun + * @Description 核酸检测-上报核酸记录 + **/ + //@NoRepeatSubmit + @PostMapping("add") + public Result add(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Nat.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + icVaccineService.add(formDTO); + return new Result(); + } + + /** + * @Author sun + * @Description 核酸检测-居民端我的上报 + **/ + @NoRepeatSubmit + @PostMapping("mynatlist") + public Result> myNatList(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + return new Result>().ok(icVaccineService.myNatList(formDTO)); } - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) - public Result get(@PathVariable("id") String id){ - IcVaccineDTO data = icVaccineService.get(id); - return new Result().ok(data); + /** + * @Author sun + * @Description 【核酸】核酸检测信息列表 + **/ + @NoRepeatSubmit + @PostMapping("natlist") + public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + return new Result>().ok(icVaccineService.natList(formDTO)); } + /** + * @Author sun + * @Description 【核酸】核酸检测信息详情 + **/ @NoRepeatSubmit - @PostMapping("save") - public Result save(@RequestBody IcVaccineDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - icVaccineService.save(dto); + @PostMapping("detail") + public Result detail(@RequestBody MyNatListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Detail.class); + return new Result().ok(icVaccineService.detail(formDTO)); + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息修改 + **/ + @NoRepeatSubmit + @PostMapping("edit") + public Result edit(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Edit.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + icVaccineService.edit(formDTO); return new Result(); } + /** + * @Author sun + * @Description 【核酸】核酸检测信息删除/取消同步 + **/ @NoRepeatSubmit - @PostMapping("update") - public Result update(@RequestBody IcVaccineDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - icVaccineService.update(dto); + @PostMapping("del") + public Result del(@RequestBody MyNatListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Del.class); + icVaccineService.del(formDTO); + return new Result<>(); + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息同步 + **/ + @NoRepeatSubmit + @PostMapping("synchro") + public Result synchro(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Synchro.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icVaccineService.synchro(formDTO); return new Result(); } - @PostMapping("delete") - public Result delete(@RequestBody String[] ids){ - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - icVaccineService.delete(ids); + /** + * @Author sun + * @Description 【核酸】核酸检测信息取消同步 + **/ + @NoRepeatSubmit + @PostMapping("cancelsynchro") + public Result cancelSynchro(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Synchro.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icVaccineService.cancelSynchro(formDTO); + return new Result<>(); + } + + /** + * 导入excel + * @return + */ + @PostMapping("import") + public Result importExcel(MultipartFile file) { + String userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + + // 1.暂存文件 + String originalFilename = file.getOriginalFilename(); + String extName = originalFilename.substring(originalFilename.lastIndexOf(".")); + + Path fileSavePath; + try { + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import"); + fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); + } catch (IOException e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【核酸检测导入】创建临时存储文件失败:{}", errorMsg); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); + } + + InputStream is = null; + FileOutputStream os = null; + + try { + is = file.getInputStream(); + os = new FileOutputStream(fileSavePath.toString()); + IOUtils.copy(is, os); + } catch (Exception e) { + e.printStackTrace(); + } finally { + org.apache.poi.util.IOUtils.closeQuietly(is); + org.apache.poi.util.IOUtils.closeQuietly(os); + } + + // 2.生成导入任务记录 + ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); + importTaskForm.setOperatorId(userId); + importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_NAT); + importTaskForm.setOriginFileName(originalFilename); + + ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm), + ServiceConstant.EPMET_COMMON_SERVICE, + EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), + "excel导入核酸检测信息错误", + "导入居民核酸检测信息失败"); + + // 3.执行导入 + icVaccineService.execAsyncExcelImport(fileSavePath, rstData.getTaskId()); + return new Result(); } + /** + * @Author sun + * @Description 【核酸】核酸检测信息下载模板 + **/ + @RequestMapping(value = "import-template-download", method = {RequestMethod.GET, RequestMethod.POST}) + public void downloadTemplate(HttpServletResponse response) throws IOException { + response.setCharacterEncoding("UTF-8"); + response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + //response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("社区自组织导入模板", "UTF-8") + ".xlsx"); + + InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/ic_nat.xlsx"); + try { + ServletOutputStream os = response.getOutputStream(); + IOUtils.copy(is, os); + } finally { + if (is != null) { + is.close(); + } + } + + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息列表 + **/ + @NoRepeatSubmit + @PostMapping("export") + public void export(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO, HttpServletResponse response) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + + //formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); + //formDTO.setUserId("73ae6280e46a6653a5605d51d5462725"); + + formDTO.setIsPage(false); + + ExcelWriter excelWriter = null; + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + int pageNo = formDTO.getPageNo(); + try { + // 这里 需要指定写用哪个class去写 + String fileName = "核酸检测信息.xlsx"; + if ("all".equals(formDTO.getOrgType())) { + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListResultDTO.class).build(); + }else { + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListCommonExcelResultDTO.class).build(); + } + + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); + PageData data = null; + do { + data = icVaccineService.natList(formDTO); + data.getList().forEach(o-> { + o.setNatResult(NumConstant.ONE_STR.equals(o.getNatResult()) ? "阳性" : "阴性"); + o.setIsResiUser(NumConstant.ONE_STR.equals(o.getIsResiUser()) ? "是" : "否"); + }); + formDTO.setPageNo(++pageNo); + if ("current".equals(formDTO.getOrgType())) { + List list = ConvertUtils.sourceToTarget(data.getList(), NatListResultDTO.class); + excelWriter.write(list, writeSheet); + }else{ + excelWriter.write(data.getList(), writeSheet); + } + } while (CollectionUtils.isNotEmpty(data.getList()) && data.getList().size() == formDTO.getPageSize()); + + }catch (Exception e){ + log.error("export exception", e); + }finally { + // 千万别忘记finish 会帮忙关闭流 + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java index 9e2b136739..84f0be0178 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java @@ -1,8 +1,16 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IcNatDTO; +import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.result.MyNatListResultDTO; +import com.epmet.dto.result.NatListResultDTO; +import com.epmet.entity.IcVaccineEntity; import com.epmet.entity.IcVaccineEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 疫苗接种记录 @@ -12,5 +20,49 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IcVaccineDao extends BaseDao { - -} \ No newline at end of file + /** + * @Author sun + * @Description 核酸检测-按条件查询核酸记录 + **/ + List getMyNatList(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】本辖区核酸检测信息列表 + **/ + List getNatList(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】客户下核酸检测信息列表 + **/ + List getCustomerNatList(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 删除操作--物理删除业务数据 + **/ + int delById(@Param("icNatId") String icNatId); + + /** + * 插入或者更新 + * + * @param e + */ + void insertOrUpdate(IcVaccineEntity e); + + /** + * @Author sun + * @Description 按条件查询业务数据 + **/ + IcNatDTO getNatDTO(@Param("customerId") String customerId, @Param("icNatId") String icNatId, @Param("idCard") String idCard, @Param("natTime") String natTime, @Param("natResult") String natResult); + + /** + * desc:根据客户id 更新是否居民状态 + * + * @param customerId + * @param icResiUserId 如果为空则更新全部 + * @return + */ + int updateIsResiFlag(@Param("customerId") String customerId, @Param("icResiUserId") String icResiUserId); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java new file mode 100644 index 0000000000..3c10ff69b7 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java @@ -0,0 +1,63 @@ +package com.epmet.excel.data; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * 核酸检测信息导入excel数据 + */ +@Data +public class IcVaccineImportExcelData implements Serializable { + + private static final long serialVersionUID = -700535059296633797L; + @NotBlank(message = "姓名为必填项") + @ExcelProperty("姓名") + private String name; + + @NotBlank(message = "手机号为必填项") + @ExcelProperty("手机号") + private String mobile; + + @NotBlank(message = "身份证号为必填项") + @ExcelProperty("身份证号") + @Length(max = 18, message = "身份证号长度不正确,应小于18位") + private String idCard; + + @NotNull(message = "检测时间为必填项") + @ExcelProperty("检测时间") + private Date natTime; + + @ExcelProperty("检测地点") + private String natAddress; + + @NotBlank(message = "检测结果为必填项") + @ExcelProperty("检测结果") + private String natResultZh; + + @Data + public static class RowRemarkMessage { + + @ExcelProperty("姓名") + @ColumnWidth(20) + private String name; + + @ExcelProperty("手机号") + @ColumnWidth(20) + private String mobile; + + @ColumnWidth(20) + @ExcelProperty("身份证号") + private String idCard; + + @ColumnWidth(60) + @ExcelProperty("错误信息") + private String errorInfo; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java new file mode 100644 index 0000000000..027040871e --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java @@ -0,0 +1,148 @@ +package com.epmet.excel.handler; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.listener.ReadListener; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.ValidateException; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.entity.IcVaccineEntity; +import com.epmet.excel.data.IcNatImportExcelData; +import com.epmet.excel.data.IcVaccineImportExcelData; +import com.epmet.service.impl.IcNatServiceImpl; +import com.epmet.service.impl.IcVaccineServiceImpl; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.List; + +/** + * 核酸检测excel导入监听器 + */ +@Data +@Slf4j +public class IcVaccineExcelImportListener implements ReadListener { + + /** + * 最大条数阈值 + */ + public static final int MAX_THRESHOLD = 200; + + private String currentUserId; + /** + * 当前组织ID + */ + private String currentAgencyId; + + private String currentAgencyPids; + + /** + * 数据 + */ + private List datas = new ArrayList<>(); + + /** + * 错误项列表 + */ + private List errorRows = new ArrayList<>(); + /** + * 其他被标记出来的列表列表 + */ + private List otherRows = new ArrayList<>(); + + private IcVaccineServiceImpl icVaccineService; + + public IcVaccineExcelImportListener(String currentUserId, String currentAgencyId, String currentAgencyPids, IcVaccineServiceImpl icVaccineService) { + this.currentUserId = currentUserId; + this.currentAgencyId = currentAgencyId; + this.currentAgencyPids = currentAgencyPids; + this.icVaccineService = icVaccineService; + } + + @Override + public void invoke(IcVaccineImportExcelData data, AnalysisContext context) { + + try { + // 先校验数据 + ValidatorUtils.validateEntity(data); + + if (StringUtils.isNotBlank(data.getName())) { + data.setName(data.getName().trim()); + } + if (StringUtils.isNotBlank(data.getMobile())) { + data.setMobile(data.getMobile().trim()); + } + if (StringUtils.isNotBlank(data.getNatAddress())) { + data.setNatAddress(data.getNatAddress().trim()); + } + if (StringUtils.isNotBlank(data.getIdCard())) { + data.setIdCard(data.getIdCard().trim()); + } + + // 默认空,没有结果 + String natResult = ""; + String natResultZh = data.getNatResultZh(); + if (StringUtils.isNotBlank(natResultZh)) { + natResult = natResultZh.equals("阴性") ? "0" : "1"; + } + + IcVaccineEntity icNatEntity = ConvertUtils.sourceToTarget(data, IcVaccineEntity.class); + //icNatEntity.setAgencyId(currentAgencyId); + //icNatEntity.setPids(currentAgencyPids); + icNatEntity.setUserId(currentUserId); + icNatEntity.setUserType("import"); + icNatEntity.setNatResult(natResult); + icNatEntity.setAttachmentType(""); + icNatEntity.setAttachmentUrl(""); + datas.add(icNatEntity); + + if (datas.size() == MAX_THRESHOLD) { + execPersist(); + } + } catch (Exception e) { + String errorMsg = null; + if (e instanceof ValidateException) { + errorMsg = ((ValidateException) e).getMsg(); + } else { + errorMsg = "未知错误"; + log.error("【核酸检测信息导入】出错:{}", ExceptionUtils.getErrorStackTrace(e)); + } + + IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); + errorRow.setName(data.getName()); + errorRow.setMobile(data.getMobile()); + errorRow.setIdCard(data.getIdCard()); + errorRow.setErrorInfo(errorMsg); + errorRows.add(errorRow); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + // 最后几条达不到阈值,这里必须再调用一次 + execPersist(); + } + + /** + * 执行持久化 + */ + private void execPersist() { + try { + if (datas != null && datas.size() > 0) { + icVaccineService.batchPersist(datas, this); + } + } finally { + datas.clear(); + } + } + + /** + * 获取错误行 + * @return + */ + public List getErrorRows() { + return errorRows; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index a983466956..1e9e5d71ba 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -2,11 +2,16 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; -import com.epmet.dto.IcVaccineDTO; +import com.epmet.dto.IcNatDTO; +import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.result.MyNatListResultDTO; +import com.epmet.dto.result.NatListDTO; +import com.epmet.dto.result.NatListResultDTO; import com.epmet.entity.IcVaccineEntity; +import java.nio.file.Path; import java.util.List; -import java.util.Map; /** * 疫苗接种记录 @@ -17,62 +22,74 @@ import java.util.Map; public interface IcVaccineService extends BaseService { /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2022-04-06 - */ - PageData page(Map params); + * @Author sun + * @Description 核酸检测-上报核酸记录 + **/ + void add(AddIcNatFormDTO formDTO); /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2022-04-06 - */ - List list(Map params); + * @Author sun + * @Description 核酸检测-居民端我的上报 + **/ + List myNatList(MyNatListFormDTO formDTO); /** - * 单条查询 + * @Author sun + * @Description 【核酸】核酸检测信息列表 * - * @param id - * @return IcVaccineDTO - * @author generator - * @date 2022-04-06 - */ - IcVaccineDTO get(String id); + * @return*/ + PageData natList(MyNatListFormDTO formDTO); /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2022-04-06 + * @Author sun + * @Description 【核酸】核酸检测信息详情 + **/ + IcNatDTO detail(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息修改 + **/ + void edit(AddIcNatFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息删除/取消同步 + **/ + void del(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息同步 + **/ + void synchro(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息取消同步 + **/ + void cancelSynchro(MyNatListFormDTO formDTO); + + /** + * 执行Excel导入 + * @param filePath */ - void save(IcVaccineDTO dto); + void execAsyncExcelImport(Path filePath, String importTaskId); /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2022-04-06 + * 核酸检测信息 + * @Param idCard + * @Return {@link List} + * @Author zhaoqifeng + * @Date 2022/3/29 16:29 */ - void update(IcVaccineDTO dto); + List getNatList(String customerId, String idCard); /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2022-04-06 + * desc:根据用户id 更新核酸中是否居民状态 + * @param customerId + * @param icResiUserId 如果为空则更新全部 + * @return */ - void delete(String[] ids); -} \ No newline at end of file + Integer updateIsResiFlag(String customerId, String icResiUserId); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index 18348ebde7..f6cab4ae48 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -1,22 +1,66 @@ package com.epmet.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.AppClientConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; +import com.epmet.commons.tools.utils.*; +import com.epmet.constants.ImportTaskConstants; +import com.epmet.dao.IcNatRelationDao; +import com.epmet.dao.IcResiUserDao; import com.epmet.dao.IcVaccineDao; -import com.epmet.dto.IcVaccineDTO; +import com.epmet.dao.UserBaseInfoDao; +import com.epmet.dto.IcNatDTO; +import com.epmet.dto.IcNoticeDTO; +import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.form.SendNoticeFormDTO; +import com.epmet.dto.result.*; +import com.epmet.entity.IcNatRelationEntity; +import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcVaccineEntity; +import com.epmet.excel.data.IcNatImportExcelData; +import com.epmet.excel.handler.IcNatExcelImportListener; +import com.epmet.excel.handler.IcVaccineExcelImportListener; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.EpmetUserOpenFeignClient; +import com.epmet.feign.OssFeignClient; +import com.epmet.service.IcNoticeService; import com.epmet.service.IcVaccineService; -import org.apache.commons.lang3.StringUtils; +import com.epmet.service.UserService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.FileItemFactory; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.apache.http.entity.ContentType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.commons.CommonsMultipartFile; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.*; +import java.util.stream.Collectors; /** * 疫苗接种记录 @@ -24,59 +68,568 @@ import java.util.Map; * @author generator generator@elink-cn.com * @since v1.0.0 2022-04-06 */ +@Slf4j @Service -public class IcVaccineServiceImpl extends BaseServiceImpl implements IcVaccineService { +public class IcVaccineServiceImpl extends BaseServiceImpl implements IcVaccineService, ResultDataResolver { + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + @Autowired + private IcNoticeService icNoticeService; + @Autowired + private OssFeignClient ossFeignClient; + @Autowired + private UserBaseInfoDao userBaseInfoDao; + @Autowired + private IcNatRelationDao icNatRelationDao; + @Autowired + private IcResiUserDao icResiUserDao; + @Autowired + private UserService userService; + + /** + * @Author sun + * @Description 核酸检测-上报核酸记录 + **/ @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, IcVaccineDTO.class); + @Transactional(rollbackFor = Exception.class) + public void add(AddIcNatFormDTO formDTO) { + //0.先根据身份证号和检查时间以及检测结果校验数据是否存在 + IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), null, formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE), null); + //按身份证号核酸时间存在记录的 核酸结果相同的提示已存在相同记录核酸结果不同的提示已存在去修改【业务要求的】 + if (null != icNatDTO && icNatDTO.getNatResult().equals(formDTO.getNatResult())) { + throw new RenException(EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getCode(), EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getMsg()); + } else if (null != icNatDTO && !icNatDTO.getNatResult().equals(formDTO.getNatResult())) { + throw new RenException(EpmetErrorCode.IC_NAT.getCode(), EpmetErrorCode.IC_NAT.getMsg()); + } + //1.获取所填居民所属组织缓存信息 + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getAgencyId()); + if (null == agencyInfo) { + throw new RenException(String.format("获取组织缓存信息失败%s", formDTO.getAgencyId())); + } + //2.新增核酸基础信息数据 + IcVaccineEntity entity = ConvertUtils.sourceToTarget(formDTO, IcVaccineEntity.class); + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(formDTO.getUserId())) { + entity.setIsResiUser("1"); + } + insert(entity); + //3.核酸记录关系表新增与组织的关系数据 + IcNatRelationEntity relationEntity = ConvertUtils.sourceToTarget(formDTO, IcNatRelationEntity.class); + relationEntity.setIcNatId(entity.getId()); + relationEntity.setPids(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(agencyInfo.getPids()) ? agencyInfo.getPids() + ":" + formDTO.getAgencyId() : formDTO.getAgencyId()); + icNatRelationDao.insert(relationEntity); + + //3.新增通知表信息 + if (formDTO.getChannel().size() > NumConstant.ZERO) { + SendNoticeFormDTO dto = new SendNoticeFormDTO(); + List userList = new ArrayList<>(); + userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); + dto.setCustomerId(formDTO.getCustomerId()); + dto.setUserList(userList); + dto.setChannel(formDTO.getChannel()); + dto.setOrigin("2"); + dto.setContent(formDTO.getContent()); + dto.setStaffId(formDTO.getStaffId()); + icNoticeService.sendNotice(dto); + } + } + /** + * @Author sun + * @Description 核酸检测-居民端我的上报 + **/ @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); + public List myNatList(MyNatListFormDTO formDTO) { + //1.根据token信息查询居民身份证号 + UserBaseInfoResultDTO dto = userBaseInfoDao.selectListByUserIdList(formDTO.getUserId()); + if (null != dto) { + formDTO.setIdCard(dto.getIdNum()); + } + //2.查询当前人员创建的或该身份证号录入的核算检测数据(居民端录入、数字平台录入、数字平台导入、数字平台同步的) + List resultList = baseDao.getMyNatList(formDTO); + return resultList; + } + + /** + * @Author sun + * @Description 【核酸】本组织及下级核酸检测信息列表 + * + * @return*/ + @Override + public PageData natList(MyNatListFormDTO formDTO) { + //1.根据是查询客户数据还是本辖区数据走不同逻辑 + if ("current".equals(formDTO.getOrgType())) { + //本辖区数据 + //2.获取工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + formDTO.setAgencyId(staffInfo.getAgencyId()); + //3.按条件查询业务数据 + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) + .doSelectPageInfo(() -> baseDao.getNatList(formDTO)); + return new PageData(data.getList(), data.getTotal()); + } else if ("all".equals(formDTO.getOrgType())) { + //客户下数据 + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) + .doSelectPageInfo(() -> baseDao.getCustomerNatList(formDTO)); + return new PageData(data.getList(), data.getTotal()); + } - return ConvertUtils.sourceToTarget(entityList, IcVaccineDTO.class); + return new PageData(new ArrayList(), 0); } - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + /** + * @Author sun + * @Description 【核酸】核酸检测信息详情 + **/ + @Override + public IcNatDTO detail(MyNatListFormDTO formDTO) { + IcNatDTO resultDTO = new IcNatDTO(); + //1.查询核酸记录信息 + IcVaccineEntity entity = baseDao.selectById(formDTO.getIcNatId()); + if (null == resultDTO) { + return resultDTO; + } + resultDTO = ConvertUtils.sourceToTarget(entity, IcNatDTO.class); + + //2.查询对应的通知记录信息 + IcNoticeDTO dto = icNoticeService.getNotice(entity.getCustomerId(), entity.getIdCard()); + if (null != dto) { + resultDTO.setChannel(dto.getChannelList()); + resultDTO.setContent(dto.getContent()); + } + + return resultDTO; + } - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + /** + * @Author sun + * @Description 【核酸】核酸检测信息修改 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public void edit(AddIcNatFormDTO formDTO) { + //0.先根据身份证号和检测时间以及检测结果校验除当前数据是否还存在相同数据 + IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), formDTO.getIcNatId(), formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE), formDTO.getNatResult()); + if (null != icNatDTO) { + throw new RenException(EpmetErrorCode.IC_NAT.getCode(), EpmetErrorCode.IC_NAT.getMsg()); + } + //1.更新核酸记录基础信息表数据 + IcVaccineEntity entity = ConvertUtils.sourceToTarget(formDTO, IcVaccineEntity.class); + entity.setId(formDTO.getIcNatId()); + if (!updateById(entity)) { + log.error(String.format("数据修改失败,核酸记录Id->%s", formDTO.getIcNatId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "核酸记录修改失败"); + } + //修改只涉及到基础信息的修改 不会修改关系数据 关系表不涉及更新 - return wrapper; + //3.新增通知表信息 + if (CollectionUtils.isNotEmpty(formDTO.getChannel())) { + SendNoticeFormDTO dto = new SendNoticeFormDTO(); + List userList = new ArrayList<>(); + userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); + dto.setCustomerId(formDTO.getCustomerId()); + dto.setUserList(userList); + dto.setChannel(formDTO.getChannel()); + dto.setOrigin("2"); + dto.setContent(formDTO.getContent()); + dto.setStaffId(formDTO.getStaffId()); + icNoticeService.sendNotice(dto); + } } + /** + * @Author sun + * @Description 【核酸】核酸检测信息删除/取消同步 + **/ @Override - public IcVaccineDTO get(String id) { - IcVaccineEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, IcVaccineDTO.class); + @Transactional(rollbackFor = Exception.class) + public void del(MyNatListFormDTO formDTO) { + //1.确定删除则需要删除基础数据以及所有可能存在的关系数据,物理删除业务数据 + if (baseDao.delById(formDTO.getIcNatId()) < NumConstant.ONE) { + log.error(String.format("数据删除失败,核酸记录Id->%s", formDTO.getIcNatId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据删除失败"); + } + //关系数据删除 + icNatRelationDao.delRelation(formDTO.getIcNatId(), null); } + /** + * @Author sun + * @Description 【核酸】核酸检测信息同步 + **/ @Override @Transactional(rollbackFor = Exception.class) - public void save(IcVaccineDTO dto) { - IcVaccineEntity entity = ConvertUtils.sourceToTarget(dto, IcVaccineEntity.class); - insert(entity); + public void synchro(MyNatListFormDTO formDTO) { + //1.检验核酸基础信息是否存在 + IcVaccineEntity entity = baseDao.selectById(formDTO.getIcNatId()); + if (null == entity) { + log.error(String.format("核酸记录数据不存在同步失败,核酸记录Id->%s", formDTO.getIcNatId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据同步失败,核酸记录数据不存在"); + } + //获取工作人员缓存数据 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + //2.不管是否已存在关系数据都是先删后增 + icNatRelationDao.delRelation(formDTO.getIcNatId(), staffInfo.getAgencyId()); + //3.新增关系数据 + IcNatRelationEntity relationEntity = new IcNatRelationEntity(); + relationEntity.setCustomerId(formDTO.getCustomerId()); + relationEntity.setIcNatId(formDTO.getIcNatId()); + relationEntity.setAgencyId(staffInfo.getAgencyId()); + relationEntity.setPids(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(staffInfo.getAgencyPIds())?staffInfo.getAgencyPIds()+":"+staffInfo.getAgencyId():staffInfo.getAgencyId()); + relationEntity.setUserType("synchro"); + icNatRelationDao.insert(relationEntity); } + /** + * @Author sun + * @Description 【核酸】核酸检测信息取消同步 + **/ @Override @Transactional(rollbackFor = Exception.class) - public void update(IcVaccineDTO dto) { - IcVaccineEntity entity = ConvertUtils.sourceToTarget(dto, IcVaccineEntity.class); - updateById(entity); + public void cancelSynchro(MyNatListFormDTO formDTO) { + //1.获取工作人员缓存数据 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + //1.物理删除关系数据 + if (icNatRelationDao.delRelation(formDTO.getIcNatId(), staffInfo.getAgencyId()) < NumConstant.ONE) { + log.error(String.format("数据取消同步失败,核酸记录Id->%s", formDTO.getIcNatId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "取消同步操作失败"); + } + } + + @Async + @Override + public void execAsyncExcelImport(Path filePath, String importTaskId) { + String userId = null; + + try { + userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + String app = EpmetRequestHolder.getHeader(AppClientConstant.APP); + String client = EpmetRequestHolder.getHeader(AppClientConstant.CLIENT); + + LoginUserDetailsResultDTO loginUserDetails = userService.getLoginUserDetails(app, client, userId); + + String agencyId = loginUserDetails.getAgencyId(); + + IcNatExcelImportListener listener = new IcNatExcelImportListener(userId, agencyId, loginUserDetails.getOrgIdPath().replace(":".concat(agencyId), ""), this); + + EasyExcel.read(filePath.toFile(), IcNatImportExcelData.class, listener).headRowNumber(2).sheet(0).doRead(); + + Path errorDescFile = null; + String errorDesFileUrl = null; + + List errorRows = listener.getErrorRows(); + List otherRows = listener.getOtherRows(); + + boolean failed = errorRows.size() > 0; + + // 合并到一起写入 + errorRows.addAll(otherRows); + + // 生成并上传描述文件 + if (errorRows.size() > 0) { + try { + // 文件生成 + Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import", "error_des"); + String fileName = UUID.randomUUID().toString().concat(".xlsx"); + errorDescFile = errorDescDir.resolve(fileName); + + FileItemFactory factory = new DiskFileItemFactory(16, errorDescDir.toFile()); + FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName); + OutputStream os = fileItem.getOutputStream(); + + EasyExcel.write(os, IcNatImportExcelData.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows); + // 文件上传oss + Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); + if (errorDesFileUploadResult.success()) { + errorDesFileUrl = errorDesFileUploadResult.getData().getUrl(); + } + + } finally { + if (Files.exists(errorDescFile)) { + Files.delete(errorDescFile); + } + } + } + + ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); + importFinishTaskForm.setTaskId(importTaskId); + importFinishTaskForm.setProcessStatus(failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS); + importFinishTaskForm.setOperatorId(userId); + importFinishTaskForm.setResultDesc(""); + importFinishTaskForm.setResultDescFilePath(errorDesFileUrl); + + Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm); + if (!result.success()) { + log.error("【核酸检测导入】finishImportTask失败"); + } + } catch (Exception e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【核酸检测导入】出错:{}", errorMsg); + + ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); + importFinishTaskForm.setTaskId(importTaskId); + importFinishTaskForm.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + importFinishTaskForm.setOperatorId(userId); + importFinishTaskForm.setResultDesc("导入失败"); + + Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm); + if (!result.success()) { + log.error("【核酸检测导入】导入记录状态修改为'完成'失败"); + } + } finally { + // 删除临时文件 + if (Files.exists(filePath)) { + try { + Files.delete(filePath); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + } + + /** + * 核酸检测信息 + * + * @param idCard + * @Param idCard + * @Return {@link List< NatListDTO >} + * @Author zhaoqifeng + * @Date 2022/3/29 16:29 + */ + @Override + public List getNatList(String customerId, String idCard) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcVaccineEntity::getCustomerId, customerId); + wrapper.eq(IcVaccineEntity::getIdCard, idCard); + wrapper.orderByDesc(IcVaccineEntity::getNatTime); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyList(); + } + return list.stream().map(item -> { + NatListDTO dto = new NatListDTO(); + dto.setAddress(item.getNatAddress()); + dto.setTestTime(DateUtils.format(item.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)); + switch (item.getNatResult()) + { + case NumConstant.ZERO_STR: + dto.setResult("阴性"); + break; + case NumConstant.ONE_STR: + dto.setResult("阳性"); + break; + default: + dto.setResult("未知"); + } + return dto; + }).collect(Collectors.toList()); } @Override + public Integer updateIsResiFlag(String customerId, String icResiUserId) { + return baseDao.updateIsResiFlag(customerId,icResiUserId); + } + + /** + * 批量持久化 + * @param entities + */ + public void batchPersist(List entities, IcVaccineExcelImportListener listener) { + String customerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID); + String currentUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + + entities.forEach(e -> { + try { + persisVaccine(e, customerId, currentUserId, listener); + } catch (Exception exception) { + String errorMsg = ExceptionUtils.getErrorStackTrace(exception); + log.error(errorMsg); + + IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); + errorRow.setName(e.getName()); + errorRow.setMobile(e.getMobile()); + errorRow.setIdCard(e.getIdCard()); + errorRow.setErrorInfo("未知系统错误"); + listener.getErrorRows().add(errorRow); + } + }); + } + + /** + * 单条持久化 + * @param e + * @param customerId + * @param currentUserId + * @param listener + */ @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); + public void persisVaccine(IcVaccineEntity e, String customerId, String currentUserId, IcNatExcelImportListener listener) { + List otherRows = listener.getOtherRows(); + String agencyPids = listener.getCurrentAgencyPids(); + String agencyId = listener.getCurrentAgencyId(); + + Date natTime = e.getNatTime(); + String idCard = e.getIdCard(); + String name = e.getName(); + String mobile = e.getMobile(); + String natResult = e.getNatResult(); + String natAddress = e.getNatAddress(); + + //1.先看客户下有没有这个人 + IcVaccineEntity resiNat = getResiNat(customerId, idCard, natTime); + if (resiNat != null && !"import".equals(resiNat.getUserType())) { + // 有这个人,并且不是导入的 + String message = "已存在该次核酸检测录入记录,请到系统中修改"; + + IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); + errorRow.setName(name); + errorRow.setMobile(mobile); + errorRow.setIdCard(idCard); + errorRow.setErrorInfo(message); + otherRows.add(errorRow); + return; + } + + if (resiNat != null) { + boolean needUpdate = false; + // 有这个人,也是导入的,那就要更新le + ArrayList changedFieldNames = new ArrayList<>(); + if (!name.equals(resiNat.getName())) { + changedFieldNames.add("姓名"); + resiNat.setName(name); + needUpdate = true; + } + + if (!natResult.equals(resiNat.getNatResult())) { + changedFieldNames.add("检测结果"); + resiNat.setNatResult(natResult); + needUpdate = true; + } + + // 检测地点和手机号先不提示,说需要提示再提示。需要考虑两个都不为空&&不相等 || 两个中一个为空一个不为空 + if ((com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(natAddress) && com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(resiNat.getNatAddress())) + || (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(natAddress) && com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(resiNat.getNatAddress())) + || (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(natAddress) && com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(resiNat.getNatAddress()) && !natAddress.equals(resiNat.getNatAddress()))) { + resiNat.setNatAddress(natAddress); + needUpdate = true; + } + + if (!mobile.equals(resiNat.getMobile())) { + resiNat.setMobile(mobile); + needUpdate = true; + } + + if (changedFieldNames.size() > 0) { + String fieldsStr = String.join(",", changedFieldNames); + String message = "该次核酸检测记录已存在,执行更新动作," + fieldsStr + "已成功更新"; + IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); + errorRow.setName(name); + errorRow.setMobile(mobile); + errorRow.setIdCard(idCard); + errorRow.setErrorInfo(message); + otherRows.add(errorRow); + } + + if (needUpdate) { + resiNat.setUpdatedBy(currentUserId); + resiNat.setUpdatedTime(new Date()); + + IcResiUserEntity resi = getResi(customerId, idCard, null); + resiNat.setIsResiUser(resi != null ? "1" : "0"); + resiNat.setUserId(resi != null ? resi.getId() : ""); + + baseDao.updateById(resiNat); + } + + // 还要创建关系。只有本辖区及下级居民,才建立关系 + if (getResi(customerId, idCard, String.join(":", Arrays.asList(agencyPids, agencyId))) != null) { + createNatRelation(resiNat.getId(), listener.getCurrentAgencyId(), listener.getCurrentAgencyPids()); + } + + return; + } + + // 执行新增操作 + IcResiUserEntity resi = getResi(customerId, idCard, null); + e.setIsResiUser(resi != null ? "1" : "0"); + e.setUserId(resi != null ? resi.getId() : ""); + e.setUserType("import"); + + baseDao.insert(e); + + // 还要创建关系。只有本辖区及下级居民,才建立关系 + if (getResi(customerId, idCard, String.join(":", Arrays.asList(agencyPids, agencyId))) != null) { + createNatRelation(e.getId(), listener.getCurrentAgencyId(), listener.getCurrentAgencyPids()); + } + } + + /** + * 是否是指定条件下的居民; + * 0:否 + * 1:是 + * @param customerId + * @param idCard + * @return + */ + public IcResiUserEntity getResi(String customerId, String idCard, String pids) { + LambdaQueryWrapper query = new LambdaQueryWrapper(); + query.eq(IcResiUserEntity::getCustomerId, customerId); + query.eq(IcResiUserEntity::getIdCard, idCard); + if (StringUtils.isNotBlank(pids)) { + query.likeRight(IcResiUserEntity::getPids, pids); + } + return icResiUserDao.selectOne(query); + } + + /** + * + * @param customerId + * @param idCard + * @return + */ + public IcVaccineEntity getResiNat(String customerId, String idCard, Date natTime) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcVaccineEntity::getCustomerId, customerId); + query.eq(IcVaccineEntity::getIdCard, idCard); + query.eq(IcVaccineEntity::getNatTime, natTime); + return baseDao.selectOne(query); + } + + /** + * 创建nat关系 + * @param natId + * @param currentUserAgencyId + */ + private void createNatRelation(String natId, String currentUserAgencyId, String agencyPids) { + + // 没有关系创建关系,有关系就跳过 + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcNatRelationEntity::getIcNatId, natId); + query.eq(IcNatRelationEntity::getAgencyId, currentUserAgencyId); + if (icNatRelationDao.selectCount(query) > 0) { + return; + } + + IcNatRelationEntity relation = new IcNatRelationEntity(); + relation.setAgencyId(currentUserAgencyId); + relation.setPids(String.join(":", Arrays.asList(agencyPids, currentUserAgencyId))); + relation.setIcNatId(natId); + relation.setUserType("import"); + icNatRelationDao.insert(relation); } -} \ No newline at end of file +} diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml index 49fdaa2fe4..fcb5e56580 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml @@ -2,5 +2,175 @@ + - \ No newline at end of file + + + + + + + + DELETE FROM ic_nat WHERE id = #{icNatId} + + + + INSERT INTO epmet_user.ic_nat + (ID, CUSTOMER_ID, AGENCY_ID, PIDS, USER_ID, + USER_TYPE, NAME, MOBILE, ID_CARD, NAT_TIME, NAT_RESULT, NAT_ADDRESS, FILE_NAME, ATTACHMENT_TYPE, ATTACHMENT_URL, + DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) + VALUES (#{id}, #{customerId}, #{agencyId}, #{pids}, #{userId}, + #{userType}, #{name}, #{mobile}, #{idCard}, #{natTime}, + #{natResult}, #{natAddress}, #{fileName}, #{attachmentType}, #{attachmentUrl}, + #{delFlag}, #{revision}, #{createdBy}, #{createdTime}, #{updatedBy}, + #{updatedTime}) + ON DUPLICATE KEY update + NAME=#{name}, + MOBILE=#{mobile}, + NAT_ADDRESS=#{natAddress}, + NAT_RESULT=#{natResult}, + UPDATED_BY=#{updatedBy}, + UPDATED_TIME=NOW() + + + UPDATE ic_nat m, + ( + SELECT if(DEL_FLAG,0,1) resiFlag, ID_CARD FROM ic_resi_user + WHERE + 1=1 + + AND ID = #{icResiUserId} + + AND CUSTOMER_ID = #{customerId} + AND DEL_FLAG = '0' + ) t + SET m.IS_RESI_USER = t.resiFlag + WHERE + m.ID_CARD = t.ID_CARD + AND m.DEL_FLAG = '0' + + From 47136ce78174c500895ebc2277c79bf125b285c2 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 16:16:38 +0800 Subject: [PATCH 14/83] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/VaccineListFormDTO.java | 67 +++++++++++++++++++ .../epmet/controller/IcVaccineController.java | 36 ++++------ 2 files changed, 79 insertions(+), 24 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccineListFormDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccineListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccineListFormDTO.java new file mode 100644 index 0000000000..213c8fb9de --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccineListFormDTO.java @@ -0,0 +1,67 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Description 疫苗接种信息查询 + * @Author sun + */ +@Data +public class VaccineListFormDTO extends PageFormDTO { + + private static final long serialVersionUID = -6809065476616323072L; + + public interface Detail extends CustomerClientShowGroup { + } + public interface Del extends CustomerClientShowGroup { + } + public interface Synchro extends CustomerClientShowGroup { + } + + /** + * 身份证号 + */ + private String idCard; + /** + * 当前组织:current 根组织:all + */ + private String searchType; + private String agencyId; + /** + * 姓名 + */ + private String name; + /** + * 手机号 + */ + private String mobile; + /** + * 是否客户下居民(0:否 1:是) + */ + private String isResiUser; + /** + * 检测开始时间yyyy-MM-dd HH:mm + */ + private String startTime; + /** + * 检测结束时间yyyy-MM-dd HH:mm间yy-mm-dd + */ + private String endTime; + + /** + * 核酸记录Id + */ + @NotBlank(message = "疫苗接种记录Id不能为空", groups = { Detail.class, Del.class, Synchro.class}) + private String icVaccineId; + + /** + * token里设置 + */ + private String customerId; + private String userId; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 65f19fc3df..0fc599ed35 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -20,9 +20,8 @@ import com.epmet.constants.ImportTaskConstants; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO; -import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; -import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListCommonExcelResultDTO; import com.epmet.dto.result.NatListResultDTO; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; @@ -93,17 +92,6 @@ public class IcVaccineController implements ResultDataResolver { return new Result(); } - /** - * @Author sun - * @Description 核酸检测-居民端我的上报 - **/ - @NoRepeatSubmit - @PostMapping("mynatlist") - public Result> myNatList(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { - formDTO.setCustomerId(tokenDto.getCustomerId()); - formDTO.setUserId(tokenDto.getUserId()); - return new Result>().ok(icVaccineService.myNatList(formDTO)); - } /** * @Author sun @@ -111,7 +99,7 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("natlist") - public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { + public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); return new Result>().ok(icVaccineService.natList(formDTO)); @@ -123,8 +111,8 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("detail") - public Result detail(@RequestBody MyNatListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Detail.class); + public Result detail(@RequestBody VaccineListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, VaccineListFormDTO.Detail.class); return new Result().ok(icVaccineService.detail(formDTO)); } @@ -148,8 +136,8 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("del") - public Result del(@RequestBody MyNatListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Del.class); + public Result del(@RequestBody VaccineListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, VaccineListFormDTO.Del.class); icVaccineService.del(formDTO); return new Result<>(); } @@ -160,8 +148,8 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("synchro") - public Result synchro(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Synchro.class); + public Result synchro(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, VaccineListFormDTO.Synchro.class); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); icVaccineService.synchro(formDTO); @@ -174,8 +162,8 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("cancelsynchro") - public Result cancelSynchro(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Synchro.class); + public Result cancelSynchro(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, VaccineListFormDTO.Synchro.class); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); icVaccineService.cancelSynchro(formDTO); @@ -266,7 +254,7 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("export") - public void export(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO, HttpServletResponse response) { + public void export(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO, HttpServletResponse response) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); @@ -280,7 +268,7 @@ public class IcVaccineController implements ResultDataResolver { int pageNo = formDTO.getPageNo(); try { // 这里 需要指定写用哪个class去写 - String fileName = "核酸检测信息.xlsx"; + String fileName = "疫苗接种信息.xlsx"; if ("all".equals(formDTO.getOrgType())) { excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListResultDTO.class).build(); }else { From 29f7101356cb0339803c1e6dc7bf3731647f5d99 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 16:20:58 +0800 Subject: [PATCH 15/83] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/IcVaccineListResultDTO.java | 95 +++++++++++++++++++ .../epmet/controller/IcVaccineController.java | 5 +- .../com/epmet/service/IcVaccineService.java | 6 +- .../service/impl/IcVaccineServiceImpl.java | 8 +- 4 files changed, 105 insertions(+), 9 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java new file mode 100644 index 0000000000..8118bd73be --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java @@ -0,0 +1,95 @@ +package com.epmet.dto.result; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.HeadStyle; +import com.alibaba.excel.enums.poi.FillPatternTypeEnum; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description 核酸检测-我的上报记录 + * @Author sun + */ +@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 44) +@Data +public class IcVaccineListResultDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 核酸记录Id + */ + @ExcelIgnore + private String icNatId; + /** + * 组织Id + */ + @ExcelIgnore + private String agencyId; + /** + * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 + */ + @ExcelIgnore + private String userId; + + /** + * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + */ + @ExcelIgnore + private String userType; + + /** + * 姓名 + */ + @ColumnWidth(20) + @ExcelProperty(value = "姓名",order = 1) + private String name; + + /** + * 手机号 + */ + @ColumnWidth(20) + @ExcelProperty(value = "手机号",order = 2) + private String mobile; + + /** + * 身份证号 + */ + @ColumnWidth(25) + @ExcelProperty(value = "身份证号",order = 3) + private String idCard; + + /** + * 检测时间,yyyy-MM-dd HH:mm + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + @ColumnWidth(25) + @ExcelProperty(value = "检测时间",order = 4) + private Date natTime; + + /** + * 检测结果 + */ + @ColumnWidth(20) + @ExcelProperty(value = "检测结果",order = 5) + private String natResult; + + /** + * 是否客户下居民(0:否 1:是) + */ + @ExcelIgnore + private String isResiUser; + + /** + * 检测地点 + */ + @ColumnWidth(30) + @ExcelProperty(value = "检测地点",order = 7) + private String natAddress; + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 0fc599ed35..c40d97980b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -21,6 +21,7 @@ import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.form.VaccineListFormDTO; +import com.epmet.dto.result.IcVaccineListResultDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.dto.result.NatListCommonExcelResultDTO; import com.epmet.dto.result.NatListResultDTO; @@ -99,10 +100,10 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("natlist") - public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { + public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); - return new Result>().ok(icVaccineService.natList(formDTO)); + return new Result>().ok(icVaccineService.natList(formDTO)); } /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index 1e9e5d71ba..ab351b9c80 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -5,9 +5,10 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.form.VaccineListFormDTO; +import com.epmet.dto.result.IcVaccineListResultDTO; import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListDTO; -import com.epmet.dto.result.NatListResultDTO; import com.epmet.entity.IcVaccineEntity; import java.nio.file.Path; @@ -37,8 +38,9 @@ public interface IcVaccineService extends BaseService { * @Author sun * @Description 【核酸】核酸检测信息列表 * + * @param formDTO * @return*/ - PageData natList(MyNatListFormDTO formDTO); + PageData natList(VaccineListFormDTO formDTO); /** * @Author sun diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index f6cab4ae48..106413e185 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -24,10 +24,7 @@ import com.epmet.dao.IcVaccineDao; import com.epmet.dao.UserBaseInfoDao; import com.epmet.dto.IcNatDTO; import com.epmet.dto.IcNoticeDTO; -import com.epmet.dto.form.AddIcNatFormDTO; -import com.epmet.dto.form.ImportTaskCommonFormDTO; -import com.epmet.dto.form.MyNatListFormDTO; -import com.epmet.dto.form.SendNoticeFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IcNatRelationEntity; import com.epmet.entity.IcResiUserEntity; @@ -157,9 +154,10 @@ public class IcVaccineServiceImpl extends BaseServiceImpl natList(MyNatListFormDTO formDTO) { + public PageData natList(VaccineListFormDTO formDTO) { //1.根据是查询客户数据还是本辖区数据走不同逻辑 if ("current".equals(formDTO.getOrgType())) { //本辖区数据 From 5aeb45a66952c5f68d8bb2055ed66e33c30a77c9 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 16:24:25 +0800 Subject: [PATCH 16/83] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/IcVaccineController.java | 4 ++-- .../main/java/com/epmet/dao/IcVaccineDao.java | 12 +++++++----- .../com/epmet/service/IcVaccineService.java | 7 ++++--- .../service/impl/IcVaccineServiceImpl.java | 19 ++++++++++--------- .../main/resources/mapper/IcVaccineDao.xml | 4 ++-- 5 files changed, 25 insertions(+), 21 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index c40d97980b..271ecb80fc 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -103,7 +103,7 @@ public class IcVaccineController implements ResultDataResolver { public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); - return new Result>().ok(icVaccineService.natList(formDTO)); + return new Result>().ok(icVaccineService.icVaccineList(formDTO)); } /** @@ -279,7 +279,7 @@ public class IcVaccineController implements ResultDataResolver { WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); PageData data = null; do { - data = icVaccineService.natList(formDTO); + data = icVaccineService.icVaccineList(formDTO); data.getList().forEach(o-> { o.setNatResult(NumConstant.ONE_STR.equals(o.getNatResult()) ? "阳性" : "阴性"); o.setIsResiUser(NumConstant.ONE_STR.equals(o.getIsResiUser()) ? "是" : "否"); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java index 84f0be0178..b99c5d1000 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java @@ -3,10 +3,10 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListResultDTO; import com.epmet.entity.IcVaccineEntity; -import com.epmet.entity.IcVaccineEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -29,14 +29,16 @@ public interface IcVaccineDao extends BaseDao { /** * @Author sun * @Description 【核酸】本辖区核酸检测信息列表 - **/ - List getNatList(MyNatListFormDTO formDTO); + * + * @param formDTO*/ + List getIcVaccineList(VaccineListFormDTO formDTO); /** * @Author sun * @Description 【核酸】客户下核酸检测信息列表 - **/ - List getCustomerNatList(MyNatListFormDTO formDTO); + * + * @param formDTO*/ + List getCustomerIcVaccineList(VaccineListFormDTO formDTO); /** * @Author sun diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index ab351b9c80..7cef54b951 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -40,13 +40,14 @@ public interface IcVaccineService extends BaseService { * * @param formDTO * @return*/ - PageData natList(VaccineListFormDTO formDTO); + PageData icVaccineList(VaccineListFormDTO formDTO); /** * @Author sun * @Description 【核酸】核酸检测信息详情 - **/ - IcNatDTO detail(MyNatListFormDTO formDTO); + * + * @param formDTO*/ + IcNatDTO detail(VaccineListFormDTO formDTO); /** * @Author sun diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index 106413e185..66361093a5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -157,9 +157,9 @@ public class IcVaccineServiceImpl extends BaseServiceImpl natList(VaccineListFormDTO formDTO) { + public PageData icVaccineList(VaccineListFormDTO formDTO) { //1.根据是查询客户数据还是本辖区数据走不同逻辑 - if ("current".equals(formDTO.getOrgType())) { + if ("current".equals(formDTO.getSearchType())) { //本辖区数据 //2.获取工作人员缓存信息 CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); @@ -168,13 +168,13 @@ public class IcVaccineServiceImpl extends BaseServiceImpl data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) - .doSelectPageInfo(() -> baseDao.getNatList(formDTO)); + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) + .doSelectPageInfo(() -> baseDao.getIcVaccineList(formDTO)); return new PageData(data.getList(), data.getTotal()); - } else if ("all".equals(formDTO.getOrgType())) { + } else if ("all".equals(formDTO.getSearchType())) { //客户下数据 - PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) - .doSelectPageInfo(() -> baseDao.getCustomerNatList(formDTO)); + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) + .doSelectPageInfo(() -> baseDao.getCustomerIcVaccineList(formDTO)); return new PageData(data.getList(), data.getTotal()); } @@ -184,9 +184,10 @@ public class IcVaccineServiceImpl extends BaseServiceImpl - SELECT a.ic_nat_id icNatId, a.agency_id agencyId, @@ -72,7 +72,7 @@ ORDER BY b.nat_time DESC, b.id ASC - SELECT id icNatId, user_id userId, From 51c42f23b92a1f561637cf1747d6976533d4b33a Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 6 Apr 2022 16:26:11 +0800 Subject: [PATCH 17/83] emm --- .../epmet/constants/ImportTaskConstants.java | 1 + .../epmet/controller/IcVaccineController.java | 79 ++----------------- .../service/impl/IcVaccineServiceImpl.java | 1 - 3 files changed, 9 insertions(+), 72 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java index e15f7f5057..9cb1800e8a 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java @@ -22,6 +22,7 @@ public interface ImportTaskConstants { * 核酸检测 */ String BIZ_TYPE_IC_NAT = "ic_nat"; + String BIZ_TYPE_IC_VACCINE = "ic_vaccine"; /** * 行程上报 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 271ecb80fc..c567480fc6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -63,37 +63,6 @@ public class IcVaccineController implements ResultDataResolver { @Autowired private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; - /** - * 记录一下核酸记录模块的业务程序逻辑,防止后续理不清 ic_nat:基础信息表 ic_nat_relation:关系表 - * 1.数字平台导入时,按身份证检测时间查询数据,查到数据不是导入的状态则记录下并跳过,是导入数据更新结果,未查到直接新增 - * 是否居民以及userId值查询数据平台居民,能查到就相应的赋值; - * 2.居民端录入可以录自己的或别人的,但是数据属于当前录入的组织; - * 3.数据平台录入可以为已有居民录入也可以录新数据,新数据则是否居民和userId无值; - * 4.导入数据不允许修改删除,录入数据可以修改删除,删除时相应的删除基础表和可能存在的所有关心表数据, - * 数据同步可多次重复,只是修改对应的关系表数据,基础信息表数据公用; - * 5.同一条数据被A街道和A社区都同步了,街道在看本辖区数据时会看到两条,但是只有A街道的那一条才能看到取消同步按钮; - * 6.数据库一个人一个检测时间只存在一条记录,以导入数据结果为准,已导入的各项值都不能修改,即使错误也只能通过导入修改; - * 7.新增、删除居民时会相应的修改基础信息表是否居民以及userId的值; - * 注:1.导入数据不允许修改是觉得导入数据是官方提供的且没有问题的数据,不需要在平台有维护操作,只要看就可以了; - * 2.是否居民的查询条件以及是否居民的列标题在看整个客户列表数据时这两个都隐藏 - * - */ - - /** - * @Author sun - * @Description 核酸检测-上报核酸记录 - **/ - //@NoRepeatSubmit - @PostMapping("add") - public Result add(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Nat.class); - formDTO.setCustomerId(tokenDto.getCustomerId()); - formDTO.setStaffId(tokenDto.getUserId()); - icVaccineService.add(formDTO); - return new Result(); - } - - /** * @Author sun * @Description 【核酸】核酸检测信息列表 @@ -117,32 +86,6 @@ public class IcVaccineController implements ResultDataResolver { return new Result().ok(icVaccineService.detail(formDTO)); } - /** - * @Author sun - * @Description 【核酸】核酸检测信息修改 - **/ - @NoRepeatSubmit - @PostMapping("edit") - public Result edit(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Edit.class); - formDTO.setCustomerId(tokenDto.getCustomerId()); - formDTO.setStaffId(tokenDto.getUserId()); - icVaccineService.edit(formDTO); - return new Result(); - } - - /** - * @Author sun - * @Description 【核酸】核酸检测信息删除/取消同步 - **/ - @NoRepeatSubmit - @PostMapping("del") - public Result del(@RequestBody VaccineListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, VaccineListFormDTO.Del.class); - icVaccineService.del(formDTO); - return new Result<>(); - } - /** * @Author sun * @Description 【核酸】核酸检测信息同步 @@ -185,11 +128,11 @@ public class IcVaccineController implements ResultDataResolver { Path fileSavePath; try { - Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import"); + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_vaccine", "import"); fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); } catch (IOException e) { String errorMsg = ExceptionUtils.getErrorStackTrace(e); - log.error("【核酸检测导入】创建临时存储文件失败:{}", errorMsg); + log.error("【疫苗接种导入】创建临时存储文件失败:{}", errorMsg); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); } @@ -210,14 +153,14 @@ public class IcVaccineController implements ResultDataResolver { // 2.生成导入任务记录 ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); importTaskForm.setOperatorId(userId); - importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_NAT); + importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_VACCINE); importTaskForm.setOriginFileName(originalFilename); ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm), ServiceConstant.EPMET_COMMON_SERVICE, EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), - "excel导入核酸检测信息错误", - "导入居民核酸检测信息失败"); + "excel导入疫苗接种信息错误", + "导入居民疫苗接种信息失败"); // 3.执行导入 icVaccineService.execAsyncExcelImport(fileSavePath, rstData.getTaskId()); @@ -226,18 +169,17 @@ public class IcVaccineController implements ResultDataResolver { } /** - * @Author sun - * @Description 【核酸】核酸检测信息下载模板 + * @Author zxc + * @Description 【疫苗】疫苗接种信息下载模板 **/ @RequestMapping(value = "import-template-download", method = {RequestMethod.GET, RequestMethod.POST}) public void downloadTemplate(HttpServletResponse response) throws IOException { response.setCharacterEncoding("UTF-8"); response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); - //response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel"); response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("社区自组织导入模板", "UTF-8") + ".xlsx"); - InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/ic_nat.xlsx"); + InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/ic_vaccine.xlsx"); try { ServletOutputStream os = response.getOutputStream(); IOUtils.copy(is, os); @@ -258,12 +200,7 @@ public class IcVaccineController implements ResultDataResolver { public void export(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO, HttpServletResponse response) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); - - //formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); - //formDTO.setUserId("73ae6280e46a6653a5605d51d5462725"); - formDTO.setIsPage(false); - ExcelWriter excelWriter = null; formDTO.setPageSize(NumConstant.TEN_THOUSAND); int pageNo = formDTO.getPageNo(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index 66361093a5..e3456cb1b8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -311,7 +311,6 @@ public class IcVaccineServiceImpl extends BaseServiceImpl Date: Wed, 6 Apr 2022 16:32:42 +0800 Subject: [PATCH 18/83] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/IcVaccineController.java | 11 - .../com/epmet/service/IcVaccineService.java | 43 +--- .../service/impl/IcVaccineServiceImpl.java | 202 ++---------------- 3 files changed, 18 insertions(+), 238 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index c567480fc6..1b097570cf 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -75,17 +75,6 @@ public class IcVaccineController implements ResultDataResolver { return new Result>().ok(icVaccineService.icVaccineList(formDTO)); } - /** - * @Author sun - * @Description 【核酸】核酸检测信息详情 - **/ - @NoRepeatSubmit - @PostMapping("detail") - public Result detail(@RequestBody VaccineListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, VaccineListFormDTO.Detail.class); - return new Result().ok(icVaccineService.detail(formDTO)); - } - /** * @Author sun * @Description 【核酸】核酸检测信息同步 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index 7cef54b951..5d9341c9eb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -22,12 +22,6 @@ import java.util.List; */ public interface IcVaccineService extends BaseService { - /** - * @Author sun - * @Description 核酸检测-上报核酸记录 - **/ - void add(AddIcNatFormDTO formDTO); - /** * @Author sun * @Description 核酸检测-居民端我的上报 @@ -42,30 +36,11 @@ public interface IcVaccineService extends BaseService { * @return*/ PageData icVaccineList(VaccineListFormDTO formDTO); - /** - * @Author sun - * @Description 【核酸】核酸检测信息详情 - * - * @param formDTO*/ - IcNatDTO detail(VaccineListFormDTO formDTO); - - /** - * @Author sun - * @Description 【核酸】核酸检测信息修改 - **/ - void edit(AddIcNatFormDTO formDTO); - - /** - * @Author sun - * @Description 【核酸】核酸检测信息删除/取消同步 - **/ - void del(MyNatListFormDTO formDTO); - /** * @Author sun * @Description 【核酸】核酸检测信息同步 **/ - void synchro(MyNatListFormDTO formDTO); + void synchro(VaccineListFormDTO formDTO); /** * @Author sun @@ -79,20 +54,4 @@ public interface IcVaccineService extends BaseService { */ void execAsyncExcelImport(Path filePath, String importTaskId); - /** - * 核酸检测信息 - * @Param idCard - * @Return {@link List} - * @Author zhaoqifeng - * @Date 2022/3/29 16:29 - */ - List getNatList(String customerId, String idCard); - - /** - * desc:根据用户id 更新核酸中是否居民状态 - * @param customerId - * @param icResiUserId 如果为空则更新全部 - * @return - */ - Integer updateIsResiFlag(String customerId, String icResiUserId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index e3456cb1b8..11a0183606 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -88,55 +88,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl NumConstant.ZERO) { - SendNoticeFormDTO dto = new SendNoticeFormDTO(); - List userList = new ArrayList<>(); - userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); - dto.setCustomerId(formDTO.getCustomerId()); - dto.setUserList(userList); - dto.setChannel(formDTO.getChannel()); - dto.setOrigin("2"); - dto.setContent(formDTO.getContent()); - dto.setStaffId(formDTO.getStaffId()); - icNoticeService.sendNotice(dto); - } - - } - - /** - * @Author sun - * @Description 核酸检测-居民端我的上报 + * @Description 疫苗接种-居民端我的上报 **/ @Override public List myNatList(MyNatListFormDTO formDTO) { @@ -152,7 +104,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl%s", formDTO.getIcNatId())); - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "核酸记录修改失败"); - } - //修改只涉及到基础信息的修改 不会修改关系数据 关系表不涉及更新 - - //3.新增通知表信息 - if (CollectionUtils.isNotEmpty(formDTO.getChannel())) { - SendNoticeFormDTO dto = new SendNoticeFormDTO(); - List userList = new ArrayList<>(); - userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); - dto.setCustomerId(formDTO.getCustomerId()); - dto.setUserList(userList); - dto.setChannel(formDTO.getChannel()); - dto.setOrigin("2"); - dto.setContent(formDTO.getContent()); - dto.setStaffId(formDTO.getStaffId()); - icNoticeService.sendNotice(dto); - } - } - - /** - * @Author sun - * @Description 【核酸】核酸检测信息删除/取消同步 - **/ - @Override - @Transactional(rollbackFor = Exception.class) - public void del(MyNatListFormDTO formDTO) { - //1.确定删除则需要删除基础数据以及所有可能存在的关系数据,物理删除业务数据 - if (baseDao.delById(formDTO.getIcNatId()) < NumConstant.ONE) { - log.error(String.format("数据删除失败,核酸记录Id->%s", formDTO.getIcNatId())); - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据删除失败"); - } - //关系数据删除 - icNatRelationDao.delRelation(formDTO.getIcNatId(), null); - } - - /** - * @Author sun - * @Description 【核酸】核酸检测信息同步 + * @Author zxc + * @Description 【疫苗】疫苗接种信息同步 **/ @Override @Transactional(rollbackFor = Exception.class) - public void synchro(MyNatListFormDTO formDTO) { - //1.检验核酸基础信息是否存在 - IcVaccineEntity entity = baseDao.selectById(formDTO.getIcNatId()); + public void synchro(VaccineListFormDTO formDTO) { + //1.检验疫苗基础信息是否存在 + IcVaccineEntity entity = baseDao.selectById(formDTO.getIcVaccineId()); if (null == entity) { - log.error(String.format("核酸记录数据不存在同步失败,核酸记录Id->%s", formDTO.getIcNatId())); - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据同步失败,核酸记录数据不存在"); + log.error(String.format("疫苗记录数据不存在同步失败,疫苗记录Id->%s", formDTO.getIcVaccineId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据同步失败,疫苗记录数据不存在"); } //获取工作人员缓存数据 CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); @@ -277,7 +152,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl%s", formDTO.getIcNatId())); + log.error(String.format("数据取消同步失败,疫苗记录Id->%s", formDTO.getIcNatId())); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "取消同步操作失败"); } } @@ -370,11 +245,11 @@ public class IcVaccineServiceImpl extends BaseServiceImpl} - * @Author zhaoqifeng - * @Date 2022/3/29 16:29 - */ - @Override - public List getNatList(String customerId, String idCard) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(IcVaccineEntity::getCustomerId, customerId); - wrapper.eq(IcVaccineEntity::getIdCard, idCard); - wrapper.orderByDesc(IcVaccineEntity::getNatTime); - List list = baseDao.selectList(wrapper); - if (CollectionUtils.isEmpty(list)) { - return Collections.emptyList(); - } - return list.stream().map(item -> { - NatListDTO dto = new NatListDTO(); - dto.setAddress(item.getNatAddress()); - dto.setTestTime(DateUtils.format(item.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)); - switch (item.getNatResult()) - { - case NumConstant.ZERO_STR: - dto.setResult("阴性"); - break; - case NumConstant.ONE_STR: - dto.setResult("阳性"); - break; - default: - dto.setResult("未知"); - } - return dto; - }).collect(Collectors.toList()); - } - - @Override - public Integer updateIsResiFlag(String customerId, String icResiUserId) { - return baseDao.updateIsResiFlag(customerId,icResiUserId); - } - /** * 批量持久化 * @param entities @@ -491,7 +323,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl 0) { String fieldsStr = String.join(",", changedFieldNames); - String message = "该次核酸检测记录已存在,执行更新动作," + fieldsStr + "已成功更新"; + String message = "该次疫苗接种记录已存在,执行更新动作," + fieldsStr + "已成功更新"; IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); errorRow.setName(name); errorRow.setMobile(mobile); From 0d19ad6fd9049759b6d4c0851905d0b7cf3c7847 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 6 Apr 2022 16:34:15 +0800 Subject: [PATCH 19/83] emm --- .../src/main/java/com/epmet/service/IcVaccineService.java | 2 +- .../main/java/com/epmet/service/impl/IcVaccineServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index 5d9341c9eb..3ff679159c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -46,7 +46,7 @@ public interface IcVaccineService extends BaseService { * @Author sun * @Description 【核酸】核酸检测信息取消同步 **/ - void cancelSynchro(MyNatListFormDTO formDTO); + void cancelSynchro(VaccineListFormDTO formDTO); /** * 执行Excel导入 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index 11a0183606..d8520e85bb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -169,7 +169,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl Date: Wed, 6 Apr 2022 16:35:51 +0800 Subject: [PATCH 20/83] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/IcVaccineController.java | 18 +++++++----------- .../com/epmet/service/IcVaccineService.java | 3 --- .../service/impl/IcVaccineServiceImpl.java | 12 ++---------- 3 files changed, 9 insertions(+), 24 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 1b097570cf..347eb5b36f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -17,14 +17,11 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constants.ImportTaskConstants; -import com.epmet.dto.IcNatDTO; -import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.form.VaccineListFormDTO; +import com.epmet.dto.result.IcVaccineListCommonExcelResultDTO; import com.epmet.dto.result.IcVaccineListResultDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; -import com.epmet.dto.result.NatListCommonExcelResultDTO; -import com.epmet.dto.result.NatListResultDTO; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.IcVaccineService; import lombok.extern.slf4j.Slf4j; @@ -196,23 +193,22 @@ public class IcVaccineController implements ResultDataResolver { try { // 这里 需要指定写用哪个class去写 String fileName = "疫苗接种信息.xlsx"; - if ("all".equals(formDTO.getOrgType())) { - excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListResultDTO.class).build(); + if ("all".equals(formDTO.getSearchType())) { + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcVaccineListResultDTO.class).build(); }else { - excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListCommonExcelResultDTO.class).build(); + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcVaccineListCommonExcelResultDTO.class).build(); } WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); - PageData data = null; + PageData data = null; do { data = icVaccineService.icVaccineList(formDTO); data.getList().forEach(o-> { - o.setNatResult(NumConstant.ONE_STR.equals(o.getNatResult()) ? "阳性" : "阴性"); o.setIsResiUser(NumConstant.ONE_STR.equals(o.getIsResiUser()) ? "是" : "否"); }); formDTO.setPageNo(++pageNo); - if ("current".equals(formDTO.getOrgType())) { - List list = ConvertUtils.sourceToTarget(data.getList(), NatListResultDTO.class); + if ("current".equals(formDTO.getSearchType())) { + List list = ConvertUtils.sourceToTarget(data.getList(), IcVaccineListResultDTO.class); excelWriter.write(list, writeSheet); }else{ excelWriter.write(data.getList(), writeSheet); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index 3ff679159c..ab971e43ad 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -2,13 +2,10 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; -import com.epmet.dto.IcNatDTO; -import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.result.IcVaccineListResultDTO; import com.epmet.dto.result.MyNatListResultDTO; -import com.epmet.dto.result.NatListDTO; import com.epmet.entity.IcVaccineEntity; import java.nio.file.Path; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index d8520e85bb..d4c4676bb8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -10,20 +10,15 @@ import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.ExceptionUtils; -import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; -import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.utils.*; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcNatRelationDao; import com.epmet.dao.IcResiUserDao; import com.epmet.dao.IcVaccineDao; import com.epmet.dao.UserBaseInfoDao; -import com.epmet.dto.IcNatDTO; -import com.epmet.dto.IcNoticeDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IcNatRelationEntity; @@ -41,7 +36,6 @@ import com.epmet.service.UserService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory; @@ -57,7 +51,6 @@ import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Path; import java.util.*; -import java.util.stream.Collectors; /** * 疫苗接种记录 @@ -72,8 +65,6 @@ public class IcVaccineServiceImpl extends BaseServiceImpl Date: Wed, 6 Apr 2022 16:38:54 +0800 Subject: [PATCH 21/83] emm --- .../com/epmet/dao/IcVaccineRelationDao.java | 3 +- .../service/impl/IcVaccineServiceImpl.java | 28 +++++++++---------- .../resources/mapper/IcVaccineRelationDao.xml | 10 +++++++ 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java index 6e1d2a8c9f..5bbd7a7ff3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java @@ -3,6 +3,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.IcVaccineRelationEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 疫苗接种记录关系表 @@ -12,5 +13,5 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IcVaccineRelationDao extends BaseDao { - + int delRelation(@Param("icNatId") String icNatId, @Param("agencyId") String agencyId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index d4c4676bb8..49ac2e56fc 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -15,15 +15,13 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.*; import com.epmet.constants.ImportTaskConstants; -import com.epmet.dao.IcNatRelationDao; -import com.epmet.dao.IcResiUserDao; -import com.epmet.dao.IcVaccineDao; -import com.epmet.dao.UserBaseInfoDao; +import com.epmet.dao.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IcNatRelationEntity; import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcVaccineEntity; +import com.epmet.entity.IcVaccineRelationEntity; import com.epmet.excel.data.IcNatImportExcelData; import com.epmet.excel.handler.IcNatExcelImportListener; import com.epmet.excel.handler.IcVaccineExcelImportListener; @@ -73,6 +71,8 @@ public class IcVaccineServiceImpl extends BaseServiceImpl%s", formDTO.getIcNatId())); + if (icVaccineRelationDao.delRelation(formDTO.getIcVaccineId(), staffInfo.getAgencyId()) < NumConstant.ONE) { + log.error(String.format("数据取消同步失败,疫苗记录Id->%s", formDTO.getAgencyId())); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "取消同步操作失败"); } } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml index 4c356c5e10..3ba4733fe3 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml @@ -3,4 +3,14 @@ + + DELETE + FROM ic_nat_relation + WHERE + ic_nat_id = #{icNatId} + + AND AGENCY_ID = #{agencyId} + + + \ No newline at end of file From 6ea13aaf40d5f5b86e54f7748c9df58b5e7d8bb4 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 6 Apr 2022 16:45:28 +0800 Subject: [PATCH 22/83] emm --- .../IcVaccineListCommonExcelResultDTO.java | 27 +++++++++++++++++++ .../epmet/controller/IcVaccineController.java | 4 +-- .../com/epmet/service/IcVaccineService.java | 4 +-- .../service/impl/IcVaccineServiceImpl.java | 2 +- 4 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java new file mode 100644 index 0000000000..7749193246 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.result; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.HeadStyle; +import com.alibaba.excel.enums.poi.FillPatternTypeEnum; +import lombok.Data; + +/** + * @Description 核酸检测-我的上报记录 + * @Author sun + */ +@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 44) +@Data +public class IcVaccineListCommonExcelResultDTO extends IcVaccineListResultDTO{ + private static final long serialVersionUID = 1L; + + /** + * 是否客户下居民(0:否 1:是) + */ + @ColumnWidth(20) + @ExcelProperty(value = "本辖区居民",order = 6) + private String isResiUser; + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 347eb5b36f..249494c9f8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -73,7 +73,7 @@ public class IcVaccineController implements ResultDataResolver { } /** - * @Author sun + * @Author zxc * @Description 【核酸】核酸检测信息同步 **/ @NoRepeatSubmit @@ -87,7 +87,7 @@ public class IcVaccineController implements ResultDataResolver { } /** - * @Author sun + * @Author zxc * @Description 【核酸】核酸检测信息取消同步 **/ @NoRepeatSubmit diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index ab971e43ad..3d04c02d99 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -34,13 +34,13 @@ public interface IcVaccineService extends BaseService { PageData icVaccineList(VaccineListFormDTO formDTO); /** - * @Author sun + * @Author zxc * @Description 【核酸】核酸检测信息同步 **/ void synchro(VaccineListFormDTO formDTO); /** - * @Author sun + * @Author zxc * @Description 【核酸】核酸检测信息取消同步 **/ void cancelSynchro(VaccineListFormDTO formDTO); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index 49ac2e56fc..8793309502 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -155,7 +155,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl Date: Wed, 6 Apr 2022 16:51:53 +0800 Subject: [PATCH 23/83] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=E4=BF=A1=E6=81=AF-?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constants/ImportTaskConstants.java | 5 + .../epmet/controller/IcVaccineController.java | 11 +- .../excel/data/IcVaccineImportExcelData.java | 19 ++-- .../handler/IcVaccineExcelImportListener.java | 34 ++---- .../service/impl/IcVaccineServiceImpl.java | 106 +++++++++--------- .../src/main/resources/excel/ic_vaccine.xlsx | Bin 0 -> 9141 bytes 6 files changed, 82 insertions(+), 93 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/resources/excel/ic_vaccine.xlsx diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java index e15f7f5057..05832141a4 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java @@ -41,4 +41,9 @@ public interface ImportTaskConstants { * 处理状态:完成,但未完全成功 */ String PROCESS_STATUS_FINISHED_FAIL = "finished_fail"; + + /** + * 疫苗接种 + */ + String BIZ_TYPE_IC_VACCINE = "vaccine"; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 65f19fc3df..2a2aa2621d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -196,11 +196,11 @@ public class IcVaccineController implements ResultDataResolver { Path fileSavePath; try { - Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import"); + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_vaccine", "import"); fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); } catch (IOException e) { String errorMsg = ExceptionUtils.getErrorStackTrace(e); - log.error("【核酸检测导入】创建临时存储文件失败:{}", errorMsg); + log.error("【疫苗接种导入】创建临时存储文件失败:{}", errorMsg); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); } @@ -221,14 +221,14 @@ public class IcVaccineController implements ResultDataResolver { // 2.生成导入任务记录 ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); importTaskForm.setOperatorId(userId); - importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_NAT); + importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_VACCINE); importTaskForm.setOriginFileName(originalFilename); ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm), ServiceConstant.EPMET_COMMON_SERVICE, EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), - "excel导入核酸检测信息错误", - "导入居民核酸检测信息失败"); + "excel导入疫苗接种信息错误", + "导入居民疫苗接种信息失败"); // 3.执行导入 icVaccineService.execAsyncExcelImport(fileSavePath, rstData.getTaskId()); @@ -315,5 +315,4 @@ public class IcVaccineController implements ResultDataResolver { } - } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java index 3c10ff69b7..6dca8bc4bb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java @@ -11,7 +11,7 @@ import java.io.Serializable; import java.util.Date; /** - * 核酸检测信息导入excel数据 + * 疫苗接种信息导入excel数据 */ @Data public class IcVaccineImportExcelData implements Serializable { @@ -30,16 +30,17 @@ public class IcVaccineImportExcelData implements Serializable { @Length(max = 18, message = "身份证号长度不正确,应小于18位") private String idCard; - @NotNull(message = "检测时间为必填项") - @ExcelProperty("检测时间") - private Date natTime; + @NotNull(message = "接种时间为必填项") + @ExcelProperty("接种时间") + private Date inoculateTime; - @ExcelProperty("检测地点") - private String natAddress; + @NotBlank(message = "接种地点为必填项") + @ExcelProperty("接种地点") + private String inoculateAddress; - @NotBlank(message = "检测结果为必填项") - @ExcelProperty("检测结果") - private String natResultZh; + @NotBlank(message = "疫苗厂家为必填项") + @ExcelProperty("疫苗厂家") + private String manufacturer; @Data public static class RowRemarkMessage { diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java index 027040871e..e12d4549a9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java @@ -46,11 +46,11 @@ public class IcVaccineExcelImportListener implements ReadListener errorRows = new ArrayList<>(); + private List errorRows = new ArrayList<>(); /** * 其他被标记出来的列表列表 */ - private List otherRows = new ArrayList<>(); + private List otherRows = new ArrayList<>(); private IcVaccineServiceImpl icVaccineService; @@ -68,35 +68,23 @@ public class IcVaccineExcelImportListener implements ReadListener getErrorRows() { + public List getErrorRows() { return errorRows; } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index f6cab4ae48..63e092940f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -18,10 +18,7 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.utils.*; import com.epmet.constants.ImportTaskConstants; -import com.epmet.dao.IcNatRelationDao; -import com.epmet.dao.IcResiUserDao; -import com.epmet.dao.IcVaccineDao; -import com.epmet.dao.UserBaseInfoDao; +import com.epmet.dao.*; import com.epmet.dto.IcNatDTO; import com.epmet.dto.IcNoticeDTO; import com.epmet.dto.form.AddIcNatFormDTO; @@ -32,8 +29,9 @@ import com.epmet.dto.result.*; import com.epmet.entity.IcNatRelationEntity; import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcVaccineEntity; +import com.epmet.entity.IcVaccineRelationEntity; import com.epmet.excel.data.IcNatImportExcelData; -import com.epmet.excel.handler.IcNatExcelImportListener; +import com.epmet.excel.data.IcVaccineImportExcelData; import com.epmet.excel.handler.IcVaccineExcelImportListener; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; @@ -85,6 +83,10 @@ public class IcVaccineServiceImpl extends BaseServiceImpl otherRows = listener.getOtherRows(); + public void persisVaccine(IcVaccineEntity e, String customerId, String currentUserId, IcVaccineExcelImportListener listener) { + List otherRows = listener.getOtherRows(); String agencyPids = listener.getCurrentAgencyPids(); String agencyId = listener.getCurrentAgencyId(); - Date natTime = e.getNatTime(); String idCard = e.getIdCard(); String name = e.getName(); String mobile = e.getMobile(); - String natResult = e.getNatResult(); - String natAddress = e.getNatAddress(); + String manufacturer = e.getManufacturer(); + Date inoculateTime = e.getInoculateTime(); + String inoculateAddress = e.getInoculateAddress(); //1.先看客户下有没有这个人 - IcVaccineEntity resiNat = getResiNat(customerId, idCard, natTime); - if (resiNat != null && !"import".equals(resiNat.getUserType())) { + IcVaccineEntity resiVaccine = getResiVaccine(customerId, idCard, inoculateTime); + if (resiVaccine != null && !"import".equals(resiVaccine.getUserType())) { // 有这个人,并且不是导入的 - String message = "已存在该次核酸检测录入记录,请到系统中修改"; + String message = "已存在该次疫苗接种录入记录,请到系统中修改"; - IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); + IcVaccineImportExcelData.RowRemarkMessage errorRow = new IcVaccineImportExcelData.RowRemarkMessage(); errorRow.setName(name); errorRow.setMobile(mobile); errorRow.setIdCard(idCard); @@ -504,39 +506,35 @@ public class IcVaccineServiceImpl extends BaseServiceImpl changedFieldNames = new ArrayList<>(); - if (!name.equals(resiNat.getName())) { - changedFieldNames.add("姓名"); - resiNat.setName(name); + Boolean isNameChanged = false; + if (!name.equals(resiVaccine.getName())) { + isNameChanged = true; + resiVaccine.setName(name); needUpdate = true; } - if (!natResult.equals(resiNat.getNatResult())) { - changedFieldNames.add("检测结果"); - resiNat.setNatResult(natResult); + if (!inoculateAddress.equals(resiVaccine.getInoculateAddress())) { + resiVaccine.setInoculateAddress(inoculateAddress); needUpdate = true; } - // 检测地点和手机号先不提示,说需要提示再提示。需要考虑两个都不为空&&不相等 || 两个中一个为空一个不为空 - if ((com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(natAddress) && com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(resiNat.getNatAddress())) - || (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(natAddress) && com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(resiNat.getNatAddress())) - || (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(natAddress) && com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(resiNat.getNatAddress()) && !natAddress.equals(resiNat.getNatAddress()))) { - resiNat.setNatAddress(natAddress); + if (!manufacturer.equals(resiVaccine.getManufacturer())) { + resiVaccine.setManufacturer(manufacturer); needUpdate = true; } - if (!mobile.equals(resiNat.getMobile())) { - resiNat.setMobile(mobile); + if (!mobile.equals(resiVaccine.getMobile())) { + resiVaccine.setMobile(mobile); needUpdate = true; } - if (changedFieldNames.size() > 0) { - String fieldsStr = String.join(",", changedFieldNames); - String message = "该次核酸检测记录已存在,执行更新动作," + fieldsStr + "已成功更新"; - IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); + if (isNameChanged) { + String message = "平台存在相同记录身份证号与姓名不一致,已更新最新姓名"; + IcVaccineImportExcelData.RowRemarkMessage errorRow = new IcVaccineImportExcelData.RowRemarkMessage(); errorRow.setName(name); errorRow.setMobile(mobile); errorRow.setIdCard(idCard); @@ -545,19 +543,18 @@ public class IcVaccineServiceImpl extends BaseServiceImpl query = new LambdaQueryWrapper<>(); query.eq(IcVaccineEntity::getCustomerId, customerId); query.eq(IcVaccineEntity::getIdCard, idCard); - query.eq(IcVaccineEntity::getNatTime, natTime); + query.eq(IcVaccineEntity::getInoculateTime, natTime); return baseDao.selectOne(query); } /** - * 创建nat关系 - * @param natId + * 创建关系 + * @param vaccineId * @param currentUserAgencyId */ - private void createNatRelation(String natId, String currentUserAgencyId, String agencyPids) { + private void createVaccineRelation(String vaccineId, String currentUserAgencyId, String agencyPids) { // 没有关系创建关系,有关系就跳过 - LambdaQueryWrapper query = new LambdaQueryWrapper<>(); - query.eq(IcNatRelationEntity::getIcNatId, natId); - query.eq(IcNatRelationEntity::getAgencyId, currentUserAgencyId); - if (icNatRelationDao.selectCount(query) > 0) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcVaccineRelationEntity::getIcVaccineId, vaccineId); + query.eq(IcVaccineRelationEntity::getAgencyId, currentUserAgencyId); + if (icVaccineRelationDao.selectCount(query) > 0) { return; } - IcNatRelationEntity relation = new IcNatRelationEntity(); + IcVaccineRelationEntity relation = new IcVaccineRelationEntity(); relation.setAgencyId(currentUserAgencyId); relation.setPids(String.join(":", Arrays.asList(agencyPids, currentUserAgencyId))); - relation.setIcNatId(natId); + relation.setIcVaccineId(vaccineId); relation.setUserType("import"); - icNatRelationDao.insert(relation); + icVaccineRelationDao.insert(relation); } } diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_vaccine.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_vaccine.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..b1d0b56179529c7d2e1f078ca749a6ad8a8ee4e3 GIT binary patch literal 9141 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 U1^pvf(I0Puz&^?)5I^btKNm-)nE(I) literal 0 HcmV?d00001 From 5188122af139cedaa24ea59d10f821cd386d55ce Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 16:55:49 +0800 Subject: [PATCH 24/83] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java index 7749193246..4c301085d9 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java @@ -7,7 +7,7 @@ import com.alibaba.excel.enums.poi.FillPatternTypeEnum; import lombok.Data; /** - * @Description 核酸检测-我的上报记录 + * @Description 疫苗接种-全局导出 * @Author sun */ @HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 44) From 74a4cff982a26eca2c1f8224e32df999cb5bb536 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 6 Apr 2022 16:56:05 +0800 Subject: [PATCH 25/83] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=E4=BF=A1=E6=81=AF-?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/IcVaccineServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index f5409b4704..661b9298b5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -203,8 +203,8 @@ public class IcVaccineServiceImpl extends BaseServiceImpl errorRows = listener.getErrorRows(); - List otherRows = listener.getOtherRows(); + List errorRows = listener.getErrorRows(); + List otherRows = listener.getOtherRows(); boolean failed = errorRows.size() > 0; From e56451764f8e06e84820be3f1a6cccccee8e0154 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 6 Apr 2022 16:58:53 +0800 Subject: [PATCH 26/83] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=E4=BF=A1=E6=81=AF-?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/constants/ImportTaskConstants.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java index 30776ae56b..e6e567c43b 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java @@ -22,6 +22,9 @@ public interface ImportTaskConstants { * 核酸检测 */ String BIZ_TYPE_IC_NAT = "ic_nat"; + /** + * 疫苗接种 + */ String BIZ_TYPE_IC_VACCINE = "ic_vaccine"; /** * 行程上报 @@ -42,9 +45,4 @@ public interface ImportTaskConstants { * 处理状态:完成,但未完全成功 */ String PROCESS_STATUS_FINISHED_FAIL = "finished_fail"; - - /** - * 疫苗接种 - */ - String BIZ_TYPE_IC_VACCINE = "vaccine"; } From 506d78f170b27886c4d3251d06b1fd3ecbe018a5 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 17:01:14 +0800 Subject: [PATCH 27/83] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=96=AB=E8=8B=97?= =?UTF-8?q?=E6=8E=A5=E7=A7=8D=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/IcVaccineListResultDTO.java | 17 +++----- .../db/migration/V0.0.38__ic_vaccine.sql | 41 +++++++++++++++++++ 2 files changed, 47 insertions(+), 11 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.38__ic_vaccine.sql diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java index 8118bd73be..8bed50f2b5 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java @@ -30,11 +30,6 @@ public class IcVaccineListResultDTO implements Serializable { */ @ExcelIgnore private String agencyId; - /** - * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 - */ - @ExcelIgnore - private String userId; /** * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other @@ -68,15 +63,15 @@ public class IcVaccineListResultDTO implements Serializable { */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") @ColumnWidth(25) - @ExcelProperty(value = "检测时间",order = 4) - private Date natTime; + @ExcelProperty(value = "接种时间",order = 4) + private Date inoculateTime; /** * 检测结果 */ @ColumnWidth(20) - @ExcelProperty(value = "检测结果",order = 5) - private String natResult; + @ExcelProperty(value = "接种地点",order = 5) + private String inoculateAddress; /** * 是否客户下居民(0:否 1:是) @@ -88,8 +83,8 @@ public class IcVaccineListResultDTO implements Serializable { * 检测地点 */ @ColumnWidth(30) - @ExcelProperty(value = "检测地点",order = 7) - private String natAddress; + @ExcelProperty(value = "疫苗厂家",order = 7) + private String manufacturer; } diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.38__ic_vaccine.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.38__ic_vaccine.sql new file mode 100644 index 0000000000..825a0cd8c4 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.38__ic_vaccine.sql @@ -0,0 +1,41 @@ +#添加 疫苗接种相关表 +CREATE TABLE `ic_vaccine` ( + `ID` varchar(64) NOT NULL COMMENT '唯一标识', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id customer.id', + `NAME` varchar(64) NOT NULL COMMENT '姓名', + `MOBILE` varchar(11) NOT NULL COMMENT '手机号', + `ID_CARD` varchar(18) NOT NULL COMMENT '身份证号', + `IS_RESI_USER` varchar(1) NOT NULL DEFAULT '0' COMMENT '是否客户下居民(0:否 1:是)', + `USER_TYPE` varchar(32) NOT NULL COMMENT '数据来源【导入的:import;】', + `INOCULATE_TIME` datetime NOT NULL COMMENT '接种时间', + `INOCULATE_ADDRESS` varchar(32) NOT NULL DEFAULT '' COMMENT '接种地点', + `MANUFACTURER` varchar(32) NOT NULL DEFAULT '' COMMENT '疫苗厂家', + `FIELD1` varchar(32) DEFAULT NULL COMMENT '预留字段1', + `FIELD2` varchar(255) DEFAULT NULL COMMENT '预留字段2', + `FIELD3` varchar(255) DEFAULT NULL COMMENT '预留字段3', + `REMARK` varchar(255) DEFAULT NULL COMMENT '备注', + `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0.未删除 1.已删除', + `REVISION` int(2) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(64) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE, + KEY `idx_ic_card` (`ID_CARD`) USING BTREE +) COMMENT='疫苗接种记录'; + +CREATE TABLE `ic_vaccine_relation` ( + `ID` varchar(64) NOT NULL COMMENT 'ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `AGENCY_ID` varchar(64) NOT NULL COMMENT '居民端上报时存储用户所在网格的组织id.居民信息的人存储居民所在组织id.单个新增或者导入的存储登录用户所属的组织id', + `PIDS` varchar(255) NOT NULL COMMENT '组织pids,包含当前agencyId值', + `IC_VACCINE_ID` varchar(64) NOT NULL COMMENT '疫苗记录表Id(ic_vaccine.id)', + `USER_TYPE` varchar(32) NOT NULL COMMENT '关系数据的绑定途径【\r\n数字社区录入:icresi;\r\n导入的:import;\r\n同步的:synchro】', + `DEL_FLAG` int(1) NOT NULL COMMENT '删除标识', + `REVISION` int(2) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) COMMENT='疫苗接种记录关系表'; From ecb1a27d70089a6e86eab3be7678ad5bd16b9b86 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 17:04:01 +0800 Subject: [PATCH 28/83] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/IcVaccineService.java | 9 ---- .../service/impl/IcVaccineServiceImpl.java | 47 ++++--------------- 2 files changed, 10 insertions(+), 46 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index 3d04c02d99..c57de776d2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -2,14 +2,11 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; -import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.result.IcVaccineListResultDTO; -import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.entity.IcVaccineEntity; import java.nio.file.Path; -import java.util.List; /** * 疫苗接种记录 @@ -19,12 +16,6 @@ import java.util.List; */ public interface IcVaccineService extends BaseService { - /** - * @Author sun - * @Description 核酸检测-居民端我的上报 - **/ - List myNatList(MyNatListFormDTO formDTO); - /** * @Author sun * @Description 【核酸】核酸检测信息列表 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index 661b9298b5..1e6e849dc8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -13,19 +13,18 @@ import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; -import com.epmet.commons.tools.utils.*; +import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.commons.tools.utils.FileUtils; +import com.epmet.commons.tools.utils.Result; import com.epmet.constants.ImportTaskConstants; -import com.epmet.dao.*; -import com.epmet.dto.form.*; -import com.epmet.dao.*; -import com.epmet.dto.IcNatDTO; -import com.epmet.dto.IcNoticeDTO; -import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.dao.IcResiUserDao; +import com.epmet.dao.IcVaccineDao; +import com.epmet.dao.IcVaccineRelationDao; import com.epmet.dto.form.ImportTaskCommonFormDTO; -import com.epmet.dto.form.MyNatListFormDTO; -import com.epmet.dto.form.SendNoticeFormDTO; -import com.epmet.dto.result.*; -import com.epmet.entity.IcNatRelationEntity; +import com.epmet.dto.form.VaccineListFormDTO; +import com.epmet.dto.result.IcVaccineListResultDTO; +import com.epmet.dto.result.LoginUserDetailsResultDTO; +import com.epmet.dto.result.UploadImgResultDTO; import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcVaccineEntity; import com.epmet.entity.IcVaccineRelationEntity; @@ -33,9 +32,7 @@ import com.epmet.excel.data.IcNatImportExcelData; import com.epmet.excel.data.IcVaccineImportExcelData; import com.epmet.excel.handler.IcVaccineExcelImportListener; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; -import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.OssFeignClient; -import com.epmet.service.IcNoticeService; import com.epmet.service.IcVaccineService; import com.epmet.service.UserService; import com.github.pagehelper.PageHelper; @@ -70,38 +67,14 @@ public class IcVaccineServiceImpl extends BaseServiceImpl myNatList(MyNatListFormDTO formDTO) { - //1.根据token信息查询居民身份证号 - UserBaseInfoResultDTO dto = userBaseInfoDao.selectListByUserIdList(formDTO.getUserId()); - if (null != dto) { - formDTO.setIdCard(dto.getIdNum()); - } - //2.查询当前人员创建的或该身份证号录入的核算检测数据(居民端录入、数字平台录入、数字平台导入、数字平台同步的) - List resultList = baseDao.getMyNatList(formDTO); - return resultList; - } - /** * @Author sun * @Description 【疫苗】本组织及下级疫苗接种信息列表 From 91c07ee1a2c37ae0e62254f918b9b287b6154505 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 17:06:04 +0800 Subject: [PATCH 29/83] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/controller/IcVaccineController.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 79c5fcc3d6..728e3533e0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -62,10 +62,10 @@ public class IcVaccineController implements ResultDataResolver { /** * @Author sun - * @Description 【核酸】核酸检测信息列表 + * @Description 【疫苗】疫苗接种信息列表 **/ @NoRepeatSubmit - @PostMapping("natlist") + @PostMapping("vaccine-list") public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); @@ -74,7 +74,7 @@ public class IcVaccineController implements ResultDataResolver { /** * @Author zxc - * @Description 【核酸】核酸检测信息同步 + * @Description 【疫苗】疫苗接种信息同步 **/ @NoRepeatSubmit @PostMapping("synchro") @@ -88,7 +88,7 @@ public class IcVaccineController implements ResultDataResolver { /** * @Author zxc - * @Description 【核酸】核酸检测信息取消同步 + * @Description 【疫苗】疫苗接种信息取消同步 **/ @NoRepeatSubmit @PostMapping("cancelsynchro") @@ -179,7 +179,7 @@ public class IcVaccineController implements ResultDataResolver { /** * @Author sun - * @Description 【核酸】核酸检测信息列表 + * @Description 【疫苗】疫苗接种信息列表 **/ @NoRepeatSubmit @PostMapping("export") From ab3236e4ab5ad4311427f3410cce44c0e7968abc Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 17:12:50 +0800 Subject: [PATCH 30/83] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/controller/IcVaccineController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 728e3533e0..8424469795 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -66,7 +66,7 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("vaccine-list") - public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { + public Result> vaccineList(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); return new Result>().ok(icVaccineService.icVaccineList(formDTO)); From 6bf89145d82ec12320b463bb8275fa2fe9177dd6 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 6 Apr 2022 17:20:08 +0800 Subject: [PATCH 31/83] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=E4=BF=A1=E6=81=AF-?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/entity/IcVaccineEntity.java | 5 ++++- .../java/com/epmet/service/impl/IcVaccineServiceImpl.java | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineEntity.java index 25a0b904f0..9bef5581d7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineEntity.java @@ -1,5 +1,7 @@ package com.epmet.entity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.epmet.commons.mybatis.entity.BaseEpmetEntity; @@ -24,6 +26,7 @@ public class IcVaccineEntity extends BaseEpmetEntity { /** * 客户Id customer.id */ + @TableField(fill = FieldFill.INSERT_UPDATE) private String customerId; /** @@ -84,6 +87,6 @@ public class IcVaccineEntity extends BaseEpmetEntity { /** * 备注 */ - private String remaek; + private String remark; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index 661b9298b5..38792782af 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -198,7 +198,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl 0) { try { // 文件生成 - Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import", "error_des"); + Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_vaccine", "import", "error_des"); String fileName = UUID.randomUUID().toString().concat(".xlsx"); errorDescFile = errorDescDir.resolve(fileName); From 1498eb13d756c392c1ef458051c951a5272ade62 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 17:20:29 +0800 Subject: [PATCH 32/83] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/controller/IcNatController.java | 2 +- .../main/java/com/epmet/controller/IcVaccineController.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index e2d6b7344f..f5125d4161 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -246,7 +246,7 @@ public class IcNatController implements ResultDataResolver { response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); //response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel"); response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); - response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("社区自组织导入模板", "UTF-8") + ".xlsx"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("核酸检测导入模板", "UTF-8") + ".xlsx"); InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/ic_nat.xlsx"); try { diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 8424469795..2f02950d92 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -130,7 +130,7 @@ public class IcVaccineController implements ResultDataResolver { os = new FileOutputStream(fileSavePath.toString()); IOUtils.copy(is, os); } catch (Exception e) { - e.printStackTrace(); + log.error("importExcel exception", e); } finally { org.apache.poi.util.IOUtils.closeQuietly(is); org.apache.poi.util.IOUtils.closeQuietly(os); @@ -163,7 +163,7 @@ public class IcVaccineController implements ResultDataResolver { response.setCharacterEncoding("UTF-8"); response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); - response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("社区自组织导入模板", "UTF-8") + ".xlsx"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("疫苗接种导入模板", "UTF-8") + ".xlsx"); InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/ic_vaccine.xlsx"); try { From 8f2e984edc4f5891ec14511a9fc08ea89a5c91d4 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 7 Apr 2022 09:54:27 +0800 Subject: [PATCH 33/83] =?UTF-8?q?=E6=9B=B4=E6=94=B9sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/IcVaccineListResultDTO.java | 9 +- .../main/resources/mapper/IcVaccineDao.xml | 115 ++++++++---------- 2 files changed, 56 insertions(+), 68 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java index 8bed50f2b5..3bd51e39eb 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java @@ -20,17 +20,16 @@ import java.util.Date; public class IcVaccineListResultDTO implements Serializable { private static final long serialVersionUID = 1L; - /** - * 核酸记录Id - */ - @ExcelIgnore - private String icNatId; /** * 组织Id */ @ExcelIgnore private String agencyId; + private String vaccineId; + + private String userId; + /** * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other */ diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml index d614462769..835f3c64b6 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml @@ -32,79 +32,68 @@ - SELECT a.IC_VACCINE_ID AS vaccineId, a.agency_id, @@ -64,7 +64,7 @@ ORDER BY b.INOCULATE_TIME DESC, b.id ASC - SELECT id vaccineId, is_resi_user isResiUser, From 5f8ae2fa84c51b0176888c91c3496abf044d4fef Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 7 Apr 2022 10:56:18 +0800 Subject: [PATCH 35/83] =?UTF-8?q?sql=E5=8F=98=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dao/IcVaccineRelationDao.java | 2 +- .../src/main/resources/mapper/IcVaccineRelationDao.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java index 5bbd7a7ff3..60d80b3f61 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java @@ -13,5 +13,5 @@ import org.apache.ibatis.annotations.Param; */ @Mapper public interface IcVaccineRelationDao extends BaseDao { - int delRelation(@Param("icNatId") String icNatId, @Param("agencyId") String agencyId); + int delRelation(@Param("icVaccineId") String icNatId, @Param("agencyId") String agencyId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml index 3ba4733fe3..011c1c7de1 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml @@ -5,9 +5,9 @@ DELETE - FROM ic_nat_relation + FROM ic_vaccine_relation WHERE - ic_nat_id = #{icNatId} + ic_vaccine_id = #{icVaccineId} AND AGENCY_ID = #{agencyId} From 26880a767f02c1af886597170d3c65d5f4bb78e1 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 7 Apr 2022 15:14:26 +0800 Subject: [PATCH 36/83] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D?= =?UTF-8?q?=E8=A1=A8=E5=90=8D=E5=8F=98=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/IcResiVaccineController.java | 73 ----------- .../java/com/epmet/dao/IcResiVaccineDao.java | 16 --- .../com/epmet/entity/IcResiVaccineEntity.java | 79 ------------ .../epmet/service/IcResiVaccineService.java | 89 -------------- .../com/epmet/service/IcVaccineService.java | 11 ++ .../service/impl/IcResiUserServiceImpl.java | 4 +- .../impl/IcResiVaccineServiceImpl.java | 116 ------------------ .../service/impl/IcVaccineServiceImpl.java | 32 +++++ .../mapper/IcEpidemicSpecialAttentionDao.xml | 4 +- .../main/resources/mapper/IcResiUserDao.xml | 4 +- .../resources/mapper/IcResiVaccineDao.xml | 28 ----- 11 files changed, 49 insertions(+), 407 deletions(-) delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiVaccineController.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiVaccineDao.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiVaccineEntity.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiVaccineService.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiVaccineServiceImpl.java delete mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/IcResiVaccineDao.xml diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiVaccineController.java deleted file mode 100644 index 722c2966eb..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiVaccineController.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.epmet.controller; - -import com.epmet.commons.tools.aop.NoRepeatSubmit; -import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.validator.AssertUtils; -import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; -import com.epmet.commons.tools.validator.group.DefaultGroup; -import com.epmet.dto.IcResiVaccineDTO; -import com.epmet.service.IcResiVaccineService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; - - -/** - * 居民疫苗情况 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2022-03-28 - */ -@RestController -@RequestMapping("icResiVaccine") -public class IcResiVaccineController { - - @Autowired - private IcResiVaccineService icResiVaccineService; - - @RequestMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = icResiVaccineService.page(params); - return new Result>().ok(page); - } - - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) - public Result get(@PathVariable("id") String id){ - IcResiVaccineDTO data = icResiVaccineService.get(id); - return new Result().ok(data); - } - - @NoRepeatSubmit - @PostMapping("save") - public Result save(@RequestBody IcResiVaccineDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - icResiVaccineService.save(dto); - return new Result(); - } - - @NoRepeatSubmit - @PostMapping("update") - public Result update(@RequestBody IcResiVaccineDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - icResiVaccineService.update(dto); - return new Result(); - } - - @PostMapping("delete") - public Result delete(@RequestBody String[] ids){ - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - icResiVaccineService.delete(ids); - return new Result(); - } - - - -} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiVaccineDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiVaccineDao.java deleted file mode 100644 index 4679c59587..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiVaccineDao.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.epmet.dao; - -import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.entity.IcResiVaccineEntity; -import org.apache.ibatis.annotations.Mapper; - -/** - * 居民疫苗情况 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2022-03-28 - */ -@Mapper -public interface IcResiVaccineDao extends BaseDao { - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiVaccineEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiVaccineEntity.java deleted file mode 100644 index f26abbe525..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiVaccineEntity.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.epmet.entity; - -import com.baomidou.mybatisplus.annotation.TableName; - -import com.epmet.commons.mybatis.entity.BaseEpmetEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * 居民疫苗情况 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2022-03-28 - */ -@Data -@EqualsAndHashCode(callSuper=false) -@TableName("ic_resi_vaccine") -public class IcResiVaccineEntity extends BaseEpmetEntity { - - private static final long serialVersionUID = 1L; - - /** - * 客户Id customer.id - */ - private String customerId; - - /** - * 姓名 - */ - private String name; - - /** - * 手机号 - */ - private String mobile; - - /** - * 身份证号 - */ - private String idCard; - - /** - * 接种时间 - */ - private Date inoculateTime; - - /** - * 接种地点 - */ - private String inoculateAddress; - - /** - * 疫苗厂家 - */ - private String manufacturer; - - /** - * 预留字段1 - */ - private String field1; - - /** - * 预留字段2 - */ - private String field2; - - /** - * 预留字段3 - */ - private String field3; - - /** - * 备注 - */ - private String remaek; - -} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiVaccineService.java deleted file mode 100644 index c1b2ea0655..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiVaccineService.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.epmet.service; - -import com.epmet.commons.mybatis.service.BaseService; -import com.epmet.commons.tools.page.PageData; -import com.epmet.dto.IcResiVaccineDTO; -import com.epmet.dto.result.VaccineListDTO; -import com.epmet.entity.IcResiVaccineEntity; - -import java.util.List; -import java.util.Map; - -/** - * 居民疫苗情况 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2022-03-28 - */ -public interface IcResiVaccineService extends BaseService { - - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2022-03-28 - */ - PageData page(Map params); - - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2022-03-28 - */ - List list(Map params); - - /** - * 单条查询 - * - * @param id - * @return IcResiVaccineDTO - * @author generator - * @date 2022-03-28 - */ - IcResiVaccineDTO get(String id); - - /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2022-03-28 - */ - void save(IcResiVaccineDTO dto); - - /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2022-03-28 - */ - void update(IcResiVaccineDTO dto); - - /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2022-03-28 - */ - void delete(String[] ids); - - /** - * 获取居民疫苗接种信息 - * - * @Param idCard - * @Return {@link List< VaccineListDTO>} - * @Author zhaoqifeng - * @Date 2022/3/30 10:24 - */ - List getVaccineList(String customerId, String idCard); -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index c57de776d2..b84626a8c8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -4,9 +4,11 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.result.IcVaccineListResultDTO; +import com.epmet.dto.result.VaccineListDTO; import com.epmet.entity.IcVaccineEntity; import java.nio.file.Path; +import java.util.List; /** * 疫苗接种记录 @@ -42,4 +44,13 @@ public interface IcVaccineService extends BaseService { */ void execAsyncExcelImport(Path filePath, String importTaskId); + /** + * 获取居民疫苗接种信息 + * + * @Param idCard + * @Return {@link List } + * @Author zhaoqifeng + * @Date 2022/3/30 10:24 + */ + List getVaccineList(String customerId, String idCard); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 5817f5a5c2..57547b226e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -122,7 +122,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl natList = icNatService.getNatList(formDTO.getCustomerId(), icResiUser.getIdCard()); result.setNatList(natList); //疫苗接种 - List vaccineList = icResiVaccineService.getVaccineList(formDTO.getCustomerId(), icResiUser.getIdCard()); + List vaccineList = icVaccineService.getVaccineList(formDTO.getCustomerId(), icResiUser.getIdCard()); result.setVaccineList(vaccineList); //行程信息 List tripList = icTripReportRecordService.tripList(formDTO.getCustomerId(), icResiUser.getIdCard()); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiVaccineServiceImpl.java deleted file mode 100644 index 2f5f0b0928..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiVaccineServiceImpl.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.epmet.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.constant.FieldConstant; -import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.DateUtils; -import com.epmet.dao.IcResiVaccineDao; -import com.epmet.dto.IcResiVaccineDTO; -import com.epmet.dto.result.VaccineListDTO; -import com.epmet.entity.IcResiVaccineEntity; -import com.epmet.service.IcResiVaccineService; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 居民疫苗情况 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2022-03-28 - */ -@Service -public class IcResiVaccineServiceImpl extends BaseServiceImpl implements IcResiVaccineService { - - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, IcResiVaccineDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, IcResiVaccineDTO.class); - } - - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); - - return wrapper; - } - - @Override - public IcResiVaccineDTO get(String id) { - IcResiVaccineEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, IcResiVaccineDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(IcResiVaccineDTO dto) { - IcResiVaccineEntity entity = ConvertUtils.sourceToTarget(dto, IcResiVaccineEntity.class); - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(IcResiVaccineDTO dto) { - IcResiVaccineEntity entity = ConvertUtils.sourceToTarget(dto, IcResiVaccineEntity.class); - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); - } - - /** - * 获取居民疫苗接种信息 - * - * @param idCard - * @Param idCard - * @Return {@link List< VaccineListDTO >} - * @Author zhaoqifeng - * @Date 2022/3/30 10:24 - */ - @Override - public List getVaccineList(String customerId, String idCard) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(IcResiVaccineEntity::getCustomerId, customerId); - wrapper.eq(IcResiVaccineEntity::getIdCard, idCard); - wrapper.orderByDesc(IcResiVaccineEntity::getInoculateTime); - List list = baseDao.selectList(wrapper); - if (CollectionUtils.isEmpty(list)) { - return Collections.emptyList(); - } - return list.stream().map(item -> { - VaccineListDTO dto = new VaccineListDTO(); - dto.setAddress(item.getInoculateAddress()); - dto.setManufactor(item.getManufacturer()); - dto.setVaccinateTime(DateUtils.format(item.getInoculateTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)); - return dto; - }).collect(Collectors.toList()); - } - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index 8e565aaed1..c9ca6ee005 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -13,6 +13,7 @@ import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.EpmetRequestHolder; import com.epmet.commons.tools.utils.FileUtils; import com.epmet.commons.tools.utils.Result; @@ -25,6 +26,7 @@ import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.result.IcVaccineListResultDTO; import com.epmet.dto.result.LoginUserDetailsResultDTO; import com.epmet.dto.result.UploadImgResultDTO; +import com.epmet.dto.result.VaccineListDTO; import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcVaccineEntity; import com.epmet.entity.IcVaccineRelationEntity; @@ -38,6 +40,7 @@ import com.epmet.service.UserService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory; @@ -53,6 +56,7 @@ import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Path; import java.util.*; +import java.util.stream.Collectors; /** * 疫苗接种记录 @@ -430,4 +434,32 @@ public class IcVaccineServiceImpl extends BaseServiceImpl} + * @Author zhaoqifeng + * @Date 2022/3/30 10:24 + */ + @Override + public List getVaccineList(String customerId, String idCard) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcVaccineEntity::getCustomerId, customerId); + wrapper.eq(IcVaccineEntity::getIdCard, idCard); + wrapper.orderByDesc(IcVaccineEntity::getInoculateTime); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyList(); + } + return list.stream().map(item -> { + VaccineListDTO dto = new VaccineListDTO(); + dto.setAddress(item.getInoculateAddress()); + dto.setManufactor(item.getManufacturer()); + dto.setVaccinateTime(DateUtils.format(item.getInoculateTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)); + return dto; + }).collect(Collectors.toList()); + } + } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml index 1510da99b8..dc8ae898b1 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml @@ -28,7 +28,7 @@ IFNULL((SELECT DATE_FORMAT(CREATED_TIME,'%Y-%m-%d %H:%i:%s') FROM ic_notice WHERE DEL_FLAG = '0' AND ORIGIN = #{attentionType} AND ID_CARD = a.ID_CARD ORDER BY CREATED_TIME DESC LIMIT 1),'') AS lastInformTime, IFNULL(v.vaccinationCount,0) AS vaccinationCount FROM ic_epidemic_special_attention a - LEFT JOIN (SELECT id_card ,count(1) AS vaccinationCount FROM ic_resi_vaccine WHERE DEL_FLAG = 0 GROUP BY ID_CARD) v ON (v.ID_CARD = a.ID_CARD) + LEFT JOIN (SELECT id_card ,count(1) AS vaccinationCount FROM ic_vaccine WHERE DEL_FLAG = 0 GROUP BY ID_CARD) v ON (v.ID_CARD = a.ID_CARD) WHERE a.DEL_FLAG = 0 AND a.ORG_ID = #{orgId} AND ATTENTION_TYPE = #{attentionType} @@ -109,4 +109,4 @@ ) - \ No newline at end of file + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index b3fef04dbc..a38f1ae5df 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -658,7 +658,7 @@ ic_resi_user a LEFT JOIN ( SELECT ID_CARD, count( id ) AS count - FROM ic_resi_vaccine + FROM ic_vaccine WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} AND DATE_FORMAT(INOCULATE_TIME,"%Y-%m-%d") > #{startDate} @@ -773,7 +773,7 @@ b.created_time, IFNULL( b.count, 0 ) AS vaccineCount FROM ic_resi_user a - LEFT JOIN ( SELECT ID_CARD, count( id ) AS count,created_time FROM ic_resi_vaccine WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} GROUP BY ID_CARD ) b ON a.ID_CARD = b.ID_CARD + LEFT JOIN ( SELECT ID_CARD, count( id ) AS count,created_time FROM ic_vaccine WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} GROUP BY ID_CARD ) b ON a.ID_CARD = b.ID_CARD WHERE a.DEL_FLAG = '0' AND a.CUSTOMER_ID = #{customerId} diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiVaccineDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiVaccineDao.xml deleted file mode 100644 index a330bccba9..0000000000 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiVaccineDao.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 01f15cdfa87713ff61a4b2ea9b447c1239705ea0 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 7 Apr 2022 15:17:55 +0800 Subject: [PATCH 37/83] =?UTF-8?q?=E9=99=90=E5=88=B6500?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java index 8234693f38..9cba05de39 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java @@ -6,6 +6,7 @@ import java.util.List; import lombok.Data; +import javax.validation.constraints.Max; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -81,12 +82,14 @@ public class IcEpidemicSpecialAttentionDTO implements Serializable { /** * 原因 */ - private String reason; + @Max(value = 500,message = "原因限制500字以内") + private String reason; /** * 备注 */ - private String remark; + @Max(value = 500,message = "备注限制500字以内") + private String remark; /** * @@ -126,6 +129,7 @@ public class IcEpidemicSpecialAttentionDTO implements Serializable { /** * 通知内容 */ + @Max(value = 500,message = "通知内容限制500字以内") private String content; } \ No newline at end of file From d351046a38b9ef4d469826aaffc6d3abd3a48a35 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 7 Apr 2022 15:38:50 +0800 Subject: [PATCH 38/83] =?UTF-8?q?=E9=99=90=E5=88=B6500?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java index 9cba05de39..8ae0e0c50e 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java @@ -5,6 +5,7 @@ import java.util.Date; import java.util.List; import lombok.Data; +import org.hibernate.validator.constraints.Length; import javax.validation.constraints.Max; import javax.validation.constraints.NotBlank; @@ -82,13 +83,13 @@ public class IcEpidemicSpecialAttentionDTO implements Serializable { /** * 原因 */ - @Max(value = 500,message = "原因限制500字以内") + @Length(max = 500,message = "原因限制500字以内") private String reason; /** * 备注 */ - @Max(value = 500,message = "备注限制500字以内") + @Length(max = 500,message = "备注限制500字以内") private String remark; /** @@ -129,7 +130,7 @@ public class IcEpidemicSpecialAttentionDTO implements Serializable { /** * 通知内容 */ - @Max(value = 500,message = "通知内容限制500字以内") + @Length(max = 500,message = "通知内容限制500字以内") private String content; } \ No newline at end of file From c29a33b312a83f5306a48ca0097b0fc506bfdc1c Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 7 Apr 2022 15:45:27 +0800 Subject: [PATCH 39/83] =?UTF-8?q?=E9=99=90=E5=88=B6500?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java index 8ae0e0c50e..4236c604e9 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java @@ -83,13 +83,13 @@ public class IcEpidemicSpecialAttentionDTO implements Serializable { /** * 原因 */ - @Length(max = 500,message = "原因限制500字以内") + @Length(max = 500,message = "原因限制500字以内",groups = {IcEpidemicSpecialAttentionAdd.class,IcEpidemicSpecialAttentionUpdate.class}) private String reason; /** * 备注 */ - @Length(max = 500,message = "备注限制500字以内") + @Length(max = 500,message = "备注限制500字以内",groups = {IcEpidemicSpecialAttentionAdd.class,IcEpidemicSpecialAttentionUpdate.class}) private String remark; /** @@ -130,7 +130,7 @@ public class IcEpidemicSpecialAttentionDTO implements Serializable { /** * 通知内容 */ - @Length(max = 500,message = "通知内容限制500字以内") + @Length(max = 500,message = "通知内容限制500字以内",groups = {IcEpidemicSpecialAttentionAdd.class,IcEpidemicSpecialAttentionUpdate.class}) private String content; } \ No newline at end of file From f2624b5a2428bfaeb817923a131928e5cfad9135 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 7 Apr 2022 15:53:51 +0800 Subject: [PATCH 40/83] =?UTF-8?q?=E9=99=90=E5=88=B6500?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java index 4236c604e9..21499eef9a 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcEpidemicSpecialAttentionDTO.java @@ -4,6 +4,7 @@ import java.io.Serializable; import java.util.Date; import java.util.List; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import org.hibernate.validator.constraints.Length; @@ -23,8 +24,8 @@ public class IcEpidemicSpecialAttentionDTO implements Serializable { private static final long serialVersionUID = 1L; - public interface IcEpidemicSpecialAttentionUpdate{} - public interface IcEpidemicSpecialAttentionAdd{} + public interface IcEpidemicSpecialAttentionUpdate extends CustomerClientShowGroup {} + public interface IcEpidemicSpecialAttentionAdd extends CustomerClientShowGroup {} /** * ID From 2b60b82b56f2c5c7e2f9565d0253d2af9186e0db Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 7 Apr 2022 16:09:08 +0800 Subject: [PATCH 41/83] =?UTF-8?q?sql=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.39__edit_special_attention_length.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.39__edit_special_attention_length.sql diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.39__edit_special_attention_length.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.39__edit_special_attention_length.sql new file mode 100644 index 0000000000..6292ff6e20 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.39__edit_special_attention_length.sql @@ -0,0 +1,2 @@ +alter table ic_epidemic_special_attention modify column remark VARCHAR(500); +alter table ic_epidemic_special_attention modify column reason VARCHAR(500); \ No newline at end of file From d69b8fdf0870fd00651e05d06fbb36222872caaf Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 7 Apr 2022 16:33:49 +0800 Subject: [PATCH 42/83] =?UTF-8?q?=E6=8C=89=E7=85=A7=E6=9D=A5=E5=88=B0?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E6=97=B6=E9=97=B4=E9=99=8D=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IcTripReportRecordServiceImpl.java | 47 ++++++++++--------- .../mapper/IcTripReportRecordDao.xml | 2 +- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index 2aaf0c8fad..5be16161fc 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -351,33 +351,36 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl errorRows = listener.getErrorRows(); - // 生成并上传错误文件 - try { - // 文件生成 - Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_trip_preport", "import", "error_des"); - String fileName = UUID.randomUUID().toString().concat(".xlsx"); - errorDescFile = errorDescDir.resolve(fileName); - - FileItemFactory factory = new DiskFileItemFactory(16, errorDescDir.toFile()); - FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName); - OutputStream os = fileItem.getOutputStream(); - - EasyExcel.write(os, IcTripReportExcelData.ErrorRow.class).sheet("导入失败列表").doWrite(errorRows); - - // 文件上传oss - Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); - if (errorDesFileUploadResult.success()) { - errorDesFileUrl = errorDesFileUploadResult.getData().getUrl(); - } - } finally { - if (Files.exists(errorDescFile)) { - Files.delete(errorDescFile); + boolean failed = errorRows.size() > 0; + if (failed) { + // 生成并上传错误文件 + try { + // 文件生成 + Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_trip_preport", "import", "error_des"); + String fileName = UUID.randomUUID().toString().concat(".xlsx"); + errorDescFile = errorDescDir.resolve(fileName); + + FileItemFactory factory = new DiskFileItemFactory(16, errorDescDir.toFile()); + FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName); + OutputStream os = fileItem.getOutputStream(); + + EasyExcel.write(os, IcTripReportExcelData.ErrorRow.class).sheet("导入失败列表").doWrite(errorRows); + + // 文件上传oss + Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); + if (errorDesFileUploadResult.success()) { + errorDesFileUrl = errorDesFileUploadResult.getData().getUrl(); + } + } finally { + if (Files.exists(errorDescFile)) { + Files.delete(errorDescFile); + } } } ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); importFinishTaskForm.setTaskId(importTaskId); - importFinishTaskForm.setProcessStatus(errorRows.size() <= 0 ? ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS : ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + importFinishTaskForm.setProcessStatus(failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS); importFinishTaskForm.setOperatorId(userId); importFinishTaskForm.setResultDesc(""); importFinishTaskForm.setResultDescFilePath(errorDesFileUrl); diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml index f667e9826d..0ccd2c31d8 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml @@ -57,7 +57,7 @@ AND ARRIVE_DATE #{endDate} ORDER BY - r.CREATED_TIME DESC + r.ARRIVE_DATE DESC From 347a4b10a9eb9eb013bc80827c23c1f7a8311879 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 7 Apr 2022 16:35:29 +0800 Subject: [PATCH 43/83] =?UTF-8?q?=E4=BF=AE=E6=94=B9org=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E7=9A=84=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E9=99=90=E5=88=B6?= =?UTF-8?q?=E4=B8=BA100M?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gov-org/gov-org-server/src/main/resources/bootstrap.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml b/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml index c3883055da..1fda630da8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml @@ -79,6 +79,12 @@ spring: namespace: @nacos.config.namespace@ group: @nacos.config.group@ file-extension: yaml + servlet: +# 上传文件限制 + multipart: + max-file-size: 100MB + max-request-size: 100MB + management: endpoints: web: From ca4e5bcd426d43ef0343de7311b8daec7db45892 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 7 Apr 2022 17:25:55 +0800 Subject: [PATCH 44/83] - --- .../gov-org/gov-org-server/src/main/resources/bootstrap.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml b/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml index 1fda630da8..5a6a066a1b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml @@ -79,6 +79,7 @@ spring: namespace: @nacos.config.namespace@ group: @nacos.config.group@ file-extension: yaml + servlet: # 上传文件限制 multipart: From 839eb5403e4fecd676d9618f95826a8ade7307e5 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 7 Apr 2022 17:57:38 +0800 Subject: [PATCH 45/83] =?UTF-8?q?=E9=98=B2=E7=96=AB=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/EpidemicPreventionFormDTO.java | 1 + .../com/epmet/controller/IcEpidemicPreventionController.java | 1 + .../java/com/epmet/service/impl/IcResiUserServiceImpl.java | 4 ++++ .../src/main/resources/mapper/IcResiUserDao.xml | 1 + 4 files changed, 7 insertions(+) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java index 83d22c6a13..345d7496b0 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java @@ -28,6 +28,7 @@ public class EpidemicPreventionFormDTO extends PageFormDTO implements Serializab * 网格ID */ private String gridId; + private String staffId; /** * 小区ID */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java index de3612756d..507aea1a65 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java @@ -60,6 +60,7 @@ public class IcEpidemicPreventionController{ @PostMapping("page") public Result> search(@LoginUser TokenDto tokenDto, @RequestBody EpidemicPreventionFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); PageData result = icResiUserService.epidemicPreventionList(formDTO); return new Result>().ok(result); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 57547b226e..c5f39ab387 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -1250,6 +1250,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl epidemicPreventionList(EpidemicPreventionFormDTO formDTO) { + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); + if (null != staffInfo) { + formDTO.setAgencyId(staffInfo.getAgencyId()); + } PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); List list = baseDao.getEpidemicPreventionList(formDTO); PageInfo pageInfo = new PageInfo<>(list); diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index a38f1ae5df..416d423a37 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -680,6 +680,7 @@ GROUP BY ID_CARD ) c ON a.ID_CARD = c.ID_CARD WHERE a.DEL_FLAG = '0' + AND a.`STATUS` = '0' AND a.CUSTOMER_ID = #{customerId} From 8d489bc0e5ea07099fa0a69e5b06e696fb33e9df Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 7 Apr 2022 21:08:38 +0800 Subject: [PATCH 46/83] =?UTF-8?q?entity=E7=9A=84customer=5Fid=E8=A6=81?= =?UTF-8?q?=E8=AE=B0=E5=BE=97=E5=8A=A0@TableField=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/entity/IcVaccineRelationEntity.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineRelationEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineRelationEntity.java index b20ce6dc69..0c1b6c88ac 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineRelationEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineRelationEntity.java @@ -1,5 +1,7 @@ package com.epmet.entity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.epmet.commons.mybatis.entity.BaseEpmetEntity; @@ -24,6 +26,7 @@ public class IcVaccineRelationEntity extends BaseEpmetEntity { /** * 客户Id */ + @TableField(fill = FieldFill.INSERT) private String customerId; /** From 9121ccc52fe39e7ac591ddf97b0eb995940da4e5 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 7 Apr 2022 21:37:51 +0800 Subject: [PATCH 47/83] =?UTF-8?q?=E8=A7=A3=E5=86=B3service=E5=90=8C?= =?UTF-8?q?=E7=BA=A7=E5=BE=AA=E7=8E=AF=E5=BC=95=E7=94=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/IcResiUserServiceImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index c5f39ab387..abfa49ba17 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -43,6 +43,7 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.SpringContextUtils; import com.epmet.constant.IcPlatformConstant; import com.epmet.constant.IcResiUserConstant; import com.epmet.constant.UserConstant; @@ -121,8 +122,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl natList = icNatService.getNatList(formDTO.getCustomerId(), icResiUser.getIdCard()); result.setNatList(natList); //疫苗接种 - List vaccineList = icVaccineService.getVaccineList(formDTO.getCustomerId(), icResiUser.getIdCard()); + List vaccineList = SpringContextUtils.getBean(IcVaccineService.class).getVaccineList(formDTO.getCustomerId(), icResiUser.getIdCard()); result.setVaccineList(vaccineList); //行程信息 List tripList = icTripReportRecordService.tripList(formDTO.getCustomerId(), icResiUser.getIdCard()); From 4259f9299a3bf734b7a867b27667a3906b37d068 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 7 Apr 2022 22:37:36 +0800 Subject: [PATCH 48/83] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E6=A0=B8?= =?UTF-8?q?=E9=85=B8=E6=A3=80=E6=B5=8B&=E7=96=AB=E8=8B=97=E6=8E=A5?= =?UTF-8?q?=E7=A7=8D=EF=BC=8C=E5=BB=BA=E7=AB=8B=E5=85=B3=E7=B3=BB=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/IcNatServiceImpl.java | 13 +++++++------ .../service/impl/IcVaccineServiceImpl.java | 17 +++++++++-------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index a7ef88d5ec..b6a82a1543 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -488,6 +488,9 @@ public class IcNatServiceImpl extends BaseServiceImpl imp String natResult = e.getNatResult(); String natAddress = e.getNatAddress(); + // 居民信息 + IcResiUserEntity resi = getResi(customerId, idCard, null); + //1.先看客户下有没有这个人 IcNatEntity resiNat = getResiNat(customerId, idCard, natTime); if (resiNat != null && !"import".equals(resiNat.getUserType())) { @@ -547,7 +550,6 @@ public class IcNatServiceImpl extends BaseServiceImpl imp resiNat.setUpdatedBy(currentUserId); resiNat.setUpdatedTime(new Date()); - IcResiUserEntity resi = getResi(customerId, idCard, null); resiNat.setIsResiUser(resi != null ? "1" : "0"); resiNat.setUserId(resi != null ? resi.getId() : ""); @@ -555,15 +557,14 @@ public class IcNatServiceImpl extends BaseServiceImpl imp } // 还要创建关系。只有本辖区及下级居民,才建立关系 - if (getResi(customerId, idCard, String.join(":", Arrays.asList(agencyPids, agencyId))) != null) { - createNatRelation(resiNat.getId(), listener.getCurrentAgencyId(), listener.getCurrentAgencyPids()); + if (resi != null) { + createNatRelation(resiNat.getId(), resi.getAgencyId(), resi.getPids()); } return; } // 执行新增操作 - IcResiUserEntity resi = getResi(customerId, idCard, null); e.setIsResiUser(resi != null ? "1" : "0"); e.setUserId(resi != null ? resi.getId() : ""); e.setUserType("import"); @@ -571,8 +572,8 @@ public class IcNatServiceImpl extends BaseServiceImpl imp baseDao.insert(e); // 还要创建关系。只有本辖区及下级居民,才建立关系 - if (getResi(customerId, idCard, String.join(":", Arrays.asList(agencyPids, agencyId))) != null) { - createNatRelation(e.getId(), listener.getCurrentAgencyId(), listener.getCurrentAgencyPids()); + if (resi != null) { + createNatRelation(e.getId(), resi.getAgencyId(), resi.getPids()); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index c9ca6ee005..ec33974bf8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -297,6 +297,9 @@ public class IcVaccineServiceImpl extends BaseServiceImpl Date: Fri, 8 Apr 2022 09:14:19 +0800 Subject: [PATCH 49/83] =?UTF-8?q?=E9=9C=80=E6=B1=82=E5=8F=98=E6=9B=B4=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8F=90=E7=A4=BA=E6=96=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/commons/tools/exception/EpmetErrorCode.java | 1 + .../src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java | 1 + .../src/main/java/com/epmet/controller/IcNatController.java | 1 + .../src/main/java/com/epmet/service/impl/IcNatServiceImpl.java | 3 +++ 4 files changed, 6 insertions(+) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index a059504d2e..3b1ed3c0c4 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -253,6 +253,7 @@ public enum EpmetErrorCode { NEIGHBORHOOD_DEL_FAILED(8922,""), IC_NAT_IDCARD_NATTIME(8923,"已存在相同记录"), IC_NAT(8924,"平台已存在记录,请去修改原有记录"), + RESI_IC_NAT(8925,"已存在记录,请联系社区工作人员修改"), //通用错误码 start diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java index 9472ea4314..258f28c66b 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java @@ -100,6 +100,7 @@ public class AddIcNatFormDTO implements Serializable { //token中信息 private String customerId; private String staffId; + private String client; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 727c5678c8..c03c2b50db 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -89,6 +89,7 @@ public class IcNatController implements ResultDataResolver { ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Nat.class); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setStaffId(tokenDto.getUserId()); + formDTO.setClient(tokenDto.getClient()); icNucleinService.add(formDTO); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index b6a82a1543..5f2deb846e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -101,6 +101,9 @@ public class IcNatServiceImpl extends BaseServiceImpl imp if (null != icNatDTO && icNatDTO.getNatResult().equals(formDTO.getNatResult())) { throw new RenException(EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getCode(), EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getMsg()); } else if (null != icNatDTO && !icNatDTO.getNatResult().equals(formDTO.getNatResult())) { + if ("wxmp".equals(formDTO.getClient())) { + throw new RenException(EpmetErrorCode.RESI_IC_NAT.getCode(), EpmetErrorCode.RESI_IC_NAT.getMsg()); + } throw new RenException(EpmetErrorCode.IC_NAT.getCode(), EpmetErrorCode.IC_NAT.getMsg()); } //1.获取所填居民所属组织缓存信息 From 2806a75bf92d016f0d0bbb4d40db873f73aacdc6 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 8 Apr 2022 09:54:47 +0800 Subject: [PATCH 50/83] bug#2759 --- .../java/com/epmet/service/impl/IcResiCollectServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java index b0befce180..39efa26144 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java @@ -144,6 +144,7 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl Date: Fri, 8 Apr 2022 10:23:44 +0800 Subject: [PATCH 51/83] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=EF=BC=8C=E5=A5=87=E8=91=A9=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/IcResiCollectMemFormDTO.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java index a3fca9b02b..95ae25cd79 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java @@ -2,7 +2,6 @@ package com.epmet.dto.form; import lombok.Data; -import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -18,13 +17,13 @@ public class IcResiCollectMemFormDTO implements Serializable { /** * 居住成员1姓名 */ - @NotBlank(message = "姓名不能为空", groups = {ResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class}) + // @NotBlank(message = "姓名不能为空", groups = {ResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class}) private String name; /** * 居住成员1身份证号 */ - @NotBlank(message = "身份证号不能为空", groups = {ResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class}) + // @NotBlank(message = "身份证号不能为空", groups = {ResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class}) private String idNum; /** From 3beb70dfd8b5bcb667e3722ab38c2a2474bc486c Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 8 Apr 2022 11:12:19 +0800 Subject: [PATCH 52/83] =?UTF-8?q?=E9=9C=80=E6=B1=82=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=EF=BC=8C=E5=8F=96=E6=B6=88=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IcEpidemicSpecialAttentionServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java index bd9faff62b..f27bc46842 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java @@ -334,7 +334,8 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl Date: Fri, 8 Apr 2022 14:04:45 +0800 Subject: [PATCH 53/83] =?UTF-8?q?=E6=B7=BB=E5=8A=A0and=20a.status=20=3D=20?= =?UTF-8?q?0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/IcResiUserDao.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 416d423a37..d5fb91de45 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -739,6 +739,7 @@ FROM ic_resi_user a LEFT JOIN ( SELECT ID_CARD, count( id ) AS count,created_time FROM ic_nat WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} GROUP BY ID_CARD ) c ON a.ID_CARD = c.ID_CARD WHERE a.DEL_FLAG = '0' + and a.status = 0 AND a.CUSTOMER_ID = #{customerId} @@ -776,6 +777,7 @@ FROM ic_resi_user a LEFT JOIN ( SELECT ID_CARD, count( id ) AS count,created_time FROM ic_vaccine WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} GROUP BY ID_CARD ) b ON a.ID_CARD = b.ID_CARD WHERE a.DEL_FLAG = '0' + and a.status = 0 AND a.CUSTOMER_ID = #{customerId} From 4f675e4d0bce4a15667cf8fe3acd8ed8dff73446 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 8 Apr 2022 14:14:54 +0800 Subject: [PATCH 54/83] latestSubmit --- .../src/main/java/com/epmet/dao/IcResiCollectDao.java | 2 +- .../com/epmet/service/impl/IcResiCollectServiceImpl.java | 5 ++++- .../src/main/resources/mapper/IcResiCollectDao.xml | 1 - 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java index 2602b5858a..547ef63ca8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java @@ -40,5 +40,5 @@ public interface IcResiCollectDao extends BaseDao { * @param userId * @return */ - String selectLastSubmitId(@Param("customerId") String customerId, @Param("userId") String userId); + List selectLastSubmitId(@Param("customerId") String customerId, @Param("userId") String userId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java index 39efa26144..fe75c7acbb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java @@ -2,6 +2,7 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -25,6 +26,7 @@ import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.IcResiCollectService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -209,7 +211,8 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl resiCoolectIds = baseDao.selectLastSubmitId(formDTO.getCustomerId(), formDTO.getUserId()); + String latestResiCollectId = CollectionUtils.isNotEmpty(resiCoolectIds) ? resiCoolectIds.get(NumConstant.ZERO) : StrConstant.EPMETY_STR; if (StringUtils.isNotBlank(latestResiCollectId)) { resDTO.setResiCollectId(latestResiCollectId); //之前提交过 diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml index 98725fa04e..777622c9f5 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml @@ -84,6 +84,5 @@ AND ( m.CREATED_BY = #{userId} OR m.UPDATED_BY = #{userId} ) ORDER BY m.UPDATED_TIME DESC - LIMIT 1 \ No newline at end of file From 8847f4b3c5f2361fcadaf640ff9d9a55bae4ed51 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 8 Apr 2022 14:16:27 +0800 Subject: [PATCH 55/83] =?UTF-8?q?=E5=8A=A0=E4=BA=86=E4=B8=AA=E7=BB=84?= =?UTF-8?q?=E7=BB=87ID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/IcResiUserServiceImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index abfa49ba17..38d58ce001 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -1287,6 +1287,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl userList(EpidemicPreventionFormDTO formDTO) { + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); + if (null != staffInfo) { + formDTO.setAgencyId(staffInfo.getAgencyId()); + } PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); List list = new ArrayList<>(); if (formDTO.getAttentionType().equals(NumConstant.TWO)){ From a7338f1a5bd91bd8c6b4ff792439b3bec6dc4ff1 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 8 Apr 2022 14:29:10 +0800 Subject: [PATCH 56/83] =?UTF-8?q?=E5=8A=A0=E4=BA=86=E4=B8=AAuserId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/IcEpidemicPreventionController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java index 507aea1a65..c490634108 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java @@ -68,6 +68,7 @@ public class IcEpidemicPreventionController{ @PostMapping("user-list") public Result> userList(@LoginUser TokenDto tokenDto, @RequestBody EpidemicPreventionFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); PageData result = icResiUserService.userList(formDTO); return new Result>().ok(result); } From 60da59242f16096cd72979ac713659bc1dce079e Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Fri, 8 Apr 2022 15:58:01 +0800 Subject: [PATCH 57/83] =?UTF-8?q?=E5=B1=85=E6=B0=91=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=EF=BC=9A=E5=A2=9E=E5=8A=A0=E8=BA=AB=E4=BB=BD?= =?UTF-8?q?=E8=AF=81=E5=8F=B7=E5=92=8C=E6=89=8B=E6=9C=BA=E5=8F=B7=E7=9A=84?= =?UTF-8?q?=E9=95=BF=E5=BA=A6=E6=A3=80=E6=9F=A5=E5=92=8C=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EpmetCommonServiceOpenFeignClient.java | 4 +-- .../controller/ImportTaskController.java | 2 +- .../impl/IcResiUserImportServiceImpl.java | 30 +++++++++++++++++++ 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java index 7dc71f336e..4214e77cf8 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java @@ -22,7 +22,7 @@ import java.util.Map; * @date 2020/6/4 10:28 */ @FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallbackFactory = EpmetCommonServiceOpenFeignClientFallbackFactory.class) - //@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallbackFactory = EpmetCommonServiceOpenFeignClientFallbackFactory.class, url = "http://192.168.1.132:8103") + //@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallbackFactory = EpmetCommonServiceOpenFeignClientFallbackFactory.class, url = "http://localhost:8103") public interface EpmetCommonServiceOpenFeignClient { /** * @param formDTO @@ -131,7 +131,7 @@ public interface EpmetCommonServiceOpenFeignClient { * @param input * @return */ - @RequestMapping("/commonservice/import-task/create") + @PostMapping("/commonservice/import-task/create") Result createImportTask(@RequestBody ImportTaskCommonFormDTO input); /** diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ImportTaskController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ImportTaskController.java index 8af4083542..8b03c4465b 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ImportTaskController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ImportTaskController.java @@ -39,7 +39,7 @@ public class ImportTaskController { * @param input * @return */ - @RequestMapping("create") + @PostMapping("create") public Result createTask(@RequestBody ImportTaskCommonFormDTO input) { ValidatorUtils.validateEntity(input, ImportTaskCommonFormDTO.Create.class); String operatorId = input.getOperatorId(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index 313c18c16d..1d3c3b2cc8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java @@ -424,6 +424,9 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res String idCard = columnAndValues.get("ID_CARD"); + // 执行指定的检查 + specifiedCheck(columnAndValues); + Map existingResiMap = icResiUserDao.selectResiInfoMap(idCard, null); if (existingResiMap == null) { @@ -526,6 +529,33 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res } } + /** + * 执行指定的检查 + * @param columnAndValues + */ + private void specifiedCheck(LinkedHashMap columnAndValues) { + String idCard = columnAndValues.get("ID_CARD"); + String mobile = columnAndValues.get("MOBILE"); + + List errors = new ArrayList<>(); + + if (idCard.length() > 18) { + // 身份证号超长了哦,不可以的 + errors.add("身份证号过长,限制18位"); + } + + if (StringUtils.isNotBlank(mobile) && mobile.length() > 15) { + // 手机号超长也是不可以的 + errors.add("手机号过长,限制15位"); + } + + if (errors.size() > 0) { + // 有错误 + String errorMsg = String.join(";", errors); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); + } + } + /** * 持久化IC居民附加信息 * @param headerColumnWrapper 数据库列包装信息 From 9d7f33a07f3334cacdbdb037434b41c63c4b5775 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Fri, 8 Apr 2022 16:03:03 +0800 Subject: [PATCH 58/83] =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E3=80=81=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=EF=BC=9A=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=89=8B=E6=9C=BA=E5=8F=B7=E9=95=BF=E5=BA=A615?= =?UTF-8?q?=E4=BD=8D=E7=9A=84=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/excel/data/IcNatImportExcelData.java | 1 + .../main/java/com/epmet/excel/data/IcVaccineImportExcelData.java | 1 + 2 files changed, 2 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java index 385d02b171..052b0cb1eb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java @@ -21,6 +21,7 @@ public class IcNatImportExcelData { @NotBlank(message = "手机号为必填项") @ExcelProperty("手机号") + @Length(max = 15, message = "手机号长度不正确,应小于15位") private String mobile; @NotBlank(message = "身份证号为必填项") diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java index 6dca8bc4bb..f85b77091b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java @@ -23,6 +23,7 @@ public class IcVaccineImportExcelData implements Serializable { @NotBlank(message = "手机号为必填项") @ExcelProperty("手机号") + @Length(max = 15, message = "手机号长度不正确,应小于15位") private String mobile; @NotBlank(message = "身份证号为必填项") From 7dfbcb60cea4ee27bfc9e5890de833d62b50a3e6 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 8 Apr 2022 16:22:04 +0800 Subject: [PATCH 59/83] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E9=95=BF=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/excel/data/IcVaccineImportExcelData.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java index f85b77091b..60a83b2582 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java @@ -23,12 +23,12 @@ public class IcVaccineImportExcelData implements Serializable { @NotBlank(message = "手机号为必填项") @ExcelProperty("手机号") - @Length(max = 15, message = "手机号长度不正确,应小于15位") + @Length(max = 15, message = "手机号长度不正确") private String mobile; @NotBlank(message = "身份证号为必填项") @ExcelProperty("身份证号") - @Length(max = 18, message = "身份证号长度不正确,应小于18位") + @Length(max = 18, message = "身份证号长度不正确") private String idCard; @NotNull(message = "接种时间为必填项") From af5bd46923988b45a9adb807d1c163932301ee31 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 8 Apr 2022 16:48:33 +0800 Subject: [PATCH 60/83] tokenqu --- .../com/epmet/controller/IcTripReportRecordController.java | 4 ++-- .../java/com/epmet/service/IcTripReportRecordService.java | 2 +- .../epmet/service/impl/IcTripReportRecordServiceImpl.java | 6 +----- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index 663b425f4e..f6b0df98cc 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -227,7 +227,7 @@ public class IcTripReportRecordController implements ResultDataResolver { * @return */ @PostMapping("import") - public Result importExcel(MultipartFile file) { + public Result importExcel(@LoginUser TokenDto tokenDto, MultipartFile file) { String userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); // 1.暂存文件 @@ -271,7 +271,7 @@ public class IcTripReportRecordController implements ResultDataResolver { "行程上报导入失败"); // 3.执行导入 - icTripReportRecordService.execAsyncExcelImport(fileSavePath, rstData.getTaskId()); + icTripReportRecordService.execAsyncExcelImport(fileSavePath, rstData.getTaskId(),tokenDto.getCustomerId(),tokenDto.getUserId()); return new Result(); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java index 66ec0d9f9e..ffd9f3db8d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java @@ -99,5 +99,5 @@ public interface IcTripReportRecordService extends BaseService Date: Fri, 8 Apr 2022 17:02:49 +0800 Subject: [PATCH 61/83] @Async=>@Async("executorService") --- .../src/main/java/com/epmet/service/impl/IcNatServiceImpl.java | 2 +- .../main/java/com/epmet/service/impl/IcVaccineServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 5f2deb846e..715f820896 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -310,7 +310,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp } } - @Async + @Async("executorService") @Override public void execAsyncExcelImport(Path filePath, String importTaskId) { String userId = null; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index ec33974bf8..29a0109fa2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -160,7 +160,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl Date: Fri, 8 Apr 2022 17:04:24 +0800 Subject: [PATCH 62/83] test --- .../com/epmet/service/impl/IcTripReportRecordServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index e1d29a4a43..952622d69b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -332,7 +332,7 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl Date: Fri, 8 Apr 2022 17:06:34 +0800 Subject: [PATCH 63/83] =?UTF-8?q?=E5=A4=9A=E4=BD=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/IcTripReportRecordServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index 952622d69b..0f4aa50de9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; @@ -18,7 +17,10 @@ import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.redis.common.bean.GridInfoCache; -import com.epmet.commons.tools.utils.*; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.utils.FileUtils; +import com.epmet.commons.tools.utils.Result; import com.epmet.constant.IcResiUserConstant; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcTripReportRecordDao; @@ -417,11 +419,9 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl entities) { - String currentUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); entities.forEach(e -> { String id = IdWorker.getIdStr(e); e.setId(id); - e.setUpdatedBy(currentUserId); baseDao.insert(e); }); } From a50342c9f0272f7872c854e7ff807628ab7dde15 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Fri, 8 Apr 2022 17:22:15 +0800 Subject: [PATCH 64/83] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=BE=AA=E7=8E=AF?= =?UTF-8?q?=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/IcNatServiceImpl.java | 6 +++--- .../java/com/epmet/service/impl/IcResiUserServiceImpl.java | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 715f820896..7fcb95e700 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -85,8 +85,8 @@ public class IcNatServiceImpl extends BaseServiceImpl imp private IcNatRelationDao icNatRelationDao; @Autowired private IcResiUserDao icResiUserDao; - @Autowired - private UserService userService; + //@Autowired + //private UserService userService; /** * @Author sun @@ -320,7 +320,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp String app = EpmetRequestHolder.getHeader(AppClientConstant.APP); String client = EpmetRequestHolder.getHeader(AppClientConstant.CLIENT); - LoginUserDetailsResultDTO loginUserDetails = userService.getLoginUserDetails(app, client, userId); + LoginUserDetailsResultDTO loginUserDetails = SpringContextUtils.getBean(UserService.class).getLoginUserDetails(app, client, userId); String agencyId = loginUserDetails.getAgencyId(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 38d58ce001..e2a78205e9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -120,8 +120,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl natList = icNatService.getNatList(formDTO.getCustomerId(), icResiUser.getIdCard()); + List natList = SpringContextUtils.getBean(IcNatService.class).getNatList(formDTO.getCustomerId(), icResiUser.getIdCard()); result.setNatList(natList); //疫苗接种 List vaccineList = SpringContextUtils.getBean(IcVaccineService.class).getVaccineList(formDTO.getCustomerId(), icResiUser.getIdCard()); From 977ab776b2afe83eddc7abd31c85a8b3e6d6c050 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Fri, 8 Apr 2022 17:52:41 +0800 Subject: [PATCH 65/83] - --- .../com/epmet/service/impl/IcResiUserImportServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index 1d3c3b2cc8..25ecff6838 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java @@ -539,7 +539,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res List errors = new ArrayList<>(); - if (idCard.length() > 18) { + if (StringUtils.isNotBlank(idCard) && idCard.length() > 18) { // 身份证号超长了哦,不可以的 errors.add("身份证号过长,限制18位"); } From e53f12d80658302db0612a7d798fc8b49723da3a Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Sat, 9 Apr 2022 14:08:03 +0800 Subject: [PATCH 66/83] =?UTF-8?q?1.ttl=E7=BA=BF=E7=A8=8B=E6=B1=A0=E5=8C=85?= =?UTF-8?q?=E8=A3=85->TtlRunnable.getRunnable()=E5=8C=85=E8=A3=85=EF=BC=8C?= =?UTF-8?q?=E6=9B=B4=E5=BD=BB=E5=BA=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/commons/tools/config/AsyncConfig.java | 7 ++++++- .../main/java/com/epmet/service/impl/IcNatServiceImpl.java | 2 +- .../epmet/service/impl/IcTripReportRecordServiceImpl.java | 2 +- .../java/com/epmet/service/impl/IcVaccineServiceImpl.java | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java index 83c4758a63..c95c9f8ade 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java @@ -1,5 +1,6 @@ package com.epmet.commons.tools.config; +import com.alibaba.ttl.TtlRunnable; import com.alibaba.ttl.threadpool.TtlExecutors; import org.slf4j.MDC; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -64,8 +65,9 @@ public class AsyncConfig { executor.setKeepAliveSeconds(keepAliveSeconds); // 设置装饰器,使用MDC将runnable进行装饰,实现日志上下文传递到子线程 executor.setTaskDecorator((Runnable r) -> { + // 1.mdc包装,日志追踪 Map copyOfContextMap = MDC.getCopyOfContextMap(); - return () -> { + Runnable rr = () -> { try { if (copyOfContextMap != null && copyOfContextMap.size() > 0) { MDC.setContextMap(copyOfContextMap); @@ -75,6 +77,9 @@ public class AsyncConfig { MDC.clear(); } }; + + // 2.ttl包装,异步线程上下文透传 + return TtlRunnable.get(rr); }); executor.initialize(); return executor; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 7fcb95e700..5307df5cb1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -310,7 +310,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp } } - @Async("executorService") + @Async @Override public void execAsyncExcelImport(Path filePath, String importTaskId) { String userId = null; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index 0f4aa50de9..3766ee7baa 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -334,7 +334,7 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl Date: Sat, 9 Apr 2022 16:06:56 +0800 Subject: [PATCH 67/83] - --- .../com/epmet/service/impl/IcResiUserImportServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index 25ecff6838..44a6ee7a63 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java @@ -541,12 +541,12 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res if (StringUtils.isNotBlank(idCard) && idCard.length() > 18) { // 身份证号超长了哦,不可以的 - errors.add("身份证号过长,限制18位"); + errors.add("身份证号过长"); } if (StringUtils.isNotBlank(mobile) && mobile.length() > 15) { // 手机号超长也是不可以的 - errors.add("手机号过长,限制15位"); + errors.add("手机号过长"); } if (errors.size() > 0) { From 2e3042128a35cfdf8932f26ad38a3d6a491f9658 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 11 Apr 2022 10:04:02 +0800 Subject: [PATCH 68/83] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E8=A1=A8=E5=A4=B4=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/attention_nat_template.xlsx | Bin 8687 -> 8697 bytes .../excel/attention_vaccination_template.xlsx | Bin 8691 -> 8693 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/attention_nat_template.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/attention_nat_template.xlsx index 1ef3866f47ab3a671c92e9d54a8eedd98caedc6e..83a0c648b3dac35ee8ef6d64b91d12adde300a18 100644 GIT binary patch delta 4131 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 Y`u8Wpzxn@7u*LLn2;%+2`mg1G0Yv1in*aa+ delta 4113 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%0AF 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 Date: Mon, 11 Apr 2022 13:58:44 +0800 Subject: [PATCH 69/83] =?UTF-8?q?=E7=BA=BF=E7=A8=8B=E6=B1=A0=E5=8C=85?= =?UTF-8?q?=E8=A3=85=EF=BC=8C=E5=8E=BB=E6=8E=89=E9=87=8D=E5=A4=8D=E5=8C=85?= =?UTF-8?q?=E8=A3=85=EF=BC=8C=E9=81=97=E5=BF=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/commons/tools/config/AsyncConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java index c95c9f8ade..ab8efec85e 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java @@ -88,7 +88,7 @@ public class AsyncConfig { @Bean public ExecutorService executorService() { ThreadPoolTaskExecutor executor = (ThreadPoolTaskExecutor) executor(); - return TtlExecutors.getTtlExecutorService(executor.getThreadPoolExecutor()); + return executor.getThreadPoolExecutor(); } /** From 4f81a57b2454d78285ea8e4e4bdb88bd0379e49e Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 11 Apr 2022 14:14:07 +0800 Subject: [PATCH 70/83] =?UTF-8?q?easypoi=E5=92=8CeasyExcel=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=20=E8=B0=83=E6=95=B4=E6=A0=B7=E5=BC=8F=E5=9F=BA?= =?UTF-8?q?=E6=9C=AC=E7=BB=9F=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-commons-extapp-auth/pom.xml | 2 +- epmet-commons/epmet-commons-tools/pom.xml | 2 +- .../epmet/commons/tools/utils/ExcelUtils.java | 59 +++-------- .../excel/EasyPoiExcelExportStylerImpl.java | 93 ++++++++++++++++++ .../{ => poi}/excel/ExportMultiView.java | 2 +- .../utils/poi/excel/FreezeAndFilter.java | 46 +++++++++ .../datastats/impl/DataStatsServiceImpl.java | 2 +- .../IcFollowUpRecordController.java | 3 +- .../com/epmet/controller/IcNatController.java | 3 +- .../controller/IcResiUserController.java | 1 - .../IcTripReportRecordController.java | 3 +- .../epmet/controller/IcVaccineController.java | 3 +- .../impl/PatrolRoutineWorkServiceImpl.java | 3 +- .../ic_resi_info_cid_for_easy_excel.xlsx | Bin 25172 -> 25245 bytes 14 files changed, 165 insertions(+), 57 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/EasyPoiExcelExportStylerImpl.java rename epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/{ => poi}/excel/ExportMultiView.java (91%) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/FreezeAndFilter.java diff --git a/epmet-commons/epmet-commons-extapp-auth/pom.xml b/epmet-commons/epmet-commons-extapp-auth/pom.xml index 8ff0d46ada..bf2e9a71c7 100644 --- a/epmet-commons/epmet-commons-extapp-auth/pom.xml +++ b/epmet-commons/epmet-commons-extapp-auth/pom.xml @@ -18,7 +18,7 @@ 1.3.3 2.6 4.6.1 - 4.4.0 + 4.3.0 2.9.9 1.2.79 2.8.6 diff --git a/epmet-commons/epmet-commons-tools/pom.xml b/epmet-commons/epmet-commons-tools/pom.xml index e516c5fba7..867fcf47c7 100644 --- a/epmet-commons/epmet-commons-tools/pom.xml +++ b/epmet-commons/epmet-commons-tools/pom.xml @@ -18,7 +18,7 @@ 1.3.3 2.6 4.6.1 - 4.4.0 + 4.3.0 2.9.9 1.2.79 2.8.6 diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java index 9bc34d0a39..d75b510bec 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java @@ -11,12 +11,13 @@ package com.epmet.commons.tools.utils; import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; -import com.epmet.commons.tools.utils.excel.ExportMultiView; +import com.epmet.commons.tools.utils.poi.excel.EasyPoiExcelExportStylerImpl; +import com.epmet.commons.tools.utils.poi.excel.ExportMultiView; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.BeanUtils; -import org.springframework.util.CollectionUtils; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; @@ -30,6 +31,7 @@ import java.util.*; * @author Mark sunlightcs@gmail.com * @since 1.0.0 */ +@Slf4j public class ExcelUtils { /** @@ -47,15 +49,16 @@ public class ExcelUtils { fileName = DateUtils.format(new Date()); } - Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), pojoClass, list); + ExportParams exportParams = new ExportParams(); + //设置导出的样式 + exportParams.setStyle(EasyPoiExcelExportStylerImpl.class); + //设置sheet名称 + exportParams.setSheetName("Sheet1"); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, list); Sheet sheet1 = workbook.getSheetAt(0); sheet1.setDefaultColumnWidth(50*256); sheet1.setDefaultRowHeight((short)(2*256)); - response.setCharacterEncoding("UTF-8"); - response.setHeader("content-Type", "application/vnd.ms-excel"); - response.setHeader("Content-Disposition", - "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8") + ".xls"); - ServletOutputStream out = response.getOutputStream(); + ServletOutputStream out = ExcelUtils.getOutputStreamForExcel(fileName,response); workbook.write(out); out.flush(); out.close(); @@ -81,45 +84,7 @@ public class ExcelUtils { exportExcel(response, fileName, targetList, targetClass); } - public static void exportExcelToTargetDisposeAll(HttpServletResponse response, String fileName, Collection sourceList, - Class targetClass) throws Exception { - if (!CollectionUtils.isEmpty(sourceList)){ - List targetList = new ArrayList<>(sourceList.size()); - for(Object source : sourceList){ - Object target = targetClass.newInstance(); - BeanUtils.copyProperties(source, target); - targetList.add(target); - } - exportExcelDispose(response, fileName, targetList, targetClass); - }else { - exportExcelDispose(response, fileName, new ArrayList<>(), targetClass); - } - - - } - - public static void exportExcelDispose(HttpServletResponse response, String fileName, Collection list, - Class pojoClass) throws IOException { - if(StringUtils.isBlank(fileName)){ - //当前日期 - fileName = DateUtils.format(new Date()); - } - ExportParams params = new ExportParams(fileName,fileName); - Workbook workbook = ExcelExportUtil.exportExcel(params, pojoClass, list); - Sheet sheet1 = workbook.getSheetAt(0); - sheet1.setDefaultColumnWidth(50*256); - sheet1.setDefaultRowHeight((short)(2*256)); - response.setCharacterEncoding("UTF-8"); - response.setHeader("content-Type", "application/vnd.ms-excel"); - fileName = fileName + ".xls"; - response.setHeader("Content-Disposition", - "attachment;filename=" +fileName); - ServletOutputStream out = response.getOutputStream(); - workbook.write(out); - out.flush(); - out.close(); - } - public static ServletOutputStream getOutputStreamForExcel(String fileName, HttpServletResponse response) throws Exception { + public static ServletOutputStream getOutputStreamForExcel(String fileName, HttpServletResponse response) throws IOException { fileName = URLEncoder.encode(fileName, "UTF-8"); if (!fileName.endsWith(".xls") ||!fileName.endsWith(".xlsx")){ fileName = fileName + ".xlsx"; diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/EasyPoiExcelExportStylerImpl.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/EasyPoiExcelExportStylerImpl.java new file mode 100644 index 0000000000..b1a5606c2e --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/EasyPoiExcelExportStylerImpl.java @@ -0,0 +1,93 @@ +package com.epmet.commons.tools.utils.poi.excel; + + +import cn.afterturn.easypoi.excel.export.styler.AbstractExcelExportStyler; +import cn.afterturn.easypoi.excel.export.styler.IExcelExportStyler; +import org.apache.poi.ss.usermodel.*; + + +/** + * desc:easypoi自定义表头颜色 + * + * @author: LiuJanJun + * @date: 2022/4/8 4:39 下午 + * @version: 1.0 + */ +public class EasyPoiExcelExportStylerImpl extends AbstractExcelExportStyler + implements IExcelExportStyler { + public EasyPoiExcelExportStylerImpl(Workbook workbook) { + super.createStyles(workbook); + } + + @Override + public CellStyle getTitleStyle(short color) { + CellStyle titleStyle = workbook.createCellStyle(); + Font font = this.workbook.createFont(); + // 字体加粗 + font.setBold(true); + font.setFontHeightInPoints((short) 12); + titleStyle.setFont(font); + //居中 + titleStyle.setAlignment(HorizontalAlignment.CENTER); + //垂直居中 + titleStyle.setVerticalAlignment(VerticalAlignment.CENTER); + //设置颜色 + titleStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex()); + titleStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); + titleStyle.setBorderRight(BorderStyle.THIN); + titleStyle.setBorderLeft(BorderStyle.THIN); + titleStyle.setBorderBottom(BorderStyle.THIN); + titleStyle.setBorderTop(BorderStyle.THIN); + titleStyle.setWrapText(true); + return titleStyle; + } + + @Override + public CellStyle getHeaderStyle(short color) { + CellStyle titleStyle = workbook.createCellStyle(); + Font font = workbook.createFont(); + font.setFontHeightInPoints((short) 12); + titleStyle.setFont(font); + titleStyle.setAlignment(HorizontalAlignment.CENTER); + titleStyle.setVerticalAlignment(VerticalAlignment.CENTER); + return null; + } + + /** + * desc:隔行样式 + * @param workbook + * @param isWarp + * @return + */ + @Override + public CellStyle stringNoneStyle(Workbook workbook, boolean isWarp) { + CellStyle style = workbook.createCellStyle(); + //style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setDataFormat(STRING_FORMAT); + if (isWarp) { + style.setWrapText(true); + } + + return style; + } + + /** + * desc:隔行样式 + * @param workbook + * @param isWarp + * @return + */ + @Override + public CellStyle stringSeptailStyle(Workbook workbook, boolean isWarp) { + CellStyle style = workbook.createCellStyle(); + //style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setDataFormat(STRING_FORMAT); + if (isWarp) { + style.setWrapText(true); + } + return style; + } + +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/excel/ExportMultiView.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/ExportMultiView.java similarity index 91% rename from epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/excel/ExportMultiView.java rename to epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/ExportMultiView.java index ff69b2c4b0..6169e83075 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/excel/ExportMultiView.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/ExportMultiView.java @@ -1,4 +1,4 @@ -package com.epmet.commons.tools.utils.excel; +package com.epmet.commons.tools.utils.poi.excel; import cn.afterturn.easypoi.excel.entity.ExportParams; import lombok.AllArgsConstructor; diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/FreezeAndFilter.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/FreezeAndFilter.java new file mode 100644 index 0000000000..6b5d5e55c5 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/FreezeAndFilter.java @@ -0,0 +1,46 @@ +package com.epmet.commons.tools.utils.poi.excel; + +/** + * desc:easyExcel 冻结标题 + * + * @author: LiuJanJun + * @date: 2022/4/11 10:27 上午 + * @version: 1.0 + */ + +import com.alibaba.excel.write.handler.SheetWriteHandler; +import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; +import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.util.CellRangeAddress; + + +public class FreezeAndFilter implements SheetWriteHandler { + + public int colSplit = 0, rowSplit = 1, leftmostColumn = 0, topRow = 1; + public String autoFilterRange = "1:1"; + private boolean isFilter; + + public FreezeAndFilter() { + + } + public FreezeAndFilter(boolean isFilter) { + this.isFilter = isFilter; + } + + @Override + public void beforeSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) { + + } + + @Override + public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) { + Sheet sheet = writeSheetHolder.getSheet(); + sheet.createFreezePane(colSplit, rowSplit, leftmostColumn, topRow); + //不让他筛选 + if (isFilter){ + sheet.setAutoFilter(CellRangeAddress.valueOf(autoFilterRange)); + } + } +} + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java index e55db49a65..cd77750bee 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java @@ -11,7 +11,7 @@ import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.ExcelUtils; -import com.epmet.commons.tools.utils.excel.ExportMultiView; +import com.epmet.commons.tools.utils.poi.excel.ExportMultiView; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.constant.OrgConstant; import com.epmet.dataaggre.dao.datastats.DataStatsDao; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java index 7b0b375207..b3ed2ab6d8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java @@ -12,6 +12,7 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.DefaultGroup; @@ -115,7 +116,7 @@ public class IcFollowUpRecordController { String today= DateUtils.format(new Date(),DateUtils.DATE_PATTERN_MMDD); String fileName = formDTO.getName().concat("随访记录").concat(today).concat(".xlsx"); excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcFollowUpRecordDTO.class).build(); - WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); PageData data = null; do { data = icFollowUpRecordService.page(formDTO); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index c03c2b50db..17502c65e0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -15,6 +15,7 @@ import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.*; +import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constants.ImportTaskConstants; import com.epmet.dto.IcNatDTO; @@ -288,7 +289,7 @@ public class IcNatController implements ResultDataResolver { excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListCommonExcelResultDTO.class).build(); } - WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); PageData data = null; do { data = icNucleinService.natList(formDTO); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index fbc82de26d..1f0a127b5f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -82,7 +82,6 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; -import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index f6b0df98cc..9bae2a9826 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -16,6 +16,7 @@ import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.*; +import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constant.IcResiUserConstant; import com.epmet.constants.ImportTaskConstants; @@ -203,7 +204,7 @@ public class IcTripReportRecordController implements ResultDataResolver { String today= DateUtils.format(new Date(),DateUtils.DATE_PATTERN_MMDD); String fileName = "行程上报信息".concat(today); excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcTripReportRecordDTO.class).build(); - WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); PageData data = null; do { data = icTripReportRecordService.page(formDTO); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 2f02950d92..297c30ae15 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -15,6 +15,7 @@ import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.*; +import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constants.ImportTaskConstants; import com.epmet.dto.form.ImportTaskCommonFormDTO; @@ -199,7 +200,7 @@ public class IcVaccineController implements ResultDataResolver { excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcVaccineListCommonExcelResultDTO.class).build(); } - WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); PageData data = null; do { data = icVaccineService.icVaccineList(formDTO); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java index 78d860fe7e..c3ba03acb8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java @@ -42,6 +42,7 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.YuShanSysApiService; +import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; import com.epmet.constant.SystemMessageType; import com.epmet.dao.PatrolRoutineWorkDao; import com.epmet.dao.StatsStaffPatrolRecordDailyDao; @@ -224,7 +225,7 @@ public class PatrolRoutineWorkServiceImpl extends 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 Date: Mon, 11 Apr 2022 14:23:08 +0800 Subject: [PATCH 71/83] =?UTF-8?q?=E5=BF=BD=E7=95=A5=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/result/IcVaccineListResultDTO.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java index 3bd51e39eb..87480268cf 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java @@ -25,9 +25,9 @@ public class IcVaccineListResultDTO implements Serializable { */ @ExcelIgnore private String agencyId; - + @ExcelIgnore private String vaccineId; - + @ExcelIgnore private String userId; /** From a18376cc333c2d8829a41c06562ce6cb1b73213d Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 11 Apr 2022 14:25:27 +0800 Subject: [PATCH 72/83] =?UTF-8?q?=E9=95=BF=E5=BA=A6=E5=A2=9E=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/IcTripReportRecordDTO.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java index 47d23549da..19c09dc284 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java @@ -212,7 +212,7 @@ public class IcTripReportRecordDTO implements Serializable { @ExcelIgnore private Boolean heSuanCheck; - @ColumnWidth(20) + @ColumnWidth(25) @ExcelProperty("核算检测关注名单") private String heSuanCheckDesc; -} \ No newline at end of file +} From 757eb8dbca4ad66a3d7c3dcac4b907ee009c2cc7 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 11 Apr 2022 14:27:27 +0800 Subject: [PATCH 73/83] =?UTF-8?q?=E5=8E=BB=E6=8E=89=20=E9=AB=98=E5=BA=A6?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java index d75b510bec..378ea5a725 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java @@ -57,7 +57,7 @@ public class ExcelUtils { Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, list); Sheet sheet1 = workbook.getSheetAt(0); sheet1.setDefaultColumnWidth(50*256); - sheet1.setDefaultRowHeight((short)(2*256)); + //sheet1.setDefaultRowHeight((short)(2*256)); ServletOutputStream out = ExcelUtils.getOutputStreamForExcel(fileName,response); workbook.write(out); out.flush(); From 34ad4fd2e96bcbe6690f45008aa89a201facd741 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 11 Apr 2022 14:36:14 +0800 Subject: [PATCH 74/83] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E9=87=8C=20=E7=9A=84=E9=BB=91=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/attention_nat_template.xlsx | Bin 8697 -> 8729 bytes .../excel/attention_vaccination_template.xlsx | Bin 8693 -> 8716 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/attention_nat_template.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/attention_nat_template.xlsx index 83a0c648b3dac35ee8ef6d64b91d12adde300a18..e41ebaf0a701ebbf335adc241c29cd48721ec35c 100644 GIT binary patch delta 4437 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 N96$)*Uo-!m{1;ooA3gv8 delta 4434 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 delta 4397 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 From 670f5ba7d1115997350451968826131caa2b98d6 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 11 Apr 2022 14:47:41 +0800 Subject: [PATCH 75/83] mingzi bug --- .../src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java index 378ea5a725..bd5c5597c0 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java @@ -86,7 +86,7 @@ public class ExcelUtils { public static ServletOutputStream getOutputStreamForExcel(String fileName, HttpServletResponse response) throws IOException { fileName = URLEncoder.encode(fileName, "UTF-8"); - if (!fileName.endsWith(".xls") ||!fileName.endsWith(".xlsx")){ + if (!fileName.endsWith(".xls") && !fileName.endsWith(".xlsx")){ fileName = fileName + ".xlsx"; } response.setContentType("application/vnd.ms-excel"); From 43748ea1f4061c7106cf2177d92349d699477887 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 11 Apr 2022 16:01:04 +0800 Subject: [PATCH 76/83] =?UTF-8?q?=E6=88=BF=E5=B1=8B=E5=B7=A6=E4=BE=A7?= =?UTF-8?q?=E6=A0=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/BuildingService.java | 3 +- .../service/impl/BuildingServiceImpl.java | 35 +++++++++---------- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/BuildingService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/BuildingService.java index 0ba2aeb492..81a9f10390 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/BuildingService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/BuildingService.java @@ -27,7 +27,6 @@ import com.epmet.dto.result.BuildingResultPagedDTO; import com.epmet.dto.result.IcNeighborHoodResultDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.excel.IcBuildingExcel; -import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -57,7 +56,7 @@ public interface BuildingService { void addBuilding(String customerId, IcBulidingFormDTO formDTO); - List treeList(String customerId); + List treeList(String customerId, String staffId); List importExcel(String customerId, List list, String staffId, List numList); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java index 28baadf38f..04670fde28 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java @@ -13,45 +13,37 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; -import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; -import com.epmet.constant.ImportErrorMsgConstants; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.*; import com.epmet.dto.BuildingTreeLevelDTO; -import com.epmet.dto.CustomerStaffAgencyDTO; import com.epmet.dto.IcBuildingDTO; import com.epmet.dto.form.IcBulidingFormDTO; import com.epmet.dto.form.ImportInfoFormDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.form.ListIcNeighborHoodFormDTO; -import com.epmet.dto.result.*; +import com.epmet.dto.result.BuildingResultDTO; +import com.epmet.dto.result.BuildingResultPagedDTO; +import com.epmet.dto.result.IcNeighborHoodResultDTO; +import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.entity.*; import com.epmet.enums.BuildingTypeEnums; import com.epmet.excel.IcBuildingExcel; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.model.BuildingInfoModel; -import com.epmet.model.HouseInfoModel; import com.epmet.model.ImportBuildingInfoListener; import com.epmet.redis.IcHouseRedis; import com.epmet.service.*; -import com.epmet.service.BuildingService; -import com.epmet.service.IcBuildingService; -import com.epmet.service.IcBuildingUnitService; -import com.epmet.service.IcHouseService; import com.epmet.util.ExcelPoiUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Async; -import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; @@ -128,8 +120,8 @@ public class BuildingServiceImpl implements BuildingService { } @Override - public List treeList(String staffId) { - CustomerStaffAgencyDTO agency = customerStaffAgencyDao.selectLatestCustomerByStaff(staffId); + public List treeList(String customerId, String staffId) { + CustomerStaffInfoCacheResult agency = CustomerStaffRedis.getStaffInfo(customerId, staffId); if(null == agency || StringUtils.isBlank(agency.getAgencyId())){ log.error("com.epmet.service.impl.BuildingServiceImpl.treeList,没有找到工作人员所属的机关信息,用户Id:{}",staffId); return new ArrayList<>(); @@ -163,7 +155,7 @@ public class BuildingServiceImpl implements BuildingService { //2.获取组织所在网格 - List agencyIdList = customerAgencyList.stream().map(a->a.getId()).collect(Collectors.toList()); + List agencyIdList = customerAgencyList.stream().map(BaseEpmetEntity::getId).collect(Collectors.toList()); // agencyIdList.add(customerAgency.getId()); List customerGridList = customerGridDao.selectList(new QueryWrapper().lambda().in(CustomerGridEntity::getPid, agencyIdList)); @@ -222,8 +214,12 @@ public class BuildingServiceImpl implements BuildingService { agencyList.addAll(neighbourHoodList); return covertToTree(customerAgency,agencyList); } + //获取楼里已经有多少个房屋 + LambdaQueryWrapper icHouseEntityWrapper = new QueryWrapper().lambda() + .in(IcHouseEntity::getNeighborHoodId, neighborHoodIdList); + List buildingHouseCount = icHouseDao.selectList(icHouseEntityWrapper); + Map buildingHouseCountMap = buildingHouseCount.stream().collect(Collectors.groupingBy(IcHouseEntity::getBuildingId, Collectors.counting())); //组合封装 - List buildingList = icBuildingList.stream().map(item -> { BuildingTreeLevelDTO buildingTreeLevelDTO = new BuildingTreeLevelDTO(); buildingTreeLevelDTO.setId(item.getId()); @@ -246,9 +242,10 @@ public class BuildingServiceImpl implements BuildingService { //02.11 之前录入的户数概念改为总户数,无需计算直接用就可以了 Integer total = null == item.getTotalHouseNum() ? NumConstant.ZERO : item.getTotalHouseNum(); //已经添加了多少户 - LambdaQueryWrapper icHouseEntityWrapper = new QueryWrapper().lambda() - .in(IcHouseEntity::getBuildingId, item.getId()); - int count= icHouseDao.selectCount(icHouseEntityWrapper); +// LambdaQueryWrapper icHouseEntityWrapper = new QueryWrapper().lambda() +// .in(IcHouseEntity::getBuildingId, item.getId()); +// int count= icHouseDao.selectCount(icHouseEntityWrapper); + int count = buildingHouseCountMap.getOrDefault(item.getId(), NumConstant.ZERO_L).intValue(); if(NumConstant.ZERO==total){ buildingTreeLevelDTO.setShowNum(String.format("%s/%s",count,count)); }else{ From c9eeb4601c87c655fa72c8d275771c7dccdc630c Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 11 Apr 2022 16:07:00 +0800 Subject: [PATCH 77/83] =?UTF-8?q?=E6=88=BF=E5=B1=8B=E5=B7=A6=E4=BE=A7?= =?UTF-8?q?=E6=A0=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/controller/BuildingController.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java index 394448e623..fca09fe069 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java @@ -29,7 +29,6 @@ import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.constant.ImportErrorMsgConstants; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcBuildingUnitDao; import com.epmet.dto.BuildingTreeLevelDTO; @@ -42,8 +41,6 @@ import com.epmet.entity.IcBuildingUnitEntity; import com.epmet.excel.IcBuildingExcel; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.BuildingService; -import com.epmet.service.IcBuildingService; -import com.epmet.service.NeighborHoodService; import com.epmet.util.ExcelPoiUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -118,7 +115,7 @@ public class BuildingController { @PostMapping("treelist") public Result treeList(@LoginUser TokenDto tokenDTO){ - List buildingTreeLevelDTOS =buildingService.treeList(tokenDTO.getUserId()); + List buildingTreeLevelDTOS =buildingService.treeList(tokenDTO.getCustomerId(), tokenDTO.getUserId()); return new Result().ok(buildingTreeLevelDTOS); } /** From 5988f83f7a59f1d3d7b0799add3264296e7441a1 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 11 Apr 2022 17:33:42 +0800 Subject: [PATCH 78/83] =?UTF-8?q?=20=E8=AF=B7=E6=B1=82=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/controller/BackDoorController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/BackDoorController.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/BackDoorController.java index 047ae55ce6..f5f762838b 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/BackDoorController.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/BackDoorController.java @@ -44,7 +44,8 @@ public class BackDoorController { * @param customerId * @return */ - @GetMapping(value = "initpointrule") + //@GetMapping(value = "initpointrule") + @RequestMapping(value = "initpointrule", method = {RequestMethod.POST, RequestMethod.GET}) public Result initPointRule(@RequestParam(required = false) String customerId) { InitPointRuleResultDTO resultDTO = pointRuleService.initPointRule(customerId); return new Result().ok(resultDTO); From 3be65b0ff8f02cf76692df23961426c893598988 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 11 Apr 2022 20:18:04 +0800 Subject: [PATCH 79/83] =?UTF-8?q?=E5=B1=85=E6=B0=91=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=EF=BC=8C=E5=A2=9E=E5=8A=A0=E4=BA=86OfficeXml?= =?UTF-8?q?FileException=E5=BC=82=E5=B8=B8=E7=9A=84=E5=88=A4=E6=96=AD?= =?UTF-8?q?=EF=BC=8C=E4=BB=A5=E9=98=B2=E6=9C=89=E7=94=A8=E6=88=B7=E4=B9=B1?= =?UTF-8?q?=E6=94=B9=E5=90=8E=E7=BC=80=E5=90=8D=E5=AF=BC=E8=87=B4excel?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/IcResiUserController.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 1f0a127b5f..0bfc2fa442 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -63,6 +63,7 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.poifs.filesystem.OfficeXmlFileException; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; @@ -476,8 +477,15 @@ public class IcResiUserController implements ResultDataResolver { String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e); log.error("【导入居民信息失败】导入失败:{}", errorMsg); + String resultDesc; + if (e instanceof OfficeXmlFileException) { + resultDesc = "文件格式异常,请确保使用下载的模板文件"; + } else { + resultDesc = "系统异常,请查看系统日志"; + } + // 要将导入任务状态设置为结束但不成功。不报错即成功,没有返回值 - icResiUserImportService.finishImportTask(importTaskId, operatorId, ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL, "系统异常,请查看系统日志", null); + icResiUserImportService.finishImportTask(importTaskId, operatorId, ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL, resultDesc, null); } finally { try { if (importTempFileSavePath != null){ From 540692c2c84beb3c7d56b46749349fb187027adb Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 12 Apr 2022 12:50:17 +0800 Subject: [PATCH 80/83] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E5=B1=85?= =?UTF-8?q?=E6=B0=91=E4=BF=A1=E6=81=AF=E5=AF=BC=E5=85=A5=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=20=E4=BF=AE=E6=94=B9=EF=BC=9A=E5=B1=85?= =?UTF-8?q?=E6=B0=91=E4=BF=A1=E6=81=AF=E5=AF=BC=E5=85=A5=EF=BC=8C=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E6=9C=AA=E5=85=A8=E6=88=90=E5=8A=9F=EF=BC=8C=E9=82=A3?= =?UTF-8?q?=E4=B9=88=E4=BF=9D=E7=95=99=E4=B8=B4=E6=97=B6=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E7=9A=84=E9=82=A3=E4=B8=AAexcel=E6=96=87=E4=BB=B6=EF=BC=8C?= =?UTF-8?q?=E4=BE=9B=E6=8E=92=E6=9F=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/IcResiUserController.java | 53 +++++++++--------- .../service/IcResiUserImportService.java | 2 +- .../impl/IcResiUserImportServiceImpl.java | 9 ++- ..._excel.xls => ic_resi_import_template.xls} | Bin 4 files changed, 35 insertions(+), 29 deletions(-) rename epmet-user/epmet-user-server/src/main/resources/excel/{ic_resi_info_import_cid_for_easy_excel.xls => ic_resi_import_template.xls} (100%) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 0bfc2fa442..f054e77608 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -72,6 +72,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; @@ -135,7 +136,7 @@ public class IcResiUserController implements ResultDataResolver { * 模板枚举 */ public enum IcUserTemplateEnums { - IC_RESI_IMPORT_TEMPLATE("excel/ic_resi_info_import_cid_for_easy_excel.xls", "居民信息导入模板.xls"), + IC_RESI_IMPORT_TEMPLATE("excel/ic_resi_import_template.xls", "居民信息导入模板.xls"), IC_RESI_EXPORT_TEMPLATE("excel/ic_resi_info_cid_for_easy_excel.xlsx", "居民信息导出模板.xlsx"); private String pathInApp; @@ -157,18 +158,13 @@ public class IcResiUserController implements ResultDataResolver { { // 初始化上传目录 - String home = System.getProperty("user.home"); - Path importDir = Paths.get(home, "epmet_files", "ic_user_import"); - if (Files.notExists(importDir)) { - try { - Files.createDirectories(importDir); - } catch (IOException e) { - log.error("创建数字赋能平台上传目录失败"); - } + try { + IC_RESI_UPLOAD_DIR = com.epmet.commons.tools.utils.FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_user_import"); + } catch (IOException e) { + log.error("初始化居民信息上传目录失败:{}", ExceptionUtils.getErrorStackTrace(e)); } - IC_RESI_UPLOAD_DIR = importDir; - Path exportDir = Paths.get(home, "epmet_files", "ic_user_export"); + Path exportDir = Paths.get(System.getProperty("user.home"), "epmet_files", "ic_user_export"); if (Files.notExists(exportDir)) { try { Files.createDirectories(exportDir); @@ -469,10 +465,10 @@ public class IcResiUserController implements ResultDataResolver { // 三.异步执行导入 executorService.execute(() -> { - + boolean isAllSuccess = false; try { List formItemList = icResiUserService.listFormItems(customerId,IcFormCodeEnum.RESI_BASE_INFO.getCode()); - icResiUserImportService.importIcResiInfoFromExcel(importTaskId, formItemList, importTempFileSavePath.toString(), response, IC_RESI_UPLOAD_DIR); + isAllSuccess = icResiUserImportService.importIcResiInfoFromExcel(importTaskId, formItemList, importTempFileSavePath.toString(), response, IC_RESI_UPLOAD_DIR); } catch (Throwable e) { String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e); log.error("【导入居民信息失败】导入失败:{}", errorMsg); @@ -488,8 +484,13 @@ public class IcResiUserController implements ResultDataResolver { icResiUserImportService.finishImportTask(importTaskId, operatorId, ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL, resultDesc, null); } finally { try { + // 都导入成功了没问题,才删除 if (importTempFileSavePath != null){ - Files.delete(importTempFileSavePath); + if (isAllSuccess) { + Files.delete(importTempFileSavePath); + } else { + log.error("【导入居民信息】未完全成功,上传文件:{}", importTempFileSavePath); + } } } catch (IOException e) { log.error("【导入居民信息失败】清理上传的文件失败:{}", ExceptionUtils.getErrorStackTrace(e)); @@ -585,28 +586,30 @@ public class IcResiUserController implements ResultDataResolver { /** * 下载ic居民信息导入excel模板 - * @param loginUserInfo * @return */ @PostMapping("import/download-template") - public ResponseEntity downloadIcResiDownloadTemplate(@LoginUser TokenDto loginUserInfo) { - String customerId = loginUserInfo.getCustomerId(); - + public void downloadIcResiDownloadTemplate(HttpServletResponse response) { + InputStream is = null; + ServletOutputStream os = null; try { - File icResiImportTemplateFile = getIcResiTemplateFile(customerId, IcUserTemplateEnums.IC_RESI_IMPORT_TEMPLATE); + os = response.getOutputStream(); + + is = this.getClass().getClassLoader().getResourceAsStream(IcUserTemplateEnums.IC_RESI_IMPORT_TEMPLATE.getPathInApp()); - HttpHeaders headers = new HttpHeaders(); - headers.add("Access-Control-Expose-Headers", "Content-Disposition"); - headers.add("content-Type", "application/vnd.ms-excel"); - headers.add("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(IcUserTemplateEnums.IC_RESI_IMPORT_TEMPLATE.getTemplateName(), "UTF-8")); + response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); + response.setHeader("content-Type", "application/vnd.ms-excel"); + response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(IcUserTemplateEnums.IC_RESI_IMPORT_TEMPLATE.getTemplateName(), "UTF-8")); - return new ResponseEntity<>(FileUtil.readBytes(icResiImportTemplateFile), headers, HttpStatus.OK); + IOUtils.copy(is, os); } catch (Exception e) { String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); - log.error("下载IC居民信息导入模板失败:{}", errorStackTrace); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "下载IC居民信息导入模板失败"); + } finally { + org.apache.poi.util.IOUtils.closeQuietly(is); + org.apache.poi.util.IOUtils.closeQuietly(os); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserImportService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserImportService.java index 05fb431c32..f3451f3e13 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserImportService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserImportService.java @@ -13,7 +13,7 @@ import java.util.List; */ public interface IcResiUserImportService { - void importIcResiInfoFromExcel(String importTaskId, List formItemList, String excelPathName, HttpServletResponse response, Path importTempPath); + boolean importIcResiInfoFromExcel(String importTaskId, List formItemList, String excelPathName, HttpServletResponse response, Path importTempPath); /** * 创建导入任务 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index 44a6ee7a63..f17c6ad2d4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java @@ -13,7 +13,6 @@ import com.epmet.bean.ResiImportChangedData; import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.StrConstant; -import com.epmet.commons.tools.constant.ThreadLocalConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -24,7 +23,6 @@ import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; -import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.EpmetRequestHolder; import com.epmet.commons.tools.utils.Result; @@ -211,9 +209,11 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res * @param formItemList item列表 * @param excelPathName excel缓存路径 * @param response 响应对象 + * @return */ @Override - public void importIcResiInfoFromExcel(String importTaskId, List formItemList, String excelPathName, HttpServletResponse response, Path importTempPath) { + public boolean importIcResiInfoFromExcel(String importTaskId, List formItemList, String excelPathName, HttpServletResponse response, Path importTempPath) { + boolean isAllSuccess = false; String app = EpmetRequestHolder.getHeader(AppClientConstant.APP); String client = EpmetRequestHolder.getHeader(AppClientConstant.CLIENT); @@ -276,6 +276,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res } finishImportTask(importTaskId, loginUserId, ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL,null, resultDescFilePath); } else { + isAllSuccess = true; finishImportTask(importTaskId, loginUserId, ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS,null, null); } @@ -298,6 +299,8 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res resiCategoryColumnNameAndLabel.remove(); itemIdAndOptionsCache.invalidateAll(); } + + return isAllSuccess; } /** diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_import_cid_for_easy_excel.xls b/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_import_template.xls similarity index 100% rename from epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_import_cid_for_easy_excel.xls rename to epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_import_template.xls From 83226ebd048f9eb8cd0e604ad3dd3215b632ad88 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 12 Apr 2022 15:46:31 +0800 Subject: [PATCH 81/83] =?UTF-8?q?=E5=B1=85=E6=B0=91=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=EF=BC=9Aidcard=E4=B8=BA=E7=A9=BA=EF=BC=8C=E5=AF=BC=E8=87=B4sel?= =?UTF-8?q?ectOne=20return=20many?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IcResiUserImportServiceImpl.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index f17c6ad2d4..722fb93cd2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java @@ -539,10 +539,18 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res private void specifiedCheck(LinkedHashMap columnAndValues) { String idCard = columnAndValues.get("ID_CARD"); String mobile = columnAndValues.get("MOBILE"); + String name = columnAndValues.get("NAME"); List errors = new ArrayList<>(); - if (StringUtils.isNotBlank(idCard) && idCard.length() > 18) { + if (StringUtils.isBlank(idCard)) { + log.debug("【居民信息导入】specifiedCheck身份证号为空的:{},{}", mobile, name); + + String errorMsg = "身份证号不能为空"; + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); + } + + if (idCard.length() > 18) { // 身份证号超长了哦,不可以的 errors.add("身份证号过长"); } @@ -573,9 +581,6 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res LinkedHashMap columnAndValues = new LinkedHashMap<>(); - String loginUserApp = EpmetRequestHolder.getHeader(AppClientConstant.APP); - String loginUserClient = EpmetRequestHolder.getHeader(AppClientConstant.CLIENT); - String loginUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID.toLowerCase()); String loginUserCustomerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID.toLowerCase()); // 遍历每一行,将行内容转化为 From 5e0ae7d48361fbf3063f4898e8a21d4f4fdb9843 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 12 Apr 2022 18:30:45 +0800 Subject: [PATCH 82/83] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?= =?UTF-8?q?=E6=9F=A5=E5=9C=A8=E7=BA=BF=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/redis/RedisKeys.java | 14 ++++ .../java/com/epmet/OpenDataApplication.java | 3 +- .../opendata/dao/GriderOnlineNumDao.java | 33 +++++++++ .../entity/GriderOnlineNumEntity.java | 61 ++++++++++++++++ .../service/GriderOnlineNumService.java | 38 ++++++++++ .../impl/GriderOnlineNumServiceImpl.java | 69 ++++++++++++++++++ .../task/ExtractBizDataToOpenData.java | 71 +++++++++++++++++++ .../V0.0.1__add_grider_online_num.sql | 13 ++++ .../resources/mapper/GriderOnlineNumDao.xml | 6 ++ 9 files changed, 307 insertions(+), 1 deletion(-) create mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/GriderOnlineNumDao.java create mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/GriderOnlineNumEntity.java create mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/GriderOnlineNumService.java create mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/GriderOnlineNumServiceImpl.java create mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/task/ExtractBizDataToOpenData.java create mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/resources/db/migration/V0.0.1__add_grider_online_num.sql create mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/GriderOnlineNumDao.xml diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 04db67cfed..05e5c200a4 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -10,6 +10,8 @@ package com.epmet.commons.tools.redis; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.utils.DateUtils; import org.apache.commons.lang3.StringUtils; @@ -763,4 +765,16 @@ public class RedisKeys { public static String getNextAreaCodeKey(String areaCode) { return rootPrefix.concat("areaCode:parentCode:").concat(areaCode); } + + /** + * desc:获取分布式锁key + * @param methodName + * @return + */ + public static String getLockByMethodName(String methodName) { + if (StringUtils.isBlank(methodName)){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"参数错误"); + } + return rootPrefix.concat("lock:").concat(methodName); + } } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/OpenDataApplication.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/OpenDataApplication.java index 532877cf4b..c786abb9ba 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/OpenDataApplication.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/OpenDataApplication.java @@ -5,7 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; -import org.springframework.context.annotation.ComponentScan; +import org.springframework.scheduling.annotation.EnableScheduling; /** * @Description OpenData服务启动类 @@ -14,6 +14,7 @@ import org.springframework.context.annotation.ComponentScan; * @author wxz * @date 2021.10.13 15:16:05 */ +@EnableScheduling @SpringBootApplication @EnableDiscoveryClient @EnableFeignClients diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/GriderOnlineNumDao.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/GriderOnlineNumDao.java new file mode 100644 index 0000000000..9f4080c054 --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/GriderOnlineNumDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.opendata.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.opendata.entity.GriderOnlineNumEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 在线网格员人数 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-14 + */ +@Mapper +public interface GriderOnlineNumDao extends BaseDao { + +} diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/GriderOnlineNumEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/GriderOnlineNumEntity.java new file mode 100644 index 0000000000..ca707865cf --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/GriderOnlineNumEntity.java @@ -0,0 +1,61 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.opendata.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 用户巡查主记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-14 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("grider_online_num") +public class GriderOnlineNumEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + private String qxGridId; + + /** + * 推送时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date pushTime; + + /** + * 在线数 + */ + private Integer onlineNum; + + + +} diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/GriderOnlineNumService.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/GriderOnlineNumService.java new file mode 100644 index 0000000000..55112c1d8d --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/GriderOnlineNumService.java @@ -0,0 +1,38 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.opendata.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.opendata.entity.GriderOnlineNumEntity; + +/** + * 用户巡查主记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-14 + */ +public interface GriderOnlineNumService extends BaseService { + + /** + * desc:插入巡查中的网格员数据 + * @return boolean + */ + Boolean insertData(String agencyId); + + +} diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/GriderOnlineNumServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/GriderOnlineNumServiceImpl.java new file mode 100644 index 0000000000..b024c1436e --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/GriderOnlineNumServiceImpl.java @@ -0,0 +1,69 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.opendata.service.impl; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.PatrolCountFormDTO; +import com.epmet.dto.result.PatrolCountResultDTO; +import com.epmet.feign.EpmetUserOpenFeignClient; +import com.epmet.opendata.dao.GriderOnlineNumDao; +import com.epmet.opendata.entity.GriderOnlineNumEntity; +import com.epmet.opendata.service.GriderOnlineNumService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; + + +/** + * 用户巡查主记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-14 + */ +@Slf4j +@Service +public class GriderOnlineNumServiceImpl extends BaseServiceImpl implements GriderOnlineNumService { +@Autowired +private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + @Override + public Boolean insertData(String agencyId) { + PatrolCountFormDTO param = new PatrolCountFormDTO(); + param.setAgencyId(agencyId); + Result patrolCountResult = epmetUserOpenFeignClient.patrolCount(param); + + log.debug("insertData patrolCountResult return:{}", JSON.toJSONString(patrolCountResult)); + if (patrolCountResult == null || !patrolCountResult.success()) { + log.warn("insertData patrolCount fail,return null"); + return false; + } + PatrolCountResultDTO data = patrolCountResult.getData(); + int count = data.getPatrollingCount() == null ? NumConstant.ZERO : data.getPatrollingCount(); + GriderOnlineNumEntity entity = new GriderOnlineNumEntity(); + entity.setCustomerId(StrConstant.PY_CUSTOMER); + entity.setPushTime(new Date()); + entity.setOnlineNum(count); + baseDao.insert(entity); + return true; + } +} diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/task/ExtractBizDataToOpenData.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/task/ExtractBizDataToOpenData.java new file mode 100644 index 0000000000..ebcd5aa27d --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/task/ExtractBizDataToOpenData.java @@ -0,0 +1,71 @@ +package com.epmet.opendata.task; + +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.distributedlock.DistributedLock; +import com.epmet.commons.tools.redis.RedisKeys; +import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.opendata.service.GriderOnlineNumService; +import lombok.extern.slf4j.Slf4j; +import org.redisson.api.RLock; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.Date; + +/** + * desc: + * + * @author: LiuJanJun + * @date: 2022/4/12 4:21 下午 + * @version: 1.0 + */ +@Slf4j +@Component +public class ExtractBizDataToOpenData { + + @Autowired + private DistributedLock distributedLock; + + @Autowired + private GriderOnlineNumService griderOnlineNumService; + + @Scheduled(cron = "0 30 */2 * * *") + //@Scheduled(cron = "0/15 * * * * *") + public void extractGridMemberPatrollingCount() { + String currentTime = DateUtils.format(new Date(), DateUtils.DATE_TIME_PATTERN); + log.info("extractGridMemberPatrollingCount start,date:{}", currentTime); + RLock rLock = null; + try { + rLock = distributedLock.tryLock(RedisKeys.getLockByMethodName("extractGridMemberPatrollingCount")); + if (rLock == null || !rLock.isLocked()) { + log.warn("tryLock method extractGridMemberPatrollingCount fail"); + return; + } + boolean patrolCountResult; + int retryTime = NumConstant.THREE; + do { + //StrConstant.PY_ROOT_AGENCY + patrolCountResult = griderOnlineNumService.insertData(StrConstant.PY_ROOT_AGENCY); + if (!patrolCountResult) { + break; + } + //如果 重试次数为1了 就让歇个 5分钟 + if (retryTime == 1) { + Thread.sleep(NumConstant.FIVE * NumConstant.SIXTY * NumConstant.ONE_THOUSAND); + } + } while (retryTime-- > 0); + if (!patrolCountResult) { + log.error("插入网格员在线人数失败,请检查原因,时间:{}", currentTime); + } + + } catch (Exception e) { + log.warn("tryLock method extractGridMemberPatrollingCount fail"); + } finally { + distributedLock.unLock(rLock); + } + log.info("extractGridMemberPatrollingCount end"); + } + +} diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/db/migration/V0.0.1__add_grider_online_num.sql b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/db/migration/V0.0.1__add_grider_online_num.sql new file mode 100644 index 0000000000..d4fd9ca93f --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/db/migration/V0.0.1__add_grider_online_num.sql @@ -0,0 +1,13 @@ +CREATE TABLE `grider_online_num` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `ONLINE_NUM` int(11) NOT NULL COMMENT '在线人数', + `PUSH_TIME` datetime NOT NULL COMMENT '推送时间', + `DEL_FLAG` bigint(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0.未删除 1.已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(64) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='网格员在线人数'; diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/GriderOnlineNumDao.xml b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/GriderOnlineNumDao.xml new file mode 100644 index 0000000000..27c636d525 --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/GriderOnlineNumDao.xml @@ -0,0 +1,6 @@ + + + + + + From 732300a19fca598021970c69b9eb3396c8e29b86 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 13 Apr 2022 16:04:05 +0800 Subject: [PATCH 83/83] =?UTF-8?q?=E7=95=A5=E5=BE=AE=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=88=BF=E5=B1=8B=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/model/ImportHouseInfoListener.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java index c9144ef5ff..d3bd8dc768 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java @@ -228,6 +228,7 @@ public class ImportHouseInfoListener extends AnalysisEventListener