feat:封闭车辆的申请审批初始化

koumen
dearLin 2026-03-20 10:39:51 +08:00
parent b1f1532c92
commit 87d6e2fb97
21 changed files with 1205 additions and 3 deletions

View File

@ -0,0 +1,74 @@
package com.zcloud.primeport.web.close;
import com.zcloud.primeport.api.ClosedAreaCarApplyServiceI;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAddCmd;
import com.zcloud.primeport.dto.ClosedAreaCarApplyPageQry;
import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
/**
* web-adapter
*
* @Author dearLin
* @Date 2026-03-20 10:07:13
*/
@Api(tags = "封闭区域-车辆")
@RequestMapping("/${application.gateway}/closedAreaCarApply")
@RestController
@AllArgsConstructor
public class ClosedAreaCarApplyController {
private final ClosedAreaCarApplyServiceI closedAreaCarApplyService;
@ApiOperation("新增")
@PostMapping("/save")
public SingleResponse<ClosedAreaCarApplyCO> add(@Validated @RequestBody ClosedAreaCarApplyAddCmd cmd) {
return closedAreaCarApplyService.add(cmd);
}
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<ClosedAreaCarApplyCO> page(@RequestBody ClosedAreaCarApplyPageQry qry) {
return closedAreaCarApplyService.listPage(qry);
}
@ApiOperation("所有数据")
@GetMapping("/listAll")
public MultiResponse<ClosedAreaCarApplyCO> listAll() {
return MultiResponse.of(new ArrayList<ClosedAreaCarApplyCO>());
}
@ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<ClosedAreaCarApplyCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(closedAreaCarApplyService.queryById(id));
}
@ApiOperation("删除")
@DeleteMapping("/{id}")
public Response remove(@PathVariable("id") Long id) {
closedAreaCarApplyService.remove(id);
return SingleResponse.buildSuccess();
}
@ApiOperation("修改")
@PutMapping("/edit")
public SingleResponse edit(@Validated @RequestBody ClosedAreaCarApplyUpdateCmd closedAreaCarApplyUpdateCmd) {
closedAreaCarApplyService.edit(closedAreaCarApplyUpdateCmd);
return SingleResponse.buildSuccess();
}
}

View File

@ -0,0 +1,40 @@
package com.zcloud.primeport.command;
import com.zcloud.primeport.domain.gateway.ClosedAreaCarApplyGateway;
import com.zcloud.primeport.domain.model.ClosedAreaCarApplyE;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAddCmd;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
*
* @Author dearLin
* @Date 2026-03-20 10:07:13
*/
@Component
@AllArgsConstructor
public class ClosedAreaCarApplyAddExe {
private final ClosedAreaCarApplyGateway closedAreaCarApplyGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(ClosedAreaCarApplyAddCmd cmd) {
ClosedAreaCarApplyE closedAreaCarApplyE = new ClosedAreaCarApplyE();
BeanUtils.copyProperties(cmd, closedAreaCarApplyE);
boolean res = false;
try {
res = closedAreaCarApplyGateway.add(closedAreaCarApplyE);
} catch (Exception e) {
throw new RuntimeException(e);
}
if (!res) {
throw new BizException("保存失败");
}
return true;
}
}

View File

@ -0,0 +1,39 @@
package com.zcloud.primeport.command;
import com.zcloud.primeport.domain.gateway.ClosedAreaCarApplyGateway;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
*
* @Author dearLin
* @Date 2026-03-20 10:07:14
*/
@Component
@AllArgsConstructor
public class ClosedAreaCarApplyRemoveExe {
private final ClosedAreaCarApplyGateway closedAreaCarApplyGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
boolean res = closedAreaCarApplyGateway.deletedClosedAreaCarApplyById(id);
if (!res) {
throw new BizException("删除失败");
}
return true;
}
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) {
boolean res = closedAreaCarApplyGateway.deletedClosedAreaCarApplyByIds(ids);
if (!res) {
throw new BizException("删除失败");
}
return true;
}
}

View File

@ -0,0 +1,34 @@
package com.zcloud.primeport.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.primeport.domain.gateway.ClosedAreaCarApplyGateway;
import com.zcloud.primeport.domain.model.ClosedAreaCarApplyE;
import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
*
* @Author dearLin
* @Date 2026-03-20 10:07:15
*/
@Component
@AllArgsConstructor
public class ClosedAreaCarApplyUpdateExe {
private final ClosedAreaCarApplyGateway closedAreaCarApplyGateway;
@Transactional(rollbackFor = Exception.class)
public void execute(ClosedAreaCarApplyUpdateCmd closedAreaCarApplyUpdateCmd) {
ClosedAreaCarApplyE closedAreaCarApplyE = new ClosedAreaCarApplyE();
BeanUtils.copyProperties(closedAreaCarApplyUpdateCmd, closedAreaCarApplyE);
boolean res = closedAreaCarApplyGateway.update(closedAreaCarApplyE);
if (!res) {
throw new BizException("修改失败");
}
}
}

