feat:封闭车辆的审批

koumen
dearLin 2026-03-20 13:36:34 +08:00
parent 74c1eda8be
commit 4779ade9fd
10 changed files with 86 additions and 12 deletions

View File

@ -102,5 +102,11 @@ public class VehicleApplyController {
public PageResponse<FgsVehicleCountCo> fgsCount(@RequestParam HashMap<String,String> qry) { public PageResponse<FgsVehicleCountCo> fgsCount(@RequestParam HashMap<String,String> qry) {
return vehicleApplyService.fgsCount(qry); return vehicleApplyService.fgsCount(qry);
} }
@ApiOperation("跟据车辆归属查询车辆分页")
@GetMapping("/getCarByVehicleBelongIype")
public PageResponse<VehicleApplyCO> getCarByVehicleBelongType(VehicleApplyPageQry qry) {
return vehicleApplyService.getCarByVehicleBelongType(qry);
}
} }

View File

@ -1,17 +1,14 @@
package com.zcloud.primeport.web.close; package com.zcloud.primeport.web.close;
import com.alibaba.cola.dto.*;
import com.alibaba.cola.exception.BizException;
import com.zcloud.primeport.api.ClosedAreaCarApplyServiceI; import com.zcloud.primeport.api.ClosedAreaCarApplyServiceI;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAddCmd; import com.zcloud.primeport.dto.ClosedAreaCarApplyAddCmd;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAuditCmd;
import com.zcloud.primeport.dto.ClosedAreaCarApplyPageQry; import com.zcloud.primeport.dto.ClosedAreaCarApplyPageQry;
import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd; import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO; 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.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -45,12 +42,6 @@ public class ClosedAreaCarApplyController {
return closedAreaCarApplyService.listPage(qry); return closedAreaCarApplyService.listPage(qry);
} }
@ApiOperation("所有数据")
@GetMapping("/listAll")
public MultiResponse<ClosedAreaCarApplyCO> listAll() {
return MultiResponse.of(new ArrayList<ClosedAreaCarApplyCO>());
}
@ApiOperation("详情") @ApiOperation("详情")
@GetMapping("/{id}") @GetMapping("/{id}")
public SingleResponse<ClosedAreaCarApplyCO> getInfoById(@PathVariable("id") Long id) { public SingleResponse<ClosedAreaCarApplyCO> getInfoById(@PathVariable("id") Long id) {
@ -63,5 +54,15 @@ public class ClosedAreaCarApplyController {
closedAreaCarApplyService.remove(id); closedAreaCarApplyService.remove(id);
return SingleResponse.buildSuccess(); return SingleResponse.buildSuccess();
} }
@ApiOperation("审批车辆申请")
@PostMapping("/auditCarApply")
public Response auditCarApply(@RequestBody ClosedAreaCarApplyAuditCmd auditCmd) {
if (!(auditCmd.getAuditFlag().equals(2) || auditCmd.getAuditFlag().equals(3))) {
throw new BizException("只能是通过或者不通过");
}
closedAreaCarApplyService.auditCarApply(auditCmd);
return Response.buildSuccess();
}
} }

View File

