Compare commits

..

2 Commits

Author SHA1 Message Date
guoyuepeng dcb0643a03 1.口门门禁-车辆信息查询等接口 2025-11-19 13:49:41 +08:00
guoyuepeng b5a5405836 1.口门门禁-审批流程申请1 2025-11-18 17:07:31 +08:00
19 changed files with 198 additions and 61 deletions

View File

@ -54,19 +54,6 @@ public class VehicleMessageController {
return MultiResponse.of(new ArrayList<VehicleMessageCO>());
}
@ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<VehicleMessageCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(new VehicleMessageCO());
}
@ApiOperation("删除")
@DeleteMapping("/{id}")
public Response remove(@PathVariable("id") Long id) {
vehicleMessageService.remove(id);
return SingleResponse.buildSuccess();
}
@ApiOperation("删除多个")
@DeleteMapping("/ids")
public Response removeBatch(@RequestParam Long[] ids) {
@ -74,17 +61,28 @@ public class VehicleMessageController {
return SingleResponse.buildSuccess();
}
@ApiOperation("修改")
@PutMapping("/edit")
public SingleResponse edit(@Validated @RequestBody VehicleMessageUpdateCmd vehicleMessageUpdateCmd) {
vehicleMessageService.edit(vehicleMessageUpdateCmd);
return SingleResponse.buildSuccess();
}
@ApiOperation("新增-监管端,分子公司人员车辆")
@PostMapping("/saveFroCorp")
public SingleResponse<VehicleMessageCO> addForCorp(@Validated @RequestBody VehicleMessageForCorpAddCmd cmd) {
return vehicleMessageService.addForCorp(cmd);
}
@ApiOperation("修改")
@PutMapping("/editFroCorp")
public SingleResponse editFroCorp(@Validated @RequestBody VehicleMessageUpdateCmd updateCmd) {
vehicleMessageService.editForCorp(updateCmd);
return SingleResponse.buildSuccess();
}
@ApiOperation("删除")
@DeleteMapping("/{id}")
public Response remove(@PathVariable("id") Long id) {
vehicleMessageService.remove(id);
return SingleResponse.buildSuccess();
}
@ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<VehicleMessageCO> getInfoById(@PathVariable("id") Long id) {
VehicleMessageCO infoById = vehicleMessageService.getInfoById(id);
return SingleResponse.of(infoById);
}
}

View File

