From 672187323301fb06e26bec2ec4ba264021e9c669 Mon Sep 17 00:00:00 2001 From: dzl <863620989@qq.com> Date: Wed, 28 May 2025 09:49:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E8=BD=A6=E7=BB=91=E5=AE=9A=E5=89=8D?= =?UTF-8?q?=E9=83=A8=E4=BB=B6=E5=87=BA=E5=BA=93=E6=8E=A5=E5=8F=A3=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/model/EbikeBatteryOutRecords.java | 27 ++++ .../cdzy/common/model/EbikeEcuOutRecords.java | 32 +++++ .../common/model/EbikeHelmetOutRecords.java | 27 ++++ .../model/ReqComponentOutRecordDto.java | 72 +++++++++++ .../feign/clients/OperateFeignClient.java | 9 ++ .../impl/EbikeBikeInfoServiceImpl.java | 121 ++++++++++++------ 6 files changed, 250 insertions(+), 38 deletions(-) create mode 100644 ebike-common/src/main/java/com/cdzy/common/model/EbikeBatteryOutRecords.java create mode 100644 ebike-common/src/main/java/com/cdzy/common/model/EbikeEcuOutRecords.java create mode 100644 ebike-common/src/main/java/com/cdzy/common/model/EbikeHelmetOutRecords.java create mode 100644 ebike-common/src/main/java/com/cdzy/common/model/ReqComponentOutRecordDto.java diff --git a/ebike-common/src/main/java/com/cdzy/common/model/EbikeBatteryOutRecords.java b/ebike-common/src/main/java/com/cdzy/common/model/EbikeBatteryOutRecords.java new file mode 100644 index 00000000..5102c72b --- /dev/null +++ b/ebike-common/src/main/java/com/cdzy/common/model/EbikeBatteryOutRecords.java @@ -0,0 +1,27 @@ +package com.cdzy.common.model; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.Table; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 电池出库记录 实体类。 + * + * @author dingchao + * @since 2025-03-25 + */ +@Data +public class EbikeBatteryOutRecords { + + /** + * 电池编号 + */ + private String batteryCode; + +} diff --git a/ebike-common/src/main/java/com/cdzy/common/model/EbikeEcuOutRecords.java b/ebike-common/src/main/java/com/cdzy/common/model/EbikeEcuOutRecords.java new file mode 100644 index 00000000..f4468873 --- /dev/null +++ b/ebike-common/src/main/java/com/cdzy/common/model/EbikeEcuOutRecords.java @@ -0,0 +1,32 @@ +package com.cdzy.common.model; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.Table; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 实体类。 + * + * @author zjd + * @since 2025-05-19 + */ +@Data +public class EbikeEcuOutRecords { + + /** + * 中控编码 + */ + private String ecuCode; + + /** + * 中控序列号 + */ + private String ecuSn; + +} diff --git a/ebike-common/src/main/java/com/cdzy/common/model/EbikeHelmetOutRecords.java b/ebike-common/src/main/java/com/cdzy/common/model/EbikeHelmetOutRecords.java new file mode 100644 index 00000000..54785640 --- /dev/null +++ b/ebike-common/src/main/java/com/cdzy/common/model/EbikeHelmetOutRecords.java @@ -0,0 +1,27 @@ +package com.cdzy.common.model; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.Table; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 头盔出库记录 实体类。 + * + * @author dingchao + * @since 2025-03-25 + */ +@Data +public class EbikeHelmetOutRecords { + + /** + * 头盔编号 + */ + private String helmetCode; + +} diff --git a/ebike-common/src/main/java/com/cdzy/common/model/ReqComponentOutRecordDto.java b/ebike-common/src/main/java/com/cdzy/common/model/ReqComponentOutRecordDto.java new file mode 100644 index 00000000..5182495d --- /dev/null +++ b/ebike-common/src/main/java/com/cdzy/common/model/ReqComponentOutRecordDto.java @@ -0,0 +1,72 @@ +package com.cdzy.common.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 设备部件出库Dto + * + * @author zjd + * @date 2025/5/20 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ReqComponentOutRecordDto { + + /** + * 部件记录主键。若存在记录ID则传递,若无则可不传。 + */ + private String componentOutRecordId; + + /** + * 所属区域,表示设备部件出库的区域。 + */ + private String owningRegion; + + /** + * 原部件处理方案 + */ + private String oldComponentHandleOption; + /** + * 部件类型ID,表示部件的类别(如电池、ECU等,部件的编号)。 + */ + private String componentType; + + /** + * 出库数量,表示该批次部件的数量。 + */ + private Integer outQuantity; + + /** + * 入库数量 + */ + private Integer enterQuantity; + /** + * 入库类型:0或空 表示暂存,1 表示出库。 + */ + private Integer stockInType; + + /** + * 是否为整车绑定出库 + */ + private Boolean isWholeBinding; + + /** + * 中控信息列表,包含所有ECU部件的出库记录。 + */ + private List ebikeEcuOutRecords; + + /** + * 头盔信息列表,包含所有头盔部件的出库记录。 + */ + private List ebikeHelmetOutRecords; + + /** + * 电池信息列表,包含所有电池部件的出库记录。 + */ + private List ebikeBatteryOutRecords; +} diff --git a/ebike-feign/src/main/java/com/ebike/feign/clients/OperateFeignClient.java b/ebike-feign/src/main/java/com/ebike/feign/clients/OperateFeignClient.java index 51ec82e2..69c7bd78 100644 --- a/ebike-feign/src/main/java/com/ebike/feign/clients/OperateFeignClient.java +++ b/ebike-feign/src/main/java/com/ebike/feign/clients/OperateFeignClient.java @@ -8,6 +8,7 @@ import com.ebike.feign.model.res.ReqEbikeTrackingDto; import com.ebike.feign.model.res.ReqUserOperateDto; import com.ebike.feign.model.res.ResFeignEbikeSysRcostsetDto; import com.ebike.feign.model.rsp.FeignEbikeRegionDto; +import com.cdzy.common.model.ReqComponentOutRecordDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.scheduling.annotation.Async; import org.springframework.web.bind.annotation.GetMapping; @@ -163,4 +164,12 @@ public interface OperateFeignClient { @PostMapping("ebikeTracking/querySite") JsonResult querySite(@RequestBody ReqEbikeSiteQuery siteQuery); + /** + * 部件出库 + * + * @param reqComponentOutRecordDto 出库参数 + * @return + */ + @PostMapping("ebikeComponent/ComponentInventoryOutbound") + JsonResult componentInventoryOutbound(@RequestBody ReqComponentOutRecordDto reqComponentOutRecordDto); } diff --git a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/impl/EbikeBikeInfoServiceImpl.java b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/impl/EbikeBikeInfoServiceImpl.java index 90ef9081..478d36b0 100644 --- a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/impl/EbikeBikeInfoServiceImpl.java +++ b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/impl/EbikeBikeInfoServiceImpl.java @@ -5,10 +5,8 @@ import cn.hutool.core.map.MapUtil; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.cdzy.common.enums.Code; -import com.cdzy.common.model.CoreResult; -import com.cdzy.common.model.JsonResult; import com.cdzy.common.model.PageParam; -import com.cdzy.common.model.ResGPSDto; +import com.cdzy.common.model.*; import com.cdzy.common.utils.CoordinateUtil; import com.cdzy.ebikemaintenance.controller.EbikeInfoCoreController; import com.cdzy.ebikemaintenance.enums.EbikeStatus; @@ -21,6 +19,7 @@ import com.cdzy.ebikemaintenance.service.EbikeBikeOrderService; import com.cdzy.ebikemaintenance.utils.GeoCodingUtil; import com.cdzy.ebikemaintenance.utils.MinioUtil; import com.cdzy.ebikemaintenance.utils.RedisUtil; +import com.ebike.feign.clients.OperateFeignClient; import com.ebike.feign.clients.StaffFeignClient; import com.ebike.feign.model.res.ReqEcuSnDto; import com.ebike.feign.model.res.StaffIds; @@ -36,6 +35,7 @@ import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.apache.kafka.common.errors.ResourceNotFoundException; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; @@ -104,6 +104,8 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl ebikeEcuOutRecords = new ArrayList<>(); + EbikeEcuOutRecords ecuOutRecords = new EbikeEcuOutRecords(); + BeanUtils.copyProperties(ebikeEcuInfo, ecuOutRecords); + ebikeEcuOutRecords.add(ecuOutRecords); + reqComponentOutRecordDto.setEbikeEcuOutRecords(ebikeEcuOutRecords); + reqComponentOutRecordDto.setComponentType("262711452730008"); + //ecu出库 + operateFeignClient.componentInventoryOutbound(reqComponentOutRecordDto); ebikeEcuInfoMapper.insert(ebikeEcuInfo); ebikeBikeInfo.setEcuId(ebikeEcuInfo.getEcuId()); + + List ebikeHelmetOutRecords = new ArrayList<>(); + EbikeHelmetOutRecords helmetOutRecords = new EbikeHelmetOutRecords(); + BeanUtils.copyProperties(ebikeHelmetInfo, helmetOutRecords); + ebikeHelmetOutRecords.add(helmetOutRecords); + reqComponentOutRecordDto.setEbikeHelmetOutRecords(ebikeHelmetOutRecords); + reqComponentOutRecordDto.setComponentType("262711452730001"); + //头盔出库 + operateFeignClient.componentInventoryOutbound(reqComponentOutRecordDto); ebikeHelmetInfoMapper.insert(ebikeHelmetInfo); ebikeBikeInfo.setHelmetId(ebikeHelmetInfo.getHelmetId()); + + List ebikeBatteryOutRecords = new ArrayList<>(); + EbikeBatteryOutRecords batteryOutRecords = new EbikeBatteryOutRecords(); + BeanUtils.copyProperties(ebikeBatteryInfo, batteryOutRecords); + ebikeBatteryOutRecords.add(batteryOutRecords); + reqComponentOutRecordDto.setEbikeBatteryOutRecords(ebikeBatteryOutRecords); + reqComponentOutRecordDto.setComponentType("262711452730000"); + //电池出库 + operateFeignClient.componentInventoryOutbound(reqComponentOutRecordDto); ebikeBatteryInfoMapper.insert(ebikeBatteryInfo); ebikeBikeInfo.setBatteryId(ebikeBatteryInfo.getBatteryId()); ebikeBikeInfoMapper.insert(ebikeBikeInfo); @@ -452,8 +487,8 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl0){ + if (update > 0) { return JsonResult.success("车辆状态修改成功"); } else { return JsonResult.failed("车辆状态修改失败"); @@ -1353,19 +1395,19 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl completeDeployment(Map param) { + public JsonResult completeDeployment(Map param) { String orderId = MapUtil.getStr(param, "orderId"); - List> fileLists = (List>) param.get("fileLists"); + List> fileLists = (List>) param.get("fileLists"); //设置一个关联ID - if(fileLists!=null && fileLists.size()>0){ + if (fileLists != null && fileLists.size() > 0) { String siteId = MapUtil.getStr(param, "siteId"); - String after_dispatch_photo=UUID.randomUUID().toString(); + String after_dispatch_photo = UUID.randomUUID().toString(); EbikeScheduleWorkOrderExtension ebikeScheduleWorkOrderExtension = new EbikeScheduleWorkOrderExtension(); ebikeScheduleWorkOrderExtension.setAfterDispatchPhoto(after_dispatch_photo); ebikeScheduleWorkOrderExtension.setId(orderId); ebikeScheduleWorkOrderExtension.setSiteId(siteId); ebikeScheduleWorkOrderExtensionMapper.update(ebikeScheduleWorkOrderExtension); - for (Map fileList : fileLists) { + for (Map fileList : fileLists) { EbikeVehicleDispatchFile ebikeVehicleDispatchFile = new EbikeVehicleDispatchFile(); ebikeVehicleDispatchFile.setFileName(fileList.get("fileName") != null ? fileList.get("fileName").toString() : ""); ebikeVehicleDispatchFile.setFileSize(fileList.get("fileSize") != null ? fileList.get("fileSize").toString() : ""); @@ -1376,7 +1418,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl ebikeDispatchRecords = ebikeDispatchRecordsMapper.selectListByQuery(query); for (EbikeDispatchRecords ebikeDispatchRecord : ebikeDispatchRecords) { ebikeDispatchRecord.setDispatchState("1"); @@ -1409,7 +1451,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl resEbikeWorkOrderSummaryDtoPage = ebikeBikeOrderMapper - .paginateAs(pageNum,pageSize, query,ResEbikeWorkOrderSummaryDto.class); + Page resEbikeWorkOrderSummaryDtoPage = ebikeBikeOrderMapper + .paginateAs(pageNum, pageSize, query, ResEbikeWorkOrderSummaryDto.class); // 返回查询结果 return JsonResult.success(resEbikeWorkOrderSummaryDtoPage); } catch (Exception e) { @@ -1437,6 +1479,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl0){ //维修中 - currentStatus=EbikeStatus.REPAIRING; - } else if(i==0 && i1>0){ //待维修 - currentStatus=EbikeStatus.WAITING_FOR_REPAIR; - }else if(i==0 && i1==0){ //待出库 - currentStatus=EbikeStatus.WAITING_FOR_SHIPMENT; + if (i > 0) { //维修中 + currentStatus = EbikeStatus.REPAIRING; + } else if (i == 0 && i1 > 0) { //待维修 + currentStatus = EbikeStatus.WAITING_FOR_REPAIR; + } else if (i == 0 && i1 == 0) { //待出库 + currentStatus = EbikeStatus.WAITING_FOR_SHIPMENT; } QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("bike_code", bikeCode);