diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/InspectionDeptController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/InspectionDeptController.java index 8ae83b9..253055c 100644 --- a/web-adapter/src/main/java/com/zcloud/primeport/web/InspectionDeptController.java +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/InspectionDeptController.java @@ -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 getInfoById(@PathVariable("id") Long id) { - return SingleResponse.of(new InspectionDeptCO()); + public SingleResponse getInfoById(@PathVariable("id") Long id) { + return SingleResponse.of(inspectionDeptService.getInfoById( id)); } @ApiOperation("删除") diff --git a/web-app/src/main/java/com/zcloud/primeport/command/convertor/InspectionDeptCoConvertor.java b/web-app/src/main/java/com/zcloud/primeport/command/convertor/InspectionDeptCoConvertor.java index 0fccc4d..92279c3 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/convertor/InspectionDeptCoConvertor.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/convertor/InspectionDeptCoConvertor.java @@ -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 converDOsToCOs(List inspectionDeptDOs); + + + InspectionDeptInfoCO converDoToCo (InspectionDeptDO inspectionDeptDO); + + } diff --git a/web-app/src/main/java/com/zcloud/primeport/command/convertor/VehicleMessageCoConvertor.java b/web-app/src/main/java/com/zcloud/primeport/command/convertor/VehicleMessageCoConvertor.java index eb2f581..fe9543a 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/convertor/VehicleMessageCoConvertor.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/convertor/VehicleMessageCoConvertor.java @@ -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 converCountDOsToCOs(List vehicleMessageDOs); + + + List converDOsToDeptInfoCOs(List vehicleMessageDOs); } diff --git a/web-app/src/main/java/com/zcloud/primeport/command/query/InspectionDeptQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/InspectionDeptQueryExe.java index cd40a47..7e93390 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/query/InspectionDeptQueryExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/InspectionDeptQueryExe.java @@ -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 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 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 vehicleMessageDOS = vehicleMessageRepository.listAll(ids); // 获取车辆信息 + List vehicleMessageCOS = vehicleMessageCoConvertor.converDOsToDeptInfoCOs(vehicleMessageDOS); // 获取车辆信息 + deptInfoCO.setVehicleDeptInfoCOS(vehicleMessageCOS); + return deptInfoCO; + } } diff --git a/web-app/src/main/java/com/zcloud/primeport/service/InspectionDeptServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/InspectionDeptServiceImpl.java index 3c6ab0c..0de964a 100644 --- a/web-app/src/main/java/com/zcloud/primeport/service/InspectionDeptServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/primeport/service/InspectionDeptServiceImpl.java @@ -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); + } } diff --git a/web-client/src/main/java/com/zcloud/primeport/api/InspectionDeptServiceI.java b/web-client/src/main/java/com/zcloud/primeport/api/InspectionDeptServiceI.java index 98f1a95..49f20e7 100644 --- a/web-client/src/main/java/com/zcloud/primeport/api/InspectionDeptServiceI.java +++ b/web-client/src/main/java/com/zcloud/primeport/api/InspectionDeptServiceI.java @@ -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); } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/InspectionDeptCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/InspectionDeptCO.java index ccce22e..2475ef5 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/InspectionDeptCO.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/InspectionDeptCO.java @@ -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; + + } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/InspectionDeptInfoCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/InspectionDeptInfoCO.java new file mode 100644 index 0000000..5871580 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/InspectionDeptInfoCO.java @@ -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 vehicleDeptInfoCOS; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/VehicleDeptInfoCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/VehicleDeptInfoCO.java new file mode 100644 index 0000000..39aa3b3 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/VehicleDeptInfoCO.java @@ -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; + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/VehicleMessageRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/VehicleMessageRepository.java index 09c0e0c..3c489b7 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/VehicleMessageRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/VehicleMessageRepository.java @@ -9,11 +9,12 @@ import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO; import java.util.List; import java.util.Map; + /** -* web-infrastructure -* @Author guoyuepeng -* @Date 2025-11-15 11:41:21 -*/ + * web-infrastructure + * @Author guoyuepeng + * @Date 2025-11-15 11:41:21 + */ public interface VehicleMessageRepository extends BaseRepository { PageResponse listPage(Map parmas); @@ -23,4 +24,3 @@ public interface VehicleMessageRepository extends BaseRepository listAll(Long [] ids); } -