diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjApprovalUserController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjApprovalUserController.java index afcd86c..221d551 100644 --- a/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjApprovalUserController.java +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjApprovalUserController.java @@ -11,6 +11,7 @@ import com.zcloud.primeport.api.MkmjApprovalUserServiceI; import com.zcloud.primeport.dto.MkmjApprovalUserAddCmd; import com.zcloud.primeport.dto.MkmjApprovalUserPageQry; import com.zcloud.primeport.dto.MkmjApprovalUserUpdateCmd; +import com.zcloud.primeport.dto.clientobject.AvailableResultCO; import com.zcloud.primeport.dto.clientobject.MkmjApprovalUserCO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -64,6 +65,12 @@ public class MkmjApprovalUserController { mkmjApprovalUserService.remove(id); return SingleResponse.buildSuccess(); } + @ApiOperation("校验审批人是否已录入") + @GetMapping("/checkExistByUserId/{userId}") + public SingleResponse checkExistByUserId(@PathVariable("userId") Long userId) { + return mkmjApprovalUserService.checkExistByUserId(userId); + } + @ApiOperation("修改") @PutMapping("/edit") public SingleResponse edit(@Validated @RequestBody MkmjApprovalUserUpdateCmd mkmjApprovalUserUpdateCmd) { diff --git a/web-app/src/main/java/com/zcloud/primeport/command/MkmjApprovalUserAddExe.java b/web-app/src/main/java/com/zcloud/primeport/command/MkmjApprovalUserAddExe.java index 8553b14..4f65b2a 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/MkmjApprovalUserAddExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/MkmjApprovalUserAddExe.java @@ -1,9 +1,12 @@ package com.zcloud.primeport.command; import com.alibaba.cola.exception.BizException; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zcloud.primeport.domain.gateway.MkmjApprovalUserGateway; import com.zcloud.primeport.domain.model.MkmjApprovalUserE; import com.zcloud.primeport.dto.MkmjApprovalUserAddCmd; +import com.zcloud.primeport.persistence.dataobject.MkmjApprovalUserDO; +import com.zcloud.primeport.persistence.repository.MkmjApprovalUserRepository; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; @@ -20,9 +23,17 @@ import org.springframework.transaction.annotation.Transactional; @AllArgsConstructor public class MkmjApprovalUserAddExe { private final MkmjApprovalUserGateway mkmjApprovalUserGateway; + private final MkmjApprovalUserRepository mkmjApprovalUserRepository; @Transactional(rollbackFor = Exception.class) public boolean execute(MkmjApprovalUserAddCmd cmd) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("user_id", cmd.getUserId()); + wrapper.eq("delete_enum", "FALSE"); + MkmjApprovalUserDO exist = mkmjApprovalUserRepository.getOne(wrapper); + if (exist != null) { + throw new BizException("该审批人已录入,不可重复添加"); + } MkmjApprovalUserE examTypeE = new MkmjApprovalUserE(); BeanUtils.copyProperties(cmd, examTypeE); boolean res = false; @@ -37,4 +48,3 @@ public class MkmjApprovalUserAddExe { return true; } } - diff --git a/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjApprovalUserQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjApprovalUserQueryExe.java index db931d7..6ecc265 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjApprovalUserQueryExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjApprovalUserQueryExe.java @@ -73,6 +73,13 @@ public class MkmjApprovalUserQueryExe { return mkmjApprovalUserCoConvertor.converDOToCO(byId); } + public MkmjApprovalUserDO getByUserId(Long userId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("user_id", userId); + wrapper.eq("delete_enum", "FALSE"); + return mkmjApprovalUserRepository.getOne(wrapper); + } + public static void main(String[] args) { for (int i = 0; i < 30; i++) { diff --git a/web-app/src/main/java/com/zcloud/primeport/service/MkmjApprovalUserServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/MkmjApprovalUserServiceImpl.java index 8db020c..457a3cd 100644 --- a/web-app/src/main/java/com/zcloud/primeport/service/MkmjApprovalUserServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/primeport/service/MkmjApprovalUserServiceImpl.java @@ -10,6 +10,7 @@ import com.zcloud.primeport.command.query.MkmjApprovalUserQueryExe; import com.zcloud.primeport.dto.MkmjApprovalUserAddCmd; import com.zcloud.primeport.dto.MkmjApprovalUserPageQry; import com.zcloud.primeport.dto.MkmjApprovalUserUpdateCmd; +import com.zcloud.primeport.dto.clientobject.AvailableResultCO; import com.zcloud.primeport.dto.clientobject.MkmjApprovalUserCO; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -69,5 +70,17 @@ public class MkmjApprovalUserServiceImpl implements MkmjApprovalUserServiceI { public MkmjApprovalUserCO getInfoById(Long id) { return mkmjApprovalUserQueryExe.getInfoById(id); } + + @Override + public SingleResponse checkExistByUserId(Long userId) { + AvailableResultCO result = new AvailableResultCO(); + if (mkmjApprovalUserQueryExe.getByUserId(userId) != null) { + result.setAvailable(false); + result.setAvailableMessage("该审批人已录入,不可重复添加"); + } else { + result.setAvailable(true); + } + return SingleResponse.of(result); + } } diff --git a/web-client/src/main/java/com/zcloud/primeport/api/MkmjApprovalUserServiceI.java b/web-client/src/main/java/com/zcloud/primeport/api/MkmjApprovalUserServiceI.java index a907367..0ebf1ea 100644 --- a/web-client/src/main/java/com/zcloud/primeport/api/MkmjApprovalUserServiceI.java +++ b/web-client/src/main/java/com/zcloud/primeport/api/MkmjApprovalUserServiceI.java @@ -7,6 +7,7 @@ import com.zcloud.primeport.dto.MkmjApprovalUserPageQry; import com.zcloud.primeport.dto.MkmjApprovalUserUpdateCmd; import com.zcloud.primeport.dto.clientobject.MkmjApprovalUserCO; +import com.zcloud.primeport.dto.clientobject.AvailableResultCO; import java.util.Collection; import java.util.List; @@ -30,5 +31,7 @@ public interface MkmjApprovalUserServiceI { List listAll(MkmjApprovalUserPageQry qry); MkmjApprovalUserCO getInfoById(Long id); + + SingleResponse checkExistByUserId(Long userId); } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/AvailableResultCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/AvailableResultCO.java new file mode 100644 index 0000000..e6654fb --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/AvailableResultCO.java @@ -0,0 +1,13 @@ +package com.zcloud.primeport.dto.clientobject; + +import com.alibaba.cola.dto.ClientObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AvailableResultCO extends ClientObject { + @ApiModelProperty(value = "是否可用(true可用/false不可用)") + private Boolean available; + @ApiModelProperty(value = "不可用原因") + private String availableMessage; +} diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjApprovalUserGateway.java b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjApprovalUserGateway.java index b49b2d1..4e27720 100644 --- a/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjApprovalUserGateway.java +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjApprovalUserGateway.java @@ -26,5 +26,7 @@ public interface MkmjApprovalUserGateway { Boolean deletedMkmjApprovalUserById(Long id); Boolean deletedMkmjApprovalUserByIds(Long[] id); + + MkmjApprovalUserE getByUserId(Long userId); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjApprovalUserGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjApprovalUserGatewayImpl.java index cb4b0ea..7015f48 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjApprovalUserGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjApprovalUserGatewayImpl.java @@ -1,5 +1,6 @@ package com.zcloud.primeport.gatewayimpl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zcloud.primeport.domain.gateway.MkmjApprovalUserGateway; import com.zcloud.primeport.domain.model.MkmjApprovalUserE; import com.zcloud.primeport.persistence.dataobject.MkmjApprovalUserDO; @@ -46,5 +47,18 @@ public class MkmjApprovalUserGatewayImpl implements MkmjApprovalUserGateway { public Boolean deletedMkmjApprovalUserByIds(Long[] ids) { return mkmjApprovalUserRepository.removeByIds(Collections.singletonList(ids)); } -} + @Override + public MkmjApprovalUserE getByUserId(Long userId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(MkmjApprovalUserDO::getUserId, userId); + wrapper.eq(MkmjApprovalUserDO::getDeleteEnum, "FALSE"); + MkmjApprovalUserDO d = mkmjApprovalUserRepository.getOne(wrapper); + if (d == null) { + return null; + } + MkmjApprovalUserE e = new MkmjApprovalUserE(); + BeanUtils.copyProperties(d, e); + return e; + } +} diff --git a/web-infrastructure/src/main/resources/mapper/PersonApplyDO.xml b/web-infrastructure/src/main/resources/mapper/PersonApplyDO.xml index 950488b..7ac168b 100644 --- a/web-infrastructure/src/main/resources/mapper/PersonApplyDO.xml +++ b/web-infrastructure/src/main/resources/mapper/PersonApplyDO.xml @@ -63,6 +63,18 @@ WHERE c.delete_enum = 'FALSE' and c.type = 3 + + AND c.corp_name LIKE CONCAT('%', #{params.name}, '%') + + + AND c.id IN ( + SELECT apply_corp_id FROM xgf_apply_person + WHERE project_name LIKE CONCAT('%', #{params.projectName}, '%') AND delete_enum = 'FALSE' AND person_belong_type = 3 + UNION + SELECT vehicle_corp_id FROM vehicle_apply + WHERE project_name LIKE CONCAT('%', #{params.projectName}, '%') AND delete_enum = 'FALSE' AND vehicle_belong_type = 5 AND vehicle_corp_id IS NOT NULL + ) + GROUP BY c.id diff --git a/web-infrastructure/src/main/resources/mapper/VehicleApplyDO.xml b/web-infrastructure/src/main/resources/mapper/VehicleApplyDO.xml index 7f563c9..e8578e0 100644 --- a/web-infrastructure/src/main/resources/mapper/VehicleApplyDO.xml +++ b/web-infrastructure/src/main/resources/mapper/VehicleApplyDO.xml @@ -76,6 +76,9 @@ AND f.employee_vehicle_user_id = #{params.employeeVehicleUserId} + + AND JSON_CONTAINS(f.gate_level_auth_area, JSON_OBJECT('bianma', #{params.gateLevelAuthAreaId}), '$.area') + order by f.id desc