feat:个人车辆申请
parent
c1c9b19302
commit
539797753c
|
|
@ -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<VehicleApplyCO> 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<VehicleApplyCO> saveTemporaryVisitors(@Validated @RequestBody VehicleApplyAddCmd cmd) {
|
||||
|
|
|
|||
|
|
@ -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,6 +42,8 @@ public class VehicleApplyAddExe {
|
|||
examTypeE.setStatusFlag(2);
|
||||
examTypeE.setBlockedFlag(2);
|
||||
examTypeE.setAuditFlag(AuditEnum.WAITING.getCode());
|
||||
// 股份、分公司个人车辆
|
||||
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());
|
||||
|
|
@ -50,39 +53,13 @@ public class VehicleApplyAddExe {
|
|||
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();
|
||||
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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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<VehicleApplyInspectAddCmd.InspectCar> inspectCarList = cmd.getInspectCarList();
|
||||
ArrayList<VehicleApplyDO> 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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<InspectCar> 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -46,6 +46,9 @@
|
|||
AND a.audit_status = 1
|
||||
WHERE
|
||||
f.delete_enum = 'FALSE'
|
||||
<if test="parmas.remarks != null and parmas.remarks != ''">
|
||||
AND f.remarks like CONCAT('%', #{parmas.remarks}, '%')
|
||||
</if>
|
||||
<if test="parmas.licenceNo != null and parmas.licenceNo != ''">
|
||||
AND f.licence_no like CONCAT('%', #{parmas.licenceNo}, '%')
|
||||
</if>
|
||||
|
|
|
|||
Loading…
Reference in New Issue