1.口门门禁-检查部门获取详情信息

koumen
guoyuepeng 2025-11-21 09:16:18 +08:00
parent fd8e03cabb
commit ccd008d33c
10 changed files with 135 additions and 7 deletions

View File

@ -11,6 +11,7 @@ import com.zcloud.primeport.dto.InspectionDeptAddCmd;
import com.zcloud.primeport.dto.InspectionDeptPageQry;
import com.zcloud.primeport.dto.InspectionDeptUpdateCmd;
import com.zcloud.primeport.dto.clientobject.InspectionDeptCO;
import com.zcloud.primeport.dto.clientobject.InspectionDeptInfoCO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@ -48,8 +49,8 @@ public class InspectionDeptController {
@ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<InspectionDeptCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(new InspectionDeptCO());
public SingleResponse<InspectionDeptInfoCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(inspectionDeptService.getInfoById( id));
}
@ApiOperation("删除")

View File

@ -1,6 +1,7 @@
package com.zcloud.primeport.command.convertor;
import com.zcloud.primeport.dto.clientobject.InspectionDeptCO;
import com.zcloud.primeport.dto.clientobject.InspectionDeptInfoCO;
import com.zcloud.primeport.persistence.dataobject.InspectionDeptDO;
import org.mapstruct.Mapper;
@ -20,5 +21,10 @@ public interface InspectionDeptCoConvertor {
* @return
*/
List<InspectionDeptCO> converDOsToCOs(List<InspectionDeptDO> inspectionDeptDOs);
InspectionDeptInfoCO converDoToCo (InspectionDeptDO inspectionDeptDO);
}

View File

@ -1,6 +1,7 @@
package com.zcloud.primeport.command.convertor;
import com.zcloud.primeport.dto.clientobject.VehicleCountByCorpCO;
import com.zcloud.primeport.dto.clientobject.VehicleDeptInfoCO;
import com.zcloud.primeport.dto.clientobject.VehicleMessageCO;
import com.zcloud.primeport.persistence.dataobject.VehicleCountByCorpDO;
import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO;
@ -28,5 +29,8 @@ public interface VehicleMessageCoConvertor {
* @return
*/
List<VehicleCountByCorpCO> converCountDOsToCOs(List<VehicleCountByCorpDO> vehicleMessageDOs);
List<VehicleDeptInfoCO> converDOsToDeptInfoCOs(List<VehicleMessageDO> vehicleMessageDOs);
}

View File

@ -3,10 +3,18 @@ package com.zcloud.primeport.command.query;
import com.alibaba.cola.dto.PageResponse;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.primeport.command.convertor.InspectionDeptCoConvertor;
import com.zcloud.primeport.command.convertor.VehicleMessageCoConvertor;
import com.zcloud.primeport.dto.InspectionDeptPageQry;
import com.zcloud.primeport.dto.clientobject.InspectionDeptCO;
import com.zcloud.primeport.dto.clientobject.InspectionDeptInfoCO;
import com.zcloud.primeport.dto.clientobject.VehicleDeptInfoCO;
import com.zcloud.primeport.dto.clientobject.VehicleMessageCO;
import com.zcloud.primeport.persistence.dataobject.InspectionDeptDO;
import com.zcloud.primeport.persistence.dataobject.InspectionVehicleDO;
import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO;
import com.zcloud.primeport.persistence.repository.InspectionDeptRepository;
import com.zcloud.primeport.persistence.repository.InspectionVehicleRepository;
import com.zcloud.primeport.persistence.repository.VehicleMessageRepository;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
@ -26,6 +34,10 @@ public class InspectionDeptQueryExe {
private final InspectionDeptRepository inspectionDeptRepository;
private final InspectionDeptCoConvertor inspectionDeptCoConvertor;
private final InspectionVehicleRepository inspectionVehicleRepository;
private final VehicleMessageRepository vehicleMessageRepository;
private final VehicleMessageCoConvertor vehicleMessageCoConvertor;
/**
*
*
@ -38,5 +50,24 @@ public class InspectionDeptQueryExe {
List<InspectionDeptCO> examCenterCOS = inspectionDeptCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
/**
* id
* @param id
* @return
*/
public InspectionDeptInfoCO executeById(Long id) {
InspectionDeptDO inspectionDeptDO = inspectionDeptRepository.getById(id);
InspectionDeptInfoCO deptInfoCO = inspectionDeptCoConvertor.converDoToCo(inspectionDeptDO); // 获取部门信息
List<InspectionVehicleDO> inspectionVehicleDOS = inspectionVehicleRepository.queryInspectionVehicleByDeptId(id); // 获取部门下的车辆信息
Long[] ids = new Long[inspectionVehicleDOS.size()];
for (int i = 0; i < inspectionVehicleDOS.size(); i++) {
ids[i] = inspectionVehicleDOS.get(i).getVehicleMessageId();
}
List<VehicleMessageDO> vehicleMessageDOS = vehicleMessageRepository.listAll(ids); // 获取车辆信息
List<VehicleDeptInfoCO> vehicleMessageCOS = vehicleMessageCoConvertor.converDOsToDeptInfoCOs(vehicleMessageDOS); // 获取车辆信息
deptInfoCO.setVehicleDeptInfoCOS(vehicleMessageCOS);
return deptInfoCO;
}
}

