From 5ecc91771f98f29c81a4444862793d7cf1b96e1a Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 21 Apr 2023 09:51:15 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=EF=BC=9A=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E7=89=B9=E6=AE=8A=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF=E3=80=82?= =?UTF-8?q?2.=E5=B0=86=E5=88=9B=E5=BB=BA=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E4=BF=9D=E5=AD=98=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E5=90=8C=E6=97=B6=E6=94=AF=E6=8C=81=E5=88=9B=E5=BB=BA=E5=92=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LingShanSpecialCrowdController.java | 44 +++++++++++++---- .../LingshanSpecialCrowdDetailAzbjDao.java | 2 + .../LingshanSpecialCrowdDetailJdryDao.java | 1 + .../LingshanSpecialCrowdDetailJzhzDao.java | 1 + .../LingshanSpecialCrowdDetailSqjzDao.java | 1 + .../LingshanSpecialCrowdDetailXfryDao.java | 1 + .../dao/LingshanSpecialCrowdPersonDao.java | 2 + .../LingshanSpecialCrowdPersonTypeDao.java | 3 ++ .../service/LingShanSpecialCrowdService.java | 2 + .../impl/LingShanSpecialCrowdServiceImpl.java | 47 ++++++++++++++++--- .../LingshanSpecialCrowdDetailAzbjDao.xml | 3 ++ .../LingshanSpecialCrowdDetailJdryDao.xml | 3 ++ .../LingshanSpecialCrowdDetailJzhzDao.xml | 3 ++ .../LingshanSpecialCrowdDetailSqjzDao.xml | 3 ++ .../LingshanSpecialCrowdDetailXfryDao.xml | 3 ++ .../mapper/LingshanSpecialCrowdPersonDao.xml | 3 ++ .../LingshanSpecialCrowdPersonTypeDao.xml | 3 ++ 17 files changed, 109 insertions(+), 16 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/LingShanSpecialCrowdController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/LingShanSpecialCrowdController.java index 250933a622..c09f16214d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/LingShanSpecialCrowdController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/LingShanSpecialCrowdController.java @@ -3,6 +3,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.MaskResponse; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ValidateException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.FileUtils; @@ -13,6 +14,7 @@ import com.epmet.excel.data.*; import com.epmet.service.LingShanSpecialCrowdService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -23,6 +25,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Date; import java.util.List; +import java.util.Map; /** * @description: 灵山社会维稳(特殊人群) @@ -104,40 +107,40 @@ public class LingShanSpecialCrowdController { * @author: WangXianZhang * @date: 2023/4/20 2:50 PM */ - @PostMapping("anzhibangjiao/create") - public Result createSpecialCrowd(@RequestBody LingShanSpecialCrowdDetailAzbjExcelData azbjData) { + @PostMapping("anzhibangjiao/save") + public Result saveSpecialCrowd(@RequestBody LingShanSpecialCrowdDetailAzbjExcelData azbjData) { ValidatorUtils.validateEntity(azbjData); lingShanSpecialCrowdService.createSpecialCrowd(azbjData, "anzhibangjiao"); return new Result(); } - @PostMapping("xidurenyuan/create") - public Result createSpecialCrowd(@RequestBody LingshanSpecialCrowdDetailJdryExcelData jdryData) { + @PostMapping("xidurenyuan/save") + public Result saveSpecialCrowd(@RequestBody LingshanSpecialCrowdDetailJdryExcelData jdryData) { ValidatorUtils.validateEntity(jdryData); lingShanSpecialCrowdService.createSpecialCrowd(jdryData, "xidurenyuan"); return new Result(); } - @PostMapping("jingzhanhuanzhe/create") - public Result createSpecialCrowd(@RequestBody LingshanSpecialCrowdDetailJzhzExcelData jzhzData) { + @PostMapping("jingzhanhuanzhe/save") + public Result saveSpecialCrowd(@RequestBody LingshanSpecialCrowdDetailJzhzExcelData jzhzData) { ValidatorUtils.validateEntity(jzhzData); lingShanSpecialCrowdService.createSpecialCrowd(jzhzData, "jingzhanhuanzhe"); return new Result(); } - @PostMapping("shequjiaozheng/create") - public Result createSpecialCrowd(@RequestBody LingshanSpecialCrowdDetailSqjzExcelData sqjzData) { + @PostMapping("shequjiaozheng/save") + public Result saveSpecialCrowd(@RequestBody LingshanSpecialCrowdDetailSqjzExcelData sqjzData) { ValidatorUtils.validateEntity(sqjzData); lingShanSpecialCrowdService.createSpecialCrowd(sqjzData, "shequjiaozheng"); return new Result(); } - @PostMapping("xinfangrenyuan/create") - public Result createSpecialCrowd(@RequestBody LingshanSpecialCrowdDetailXfryExcelData xfryData) { + @PostMapping("xinfangrenyuan/save") + public Result saveSpecialCrowd(@RequestBody LingshanSpecialCrowdDetailXfryExcelData xfryData) { ValidatorUtils.validateEntity(xfryData); lingShanSpecialCrowdService.createSpecialCrowd(xfryData, "xinfangrenyuan"); @@ -190,5 +193,26 @@ public class LingShanSpecialCrowdController { return new Result>().ok(pd); } + // 修改 todo + + /** + * @description: 删除 + * @param params: + * @return + * @author: WangXianZhang + * @date: 2023/4/21 9:40 AM + */ + @PostMapping("deleteByType") + public Result deleteByType(@RequestBody Map params) { + String specialType = params.get("specialType"); + String idCard = params.get("idCard"); + + if (StringUtils.isAnyBlank(specialType, idCard)) { + throw new ValidateException("特殊人群类型或身份证不能为空"); + } + + lingShanSpecialCrowdService.deleteByType(specialType, idCard); + return new Result(); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailAzbjDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailAzbjDao.java index 867b812be2..64e914b7ca 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailAzbjDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailAzbjDao.java @@ -17,4 +17,6 @@ import java.util.List; public interface LingshanSpecialCrowdDetailAzbjDao extends BaseDao { void saveBatchManually(@Param("asbjList") List l); + + void deletePhysical(@Param("idCard") String idCard); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailJdryDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailJdryDao.java index 46419693c3..488a75c7ec 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailJdryDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailJdryDao.java @@ -17,4 +17,5 @@ import java.util.List; public interface LingshanSpecialCrowdDetailJdryDao extends BaseDao { void saveBatchManually(@Param("list") List l); + void deletePhysical(@Param("idCard") String idCard); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailJzhzDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailJzhzDao.java index 727b1f3e07..1337bdfe5d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailJzhzDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailJzhzDao.java @@ -17,4 +17,5 @@ import java.util.List; public interface LingshanSpecialCrowdDetailJzhzDao extends BaseDao { void saveBatchManually(@Param("list") List l); + void deletePhysical(@Param("idCard") String idCard); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailSqjzDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailSqjzDao.java index 331aa3a227..ff36f2d88e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailSqjzDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailSqjzDao.java @@ -17,4 +17,5 @@ import java.util.List; public interface LingshanSpecialCrowdDetailSqjzDao extends BaseDao { void saveBatchManually(@Param("list") List l); + void deletePhysical(@Param("idCard") String idCard); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailXfryDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailXfryDao.java index e3e3ef3527..f118886bcc 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailXfryDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdDetailXfryDao.java @@ -17,4 +17,5 @@ import java.util.List; public interface LingshanSpecialCrowdDetailXfryDao extends BaseDao { void saveBatchManually(@Param("list") List l); + void deletePhysical(@Param("idCard") String idCard); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdPersonDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdPersonDao.java index 5c048ed7fb..46d27f818c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdPersonDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdPersonDao.java @@ -18,4 +18,6 @@ import java.util.List; public interface LingshanSpecialCrowdPersonDao extends BaseDao { void saveOrUpdateManually(@Param("list") List list); + + void deletePhysical(@Param("idCard") String idCard); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdPersonTypeDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdPersonTypeDao.java index 507a766cf6..28ff3ca03c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdPersonTypeDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/LingshanSpecialCrowdPersonTypeDao.java @@ -1,5 +1,6 @@ package com.epmet.dao; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.result.LingShanSpecialCrowdListResultDTO; import com.epmet.entity.LingshanSpecialCrowdPersonTypeEntity; @@ -25,4 +26,6 @@ public interface LingshanSpecialCrowdPersonTypeDao extends BaseDao listSpecialCrowds(String orgId, String orgType, String specialType, String name, String mobile, String idCard, Integer pageNo, Integer pageSize); + + void deleteByType(String specialType, String idCard); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/LingShanSpecialCrowdServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/LingShanSpecialCrowdServiceImpl.java index 10597262e7..e0c484a97e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/LingShanSpecialCrowdServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/LingShanSpecialCrowdServiceImpl.java @@ -43,6 +43,7 @@ import com.epmet.service.LingShanSpecialCrowdService; import com.epmet.utils.ImportTaskUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.github.pagehelper.dialect.helper.SqlServer2012Dialect; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; @@ -52,6 +53,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.http.entity.ContentType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.commons.CommonsMultipartFile; import java.io.IOException; @@ -310,6 +312,12 @@ public class LingShanSpecialCrowdServiceImpl implements LingShanSpecialCrowdServ @Override public void createSpecialCrowd(LingShanSpecialCrowdDetailBaseExcelData specialData, String specialType) { + // 检查 + String validateRst = validate(specialData); + if (StringUtils.isNotBlank(validateRst)) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), null, validateRst); + } + String customerId = EpmetRequestHolder.getLoginUserCustomerId(); String staffId = EpmetRequestHolder.getLoginUserId(); CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, staffId); @@ -317,12 +325,6 @@ public class LingShanSpecialCrowdServiceImpl implements LingShanSpecialCrowdServ Date now = new Date(); - // 检查 - String validateRst = validate(specialData); - if (StringUtils.isNotBlank(validateRst)) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), null, validateRst); - } - // 保存人员和类型信息 LingshanSpecialCrowdPersonEntity person = new LingshanSpecialCrowdPersonEntity(IdWorker.getIdStr(), customerId, orgIdPath, specialData.getName(), specialData.getIdCard(), "0", 0, now, staffId, now, staffId); @@ -499,4 +501,37 @@ public class LingShanSpecialCrowdServiceImpl implements LingShanSpecialCrowdServ }); return new PageData<>(l, new PageInfo<>(l).getTotal()); } + + @Transactional + @Override + public void deleteByType(String specialType, String idCard) { + // 先删除type + specialCrowdPersonTypeDao.deletePhysical(specialType, idCard); + + // 再删除detail + switch (specialType) { + case "anzhibangjiao": + specialCrowdDetailAzbjDao.deletePhysical(idCard); + break; + case "xinfangrenyuan": + specialCrowdDetailXfryDao.deletePhysical(idCard); + break; + case "xidurenyuan": + specialCrowdDetailJdryDao.deletePhysical(idCard); + break; + case "shequjiaozheng": + specialCrowdDetailSqjzDao.deletePhysical(idCard); + break; + case "jingzhanghuanzhe": + specialCrowdDetailJzhzDao.deletePhysical(idCard); + break; + } + + LambdaQueryWrapper q = new LambdaQueryWrapper<>(); + q.eq(LingshanSpecialCrowdPersonTypeEntity::getIdCard, idCard); + if (specialCrowdPersonTypeDao.selectCount(q) == 0) { + // 没有type了,那就吧person也删了 + specialCrowdPersonDao.deletePhysical(idCard); + } + } } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailAzbjDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailAzbjDao.xml index 60a3bb3c17..35938055e8 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailAzbjDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailAzbjDao.xml @@ -52,6 +52,9 @@ , UPDATED_BY = values(UPDATED_BY) , UPDATED_TIME = values(UPDATED_TIME) + + delete from lingshan_special_crowd_detail_azbj where ID_CARD=#{idCard} + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailJdryDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailJdryDao.xml index efdc2079e7..7b18cda7b6 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailJdryDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailJdryDao.xml @@ -31,6 +31,9 @@ UPDATED_BY = values(UPDATED_BY), UPDATED_TIME = values(UPDATED_TIME) + + delete from lingshan_special_crowd_detail_jdry where ID_CARD=#{idCard} + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailJzhzDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailJzhzDao.xml index e750b74a6c..ad68997b41 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailJzhzDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailJzhzDao.xml @@ -56,6 +56,9 @@ , UPDATED_TIME = values(UPDATED_TIME) + + delete from lingshan_special_crowd_detail_jzhz where ID_CARD=#{idCard} + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailSqjzDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailSqjzDao.xml index f290ca4daa..c9e6c8fa72 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailSqjzDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailSqjzDao.xml @@ -54,6 +54,9 @@ , UPDATED_BY = values(UPDATED_BY) , UPDATED_TIME = values(UPDATED_TIME) + + delete from lingshan_special_crowd_detail_sqjz where ID_CARD=#{idCard} + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailXfryDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailXfryDao.xml index 8258af9767..44f90dd401 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailXfryDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdDetailXfryDao.xml @@ -55,6 +55,9 @@ , UPDATED_BY = values(UPDATED_BY) , UPDATED_TIME = values(UPDATED_TIME) + + delete from lingshan_special_crowd_detail_xfry where ID_CARD=#{idCard} + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdPersonDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdPersonDao.xml index bdf6bfb32b..de34f7d6d7 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdPersonDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdPersonDao.xml @@ -40,6 +40,9 @@ , UPDATED_BY=values(UPDATED_BY) , UPDATED_TIME=values(UPDATED_TIME) + + delete from lingshan_special_crowd_person where ID_CARD = #{idCard} + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdPersonTypeDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdPersonTypeDao.xml index c0dab810f2..7b41e26356 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdPersonTypeDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/LingshanSpecialCrowdPersonTypeDao.xml @@ -31,6 +31,9 @@ , UPDATED_BY =values(UPDATED_BY) , UPDATED_TIME = values(UPDATED_TIME) + + delete from lingshan_special_crowd_person_type where ID_CARD = #{idCard} and SPECIAL_TYPE = #{specialType} +