View File

@ -0,0 +1,26 @@
package com.zcloud.primeport.command.convertor;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
import org.mapstruct.Mapper;
import java.util.List;
/**
* web-app
*
* @Author dearLin
* @Date 2026-03-20 10:07:13
*/
@Mapper(componentModel = "spring")
public interface ClosedAreaCarApplyCoConvertor {
/**
* @param closedAreaCarApplyDOs
* @return
*/
List<ClosedAreaCarApplyCO> converDOsToCOs(List<ClosedAreaCarApplyDO> closedAreaCarApplyDOs);
ClosedAreaCarApplyCO converDOToCO(ClosedAreaCarApplyDO closedAreaCarApplyDO);
}

View File

@ -0,0 +1,52 @@
package com.zcloud.primeport.command.query;
import com.zcloud.primeport.command.convertor.ClosedAreaCarApplyCoConvertor;
import com.zcloud.primeport.dto.ClosedAreaCarApplyPageQry;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
import com.zcloud.primeport.persistence.repository.ClosedAreaCarApplyRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.alibaba.cola.dto.PageResponse;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/**
* web-app
*
* @Author dearLin
* @Date 2026-03-20 10:07:14
*/
@Component
@AllArgsConstructor
public class ClosedAreaCarApplyQueryExe {
private final ClosedAreaCarApplyRepository closedAreaCarApplyRepository;
private final ClosedAreaCarApplyCoConvertor closedAreaCarApplyCoConvertor;
/**
* id
*
* @param id
* @return
*/
public ClosedAreaCarApplyCO queryById(Long id) {
return closedAreaCarApplyCoConvertor.converDOToCO(closedAreaCarApplyRepository.getById(id));
}
/**
*
*
* @param closedAreaCarApplyPageQry
* @return
*/
public PageResponse<ClosedAreaCarApplyCO> execute(ClosedAreaCarApplyPageQry closedAreaCarApplyPageQry) {
Map<String, Object> params = PageQueryHelper.toHashMap(closedAreaCarApplyPageQry);
PageResponse<ClosedAreaCarApplyDO> pageResponse = closedAreaCarApplyRepository.listPage(params);
List<ClosedAreaCarApplyCO> examCenterCOS = closedAreaCarApplyCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
}

View File

@ -0,0 +1,65 @@
package com.zcloud.primeport.service;
import com.zcloud.primeport.api.ClosedAreaCarApplyServiceI;
import com.zcloud.primeport.command.ClosedAreaCarApplyAddExe;
import com.zcloud.primeport.command.ClosedAreaCarApplyRemoveExe;
import com.zcloud.primeport.command.ClosedAreaCarApplyUpdateExe;
import com.zcloud.primeport.command.query.ClosedAreaCarApplyQueryExe;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAddCmd;
import com.zcloud.primeport.dto.ClosedAreaCarApplyPageQry;
import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* web-app
*
* @Author dearLin
* @Date 2026-03-20 10:07:15
*/
@Service
@AllArgsConstructor
public class ClosedAreaCarApplyServiceImpl implements ClosedAreaCarApplyServiceI {
private final ClosedAreaCarApplyAddExe closedAreaCarApplyAddExe;
private final ClosedAreaCarApplyUpdateExe closedAreaCarApplyUpdateExe;
private final ClosedAreaCarApplyRemoveExe closedAreaCarApplyRemoveExe;
private final ClosedAreaCarApplyQueryExe closedAreaCarApplyQueryExe;
@Override
public ClosedAreaCarApplyCO queryById(Long id) {
return closedAreaCarApplyQueryExe.queryById(id);
}
@Override
public PageResponse<ClosedAreaCarApplyCO> listPage(ClosedAreaCarApplyPageQry qry) {
return closedAreaCarApplyQueryExe.execute(qry);
}
@Override
public SingleResponse add(ClosedAreaCarApplyAddCmd cmd) {
closedAreaCarApplyAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}
@Override
public void edit(ClosedAreaCarApplyUpdateCmd closedAreaCarApplyUpdateCmd) {
closedAreaCarApplyUpdateExe.execute(closedAreaCarApplyUpdateCmd);
}
@Override
public void remove(Long id) {
closedAreaCarApplyRemoveExe.execute(id);
}
@Override
public void removeBatch(Long[] ids) {
closedAreaCarApplyRemoveExe.execute(ids);
}
}

View File

@ -0,0 +1,30 @@
package com.zcloud.primeport.api;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAddCmd;
import com.zcloud.primeport.dto.ClosedAreaCarApplyPageQry;
import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
/**
* web-client
*
* @Author dearLin
* @Date 2026-03-20 10:07:15
*/
public interface ClosedAreaCarApplyServiceI {
ClosedAreaCarApplyCO queryById(Long id);
PageResponse<ClosedAreaCarApplyCO> listPage(ClosedAreaCarApplyPageQry qry);
SingleResponse<ClosedAreaCarApplyCO> add(ClosedAreaCarApplyAddCmd cmd);
void edit(ClosedAreaCarApplyUpdateCmd cmd);
void remove(Long id);
void removeBatch(Long[] ids);
}

View File

@ -0,0 +1,134 @@
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.*;
/**
* web-client
*
* @Author dearLin
* @Date 2026-03-20 10:07:13
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ClosedAreaCarApplyAddCmd extends Command {
@ApiModelProperty(value = "申请归属1股份2分公司3相关方4临时人员", name = "personBelongType", required = true)
@NotNull(message = "申请归属1股份2分公司3相关方4临时人员不能为空")
private Integer personBelongType;
@ApiModelProperty(value = "车牌类型数据字典", name = "licenceType", required = true)
@NotEmpty(message = "车牌类型数据字典不能为空")
private String licenceType;
@ApiModelProperty(value = "车牌类型名称0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌", name = "licenceTypeName", required = true)
@NotEmpty(message = "车牌类型名称0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌不能为空")
private String licenceTypeName;
@ApiModelProperty(value = "车牌号", name = "licenceNo", required = true)
@NotEmpty(message = "车牌号不能为空")
private String licenceNo;
@ApiModelProperty(value = "车辆类型", name = "vehicleType", required = true)
@NotEmpty(message = "车辆类型不能为空")
private String vehicleType;
@ApiModelProperty(value = "车辆类型-名字", name = "vehicleTypeName", required = true)
@NotEmpty(message = "车辆类型-名字不能为空")
private String vehicleTypeName;
@ApiModelProperty(value = "一级口门id", name = "levelOneMkmjId", required = true)
// @NotNull(message = "一级口门id不能为空")
private Long levelOneMkmjId;
@ApiModelProperty(value = "二级口门id(封闭区域口门)", name = "levelTwoMkmjId", required = true)
// @NotNull(message = "二级口门id(封闭区域口门)不能为空")
private Long levelTwoMkmjId;
@ApiModelProperty(value = "封闭区域id", name = "closedAreaId", required = true)
@NotNull(message = "封闭区域id不能为空")
private Long closedAreaId;
@ApiModelProperty(value = "封闭区域名称", name = "closedAreaName", required = true)
// @NotEmpty(message = "封闭区域名称不能为空")
private String closedAreaName;
@ApiModelProperty(value = "访问起始时间", name = "visitStartTime", required = true)
@NotNull(message = "访问起始时间不能为空")
private String visitStartTime;
@ApiModelProperty(value = "访问结束时间", name = "visitEndTime", required = true)
@NotNull(message = "访问结束时间不能为空")
private String visitEndTime;
@ApiModelProperty(value = "区域管辖单位名id", name = "jurisdictionalCorpId", required = true)
// @NotNull(message = "区域管辖单位名id不能为空")
private Long jurisdictionalCorpId;
@ApiModelProperty(value = "区域管辖单位名称", name = "jurisdictionalCorpName", required = true)
// @NotEmpty(message = "区域管辖单位名称不能为空")
private String jurisdictionalCorpName;
@ApiModelProperty(value = "项目id", name = "projectId", required = true)
// @NotNull(message = "项目id不能为空")
private Long projectId;
@ApiModelProperty(value = "项目名称", name = "projectName", required = true)
// @NotEmpty(message = "项目名称不能为空")
private String projectName;
@ApiModelProperty(value = "申请理由", name = "applyReason", required = true)
@NotEmpty(message = "申请理由不能为空")
private String applyReason;
@ApiModelProperty(value = "随行人员", name = "entourage", required = true)
// @NotEmpty(message = "随行人员不能为空")
private String entourage;
@ApiModelProperty(value = "告知签字", name = "informSignId", required = true)
@NotNull(message = "告知签字不能为空")
private Long informSignId;
@ApiModelProperty(value = "行驶证照片", name = "drivingLicenseId", required = true)
@NotEmpty(message = "行驶证照片不能为空")
private String drivingLicenseId;
@ApiModelProperty(value = "车辆照片", name = "attachmentId", required = true)
@NotEmpty(message = "车辆照片不能为空")
private String attachmentId;
@ApiModelProperty(value = "审批人员所属企业ID", name = "auditPersonCorpId", required = true)
@NotNull(message = "审批人员所属企业ID不能为空")
private Long auditPersonCorpId;
@ApiModelProperty(value = "审批人员所属企业名称", name = "auditPersonCorpName", required = true)
@NotEmpty(message = "审批人员所属企业名称不能为空")
private String auditPersonCorpName;
@ApiModelProperty(value = "审批人员所属部门id", name = "auditPersonDepartmentId", required = true)
@NotNull(message = "审批人员所属部门id不能为空")
private Long auditPersonDepartmentId;
@ApiModelProperty(value = "审批人员部门名称", name = "auditPersonDepartmentName", required = true)
@NotEmpty(message = "审批人员部门名称不能为空")
private String auditPersonDepartmentName;
@ApiModelProperty(value = "审批人员id", name = "auditPersonUserId", required = true)
@NotNull(message = "审批人员id不能为空")
private Long auditPersonUserId;
@ApiModelProperty(value = "审批人员姓名", name = "auditPersonUserName", required = true)
@NotEmpty(message = "审批人员姓名不能为空")
private String auditPersonUserName;
}

View File

@ -0,0 +1,29 @@
package com.zcloud.primeport.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* web-client
*
* @Author dearLin
* @Date 2026-03-20 10:07:14
*/
@Data
public class ClosedAreaCarApplyPageQry extends PageQuery {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
private Integer likePersonBelongType;
}

View File

@ -0,0 +1,140 @@
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.*;
/**
* web-client
*
* @Author dearLin
* @Date 2026-03-20 10:07:15
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ClosedAreaCarApplyUpdateCmd extends Command {
@ApiModelProperty(value = "申请归属1股份2分公司3相关方4临时人员", name = "personBelongType", required = true)
@NotNull(message = "申请归属1股份2分公司3相关方4临时人员不能为空")
private Integer personBelongType;
@ApiModelProperty(value = "车牌类型数据字典", name = "licenceType", required = true)
@NotEmpty(message = "车牌类型数据字典不能为空")
private String licenceType;
@ApiModelProperty(value = "车牌类型名称0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌", name = "licenceTypeName", required = true)
@NotEmpty(message = "车牌类型名称0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌不能为空")
private String licenceTypeName;
@ApiModelProperty(value = "车牌号", name = "licenceNo", required = true)
@NotEmpty(message = "车牌号不能为空")
private String licenceNo;
@ApiModelProperty(value = "车辆类型", name = "vehicleType", required = true)
@NotEmpty(message = "车辆类型不能为空")
private String vehicleType;
@ApiModelProperty(value = "车辆类型-名字", name = "vehicleTypeName", required = true)
@NotEmpty(message = "车辆类型-名字不能为空")
private String vehicleTypeName;
@ApiModelProperty(value = "一级口门id", name = "levelOneMkmjId", required = true)
// @NotNull(message = "一级口门id不能为空")
private Long levelOneMkmjId;
@ApiModelProperty(value = "二级口门id(封闭区域口门)", name = "levelTwoMkmjId", required = true)
// @NotNull(message = "二级口门id(封闭区域口门)不能为空")
private Long levelTwoMkmjId;
@ApiModelProperty(value = "封闭区域id", name = "closedAreaId", required = true)
@NotNull(message = "封闭区域id不能为空")
private Long closedAreaId;
@ApiModelProperty(value = "封闭区域名称", name = "closedAreaName", required = true)
// @NotEmpty(message = "封闭区域名称不能为空")
private String closedAreaName;
@ApiModelProperty(value = "访问起始时间", name = "visitStartTime", required = true)
@NotNull(message = "访问起始时间不能为空")
private String visitStartTime;
@ApiModelProperty(value = "访问结束时间", name = "visitEndTime", required = true)
@NotNull(message = "访问结束时间不能为空")
private String visitEndTime;
@ApiModelProperty(value = "区域管辖单位名id", name = "jurisdictionalCorpId", required = true)
// @NotNull(message = "区域管辖单位名id不能为空")
private Long jurisdictionalCorpId;
@ApiModelProperty(value = "区域管辖单位名称", name = "jurisdictionalCorpName", required = true)
// @NotEmpty(message = "区域管辖单位名称不能为空")
private String jurisdictionalCorpName;
@ApiModelProperty(value = "项目id", name = "projectId", required = true)
// @NotNull(message = "项目id不能为空")
private Long projectId;
@ApiModelProperty(value = "项目名称", name = "projectName", required = true)
// @NotEmpty(message = "项目名称不能为空")
private String projectName;
@ApiModelProperty(value = "申请理由", name = "applyReason", required = true)
@NotEmpty(message = "申请理由不能为空")
private String applyReason;
@ApiModelProperty(value = "随行人员", name = "entourage", required = true)
// @NotEmpty(message = "随行人员不能为空")
private String entourage;
@ApiModelProperty(value = "告知签字", name = "informSignId", required = true)
@NotNull(message = "告知签字不能为空")
private Long informSignId;
@ApiModelProperty(value = "行驶证照片", name = "drivingLicenseId", required = true)
@NotEmpty(message = "行驶证照片不能为空")
private String drivingLicenseId;
@ApiModelProperty(value = "车辆照片", name = "attachmentId", required = true)
@NotEmpty(message = "车辆照片不能为空")
private String attachmentId;
@ApiModelProperty(value = "审批人员所属企业ID", name = "auditPersonCorpId", required = true)
@NotNull(message = "审批人员所属企业ID不能为空")
private Long auditPersonCorpId;
@ApiModelProperty(value = "审批人员所属企业名称", name = "auditPersonCorpName", required = true)
@NotEmpty(message = "审批人员所属企业名称不能为空")
private String auditPersonCorpName;
@ApiModelProperty(value = "审批人员所属部门id", name = "auditPersonDepartmentId", required = true)
@NotNull(message = "审批人员所属部门id不能为空")
private Long auditPersonDepartmentId;
@ApiModelProperty(value = "审批人员部门名称", name = "auditPersonDepartmentName", required = true)
@NotEmpty(message = "审批人员部门名称不能为空")
private String auditPersonDepartmentName;
@ApiModelProperty(value = "审批人员id", name = "auditPersonUserId", required = true)
@NotNull(message = "审批人员id不能为空")
private Long auditPersonUserId;
@ApiModelProperty(value = "审批人员姓名", name = "auditPersonUserName", required = true)
@NotEmpty(message = "审批人员姓名不能为空")
private String auditPersonUserName;
@ApiModelProperty(value = "审批时间", name = "auditTime", required = true)
@NotEmpty(message = "审批时间不能为空")
private String auditTime;
@ApiModelProperty(value = "驳回原因", name = "refusalReason", required = true)
// @NotEmpty(message = "驳回原因不能为空")
private String refusalReason;
}

View File

@ -0,0 +1,143 @@
package com.zcloud.primeport.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.sql.Date;
/**
* web-client
*
* @Author dearLin
* @Date 2026-03-20 10:07:13
*/
@Data
public class ClosedAreaCarApplyCO extends ClientObject {
//主键
@ApiModelProperty(value = "主键")
private Long id;
//申请归属1股份2分公司3相关方4临时人员
@ApiModelProperty(value = "申请归属1股份2分公司3相关方4临时人员")
private Integer personBelongType;
//车牌类型数据字典
@ApiModelProperty(value = "车牌类型数据字典")
private String licenceType;
//车牌类型名称0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌
@ApiModelProperty(value = "车牌类型名称0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌")
private String licenceTypeName;
//车牌号
@ApiModelProperty(value = "车牌号")
private String licenceNo;
//车辆类型
@ApiModelProperty(value = "车辆类型")
private String vehicleType;
//车辆类型-名字
@ApiModelProperty(value = "车辆类型-名字")
private String vehicleTypeName;
//一级口门id
@ApiModelProperty(value = "一级口门id")
private Long levelOneMkmjId;
//审核状态(1:审核中;2审核通过; 3审核驳回)
@ApiModelProperty(value = "审核状态(1:审核中;2审核通过; 3审核驳回)")
private Integer auditFlag;
//二级口门id(封闭区域口门)
@ApiModelProperty(value = "二级口门id(封闭区域口门)")
private Long levelTwoMkmjId;
//封闭区域id
@ApiModelProperty(value = "封闭区域id")
private Long closedAreaId;
//封闭区域名称
@ApiModelProperty(value = "封闭区域名称")
private String closedAreaName;
//访问起始时间
@ApiModelProperty(value = "访问起始时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private String visitStartTime;
//访问结束时间
@ApiModelProperty(value = "访问结束时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private String visitEndTime;
//区域管辖单位名id
@ApiModelProperty(value = "区域管辖单位名id")
private Long jurisdictionalCorpId;
//区域管辖单位名称
@ApiModelProperty(value = "区域管辖单位名称")
private String jurisdictionalCorpName;
//项目id
@ApiModelProperty(value = "项目id")
private Long projectId;
//项目名称
@ApiModelProperty(value = "项目名称")
private String projectName;
//申请人员所属企业ID
@ApiModelProperty(value = "申请人员所属企业ID")
private Long applyPersonCorpId;
//申请人员所属企业名称
@ApiModelProperty(value = "申请人员所属企业名称")
private String applyPersonCorpName;
//待审批人员所属部门id
@ApiModelProperty(value = "待审批人员所属部门id")
private Long applyPersonDepartmentId;
//申请人员部门名称
@ApiModelProperty(value = "申请人员部门名称")
private String applyPersonDepartmentName;
//申请人员id
@ApiModelProperty(value = "申请人员id")
private Long applyPersonUserId;
//申请人员姓名
@ApiModelProperty(value = "申请人员姓名")
private String applyPersonUserName;
//申请理由
@ApiModelProperty(value = "申请理由")
private String applyReason;
//申请人头像
@ApiModelProperty(value = "申请人头像")
private String userFaceUrl;
//申请人手机号
@ApiModelProperty(value = "申请人手机号")
private String userPhone;
//申请人身份证号码
@ApiModelProperty(value = "申请人身份证号码")
private String userCard;
//随行人员
@ApiModelProperty(value = "随行人员")
private String entourage;
//告知签字
@ApiModelProperty(value = "告知签字")
private Long informSignId;
//行驶证照片
@ApiModelProperty(value = "行驶证照片")
private String drivingLicenseId;
//车辆照片
@ApiModelProperty(value = "车辆照片")
private String attachmentId;
//审批人员所属企业ID
@ApiModelProperty(value = "审批人员所属企业ID")
private Long auditPersonCorpId;
//审批人员所属企业名称
@ApiModelProperty(value = "审批人员所属企业名称")
private String auditPersonCorpName;
//审批人员所属部门id
@ApiModelProperty(value = "审批人员所属部门id")
private Long auditPersonDepartmentId;
//审批人员部门名称
@ApiModelProperty(value = "审批人员部门名称")
private String auditPersonDepartmentName;
//审批人员id
@ApiModelProperty(value = "审批人员id")
private Long auditPersonUserId;
//审批人员姓名
@ApiModelProperty(value = "审批人员姓名")
private String auditPersonUserName;
//审批时间
@ApiModelProperty(value = "审批时间")
private String auditTime;
//驳回原因
@ApiModelProperty(value = "驳回原因")
private String refusalReason;
}

View File

@ -0,0 +1,30 @@
package com.zcloud.primeport.domain.gateway;
import com.zcloud.primeport.domain.model.ClosedAreaCarApplyE;
/**
* web-domain
*
* @Author dearLin
* @Date 2026-03-20 10:07:14
*/
public interface ClosedAreaCarApplyGateway {
/**
*
*/
Boolean add(ClosedAreaCarApplyE closedAreaCarApplyE);
/**
*
*/
Boolean update(ClosedAreaCarApplyE closedAreaCarApplyE);
/**
*
*/
Boolean deletedClosedAreaCarApplyById(Long id);
Boolean deletedClosedAreaCarApplyByIds(Long[] id);
}

View File

@ -0,0 +1,95 @@
package com.zcloud.primeport.domain.model;
import com.alibaba.cola.domain.Entity;
import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* web-domain
*
* @Author dearLin
* @Date 2026-03-20 10:07:14
*/
@Data
public class ClosedAreaCarApplyE extends BaseE {
//申请归属1股份2分公司3相关方4临时人员
private Integer personBelongType;
//车牌类型数据字典
private String licenceType;
//车牌类型名称0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌
private String licenceTypeName;
//车牌号
private String licenceNo;
//车辆类型
private String vehicleType;
//车辆类型-名字
private String vehicleTypeName;
//一级口门id
private Long levelOneMkmjId;
//审核状态(1:审核中;2审核通过; 3审核驳回)
private Integer auditFlag;
//二级口门id(封闭区域口门)
private Long levelTwoMkmjId;
//封闭区域id
private Long closedAreaId;
//封闭区域名称
private String closedAreaName;
//访问起始时间
private String visitStartTime;
//访问结束时间
private String visitEndTime;
//区域管辖单位名id
private Long jurisdictionalCorpId;
//区域管辖单位名称
private String jurisdictionalCorpName;
//项目id
private Long projectId;
//项目名称
private String projectName;
//申请人员所属企业ID
private Long applyPersonCorpId;
//申请人员所属企业名称
private String applyPersonCorpName;
//待审批人员所属部门id
private Long applyPersonDepartmentId;
//申请人员部门名称
private String applyPersonDepartmentName;
//申请人员id
private Long applyPersonUserId;
//申请人员姓名
private String applyPersonUserName;
//申请理由
private String applyReason;
//申请人头像
private String userFaceUrl;
//申请人手机号
private String userPhone;
//申请人身份证号码
private String userCard;
//随行人员
private String entourage;
//告知签字
private Long informSignId;
//行驶证照片
private String drivingLicenseId;
//车辆照片
private String attachmentId;
//审批人员所属企业ID
private Long auditPersonCorpId;
//审批人员所属企业名称
private String auditPersonCorpName;
//审批人员所属部门id
private Long auditPersonDepartmentId;
//审批人员部门名称
private String auditPersonDepartmentName;
//审批人员id
private Long auditPersonUserId;
//审批人员姓名
private String auditPersonUserName;
//审批时间
private String auditTime;
//驳回原因
private String refusalReason;
}

View File

@ -0,0 +1,50 @@
package com.zcloud.primeport.gatewayimpl;
import com.zcloud.primeport.domain.gateway.ClosedAreaCarApplyGateway;
import com.zcloud.primeport.domain.model.ClosedAreaCarApplyE;
import lombok.AllArgsConstructor;
import com.zcloud.gbscommon.utils.Tools;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
import com.zcloud.primeport.persistence.repository.ClosedAreaCarApplyRepository;
import java.util.Collections;
/**
* web-infrastructure
*
* @Author dearLin
* @Date 2026-03-20 10:07:14
*/
@Service
@AllArgsConstructor
public class ClosedAreaCarApplyGatewayImpl implements ClosedAreaCarApplyGateway {
private final ClosedAreaCarApplyRepository closedAreaCarApplyRepository;
@Override
public Boolean add(ClosedAreaCarApplyE closedAreaCarApplyE) {
ClosedAreaCarApplyDO d = new ClosedAreaCarApplyDO();
BeanUtils.copyProperties(closedAreaCarApplyE, d);
closedAreaCarApplyRepository.save(d);
return true;
}
@Override
public Boolean update(ClosedAreaCarApplyE closedAreaCarApplyE) {
ClosedAreaCarApplyDO d = new ClosedAreaCarApplyDO();
BeanUtils.copyProperties(closedAreaCarApplyE, d);
closedAreaCarApplyRepository.updateById(d);
return true;
}
@Override
public Boolean deletedClosedAreaCarApplyById(Long id) {
return closedAreaCarApplyRepository.removeById(id);
}
@Override
public Boolean deletedClosedAreaCarApplyByIds(Long[] ids) {
return closedAreaCarApplyRepository.removeByIds(Collections.singletonList(ids));
}
}

View File

@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zcloud.primeport.domain.gateway.ClosedAreaFgsPersonAreaGateway;
import com.zcloud.primeport.domain.gateway.ClosedAreaFgsPersonAuthGateway;
import com.zcloud.primeport.domain.model.ClosedAreaFgsPersonAreaE;
import com.zcloud.primeport.domain.model.ClosedAreaFgsPersonAuthE;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaFgsPersonAreaDO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaFgsPersonAuthDO;
import com.zcloud.primeport.persistence.repository.ClosedAreaFgsPersonAreaRepository;
import com.zcloud.primeport.persistence.repository.ClosedAreaFgsPersonAuthRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;

View File

@ -0,0 +1,141 @@
package com.zcloud.primeport.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* web-infrastructure
*
* @Author dearLin
* @Date 2026-03-20 10:07:14
*/
@Data
@TableName("closed_area_car_apply")
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ClosedAreaCarApplyDO extends BaseDO {
//申请归属1股份2分公司3相关方4临时人员
@ApiModelProperty(value = "申请归属1股份2分公司3相关方4临时人员")
private Integer personBelongType;
//车牌类型数据字典
@ApiModelProperty(value = "车牌类型数据字典")
private String licenceType;
//车牌类型名称0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌
@ApiModelProperty(value = "车牌类型名称0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌")
private String licenceTypeName;
//车牌号
@ApiModelProperty(value = "车牌号")
private String licenceNo;
//车辆类型
@ApiModelProperty(value = "车辆类型")
private String vehicleType;
//车辆类型-名字
@ApiModelProperty(value = "车辆类型-名字")
private String vehicleTypeName;
//一级口门id
@ApiModelProperty(value = "一级口门id")
private Long levelOneMkmjId;
//审核状态(1:审核中;2审核通过; 3审核驳回)
@ApiModelProperty(value = "审核状态(1:审核中;2审核通过; 3审核驳回)")
private Integer auditFlag;
//二级口门id(封闭区域口门)
@ApiModelProperty(value = "二级口门id(封闭区域口门)")
private Long levelTwoMkmjId;
//封闭区域id
@ApiModelProperty(value = "封闭区域id")
private Long closedAreaId;
//封闭区域名称
@ApiModelProperty(value = "封闭区域名称")
private String closedAreaName;
//访问起始时间
@ApiModelProperty(value = "访问起始时间")
private String visitStartTime;
//访问结束时间
@ApiModelProperty(value = "访问结束时间")
private String visitEndTime;
//区域管辖单位名id
@ApiModelProperty(value = "区域管辖单位名id")
private Long jurisdictionalCorpId;
//区域管辖单位名称
@ApiModelProperty(value = "区域管辖单位名称")
private String jurisdictionalCorpName;
//项目id
@ApiModelProperty(value = "项目id")
private Long projectId;
//项目名称
@ApiModelProperty(value = "项目名称")
private String projectName;
//申请人员所属企业ID
@ApiModelProperty(value = "申请人员所属企业ID")
private Long applyPersonCorpId;
//申请人员所属企业名称
@ApiModelProperty(value = "申请人员所属企业名称")
private String applyPersonCorpName;
//待审批人员所属部门id
@ApiModelProperty(value = "待审批人员所属部门id")
private Long applyPersonDepartmentId;
//申请人员部门名称
@ApiModelProperty(value = "申请人员部门名称")
private String applyPersonDepartmentName;
//申请人员id
@ApiModelProperty(value = "申请人员id")
private Long applyPersonUserId;
//申请人员姓名
@ApiModelProperty(value = "申请人员姓名")
private String applyPersonUserName;
//申请理由
@ApiModelProperty(value = "申请理由")
private String applyReason;
//申请人头像
@ApiModelProperty(value = "申请人头像")
private String userFaceUrl;
//申请人手机号
@ApiModelProperty(value = "申请人手机号")
private String userPhone;
//申请人身份证号码
@ApiModelProperty(value = "申请人身份证号码")
private String userCard;
//随行人员
@ApiModelProperty(value = "随行人员")
private String entourage;
//告知签字
@ApiModelProperty(value = "告知签字")
private Long informSignId;
//行驶证照片
@ApiModelProperty(value = "行驶证照片")
private String drivingLicenseId;
//车辆照片
@ApiModelProperty(value = "车辆照片")
private String attachmentId;
//审批人员所属企业ID
@ApiModelProperty(value = "审批人员所属企业ID")
private Long auditPersonCorpId;
//审批人员所属企业名称
@ApiModelProperty(value = "审批人员所属企业名称")
private String auditPersonCorpName;
//审批人员所属部门id
@ApiModelProperty(value = "审批人员所属部门id")
private Long auditPersonDepartmentId;
//审批人员部门名称
@ApiModelProperty(value = "审批人员部门名称")
private String auditPersonDepartmentName;
//审批人员id
@ApiModelProperty(value = "审批人员id")
private Long auditPersonUserId;
//审批人员姓名
@ApiModelProperty(value = "审批人员姓名")
private String auditPersonUserName;
//审批时间
@ApiModelProperty(value = "审批时间")
private String auditTime;
//驳回原因
@ApiModelProperty(value = "驳回原因")
private String refusalReason;
}

View File

@ -0,0 +1,17 @@
package com.zcloud.primeport.persistence.mapper;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* web-infrastructure
*
* @Author dearLin
* @Date 2026-03-20 10:07:14
*/
@Mapper
public interface ClosedAreaCarApplyMapper extends BaseMapper<ClosedAreaCarApplyDO> {
}

View File

@ -0,0 +1,18 @@
package com.zcloud.primeport.persistence.repository;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import java.util.Map;
/**
* web-infrastructure
*
* @Author dearLin
* @Date 2026-03-20 10:07:14
*/
public interface ClosedAreaCarApplyRepository extends BaseRepository<ClosedAreaCarApplyDO> {
PageResponse<ClosedAreaCarApplyDO> listPage(Map<String, Object> params);
}

View File

@ -0,0 +1,39 @@
package com.zcloud.primeport.persistence.repository.impl;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
import com.zcloud.primeport.persistence.mapper.ClosedAreaCarApplyMapper;
import com.zcloud.primeport.persistence.repository.ClosedAreaCarApplyRepository;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.common.PageHelper;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* web-infrastructure
*
* @Author dearLin
* @Date 2026-03-20 10:07:15
*/
@Service
@RequiredArgsConstructor
public class ClosedAreaCarApplyRepositoryImpl extends BaseRepositoryImpl<ClosedAreaCarApplyMapper, ClosedAreaCarApplyDO> implements ClosedAreaCarApplyRepository {
private final ClosedAreaCarApplyMapper closedAreaCarApplyMapper;
@Override
public PageResponse<ClosedAreaCarApplyDO> listPage(Map<String, Object> params) {
IPage<ClosedAreaCarApplyDO> iPage = new Query<ClosedAreaCarApplyDO>().getPage(params);
QueryWrapper<ClosedAreaCarApplyDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time");
IPage<ClosedAreaCarApplyDO> result = closedAreaCarApplyMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
}

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zcloud.primeport.persistence.mapper.ClosedAreaCarApplyMapper">
</mapper>