View File

@ -10,6 +10,7 @@ import com.zcloud.primeport.dto.InspectionDeptAddCmd;
import com.zcloud.primeport.dto.InspectionDeptPageQry;
import com.zcloud.primeport.dto.InspectionDeptUpdateCmd;
import com.zcloud.primeport.dto.clientobject.InspectionDeptCO;
import com.zcloud.primeport.dto.clientobject.InspectionDeptInfoCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@ -54,5 +55,10 @@ public class InspectionDeptServiceImpl implements InspectionDeptServiceI {
public void removeBatch(Long[] ids) {
inspectionDeptRemoveExe.execute(ids);
}
@Override
public InspectionDeptInfoCO getInfoById(Long id) {
return inspectionDeptQueryExe.executeById( id);
}
}

View File

@ -6,6 +6,7 @@ import com.zcloud.primeport.dto.InspectionDeptAddCmd;
import com.zcloud.primeport.dto.InspectionDeptPageQry;
import com.zcloud.primeport.dto.InspectionDeptUpdateCmd;
import com.zcloud.primeport.dto.clientobject.InspectionDeptCO;
import com.zcloud.primeport.dto.clientobject.InspectionDeptInfoCO;
/**
* web-client
@ -23,5 +24,7 @@ public interface InspectionDeptServiceI {
void remove(Long id);
void removeBatch(Long[] ids);
InspectionDeptInfoCO getInfoById(Long id);
}

View File

@ -2,6 +2,7 @@ package com.zcloud.primeport.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -21,6 +22,11 @@ public class InspectionDeptCO extends ClientObject {
@ApiModelProperty(value = "名称")
private String name;
@ApiModelProperty(value = "检查部门下的车辆数量")
@TableField(exist = false)
private Integer vehicleCount;
}

View File

@ -0,0 +1,33 @@
package com.zcloud.primeport.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.zcloud.primeport.dto.VehicleInspectionUpdateCmd;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.util.List;
/**
* web-client
*
* @Author guoyuepeng
* @Date 2025-11-20 15:24:07
*/
@Data
public class InspectionDeptInfoCO extends ClientObject {
//主键
@ApiModelProperty(value = "主键")
private Long id;
//名称
@ApiModelProperty(value = "名称")
private String name;
@ApiModelProperty(value = "单位车辆信息部门为空", name = "VehicleMessageAddCmd", required = true)
@NotEmpty(message = "单位车辆信息部门为空")
List<VehicleDeptInfoCO> vehicleDeptInfoCOS;
}

View File

@ -0,0 +1,38 @@
package com.zcloud.primeport.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* web-client
*
* @Author guoyuepeng
* @Date 2025-11-15 11:41:21
*/
@Data
public class VehicleDeptInfoCO extends ClientObject {
@ApiModelProperty(value = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌", name = "licenceType", required = true)
@NotNull(message = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌不能为空")
private Integer licenceType;
@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 = "visitStartTime", required = true)
@NotEmpty(message = "访问起始时间不能为空")
private Date visitStartTime;
@ApiModelProperty(value = "访问结束时间", name = "visitEndTime", required = true)
@NotEmpty(message = "访问结束时间不能为空")
private Date visitEndTime;
}

View File

@ -9,6 +9,7 @@ import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO;
import java.util.List;
import java.util.Map;
/**
* web-infrastructure
* @Author guoyuepeng
@ -23,4 +24,3 @@ public interface VehicleMessageRepository extends BaseRepository<VehicleMessageD
List<VehicleMessageDO> listAll(Long [] ids);
}