feat:审批时间

koumen
dearLin 2026-03-17 17:14:33 +08:00
parent b971c628e2
commit 169e601dd1
12 changed files with 73 additions and 16 deletions

View File

@ -36,7 +36,7 @@ public class PersonApplyController {
private final PersonApplyServiceI personApplyService; private final PersonApplyServiceI personApplyService;
@ApiOperation("相关方、临时-人员申请-详情") @ApiOperation("相关方、临时-人员申请-详情")
@GetMapping("/xgfPersonApplyInfoById") @GetMapping("/xgfPersonApplyInfoById/{id}")
public SingleResponse<XgfPersonApplyCO> xgfPersonApplyInfoById(@PathVariable("id") Long id) { public SingleResponse<XgfPersonApplyCO> xgfPersonApplyInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(personApplyService.xgfPersonApplyInfoById(id)); return SingleResponse.of(personApplyService.xgfPersonApplyInfoById(id));
} }

View File

@ -50,7 +50,15 @@ public class PersonApplyAddExe {
public SingleResponse<PersonApplyCO> xgfPersonSave(XgfPersonApplyAddCmd cmd) { public SingleResponse<PersonApplyCO> xgfPersonSave(XgfPersonApplyAddCmd cmd) {
// 先进行相关方申请的保存 // 先进行相关方申请的保存
XgfApplyPersonE build = XgfApplyPersonE.builder().personBelongType(cmd.getPersonBelongType()).gateLevelAuthArea(cmd.getGateLevelAuthArea()).mkmjId(cmd.getMkmjId()).auditFlag((cmd.getPersonBelongType() == 1 || cmd.getPersonBelongType() == 2) ? 2 : 1).auditCorpId(cmd.getAuditCorpId()).auditCorpName(cmd.getAuditCorpName()).auditDeptId(cmd.getAuditDeptId()).auditDeptName(cmd.getAuditDeptName()).auditUserId(cmd.getAuditUserId()).auditUserName(cmd.getAuditUserName()).visitStartTime(cmd.getVisitStartTime()).visitEndTime(cmd.getVisitEndTime()).projectId(cmd.getProjectId()).projectName(cmd.getProjectName()).informSignId(cmd.getInformSignId()).build(); XgfApplyPersonE build = XgfApplyPersonE.builder().personBelongType(cmd.getPersonBelongType())
.gateLevelAuthArea(cmd.getGateLevelAuthArea())
.mkmjId(cmd.getMkmjId()).auditFlag((cmd.getPersonBelongType() == 1 || cmd.getPersonBelongType() == 2) ? 2 : 1)
.auditCorpId(cmd.getAuditCorpId()).auditCorpName(cmd.getAuditCorpName())
.auditDeptId(cmd.getAuditDeptId()).auditDeptName(cmd.getAuditDeptName())
.auditUserId(cmd.getAuditUserId()).auditUserName(cmd.getAuditUserName())
.visitStartTime(cmd.getVisitStartTime())
.visitEndTime(cmd.getVisitEndTime())
.projectId(cmd.getProjectId()).projectName(cmd.getProjectName()).informSignId(cmd.getInformSignId()).build();
xgfApplyPersonGateway.save(build); xgfApplyPersonGateway.save(build);
List<XgfPersonApplyAddCmd.PersonApplyAddCmdExt> personApplyList = cmd.getPersonApplyList(); List<XgfPersonApplyAddCmd.PersonApplyAddCmdExt> personApplyList = cmd.getPersonApplyList();
// 相关方人员信息的保存 // 相关方人员信息的保存

View File

@ -62,7 +62,13 @@ public class VehicleApplyAddExe {
} }
} }
vehicleApplyGateway.add(examTypeE); 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); vehicleAuditGateway.add(build);
// 发送待审核消息 // 发送待审核消息

View File

