修改库存验证
This commit is contained in:
parent
c45319b525
commit
6d84c3100f
@ -111,6 +111,13 @@ public class EbikeComponentServiceImpl implements EbikeComponentService {
|
||||
updateInventoryCount(ebikeComponentTypeInfo, orgId, enterQuantity, 1);
|
||||
}
|
||||
}
|
||||
String componentOutRecordId = params.getComponentOutRecordId();
|
||||
if(componentOutRecordId != null && !componentOutRecordId.isEmpty()){
|
||||
// 更新出库记录状态为 已归还
|
||||
EbikeComponentOutRecords ebikeComponentOutRecords = ebikeComponentOutRecordsMapper.selectOneById(componentOutRecordId);
|
||||
ebikeComponentOutRecords.setState("2");
|
||||
ebikeComponentOutRecordsMapper.update(ebikeComponentOutRecords);
|
||||
}
|
||||
return JsonResult.success("", componentEnterRecordId);
|
||||
}
|
||||
|
||||
@ -408,16 +415,20 @@ public class EbikeComponentServiceImpl implements EbikeComponentService {
|
||||
/**
|
||||
* 验证仓库数量是否足够
|
||||
*/
|
||||
Integer outQuantity = params.getOutQuantity();//选择的出库数量
|
||||
//查看仓库剩余部件数量
|
||||
Integer outQuantity = params.getOutQuantity(); // 选择的出库数量
|
||||
// 查看仓库剩余部件数量
|
||||
QueryWrapper query = new QueryWrapper();
|
||||
query.eq("code", params.getComponentType());
|
||||
EbikeComponentInventorycount ebikeComponentInventorycount = ebikeComponentInventorycountMapper.selectOneByQuery(query);
|
||||
Integer count = ebikeComponentInventorycount.getCount();
|
||||
String name = ebikeComponentInventorycount.getName();
|
||||
// String brand = ebikeComponentInventorycount.getBrand();
|
||||
if (stockInType ==1 && count < outQuantity) {
|
||||
return JsonResult.failed(String.format("%s 的库存数量不足!剩余数量:%s", name, count));
|
||||
// 如果查询结果为空,返回错误信息
|
||||
if (ebikeComponentInventorycount == null) {
|
||||
return JsonResult.failed("未找到相应的部件库存信息");
|
||||
}
|
||||
Integer count = ebikeComponentInventorycount.getCount(); // 获取剩余数量
|
||||
String name = ebikeComponentInventorycount.getName(); // 获取部件名称
|
||||
// 判断库存是否足够
|
||||
if (stockInType == 1 && count < outQuantity) {
|
||||
return JsonResult.failed(String.format("%s 的库存数量不足!剩余数量:%d", name, count));
|
||||
}
|
||||
// 获取或新增部件记录
|
||||
EbikeComponentOutRecords ebikeComponentOutRecords = buildOutRecord(params, ebikeComponentTypeInfo, stockInType, orgId);
|
||||
@ -671,54 +682,79 @@ public class EbikeComponentServiceImpl implements EbikeComponentService {
|
||||
* @return ResComponentOutRecordInfoDto
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public JsonResult<?> getComponentOutRecordInfo(String componentOutRecordId) {
|
||||
// 创建查询条件
|
||||
QueryWrapper query = new QueryWrapper();
|
||||
ResComponentOutRecordInfoDto resComponentOutRecordInfoDto = new ResComponentOutRecordInfoDto();
|
||||
query.eq("component_out_record_id", componentOutRecordId);
|
||||
|
||||
// 获取出库记录
|
||||
EbikeComponentOutRecords ebikeComponentOutRecords = ebikeComponentOutRecordsMapper.selectOneByQuery(query);
|
||||
if (ebikeComponentOutRecords == null) {
|
||||
return JsonResult.failed("记录未找到");
|
||||
}
|
||||
|
||||
// 将出库记录的属性复制到返回的DTO中
|
||||
ResComponentOutRecordInfoDto resComponentOutRecordInfoDto = new ResComponentOutRecordInfoDto();
|
||||
BeanUtils.copyProperties(ebikeComponentOutRecords, resComponentOutRecordInfoDto);
|
||||
String componentType = ebikeComponentOutRecords.getComponentType();
|
||||
ComponentType componentTypeEnum = ComponentType.fromCode(componentType);
|
||||
switch (componentTypeEnum) {
|
||||
case BATTERY: // 电池
|
||||
List<EbikeBatteryOutRecords> ebikeBatteryOutRecords = ebikeBatteryOutRecordsMapper.selectListWithRelationsByQuery(query);
|
||||
resComponentOutRecordInfoDto.setEbikeBatteryOutRecords(ebikeBatteryOutRecords);
|
||||
break;
|
||||
case HELMET: // 头盔
|
||||
List<EbikeHelmetOutRecords> ebikeHelmetOutRecords = ebikeHelmetOutRecordsMapper.selectListWithRelationsByQuery(query);
|
||||
resComponentOutRecordInfoDto.setEbikeHelmetOutRecords(ebikeHelmetOutRecords);
|
||||
break;
|
||||
case ECU: // 中控
|
||||
List<EbikeEcuOutRecords> ebikeEcuOutRecords = ebikeEcuOutRecordsMapper.selectListWithRelationsByQuery(query);
|
||||
resComponentOutRecordInfoDto.setEbikeEcuOutRecords(ebikeEcuOutRecords);
|
||||
break;
|
||||
}
|
||||
//查询是否存在规划记录
|
||||
|
||||
// 根据组件类型填充对应的出库记录
|
||||
ComponentType componentTypeEnum = ComponentType.fromCode(ebikeComponentOutRecords.getComponentType());
|
||||
populateOutRecords(resComponentOutRecordInfoDto, query, componentTypeEnum);
|
||||
|
||||
// 查询是否存在归还记录,如果存在,则填充归还记录
|
||||
EbikeComponentEnterRecords ebikeComponentEnterRecords = ebikeComponentEnterRecordsMapper.selectOneByQuery(query);
|
||||
if(ebikeComponentEnterRecords!=null){
|
||||
String componentEnterRecordId = ebikeComponentEnterRecords.getComponentEnterRecordId();
|
||||
query = new QueryWrapper();
|
||||
query.eq("component_enter_record_id", componentEnterRecordId);
|
||||
String componentEnterType = ebikeComponentEnterRecords.getComponentType();
|
||||
ComponentType componentTypeEnumEnter = ComponentType.fromCode(componentEnterType);
|
||||
switch (componentTypeEnumEnter) {
|
||||
case BATTERY: // 电池
|
||||
List<EbikeBatteryEnterRecords> ebikeBatteryEnterRecords = ebikeBatteryEnterRecordsMapper.selectListWithRelationsByQuery(query);
|
||||
resComponentOutRecordInfoDto.setEbikeBatteryEnterRecords(ebikeBatteryEnterRecords);
|
||||
break;
|
||||
case HELMET: // 头盔
|
||||
List<EbikeHelmetEnterRecords> ebikeHelmetEnterRecords = ebikeHelmetEnterRecordsMapper.selectListWithRelationsByQuery(query);
|
||||
resComponentOutRecordInfoDto.setEbikeHelmetEnterRecords(ebikeHelmetEnterRecords);
|
||||
break;
|
||||
case ECU: // 中控
|
||||
List<EbikeEcuEnterRecords> ebikeEcuEnterRecords = ebikeEcuEnterRecordsMapper.selectListWithRelationsByQuery(query);
|
||||
resComponentOutRecordInfoDto.setEbikeEcuEnterRecords(ebikeEcuEnterRecords);
|
||||
break;
|
||||
}
|
||||
if (ebikeComponentEnterRecords != null) {
|
||||
populateEnterRecords(resComponentOutRecordInfoDto, ebikeComponentEnterRecords);
|
||||
}
|
||||
|
||||
return JsonResult.success(resComponentOutRecordInfoDto);
|
||||
}
|
||||
|
||||
// 根据组件类型填充出库记录
|
||||
private void populateOutRecords(ResComponentOutRecordInfoDto dto, QueryWrapper query, ComponentType componentTypeEnum) {
|
||||
switch (componentTypeEnum) {
|
||||
case BATTERY: // 电池
|
||||
List<EbikeBatteryOutRecords> batteryOutRecords = ebikeBatteryOutRecordsMapper.selectListWithRelationsByQuery(query);
|
||||
dto.setEbikeBatteryOutRecords(batteryOutRecords);
|
||||
break;
|
||||
case HELMET: // 头盔
|
||||
List<EbikeHelmetOutRecords> helmetOutRecords = ebikeHelmetOutRecordsMapper.selectListWithRelationsByQuery(query);
|
||||
dto.setEbikeHelmetOutRecords(helmetOutRecords);
|
||||
break;
|
||||
case ECU: // 中控
|
||||
List<EbikeEcuOutRecords> ecuOutRecords = ebikeEcuOutRecordsMapper.selectListWithRelationsByQuery(query);
|
||||
dto.setEbikeEcuOutRecords(ecuOutRecords);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 根据归还记录填充相应的归还记录
|
||||
private void populateEnterRecords(ResComponentOutRecordInfoDto dto, EbikeComponentEnterRecords enterRecords) {
|
||||
QueryWrapper query = new QueryWrapper();
|
||||
query.eq("component_enter_record_id", enterRecords.getComponentEnterRecordId());
|
||||
|
||||
// 获取归还记录对应的组件类型
|
||||
ComponentType componentTypeEnumEnter = ComponentType.fromCode(enterRecords.getComponentType());
|
||||
switch (componentTypeEnumEnter) {
|
||||
case BATTERY: // 电池
|
||||
List<EbikeBatteryEnterRecords> batteryEnterRecords = ebikeBatteryEnterRecordsMapper.selectListWithRelationsByQuery(query);
|
||||
dto.setEbikeBatteryEnterRecords(batteryEnterRecords);
|
||||
break;
|
||||
case HELMET: // 头盔
|
||||
List<EbikeHelmetEnterRecords> helmetEnterRecords = ebikeHelmetEnterRecordsMapper.selectListWithRelationsByQuery(query);
|
||||
dto.setEbikeHelmetEnterRecords(helmetEnterRecords);
|
||||
break;
|
||||
case ECU: // 中控
|
||||
List<EbikeEcuEnterRecords> ecuEnterRecords = ebikeEcuEnterRecordsMapper.selectListWithRelationsByQuery(query);
|
||||
dto.setEbikeEcuEnterRecords(ecuEnterRecords);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public StaffFeign getStaffFeignInfo() {
|
||||
String tokenValue = StpUtil.getTokenValue();
|
||||
// 调用 Feign 客户端获取用户信息
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user