From 539797753cf88e9ef141c66d33c76bd7867d620c Mon Sep 17 00:00:00 2001 From: dearLin <1261008090@qq.com> Date: Mon, 16 Mar 2026 14:51:02 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E4=B8=AA=E4=BA=BA=E8=BD=A6?= =?UTF-8?q?=E8=BE=86=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../primeport/web/VehicleApplyController.java | 17 ++++-- .../primeport/command/VehicleApplyAddExe.java | 59 ++++++------------- .../command/VehicleApplyUpdateExe.java | 12 ++++ .../service/VehicleApplyServiceImpl.java | 31 +++++++++- .../primeport/api/VehicleApplyServiceI.java | 8 ++- .../primeport/dto/VehicleApplyAddCmd.java | 16 +++++ .../dto/VehicleApplyInspectAddCmd.java | 51 ++++++++++++++++ .../dto/VehicleApplyInspectUpdateCmd.java | 29 +++++++++ .../primeport/dto/VehicleApplyPageQry.java | 3 + .../dto/clientobject/VehicleApplyCO.java | 2 + .../dataobject/VehicleAuditDO.java | 2 +- .../main/resources/mapper/VehicleApplyDO.xml | 3 + 12 files changed, 181 insertions(+), 52 deletions(-) create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyInspectAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyInspectUpdateCmd.java diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/VehicleApplyController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/VehicleApplyController.java index 72f7d99..28e00a6 100644 --- a/web-adapter/src/main/java/com/zcloud/primeport/web/VehicleApplyController.java +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/VehicleApplyController.java @@ -8,9 +8,7 @@ import com.alibaba.cola.dto.SingleResponse; import com.jjb.saas.framework.auth.model.SSOUser; import com.jjb.saas.framework.auth.utils.AuthContext; import com.zcloud.primeport.api.VehicleApplyServiceI; -import com.zcloud.primeport.dto.VehicleApplyAddCmd; -import com.zcloud.primeport.dto.VehicleApplyPageQry; -import com.zcloud.primeport.dto.VehicleApplyUpdateCmd; +import com.zcloud.primeport.dto.*; import com.zcloud.primeport.dto.clientobject.VehicleApplyCO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; @@ -43,7 +41,18 @@ public class VehicleApplyController { public SingleResponse add(@Validated @RequestBody VehicleApplyAddCmd cmd) { return vehicleApplyService.add(cmd); } - + @ApiOperation("新增-检查部门车辆录入") + @PostMapping("/inspectCarSave") + public Response inspectCarSave(@Validated @RequestBody VehicleApplyInspectAddCmd cmd) { + vehicleApplyService.inspectCarSave(cmd); + return Response.buildSuccess(); + } + @ApiOperation("检查部门车辆修改") + @PutMapping("/inspectCarEdit") + public Response inspectCarEdit(@Validated @RequestBody VehicleApplyInspectUpdateCmd cmd) { + vehicleApplyService.inspectCarEdit(cmd); + return Response.buildSuccess(); + } @ApiOperation("新增-临时访客") @PostMapping("/saveTemporaryVisitors") public SingleResponse saveTemporaryVisitors(@Validated @RequestBody VehicleApplyAddCmd cmd) { diff --git a/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyAddExe.java b/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyAddExe.java index 04cf225..93f190c 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyAddExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyAddExe.java @@ -34,6 +34,7 @@ public class VehicleApplyAddExe { private final VehicleAuditGateway vehicleAuditGateway; private final VehicleMessageGateway vehicleMessageGateway; private final TodoListEventPusherUtil todoListEventPusherUtil; + @Transactional(rollbackFor = Exception.class) public boolean execute(VehicleApplyAddCmd cmd) { VehicleApplyE examTypeE = new VehicleApplyE(); @@ -41,48 +42,24 @@ public class VehicleApplyAddExe { examTypeE.setStatusFlag(2); examTypeE.setBlockedFlag(2); examTypeE.setAuditFlag(AuditEnum.WAITING.getCode()); - SSOUser user = AuthContext.getCurrentUser(); - if (user != null) { - examTypeE.setVehicleCorpId(user.getTenantId()); - examTypeE.setVehicleCorpName(user.getTenantName()); - examTypeE.setVehicleDepartmentId(user.getOrgId()); - examTypeE.setVehicleDepartmentName(user.getOrgName()); - examTypeE.setEmployeeVehicleUserId(user.getUserId()); - examTypeE.setEmployeeVehicleUserName(user.getName()); - } - // 检查部门无需审批 - if (examTypeE.getVehicleType().equals(VehicleBelongTypeEnum.CHECK_VEHICLES)) { - examTypeE.setAuditFlag(AuditEnum.NO_APPROVAL_REQUIRED.getCode()); - vehicleApplyGateway.add(examTypeE); - VehicleMessageE build = VehicleMessageE.builder().vehicleApplyId(examTypeE.getId()) - .licenceType(examTypeE.getLicenceType()).licenceTypeName(examTypeE.getLicenceTypeName()) - .licenceNo(examTypeE.getLicenceNo()) - .vehicleType(examTypeE.getVehicleType()).vehicleTypeName(examTypeE.getVehicleTypeName()) - .vehicleBelongType(examTypeE.getVehicleBelongType()).gateLevelAuthArea(examTypeE.getGateLevelAuthArea()) - .visitStartTime(examTypeE.getVisitStartTime()).visitEndTime(examTypeE.getVisitEndTime()).syncStatus(2).build(); - // 进行与门禁系统的对接 - vehicleMessageGateway.add(build); - }else { - vehicleApplyGateway.add(examTypeE); - VehicleAuditE build = - VehicleAuditE.builder() - .vehicleApplyId(examTypeE.getId()) - .batchState(1) - .batchType(1) - .auditUserId(examTypeE.getAuditUserId()) - .auditUserName(examTypeE.getAuditUserName()) - .auditDeptId(examTypeE.getAuditDeptId()) - .auditDeptName(examTypeE.getAuditDeptName()) - .auditCorpId(examTypeE.getAuditCorpId()) - .auditCorpName(examTypeE.getAuditCorpName()) - .auditStatus(AuditEnum.WAITING.getCode()) - .changeAfter(JSON.toJSONString(examTypeE)) - .build(); - // 添加审批信息 - vehicleAuditGateway.add(build); - // 发送待审核消息 - todoListEventPusherUtil.sendMessageAddEvent(build.getSendEventObj()); + // 股份、分公司个人车辆 + if (cmd.getVehicleBelongType().equals(VehicleBelongTypeEnum.JGD_PRI_VEHICLES.getCode()) || cmd.getVehicleBelongType().equals(VehicleBelongTypeEnum.FGS_PRI_VEHICLES.getCode())) { + SSOUser user = AuthContext.getCurrentUser(); + if (user != null) { + examTypeE.setVehicleCorpId(user.getTenantId()); + examTypeE.setVehicleCorpName(user.getTenantName()); + examTypeE.setVehicleDepartmentId(user.getOrgId()); + examTypeE.setVehicleDepartmentName(user.getOrgName()); + examTypeE.setEmployeeVehicleUserId(user.getUserId()); + examTypeE.setEmployeeVehicleUserName(user.getName()); + } } + vehicleApplyGateway.add(examTypeE); + VehicleAuditE build = VehicleAuditE.builder().vehicleApplyId(examTypeE.getId()).batchState(1).batchType(1).auditUserId(examTypeE.getAuditUserId()).auditUserName(examTypeE.getAuditUserName()).auditDeptId(examTypeE.getAuditDeptId()).auditDeptName(examTypeE.getAuditDeptName()).auditCorpId(examTypeE.getAuditCorpId()).auditCorpName(examTypeE.getAuditCorpName()).auditStatus(AuditEnum.WAITING.getCode()).changeAfter(JSON.toJSONString(examTypeE)).build(); + // 添加审批信息 + vehicleAuditGateway.add(build); + // 发送待审核消息 + todoListEventPusherUtil.sendMessageAddEvent(build.getSendEventObj()); return true; } diff --git a/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyUpdateExe.java b/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyUpdateExe.java index c97cb5b..4a9d768 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyUpdateExe.java @@ -8,6 +8,7 @@ import com.zcloud.primeport.domain.gateway.VehicleApplyGateway; import com.zcloud.primeport.domain.gateway.VehicleAuditGateway; import com.zcloud.primeport.domain.model.VehicleApplyE; import com.zcloud.primeport.domain.model.VehicleAuditE; +import com.zcloud.primeport.dto.VehicleApplyInspectUpdateCmd; import com.zcloud.primeport.dto.VehicleApplyUpdateCmd; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; @@ -45,5 +46,16 @@ public class VehicleApplyUpdateExe { throw new BizException("修改失败"); } } + + public void inspectCarEdit(VehicleApplyInspectUpdateCmd cmd) { + VehicleApplyE vehicleApplyE = new VehicleApplyE(); + vehicleApplyE.setId(cmd.getId()); + vehicleApplyE.setVehicleType(cmd.getVehicleType()); + vehicleApplyE.setVehicleTypeName(cmd.getVehicleTypeName()); + vehicleApplyE.setLicenceNo(cmd.getLicenceNo()); + vehicleApplyE.setLicenceTypeName(cmd.getLicenceTypeName()); + vehicleApplyE.setLicenceType(cmd.getLicenceType()); + vehicleApplyGateway.update(vehicleApplyE); + } } diff --git a/web-app/src/main/java/com/zcloud/primeport/service/VehicleApplyServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/VehicleApplyServiceImpl.java index 668b5c9..a584b24 100644 --- a/web-app/src/main/java/com/zcloud/primeport/service/VehicleApplyServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/primeport/service/VehicleApplyServiceImpl.java @@ -8,15 +8,18 @@ import com.zcloud.primeport.command.VehicleApplyAddExe; import com.zcloud.primeport.command.VehicleApplyRemoveExe; import com.zcloud.primeport.command.VehicleApplyUpdateExe; import com.zcloud.primeport.command.query.VehicleApplyQueryExe; -import com.zcloud.primeport.dto.VehicleApplyAddCmd; -import com.zcloud.primeport.dto.VehicleApplyPageQry; -import com.zcloud.primeport.dto.VehicleApplyUpdateCmd; +import com.zcloud.primeport.domain.enums.AuditEnum; +import com.zcloud.primeport.dto.*; import com.zcloud.primeport.dto.clientobject.VehicleApplyCO; import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO; import com.zcloud.primeport.persistence.repository.VehicleApplyRepository; import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** * web-app * @@ -75,5 +78,27 @@ public class VehicleApplyServiceImpl implements VehicleApplyServiceI { } return vehicleApplyRepository.count(queryWrapper) == 0; } + + @Override + public void inspectCarSave(VehicleApplyInspectAddCmd cmd) { + List inspectCarList = cmd.getInspectCarList(); + ArrayList objects = new ArrayList<>(); + inspectCarList.forEach(item -> { + VehicleApplyDO vehicleApplyDO = new VehicleApplyDO(); + vehicleApplyDO.setAuditFlag(AuditEnum.NO_APPROVAL_REQUIRED.getCode()); + vehicleApplyDO.setStatusFlag(2); + vehicleApplyDO.setMkmjPermission(1); + vehicleApplyDO.setRemarks(cmd.getRemarks()); + vehicleApplyDO.setVehicleBelongType(cmd.getVehicleBelongType()); + BeanUtils.copyProperties(item, vehicleApplyDO); + objects.add(vehicleApplyDO); + }); + vehicleApplyRepository.saveBatch(objects); + } + + @Override + public void inspectCarEdit(VehicleApplyInspectUpdateCmd cmd) { + vehicleApplyUpdateExe.inspectCarEdit(cmd); + } } diff --git a/web-client/src/main/java/com/zcloud/primeport/api/VehicleApplyServiceI.java b/web-client/src/main/java/com/zcloud/primeport/api/VehicleApplyServiceI.java index f135011..374cfb0 100644 --- a/web-client/src/main/java/com/zcloud/primeport/api/VehicleApplyServiceI.java +++ b/web-client/src/main/java/com/zcloud/primeport/api/VehicleApplyServiceI.java @@ -2,9 +2,7 @@ package com.zcloud.primeport.api; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; -import com.zcloud.primeport.dto.VehicleApplyAddCmd; -import com.zcloud.primeport.dto.VehicleApplyPageQry; -import com.zcloud.primeport.dto.VehicleApplyUpdateCmd; +import com.zcloud.primeport.dto.*; import com.zcloud.primeport.dto.clientobject.VehicleApplyCO; /** @@ -27,5 +25,9 @@ public interface VehicleApplyServiceI { VehicleApplyCO getInfoById(Long id); Boolean checkLicenceNo(String licenceNo, Long id); + + void inspectCarSave(VehicleApplyInspectAddCmd cmd); + + void inspectCarEdit(VehicleApplyInspectUpdateCmd cmd); } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyAddCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyAddCmd.java index 31d93db..a3d7089 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyAddCmd.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyAddCmd.java @@ -73,8 +73,24 @@ public class VehicleApplyAddCmd extends Command { private String lsUserPhone; @ApiModelProperty(value = "临时申请驾驶人身份证", name = "lsUserIdcard") private String lsUserIdcard; + @ApiModelProperty(value = "来访事由", name = "remarks") + private String remarks; + //车辆所属企业ID + @ApiModelProperty(value = "车辆所属企业ID", name = "vehicleCorpId") + + private Long vehicleCorpId; + @ApiModelProperty(value = "车辆所属企业名称", name = "vehicleCorpName") + //车辆所属企业名称 + private String vehicleCorpName; + @ApiModelProperty(value = "车辆所属部门id", name = "vehicleDepartmentId") + //车辆所属部门id + private Long vehicleDepartmentId; + @ApiModelProperty(value = "车辆所属部门名称", name = "vehicleDepartmentName") + //车辆所属部门名称 + private String vehicleDepartmentName; + // 审批 @ApiModelProperty(value = "审核企业", name = "auditCorpId", required = true) private Long auditCorpId; diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyInspectAddCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyInspectAddCmd.java new file mode 100644 index 0000000..18b9a89 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyInspectAddCmd.java @@ -0,0 +1,51 @@ +package com.zcloud.primeport.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * web-client + * + * @Author makejava + * @Date 2026-03-05 11:33:23 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class VehicleApplyInspectAddCmd extends Command { + @ApiModelProperty(value = "名称", name = "remarks") + @NotEmpty(message = "名称") + private String remarks; + @ApiModelProperty(value = "车辆所属类型 1-股份员工车辆,2-股份单位车辆,3-分公司员工车辆,4-分公司单位车辆 ,5-相关方车辆, 6:临时车辆,7检查部门车辆", name = "vehicleBelongType", required = true) + @NotEmpty(message = "车辆所属类型 1-股份员工车辆,2-股份单位车辆,3-分公司员工车辆,4-分公司单位车辆 ,5-相关方车辆, 6:临时车辆,7检查部门车辆不能为空") + private String vehicleBelongType; + @ApiModelProperty(value = "车辆信息", name = "inspectCarList") + private List inspectCarList; + + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class InspectCar { + @ApiModelProperty(value = "车牌类型数据字典", name = "licenceType", required = true) + private String licenceType; + @ApiModelProperty(value = "车牌类型名称0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌", name = "licenceTypeName", required = true) + private String licenceTypeName; + @ApiModelProperty(value = "车辆类型", name = "vehicleType", required = true) + private String vehicleType; + @ApiModelProperty(value = "车辆类型-名字", name = "vehicleTypeName", required = true) + private String vehicleTypeName; + @ApiModelProperty(value = "车牌号", name = "licenceNo", required = true) + private String licenceNo; + } + +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyInspectUpdateCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyInspectUpdateCmd.java new file mode 100644 index 0000000..abefc00 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyInspectUpdateCmd.java @@ -0,0 +1,29 @@ +package com.zcloud.primeport.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class VehicleApplyInspectUpdateCmd { + @ApiModelProperty(value = "id", name = "id") + private Long id; + @ApiModelProperty(value = "名称", name = "remarks") + private String remarks; + @ApiModelProperty(value = "车牌类型数据字典", name = "licenceType") + private String licenceType; + @ApiModelProperty(value = "车牌类型名称0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌", name = "licenceTypeName") + private String licenceTypeName; + @ApiModelProperty(value = "车辆类型", name = "vehicleType") + private String vehicleType; + @ApiModelProperty(value = "车辆类型-名字", name = "vehicleTypeName") + private String vehicleTypeName; + @ApiModelProperty(value = "车牌号", name = "licenceNo") + private String licenceNo; +} diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyPageQry.java b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyPageQry.java index 7520eb8..b4332af 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyPageQry.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleApplyPageQry.java @@ -44,5 +44,8 @@ public class VehicleApplyPageQry extends PageQuery { private Long employeeVehicleUserId; @ApiModelProperty(value = "车辆所属类型 1-股份员工车辆,2-股份单位车辆,3-分公司员工车辆,4-分公司单位车辆 ,5-相关方车辆, 6:临时车辆,7检查部门车辆", name = "vehicleBelongType") private Integer vehicleBelongType; + + @ApiModelProperty(value = "名称", name = "remarks") + private String remarks; } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/VehicleApplyCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/VehicleApplyCO.java index 4c934a5..1fac26c 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/VehicleApplyCO.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/VehicleApplyCO.java @@ -96,6 +96,8 @@ public class VehicleApplyCO extends ClientObject { //项目名称 @ApiModelProperty(value = "项目名称") private String projectName; + @ApiModelProperty(value = "名称") + private String remarks; //1被拉黑2未拉黑 @ApiModelProperty(value = "1被拉黑2未拉黑") private Integer blockedFlag; diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/VehicleAuditDO.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/VehicleAuditDO.java index 803794a..dd589f2 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/VehicleAuditDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/VehicleAuditDO.java @@ -24,7 +24,7 @@ public class VehicleAuditDO extends BaseDO { //车辆申请id @ApiModelProperty(value = "车辆申请id") - private String vehicleApplyId; + private Long vehicleApplyId; //审批批次(1.普通车辆.2危险化学品车辆) @ApiModelProperty(value = "审批批次(1.普通车辆.2危险化学品车辆)") private Integer batchType; diff --git a/web-infrastructure/src/main/resources/mapper/VehicleApplyDO.xml b/web-infrastructure/src/main/resources/mapper/VehicleApplyDO.xml index b2e8acc..c3b73aa 100644 --- a/web-infrastructure/src/main/resources/mapper/VehicleApplyDO.xml +++ b/web-infrastructure/src/main/resources/mapper/VehicleApplyDO.xml @@ -46,6 +46,9 @@ AND a.audit_status = 1 WHERE f.delete_enum = 'FALSE' + + AND f.remarks like CONCAT('%', #{parmas.remarks}, '%') + AND f.licence_no like CONCAT('%', #{parmas.licenceNo}, '%')