@ -1,7 +1,10 @@
package com.zcloud.primeport.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.primeport.domain.gateway.VehicleAuditLogGateway;
import com.zcloud.primeport.domain.gateway.VehicleMessageGateway;
import com.zcloud.primeport.domain.model.VehicleAuditLogE;
import com.zcloud.primeport.domain.model.VehicleMessageE;
import com.zcloud.primeport.dto.VehicleMessageAddCmd;
import com.zcloud.primeport.dto.VehicleMessageForCorpAddCmd;
@ -22,14 +25,14 @@ import org.springframework.transaction.annotation.Transactional;
@AllArgsConstructor
public class VehicleMessageAddExe {
private final VehicleMessageGateway vehicleMessageGateway;
private final VehicleAuditLogGateway vehicleAuditLogGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(VehicleMessageAddCmd cmd) {
VehicleMessageE examTypeE = new VehicleMessageE();
BeanUtils.copyProperties(cmd, examTypeE);
boolean res = false;
try {
res = vehicleMessageGateway.add(examTypeE);
VehicleMessageE add = vehicleMessageGateway.add(examTypeE);
} catch (Exception e) {
throw new RuntimeException(e);
}
@ -46,7 +49,13 @@ public class VehicleMessageAddExe {
examTypeE = examTypeE.VehicleMessageForCorpE(examTypeE);
boolean res = false;
try {
res = vehicleMessageGateway.add(examTypeE);
VehicleMessageE add = vehicleMessageGateway.add(examTypeE);
if (!Tools.isEmpty(cmd.getApprovalUserId())){
VehicleAuditLogE vehicleAuditLogE = new VehicleAuditLogE();
BeanUtils.copyProperties(cmd, vehicleAuditLogE);
vehicleAuditLogE.addFroVehicleLog(vehicleAuditLogE,add.getId(),1); // 添加审批信息
res = vehicleAuditLogGateway.add(vehicleAuditLogE); // 添加审批信息
}
} catch (Exception e) {
throw new RuntimeException(e);
}

View File

@ -1,6 +1,9 @@
package com.zcloud.primeport.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.primeport.domain.gateway.VehicleAuditLogGateway;
import com.zcloud.primeport.domain.gateway.VehicleMessageGateway;
import com.zcloud.primeport.domain.model.VehicleAuditLogE;
import com.zcloud.primeport.domain.model.VehicleMessageE;
import com.zcloud.primeport.dto.VehicleMessageUpdateCmd;
import lombok.AllArgsConstructor;
@ -20,7 +23,7 @@ import org.springframework.transaction.annotation.Transactional;
@AllArgsConstructor
public class VehicleMessageUpdateExe {
private final VehicleMessageGateway vehicleMessageGateway;
private final VehicleAuditLogGateway vehicleAuditLogGateway;
@Transactional(rollbackFor = Exception.class)
public void execute(VehicleMessageUpdateCmd vehicleMessageUpdateCmd) {
VehicleMessageE vehicleMessageE = new VehicleMessageE();
@ -30,5 +33,33 @@ public class VehicleMessageUpdateExe {
throw new BizException("修改失败");
}
}
/**
*
* @param vehicleMessageUpdateCmd
*/
@Transactional(rollbackFor = Exception.class)
public void executeFormCorp(VehicleMessageUpdateCmd vehicleMessageUpdateCmd) {
VehicleMessageE vehicleMessageE = new VehicleMessageE();
BeanUtils.copyProperties(vehicleMessageUpdateCmd, vehicleMessageE);
vehicleMessageE.updateFromCorp(vehicleMessageE); //车辆状态变成不通过
VehicleMessageE infoById = vehicleMessageGateway.getInfoById(vehicleMessageUpdateCmd.getId());
if (infoById == null){
throw new BizException("车辆信息不存在");
}
if (infoById.getIsAudit() == 1){
throw new BizException("车辆信息正在审核");
}
boolean res = vehicleMessageGateway.update(vehicleMessageE); //修改车辆信息
if (!Tools.isEmpty(vehicleMessageUpdateCmd.getApprovalUserId())){ //新增一个审批记录
VehicleAuditLogE vehicleAuditLogE = new VehicleAuditLogE();
BeanUtils.copyProperties(vehicleMessageUpdateCmd, vehicleAuditLogE);
vehicleAuditLogE.addFroVehicleLog(vehicleAuditLogE,vehicleMessageUpdateCmd.getId(),2); // 添加审批信息
res = vehicleAuditLogGateway.add(vehicleAuditLogE); // 添加审批信息
}
if (!res) {
throw new BizException("修改失败");
}
}
}

View File

@ -19,5 +19,6 @@ public interface VehicleMessageCoConvertor {
* @return
*/
List<VehicleMessageCO> converDOsToCOs(List<VehicleMessageDO> vehicleMessageDOs);
VehicleMessageCO converDOsToCOs(VehicleMessageDO vehicleMessageDOs);
}

View File

@ -38,5 +38,10 @@ public class VehicleMessageQueryExe {
List<VehicleMessageCO> examCenterCOS = vehicleMessageCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public VehicleMessageCO queryById(Long id) {
VehicleMessageDO byId = vehicleMessageRepository.getById(id);
VehicleMessageCO vehicleMessageCO = vehicleMessageCoConvertor.converDOsToCOs(byId);
return vehicleMessageCO;
}
}

View File

@ -60,5 +60,16 @@ public class VehicleMessageServiceImpl implements VehicleMessageServiceI {
vehicleMessageAddExe.executeForCorp(cmdCorp);
return SingleResponse.buildSuccess();
}
@Override
public void editForCorp(VehicleMessageUpdateCmd vehicleMessageUpdateCmd) {
vehicleMessageUpdateExe.executeFormCorp(vehicleMessageUpdateCmd);
}
@Override
public VehicleMessageCO getInfoById(Long id) {
VehicleMessageCO vehicleMessageCO = vehicleMessageQueryExe.queryById(id);
return vehicleMessageCO;
}
}

View File

@ -26,6 +26,9 @@ public interface VehicleMessageServiceI {
void removeBatch(Long[] ids);
SingleResponse<VehicleMessageCO> addForCorp (VehicleMessageForCorpAddCmd cmdCorp);
void editForCorp (VehicleMessageUpdateCmd cmd);
VehicleMessageCO getInfoById(Long id);
}

View File

@ -22,12 +22,15 @@ public class VehicleAuditLogAddCmd extends Command {
@ApiModelProperty(value = "id", name = "id", required = true)
@NotEmpty(message = "id不能为空")
private Long id;
@ApiModelProperty(value = "业务id", name = "vehicleAuditLogId", required = true)
@NotEmpty(message = "业务id不能为空")
private String vehicleAuditLogId;
@ApiModelProperty(value = "审批批次(1.普通车辆.2危险化学品车辆)", name = "batchType", required = true)
@NotEmpty(message = "审批批次(1.普通车辆.2危险化学品车辆)不能为空")
private Integer batchType;
@ApiModelProperty(value = "审批状态(0,申请;2.更新)", name = "batchState", required = true)
@NotEmpty(message = "审批状态(0,申请;2.更新)不能为空")
private Integer batchState;
@ApiModelProperty(value = "审批批次(审批全流程,一次申请一次id)", name = "batchId", required = true)
@NotEmpty(message = "审批批次(审批全流程,一次申请一次id)不能为空")
private Long batchId;
private String batchId;
@ApiModelProperty(value = "车辆id", name = "vehicleMessageId", required = true)
@NotEmpty(message = "车辆id不能为空")
private Long vehicleMessageId;

View File

@ -28,9 +28,12 @@ public class VehicleAuditLogUpdateCmd extends Command {
@ApiModelProperty(value = "业务id", name = "vehicleAuditLogId", required = true)
@NotEmpty(message = "业务id不能为空")
private String vehicleAuditLogId;
@ApiModelProperty(value = "审批批次(审批全流程,一次申请一次id)", name = "batchId", required = true)
@NotEmpty(message = "审批批次(审批全流程,一次申请一次id)不能为空")
private Long batchId;
@ApiModelProperty(value = "审批批次(1.普通车辆.2危险化学品车辆)", name = "batchType", required = true)
@NotEmpty(message = "审批批次(1.普通车辆.2危险化学品车辆)不能为空")
private Integer batchType;
@ApiModelProperty(value = "审批状态(0,申请;2.更新)", name = "batchState", required = true)
@NotEmpty(message = "审批状态(0,申请;2.更新)不能为空")
private Integer batchState;
@ApiModelProperty(value = "车辆id", name = "vehicleMessageId", required = true)
@NotEmpty(message = "车辆id不能为空")
private Long vehicleMessageId;

View File

@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
* web-client
@ -23,7 +24,7 @@ import javax.validation.constraints.NotEmpty;
public class VehicleMessageForCorpAddCmd extends Command {
@ApiModelProperty(value = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌", name = "licenceType", required = true)
@NotEmpty(message = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌不能为空")
@NotNull(message = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌不能为空")
private Integer licenceType;
@ApiModelProperty(value = "车牌号", name = "licenceNo", required = true)
@ -35,15 +36,15 @@ public class VehicleMessageForCorpAddCmd extends Command {
private String vehicleType;
@ApiModelProperty(value = "车辆所属类型 0-员工车辆 1- 单位车辆 2-外部车辆3货运车辆", name = "vehicleBelongType", required = true)
@NotEmpty(message = "车辆所属类型 0-员工车辆 1- 单位车辆 2-外部车辆3货运车辆不能为空")
@NotNull(message = "车辆所属类型 0-员工车辆 1- 单位车辆 2-外部车辆3货运车辆不能为空")
private Integer vehicleBelongType;
@ApiModelProperty(value = "通行港区(0-全部 1-东港区 2-西港区)", name = "portId", required = true)
@NotEmpty(message = "通行港区(0-全部 1-东港区 2-西港区)不能为空")
@NotNull(message = "通行港区(0-全部 1-东港区 2-西港区)不能为空")
private Integer portId;
@ApiModelProperty(value = "车辆所属部门id", name = "vehicleDepartmentId", required = true)
@NotEmpty(message = "车辆所属部门id不能为空")
@NotNull(message = "车辆所属部门id不能为空")
private Long vehicleDepartmentId;
@ApiModelProperty(value = "车辆所属部门名称", name = "vehicleDepartmentName", required = true)
@NotEmpty(message = "车辆所属部门名称不能为空")
@ -55,22 +56,24 @@ public class VehicleMessageForCorpAddCmd extends Command {
// @NotEmpty(message = "车辆所属人姓名(员工车辆)不能为空")
private String employeeVehicleUserName;
@ApiModelProperty(value = "企业ID", name = "corpinfoId", required = true)
// @NotEmpty(message = "企业ID不能为空")
// @NotNull(message = "企业ID不能为空")
private Long corpId;
@ApiModelProperty(value = "附件地址", name = "attachmentUrl", required = true)
private String attachmentUrl;
/**
*
*/
@ApiModelProperty(value = "审核人ID", name = "approvalUserId")
public Long approvalUserId;
@ApiModelProperty(value = "审核人名字", name = "approvalUserName")
public Long approvalUserName;
public String approvalUserName;
@ApiModelProperty(value = "审核人部门ID", name = "approvalDeptId")
public Long approvalDeptId;
@ApiModelProperty(value = "审核人部门名字", name = "approvalDeptName")
public Long approvalDeptName;
public String approvalDeptName;
}

View File

@ -25,6 +25,16 @@ public class VehicleMessagePageQry extends PageQuery {
* - `le`:
* - `ne`: SQL!=
*/
private Integer likeLicenceType;
@ApiModelProperty(value = "车牌号")
private String likeLicenceNo;
@ApiModelProperty(value = "车辆所属人姓名")
private String liekeEmployeeVehicleUserName;
@ApiModelProperty(value = "车辆所属部门id")
private String eqVehicleDepartmentId;
@ApiModelProperty(value = "企业ID")
private String eqCorpId;
}

View File

@ -90,7 +90,7 @@ public class VehicleMessageUpdateCmd extends Command {
private String employeeVehicleUserName;
@ApiModelProperty(value = "企业ID(~~~~~~)", name = "corpinfoId", required = true)
@NotEmpty(message = "企业ID(~~~~~~)不能为空")
private Long corpinfoId;
private Long corpId;
@ApiModelProperty(value = "排放标准:level1 -> 国一level2 -> 国二level3 -> 国三level4 -> 国四level5 -> 国五level6 -> 国六", name = "emissionStandards", required = true)
@NotEmpty(message = "排放标准:level1 -> 国一level2 -> 国二level3 -> 国三level4 -> 国四level5 -> 国五level6 -> 国六不能为空")
private String emissionStandards;
@ -106,5 +106,18 @@ public class VehicleMessageUpdateCmd extends Command {
@ApiModelProperty(value = "访问结束时间", name = "visitEndTime", required = true)
@NotEmpty(message = "访问结束时间不能为空")
private String visitEndTime;
@ApiModelProperty(value = "审核人ID", name = "approvalUserId")
public Long approvalUserId;
@ApiModelProperty(value = "审核人名字", name = "approvalUserName")
public String approvalUserName;
@ApiModelProperty(value = "审核人部门ID", name = "approvalDeptId")
public Long approvalDeptId;
@ApiModelProperty(value = "审核人部门名字", name = "approvalDeptName")
public String approvalDeptName;
}

View File

@ -18,9 +18,12 @@ public class VehicleAuditLogCO extends ClientObject {
//业务id
@ApiModelProperty(value = "业务id")
private String vehicleAuditLogId;
//审批批次(审批全流程,一次申请一次id)
@ApiModelProperty(value = "审批批次(审批全流程,一次申请一次id)")
private Long batchId;
//审批批次(1.普通车辆.2危险化学品车辆)
@ApiModelProperty(value = "审批批次(1.普通车辆.2危险化学品车辆)")
private Integer batchType;
//审批状态(0,申请;2.更新)
@ApiModelProperty(value = "审批状态(0,申请;2.更新)")
private Integer batchState;
//车辆id
@ApiModelProperty(value = "车辆id")
private Long vehicleMessageId;

View File

@ -1,8 +1,5 @@
package com.zcloud.primeport.domain.gateway;
import com.zcloud.primeport.domain.model.VehicleAuditLogE;
/**
* web-domain
*

View File

@ -12,7 +12,7 @@ public interface VehicleMessageGateway {
/**
*
*/
Boolean add(VehicleMessageE vehicleMessageE) ;
VehicleMessageE add(VehicleMessageE vehicleMessageE) ;
/**
*
@ -24,5 +24,11 @@ public interface VehicleMessageGateway {
*/
Boolean deletedVehicleMessageById(Long id);
Boolean deletedVehicleMessageByIds(Long[] id);
/**
*
*/
VehicleMessageE getInfoById(Long id);
}

View File

@ -3,6 +3,8 @@ package com.zcloud.primeport.domain.model;
import com.alibaba.cola.domain.Entity;
import com.jjb.saas.framework.domain.model.BaseE;
import com.zcloud.gbscommon.utils.Tools;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -20,8 +22,10 @@ public class VehicleAuditLogE extends BaseE {
private Long id;
//业务id
private String vehicleAuditLogId;
//审批批次(审批全流程,一次申请一次id)
private Long batchId;
//审批批次(1.普通车辆.2危险化学品车辆)
private Integer batchType;
//审批状态(0,申请;2.更新)
private Integer batchState;
//车辆id
private Long vehicleMessageId;
//审批人id
@ -38,6 +42,29 @@ public class VehicleAuditLogE extends BaseE {
private Integer status;
//审批状态(0正常,1.废除)
private Integer stepType;
/**
*
*/
public Long approvalUserId;
public String approvalUserName;
public Long approvalDeptId;
public String approvalDeptName;
/**
* ,.
* @param examTypeE
*/
public void addFroVehicleLog ( VehicleAuditLogE examTypeE,Long vehicleMessageId,Integer batchState) {
this.userId = approvalUserId;
this.userName = approvalUserName;
this.deptId = approvalDeptId;
this.deptName = approvalDeptName;
this.batchState = batchState; //审批状态(0,申请;2.更新)
this.batchType = 1; //审批批次(1.普通车辆.2危险化学品车辆)
this.vehicleMessageId = vehicleMessageId; // //车辆id
this.status = 1; //审批状态(1未开始.2通过.3不通过)
this.stepType = 0; //审批状态(0正常,1.废除)
this.stepSort = 1; //审批步骤排序
}
}

View File

@ -4,6 +4,7 @@ package com.zcloud.primeport.domain.model;
import com.jjb.saas.framework.domain.model.BaseE;
import com.zcloud.gbscommon.utils.DateUtil;
import com.zcloud.gbscommon.utils.Tools;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.tools.Tool;
@ -72,8 +73,9 @@ public class VehicleMessageE extends BaseE {
this.visitEndTime = DateUtil.fomatDate(DateUtil.getCurrYearLast());
return e;
}
public VehicleMessageE updateFromCorp( VehicleMessageE e) {
this.isAudit = 0;//未审核
return e;
}
}

View File

@ -22,11 +22,12 @@ public class VehicleMessageGatewayImpl implements VehicleMessageGateway {
private final VehicleMessageRepository vehicleMessageRepository;
@Override
public Boolean add(VehicleMessageE vehicleMessageE) {
public VehicleMessageE add(VehicleMessageE vehicleMessageE) {
VehicleMessageDO d = new VehicleMessageDO();
BeanUtils.copyProperties(vehicleMessageE, d);
vehicleMessageRepository.save(d);
return true;
BeanUtils.copyProperties( d,vehicleMessageE);
return vehicleMessageE;
}
@Override
@ -40,15 +41,23 @@ public class VehicleMessageGatewayImpl implements VehicleMessageGateway {
@Override
public Boolean deletedVehicleMessageById(Long id) {
VehicleMessageDO d = new VehicleMessageDO();
d.setId( id);
d.setDeleteEnum("TRUE");
vehicleMessageRepository.updateById(d);
return true;
d.setId( id);
boolean updateById = vehicleMessageRepository.updateById(d);
return updateById;
}
@Override
public Boolean deletedVehicleMessageByIds(Long[] ids) {
return vehicleMessageRepository.removeByIds(Arrays.asList(ids));
}
@Override
public VehicleMessageE getInfoById(Long id) {
VehicleMessageDO repositoryById = vehicleMessageRepository.getById(id);
VehicleMessageE vehicleMessageE = new VehicleMessageE();
BeanUtils.copyProperties(repositoryById, vehicleMessageE);
return vehicleMessageE;
}
}

View File

@ -26,9 +26,12 @@ public class VehicleAuditLogDO extends BaseDO {
//业务id
@ApiModelProperty(value = "业务id")
private String vehicleAuditLogId;
//审批批次(审批全流程,一次申请一次id)
@ApiModelProperty(value = "审批批次(审批全流程,一次申请一次id)")
private Long batchId;
//审批批次(1.普通车辆.2危险化学品车辆)
@ApiModelProperty(value = "审批批次(1.普通车辆.2危险化学品车辆)")
private Integer batchType;
//审批状态(0,申请;2.更新)
@ApiModelProperty(value = "审批状态(0,申请;2.更新)")
private Integer batchState;
//车辆id
@ApiModelProperty(value = "车辆id")
private Long vehicleMessageId;