@ -35,12 +35,27 @@ public class VehicleApplyUpdateExe {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void execute(VehicleApplyUpdateCmd vehicleApplyUpdateCmd) { public void execute(VehicleApplyUpdateCmd vehicleApplyUpdateCmd) {
VehicleApplyE vehicleApplyE = new VehicleApplyE(); VehicleApplyE vehicleApplyE = new VehicleApplyE();
VehicleApplyE oldV = vehicleApplyGateway.getById(vehicleApplyE.getId()); VehicleApplyE oldV = vehicleApplyGateway.getById(vehicleApplyUpdateCmd.getId());
BeanUtils.copyProperties(vehicleApplyUpdateCmd, vehicleApplyE); BeanUtils.copyProperties(vehicleApplyUpdateCmd, vehicleApplyE);
vehicleApplyE.setAuditFlag(AuditEnum.WAITING.getCode()); vehicleApplyE.setAuditFlag(AuditEnum.WAITING.getCode());
// vehicleApplyE.setApplyTime(DateUtil.date2Str(new Date())); // vehicleApplyE.setApplyTime(DateUtil.date2Str(new Date()));
boolean res = vehicleApplyGateway.update(vehicleApplyE); boolean res = vehicleApplyGateway.update(vehicleApplyE);
VehicleAuditE build = VehicleAuditE.builder().vehicleApplyId(vehicleApplyE.getId()).batchState(1).batchType(2).auditUserId(vehicleApplyE.getAuditUserId()).auditUserName(vehicleApplyE.getAuditUserName()).auditDeptId(vehicleApplyE.getAuditDeptId()).auditDeptName(vehicleApplyE.getAuditDeptName()).auditCorpId(vehicleApplyE.getAuditCorpId()).auditCorpName(vehicleApplyE.getAuditCorpName()).auditStatus(AuditEnum.WAITING.getCode()).changeAfter(JSON.toJSONString(oldV)).changeBefore(JSON.toJSONString(vehicleApplyE)).build(); // VehicleApplyE nweV = vehicleApplyGateway.getById(vehicleApplyUpdateCmd.getId());
// nweV.setAuditCorpId();
// VehicleApplyE newV = vehicleApplyGateway.getById(vehicleApplyUpdateCmd.getId());
VehicleAuditE build = VehicleAuditE.builder()
.vehicleApplyId(vehicleApplyE.getId())
.batchState(2).batchType(2)
.auditUserId(vehicleApplyE.getAuditUserId())
.auditUserName(vehicleApplyE.getAuditUserName())
.auditDeptId(vehicleApplyE.getAuditDeptId())
.auditDeptName(vehicleApplyE.getAuditDeptName())
.auditCorpId(vehicleApplyE.getAuditCorpId())
.auditCorpName(vehicleApplyE.getAuditCorpName())
.auditStatus(AuditEnum.WAITING.getCode())
.changeAfter(JSON.toJSONString(oldV))
.changeBefore(JSON.toJSONString(vehicleApplyE)).build();
// 添加审批信息 // 添加审批信息
vehicleAuditGateway.add(build); vehicleAuditGateway.add(build);
// 发送待审核待办 // 发送待审核待办

View File

@ -59,10 +59,10 @@ public class VehicleApplyUpdateCmd extends Command {
@NotEmpty(message = "车辆所属部门名称不能为空") @NotEmpty(message = "车辆所属部门名称不能为空")
private String vehicleDepartmentName; private String vehicleDepartmentName;
@ApiModelProperty(value = "车辆所属人id(员工车辆/驾驶人id)", name = "employeeVehicleUserId") @ApiModelProperty(value = "车辆所属人id(员工车辆/驾驶人id)", name = "employeeVehicleUserId")
@NotNull(message = "车辆所属人id(员工车辆/驾驶人id)不能为空") // @NotNull(message = "车辆所属人id(员工车辆/驾驶人id)不能为空")
private Long employeeVehicleUserId; private Long employeeVehicleUserId;
@ApiModelProperty(value = "车辆所属人姓名(员工车辆/驾驶人名称)", name = "employeeVehicleUserName") @ApiModelProperty(value = "车辆所属人姓名(员工车辆/驾驶人名称)", name = "employeeVehicleUserName")
@NotEmpty(message = "车辆所属人姓名(员工车辆/驾驶人名称)不能为空") // @NotEmpty(message = "车辆所属人姓名(员工车辆/驾驶人名称)不能为空")
private String employeeVehicleUserName; private String employeeVehicleUserName;
@ApiModelProperty(value = "排放标准名称", name = "emissionStandards") @ApiModelProperty(value = "排放标准名称", name = "emissionStandards")
private String emissionStandards; private String emissionStandards;

View File

@ -46,7 +46,7 @@ public class XgfPersonApplyCO extends ClientObject {
private String projectName; private String projectName;
@ApiModelProperty(value = "申请单位id",name = "applyCorpId") @ApiModelProperty(value = "申请单位id",name = "applyCorpId")
private Long applyCorpId; private Long applyCorpId;
@ApiModelProperty(name = "applyCorpName", value = "申请单位名称") @ApiModelProperty(name = "申请单位名称", value = "applyCorpName")
private String applyCorpName; private String applyCorpName;
@ApiModelProperty(value = "当前用户是否能审核。1能审核2不能审核", name = "currentUserCanAudit") @ApiModelProperty(value = "当前用户是否能审核。1能审核2不能审核", name = "currentUserCanAudit")

View File

@ -1,15 +1,20 @@
package com.zcloud.primeport.gatewayimpl; package com.zcloud.primeport.gatewayimpl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zcloud.primeport.domain.gateway.VehicleApplyGateway; 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.VehicleApplyE;
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO; import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
import com.zcloud.primeport.persistence.dataobject.VehicleAuditDO;
import com.zcloud.primeport.persistence.repository.VehicleApplyRepository; import com.zcloud.primeport.persistence.repository.VehicleApplyRepository;
import com.zcloud.primeport.persistence.repository.VehicleAuditRepository;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collections; import java.util.Collections;
import java.util.List;
/** /**
* web-infrastructure * web-infrastructure
@ -21,6 +26,7 @@ import java.util.Collections;
@AllArgsConstructor @AllArgsConstructor
public class VehicleApplyGatewayImpl implements VehicleApplyGateway { public class VehicleApplyGatewayImpl implements VehicleApplyGateway {
private final VehicleApplyRepository vehicleApplyRepository; private final VehicleApplyRepository vehicleApplyRepository;
private final VehicleAuditRepository VehicleAuditRepository;
@Override @Override
public Boolean add(VehicleApplyE vehicleApplyE) { public Boolean add(VehicleApplyE vehicleApplyE) {
@ -55,6 +61,20 @@ public class VehicleApplyGatewayImpl implements VehicleApplyGateway {
if (vehicleApplyDO != null) { if (vehicleApplyDO != null) {
VehicleApplyE vehicleApplyE = new VehicleApplyE(); VehicleApplyE vehicleApplyE = new VehicleApplyE();
BeanUtils.copyProperties(vehicleApplyDO, vehicleApplyE); BeanUtils.copyProperties(vehicleApplyDO, vehicleApplyE);
// 上一步的审批人
QueryWrapper<VehicleAuditDO> objectQueryWrapper = new QueryWrapper<>();
objectQueryWrapper.eq("vehicle_apply_id",id);
objectQueryWrapper.orderByDesc("audit_time");
List<VehicleAuditDO> list = VehicleAuditRepository.list(objectQueryWrapper);
if (!list.isEmpty()) {
VehicleAuditDO vehicleAuditDO = list.get(0);
vehicleApplyE.setAuditCorpId(vehicleAuditDO.getAuditCorpId());
vehicleApplyE.setAuditCorpName(vehicleAuditDO.getAuditCorpName());
vehicleApplyE.setAuditDeptId(vehicleAuditDO.getAuditDeptId());
vehicleApplyE.setAuditDeptName(vehicleAuditDO.getAuditDeptName());
vehicleApplyE.setAuditUserId(vehicleAuditDO.getAuditUserId());
vehicleApplyE.setAuditUserName(vehicleAuditDO.getAuditUserName());
}
return vehicleApplyE; return vehicleApplyE;
} }
return null; return null;

View File

@ -20,6 +20,6 @@ public interface VehicleBlackMapper extends BaseMapper<VehicleBlackDO> {
VehicleBlackDO getInfoById(Long id); VehicleBlackDO getInfoById(Long id);
IPage<VehicleApplyDO> listPage(Page<Map<String, Object>> page, Map<String, Object> parmas); IPage<VehicleBlackDO> listPage(Page<Map<String, Object>> page, Map<String, Object> parmas);
} }

View File

@ -33,7 +33,7 @@ public class VehicleBlackRepositoryImpl extends BaseRepositoryImpl<VehicleBlackM
public PageResponse<VehicleBlackDO> listPage(Map<String, Object> parmas) { public PageResponse<VehicleBlackDO> listPage(Map<String, Object> parmas) {
Page<Map<String, Object>> page = new Page<>(Integer.parseInt(parmas.get("pageIndex").toString()), Page<Map<String, Object>> page = new Page<>(Integer.parseInt(parmas.get("pageIndex").toString()),
Integer.parseInt(parmas.get("pageSize").toString())); Integer.parseInt(parmas.get("pageSize").toString()));
IPage<VehicleApplyDO> result = vehicleBlackMapper.listPage(page, parmas); IPage<VehicleBlackDO> result = vehicleBlackMapper.listPage(page, parmas);
return PageHelper.pageToResponse(result, result.getRecords()); return PageHelper.pageToResponse(result, result.getRecords());
} }

View File

@ -37,7 +37,6 @@ public class VehicleViolationsRepositoryImpl extends BaseRepositoryImpl<VehicleV
QueryWrapper<VehicleViolationsDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<VehicleViolationsDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, parmas); queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, parmas);
queryWrapper.orderByDesc("create_time"); queryWrapper.orderByDesc("create_time");
queryWrapper.groupBy("licence_no");
IPage<VehicleViolationsDO> result = vehicleViolationsMapper.selectPage(iPage, queryWrapper); IPage<VehicleViolationsDO> result = vehicleViolationsMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords()); return PageHelper.pageToResponse(result, result.getRecords());
} }

View File

@ -100,7 +100,10 @@
`vehicle_apply` va `vehicle_apply` va
WHERE WHERE
va.delete_enum = 'FALSE' va.delete_enum = 'FALSE'
AND va.vehicle_belong_type IN ( 1, 3 ) <if test="parmas.corpType != null">
<if test="parmas.corpType == 1"> AND va.vehicle_belong_type IN ( 1, 3 ) </if>
<if test="parmas.corpType == 2"> and va.vehicle_belong_type = 7 </if>
</if>
GROUP BY GROUP BY
va.vehicle_corp_id va.vehicle_corp_id
) prtmp ON c.id = prtmp.vehicle_corp_id ) prtmp ON c.id = prtmp.vehicle_corp_id
@ -108,14 +111,20 @@
SELECT SELECT
va.vehicle_corp_id, va.vehicle_corp_id,
COUNT(va.id) pub_car_count COUNT(va.id) pub_car_count
FROM FROM
`vehicle_apply` va WHERE va.delete_enum = 'FALSE' and va.vehicle_belong_type in (2,4) `vehicle_apply` va WHERE va.delete_enum = 'FALSE'
<if test="parmas.corpType != null">
<if test="parmas.corpType == 1"> and va.vehicle_belong_type in (2,4) </if>
<if test="parmas.corpType == 2"> and va.vehicle_belong_type = 8 </if>
</if>
GROUP BY GROUP BY
va.vehicle_corp_id) pubtmp on pubtmp.vehicle_corp_id = c.id va.vehicle_corp_id) pubtmp on pubtmp.vehicle_corp_id = c.id
WHERE WHERE
c.delete_enum = 'FALSE' c.delete_enum = 'FALSE'
AND c.type IN ( 0, 1, 6 ) <if test="parmas.corpType != null">
<if test="parmas.corpType == 1"> AND c.type IN ( 0,1,2,6 ) </if>
<if test="parmas.corpType == 2"> AND c.type = 5 </if>
</if>
<if test="parmas.corpName != null and parmas.corpName != ''"> <if test="parmas.corpName != null and parmas.corpName != ''">
AND c.corp_name like CONCAT('%', #{parmas.corpName}, '%') AND c.corp_name like CONCAT('%', #{parmas.corpName}, '%')
</if> </if>

View File

@ -35,7 +35,7 @@
WHERE WHERE
b.id = #{id} b.id = #{id}
</select> </select>
<select id="listPage" resultType="com.zcloud.primeport.persistence.dataobject.VehicleApplyDO"> <select id="listPage" resultType="com.zcloud.primeport.persistence.dataobject.VehicleBlackDO">
SELECT SELECT
a.licence_type, a.licence_type,
a.licence_type_name, a.licence_type_name,