修改库存验证
This commit is contained in:
parent
c45319b525
commit
6d84c3100f
@ -111,6 +111,13 @@ public class EbikeComponentServiceImpl implements EbikeComponentService {
|
|||||||
updateInventoryCount(ebikeComponentTypeInfo, orgId, enterQuantity, 1);
|
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);
|
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();
|
QueryWrapper query = new QueryWrapper();
|
||||||
query.eq("code", params.getComponentType());
|
query.eq("code", params.getComponentType());
|
||||||
EbikeComponentInventorycount ebikeComponentInventorycount = ebikeComponentInventorycountMapper.selectOneByQuery(query);
|
EbikeComponentInventorycount ebikeComponentInventorycount = ebikeComponentInventorycountMapper.selectOneByQuery(query);
|
||||||
Integer count = ebikeComponentInventorycount.getCount();
|
// 如果查询结果为空,返回错误信息
|
||||||
String name = ebikeComponentInventorycount.getName();
|
if (ebikeComponentInventorycount == null) {
|
||||||
// String brand = ebikeComponentInventorycount.getBrand();
|
return JsonResult.failed("未找到相应的部件库存信息");
|
||||||
if (stockInType ==1 && count < outQuantity) {
|
}
|
||||||
return JsonResult.failed(String.format("%s 的库存数量不足!剩余数量:%s", name, count));
|
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);
|
EbikeComponentOutRecords ebikeComponentOutRecords = buildOutRecord(params, ebikeComponentTypeInfo, stockInType, orgId);
|
||||||
@ -671,54 +682,79 @@ public class EbikeComponentServiceImpl implements EbikeComponentService {
|
|||||||
* @return ResComponentOutRecordInfoDto
|
* @return ResComponentOutRecordInfoDto
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
|
||||||
public JsonResult<?> getComponentOutRecordInfo(String componentOutRecordId) {
|
public JsonResult<?> getComponentOutRecordInfo(String componentOutRecordId) {
|
||||||
|
// 创建查询条件
|
||||||
QueryWrapper query = new QueryWrapper();
|
QueryWrapper query = new QueryWrapper();
|
||||||
ResComponentOutRecordInfoDto resComponentOutRecordInfoDto = new ResComponentOutRecordInfoDto();
|
|
||||||
query.eq("component_out_record_id", componentOutRecordId);
|
query.eq("component_out_record_id", componentOutRecordId);
|
||||||
|
|
||||||
|
// 获取出库记录
|
||||||
EbikeComponentOutRecords ebikeComponentOutRecords = ebikeComponentOutRecordsMapper.selectOneByQuery(query);
|
EbikeComponentOutRecords ebikeComponentOutRecords = ebikeComponentOutRecordsMapper.selectOneByQuery(query);
|
||||||
|
if (ebikeComponentOutRecords == null) {
|
||||||
|
return JsonResult.failed("记录未找到");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将出库记录的属性复制到返回的DTO中
|
||||||
|
ResComponentOutRecordInfoDto resComponentOutRecordInfoDto = new ResComponentOutRecordInfoDto();
|
||||||
BeanUtils.copyProperties(ebikeComponentOutRecords, resComponentOutRecordInfoDto);
|
BeanUtils.copyProperties(ebikeComponentOutRecords, resComponentOutRecordInfoDto);
|
||||||
String componentType = ebikeComponentOutRecords.getComponentType();
|
|
||||||
ComponentType componentTypeEnum = ComponentType.fromCode(componentType);
|
// 根据组件类型填充对应的出库记录
|
||||||
switch (componentTypeEnum) {
|
ComponentType componentTypeEnum = ComponentType.fromCode(ebikeComponentOutRecords.getComponentType());
|
||||||
case BATTERY: // 电池
|
populateOutRecords(resComponentOutRecordInfoDto, query, componentTypeEnum);
|
||||||
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;
|
|
||||||
}
|
|
||||||
//查询是否存在规划记录
|
|
||||||
EbikeComponentEnterRecords ebikeComponentEnterRecords = ebikeComponentEnterRecordsMapper.selectOneByQuery(query);
|
EbikeComponentEnterRecords ebikeComponentEnterRecords = ebikeComponentEnterRecordsMapper.selectOneByQuery(query);
|
||||||
if(ebikeComponentEnterRecords!=null){
|
if (ebikeComponentEnterRecords != null) {
|
||||||
String componentEnterRecordId = ebikeComponentEnterRecords.getComponentEnterRecordId();
|
populateEnterRecords(resComponentOutRecordInfoDto, ebikeComponentEnterRecords);
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return JsonResult.success(resComponentOutRecordInfoDto);
|
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() {
|
public StaffFeign getStaffFeignInfo() {
|
||||||
String tokenValue = StpUtil.getTokenValue();
|
String tokenValue = StpUtil.getTokenValue();
|
||||||
// 调用 Feign 客户端获取用户信息
|
// 调用 Feign 客户端获取用户信息
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user