整车绑定前部件出库接口对接
This commit is contained in:
parent
99a84b470b
commit
6721873233
@ -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;
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
}
|
||||
@ -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> ebikeEcuOutRecords;
|
||||
|
||||
/**
|
||||
* 头盔信息列表,包含所有头盔部件的出库记录。
|
||||
*/
|
||||
private List<EbikeHelmetOutRecords> ebikeHelmetOutRecords;
|
||||
|
||||
/**
|
||||
* 电池信息列表,包含所有电池部件的出库记录。
|
||||
*/
|
||||
private List<EbikeBatteryOutRecords> ebikeBatteryOutRecords;
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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<EbikeBikeInfoMapper, E
|
||||
private EbikeBatteryInfoServiceImpl ebikeBatteryInfoServiceImpl;
|
||||
@Resource
|
||||
private StaffFeignClient staffFeignClient;
|
||||
@Autowired
|
||||
private OperateFeignClient operateFeignClient;
|
||||
@Resource
|
||||
private EbikeBikeComMapper ebikeBikeComMapper;
|
||||
@Resource
|
||||
@ -127,6 +129,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
private EbikeScheduleWorkOrderExtensionMapper ebikeScheduleWorkOrderExtensionMapper;
|
||||
@Resource
|
||||
private EbikeVehicleDispatchFileMapper ebikeVehicleDispatchFileMapper;
|
||||
|
||||
@Override
|
||||
public EbikeBikeInfo getByBikeCode(String bikeCode) {
|
||||
QueryWrapper query = QueryWrapper.create();
|
||||
@ -152,10 +155,42 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
BeanUtils.copyProperties(reqEbikeBikeInfoDto.getEbikeBatteryInfo(), ebikeBatteryInfo);
|
||||
EbikeEcuInfo ebikeEcuInfo = new EbikeEcuInfo();
|
||||
BeanUtils.copyProperties(reqEbikeBikeInfoDto.getEbikeEcuInfo(), ebikeEcuInfo);
|
||||
//部件出库
|
||||
ReqComponentOutRecordDto reqComponentOutRecordDto = new ReqComponentOutRecordDto();
|
||||
reqComponentOutRecordDto.setOldComponentHandleOption("整车绑定出库");
|
||||
reqComponentOutRecordDto.setStockInType(1);
|
||||
reqComponentOutRecordDto.setOutQuantity(1);
|
||||
reqComponentOutRecordDto.setIsWholeBinding(true);
|
||||
List<EbikeEcuOutRecords> 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> 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> 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);
|
||||
@ -1117,6 +1152,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
}
|
||||
return resEbikeBikeWorkOrderDto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量记录车辆上架信息
|
||||
*
|
||||
@ -1155,6 +1191,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
|
||||
/**
|
||||
* 创建调度工单信息
|
||||
*
|
||||
* @param eqWorkOrderDispatchDto
|
||||
* @return
|
||||
*/
|
||||
@ -1217,6 +1254,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
|
||||
/**
|
||||
* 根据订单ID 获取车辆调度信息
|
||||
*
|
||||
* @param orderId
|
||||
* @return
|
||||
*/
|
||||
@ -1238,8 +1276,10 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
|
||||
return resDispatchVehicleDto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 有工单-根据工单ID 车辆编号 新增调度车车辆
|
||||
*
|
||||
* @param ebikeDispatchRecordDto
|
||||
*/
|
||||
public EbikeDispatchRecords createDispatchRecord(ReqEbikeDispatchRecordDto ebikeDispatchRecordDto) {
|
||||
@ -1264,8 +1304,10 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
ebikeDispatchRecordsMapper.insert(ebikeDispatchRecords);
|
||||
return ebikeDispatchRecords;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除调度记录接口
|
||||
*
|
||||
* @param recordId
|
||||
* @return
|
||||
*/
|
||||
@ -1437,6 +1479,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
return JsonResult.failed("获取工作订单列表时发生错误。");
|
||||
}
|
||||
}
|
||||
|
||||
public StaffFeign getStaffFeignInfo() {
|
||||
String tokenValue = StpUtil.getTokenValue();
|
||||
// 调用 Feign 客户端获取用户信息
|
||||
@ -1452,6 +1495,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
|
||||
/**
|
||||
* 根据regin_id 获取车辆详情和EcuId
|
||||
*
|
||||
* @param regionId
|
||||
* @return
|
||||
*/
|
||||
@ -1469,6 +1513,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
|
||||
return JsonResult.success(resEbikeInfoReginIdDtos);
|
||||
}
|
||||
|
||||
private void modifyMaintenanceStatus(String bikeCode) {
|
||||
//是否存在维修中的订单数据
|
||||
int i = ebikeBikeInfoMapper.selectOrderCount(bikeCode);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user