@ -1,14 +1,18 @@
package com.zcloud.primeport.command; package com.zcloud.primeport.command;
import com.alibaba.cola.exception.BizException; import com.alibaba.cola.exception.BizException;
import com.zcloud.gbscommon.utils.DateUtil;
import com.zcloud.primeport.domain.gateway.ClosedAreaCarApplyGateway; import com.zcloud.primeport.domain.gateway.ClosedAreaCarApplyGateway;
import com.zcloud.primeport.domain.model.ClosedAreaCarApplyE; import com.zcloud.primeport.domain.model.ClosedAreaCarApplyE;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAuditCmd;
import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd; import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
/** /**
* web-app * web-app
@ -30,5 +34,15 @@ public class ClosedAreaCarApplyUpdateExe {
throw new BizException("修改失败"); throw new BizException("修改失败");
} }
} }
@Transactional(rollbackFor = Exception.class)
public void auditCarApply(ClosedAreaCarApplyAuditCmd auditCmd) {
ClosedAreaCarApplyE closedAreaCarApplyE = new ClosedAreaCarApplyE();
closedAreaCarApplyE.setId(auditCmd.getId());
closedAreaCarApplyE.setAuditFlag(auditCmd.getAuditFlag());
closedAreaCarApplyE.setRefusalReason(auditCmd.getRefusalReason());
closedAreaCarApplyE.setAuditTime(DateUtil.date2Str(new Date()));
closedAreaCarApplyGateway.update(closedAreaCarApplyE);
}
} }

View File

@ -83,5 +83,13 @@ public class VehicleApplyQueryExe {
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
} }
public PageResponse<VehicleApplyCO> getCarByVehicleBelongType(VehicleApplyPageQry qry) {
Map<String, Object> parmas = PageQueryHelper.toHashMap(qry);
PageResponse<VehicleApplyDO> pageResponse = vehicleApplyRepository.getCarByVehicleBelongType(parmas);
List<VehicleApplyCO> examCenterCOS = vehicleApplyCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
} }

View File

@ -6,6 +6,7 @@ import com.zcloud.primeport.command.ClosedAreaCarApplyRemoveExe;
import com.zcloud.primeport.command.ClosedAreaCarApplyUpdateExe; import com.zcloud.primeport.command.ClosedAreaCarApplyUpdateExe;
import com.zcloud.primeport.command.query.ClosedAreaCarApplyQueryExe; import com.zcloud.primeport.command.query.ClosedAreaCarApplyQueryExe;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAddCmd; import com.zcloud.primeport.dto.ClosedAreaCarApplyAddCmd;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAuditCmd;
import com.zcloud.primeport.dto.ClosedAreaCarApplyPageQry; import com.zcloud.primeport.dto.ClosedAreaCarApplyPageQry;
import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd; import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO; import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO;
@ -61,5 +62,10 @@ public class ClosedAreaCarApplyServiceImpl implements ClosedAreaCarApplyServiceI
public void removeBatch(Long[] ids) { public void removeBatch(Long[] ids) {
closedAreaCarApplyRemoveExe.execute(ids); closedAreaCarApplyRemoveExe.execute(ids);
} }
@Override
public void auditCarApply(ClosedAreaCarApplyAuditCmd auditCmd) {
closedAreaCarApplyUpdateExe.auditCarApply(auditCmd);
}
} }

View File

@ -117,5 +117,10 @@ public class VehicleApplyServiceImpl implements VehicleApplyServiceI {
public PageResponse<VehicleAuditCO> xgfCarApplyList(XgfApplyCarPageQry qry) { public PageResponse<VehicleAuditCO> xgfCarApplyList(XgfApplyCarPageQry qry) {
return null; return null;
} }
@Override
public PageResponse<VehicleApplyCO> getCarByVehicleBelongType(VehicleApplyPageQry qry) {
return vehicleApplyQueryExe.getCarByVehicleBelongType(qry);
}
} }

View File

@ -1,6 +1,7 @@
package com.zcloud.primeport.api; package com.zcloud.primeport.api;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAddCmd; import com.zcloud.primeport.dto.ClosedAreaCarApplyAddCmd;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAuditCmd;
import com.zcloud.primeport.dto.ClosedAreaCarApplyPageQry; import com.zcloud.primeport.dto.ClosedAreaCarApplyPageQry;
import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd; import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO; import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO;
@ -26,5 +27,7 @@ public interface ClosedAreaCarApplyServiceI {
void remove(Long id); void remove(Long id);
void removeBatch(Long[] ids); void removeBatch(Long[] ids);
void auditCarApply(ClosedAreaCarApplyAuditCmd auditCmd);
} }

View File

@ -37,5 +37,8 @@ public interface VehicleApplyServiceI {
PageResponse<FgsVehicleCountCo> fgsCount(HashMap<String, String> qry); PageResponse<FgsVehicleCountCo> fgsCount(HashMap<String, String> qry);
PageResponse<VehicleAuditCO> xgfCarApplyList(XgfApplyCarPageQry qry); PageResponse<VehicleAuditCO> xgfCarApplyList(XgfApplyCarPageQry qry);
PageResponse<VehicleApplyCO> getCarByVehicleBelongType(VehicleApplyPageQry qry);
} }

View File

@ -18,5 +18,7 @@ public interface VehicleApplyRepository extends BaseRepository<VehicleApplyDO> {
PageResponse<VehicleApplyDO> listPage(Map<String, Object> parmas); PageResponse<VehicleApplyDO> listPage(Map<String, Object> parmas);
PageResponse<FgsVehicleCountDto> fgsCount(HashMap<String, String> qry); PageResponse<FgsVehicleCountDto> fgsCount(HashMap<String, String> qry);
PageResponse<VehicleApplyDO> getCarByVehicleBelongType(Map<String, Object> parmas);
} }

View File

@ -4,13 +4,18 @@ import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.jjb.saas.framework.repository.common.PageHelper; import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query; import com.zcloud.gbscommon.utils.Query;
import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.primeport.domain.enums.AuditEnum;
import com.zcloud.primeport.domain.enums.MenuEnum; import com.zcloud.primeport.domain.enums.MenuEnum;
import com.zcloud.primeport.domain.enums.VehicleBelongTypeEnum;
import com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto; import com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto;
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO; import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO;
import com.zcloud.primeport.persistence.mapper.VehicleApplyMapper; import com.zcloud.primeport.persistence.mapper.VehicleApplyMapper;
import com.zcloud.primeport.persistence.repository.VehicleApplyRepository; import com.zcloud.primeport.persistence.repository.VehicleApplyRepository;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -50,5 +55,26 @@ public class VehicleApplyRepositoryImpl extends BaseRepositoryImpl<VehicleApplyM
return PageHelper.pageToResponse(result, result.getRecords()); return PageHelper.pageToResponse(result, result.getRecords());
} }
@Override
public PageResponse<VehicleApplyDO> getCarByVehicleBelongType(Map<String, Object> parmas) {
IPage<VehicleApplyDO> iPage = new Query<VehicleApplyDO>().getPage(parmas);
QueryWrapper<VehicleApplyDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("vehicle_belong_type", parmas.get("vehicleBelongType"));
queryWrapper.eq("audit_flag", AuditEnum.APPROVED.getCode());
queryWrapper.eq("mkmj_permission", 1);
queryWrapper.like(Tools.notEmpty(parmas.get("licenceNo").toString()),"mkmj_permission", parmas.get("licenceNo"));
String vehicleBelongType = parmas.get("vehicleBelongType").toString();
if (VehicleBelongTypeEnum.JGD_PRI_VEHICLES.getCode().equals(vehicleBelongType) ||VehicleBelongTypeEnum.FGS_PRI_VEHICLES.getCode().equals(vehicleBelongType)) {
// 分公司、股份个人车,查询当前登录用户车辆
queryWrapper.eq("employee_vehicle_user_id", AuthContext.getUserId());
}
if (VehicleBelongTypeEnum.JGD_PUB_VEHICLES.getCode().equals(vehicleBelongType) ||VehicleBelongTypeEnum.FGS_PUB_VEHICLES.getCode().equals(vehicleBelongType)) {
// 分公司、股份公车,查询当前登录
queryWrapper.eq("vehicle_corp_id", AuthContext.getTenantId());
}
IPage<VehicleApplyDO> result = vehicleApplyMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
} }