物流优化

liweidong
liweidong-hj 16 hours ago
parent e58c6dda93
commit f7f402d636
  1. 4
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/dto/TaskDto.java
  2. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/OrderBindController.java
  3. 20
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/StationController.java
  4. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/StationMapper.java
  5. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/StationMapper.xml
  6. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/TaskMapper.xml
  7. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/IOrderBoxService.java
  8. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/IStationService.java
  9. 42
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java
  10. 16
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StationServiceImpl.java
  11. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/TaskServiceImpl.java

@ -30,12 +30,12 @@ public class TaskDto extends BaseEntity {
* 开始时间
*/
@Schema(description = "开始时间")
private Date startTime;
private String startTime;
/**
* 结束时间
*/
@Schema(description = "结束时间")
private Date endTime;
private String endTime;
/**
* 任务Id

@ -99,10 +99,10 @@ public class OrderBindController {
summary = "箱条码查询",
description = "获取箱条码数据详情"
)
public R getBoxbarcodeDetails(@RequestParam( required = false) String orderBindId,
@RequestParam( required = false) String boxBarcode) throws BusinessException {
public R getBoxbarcodeDetails(@RequestParam String boxBarcode,
@RequestParam boolean isDetail) {
return iOrderBoxService.getBoxbarcodeDetails(orderBindId,boxBarcode);
return iOrderBoxService.getBoxbarcodeDetails(boxBarcode,isDetail);
}
}

@ -7,22 +7,17 @@ import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
import oracle.jdbc.proxy.annotation.Post;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.desk.dashboard.pojo.entity.BsCraftAbilityEntity;
import org.springblade.desk.dashboard.pojo.vo.DsTaskingVO;
import org.springblade.desk.logistics.pojo.entity.Station;
import org.springblade.desk.logistics.pojo.vo.StationRegionVo;
import org.springblade.desk.logistics.pojo.vo.StationVO;
import org.springblade.desk.logistics.service.IOrderBoxService;
import org.springblade.desk.logistics.service.IStationService;
import org.springblade.desk.order.pojo.entity.YieldOrder;
import org.springblade.desk.order.pojo.vo.YieldOrderVo;
import org.springblade.desk.order.wrapper.YieldOrderWrapper;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@RestController
@AllArgsConstructor
@ -75,5 +70,16 @@ public class StationController {
}
@GetMapping("/getStationRegionList")
@ApiOperationSupport(order = 1)
@Operation(summary = "集合", description = "获取站点区域列表")
public R getStationRegionList(@RequestParam boolean isStart) {
List<StationRegionVo> stationRegionList = stationService.getStationRegionList(isStart);
return R.data(stationRegionList);
}
}

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.desk.logistics.pojo.entity.Station;
import org.springblade.desk.logistics.pojo.vo.StationRegionVo;
import org.springblade.desk.logistics.pojo.vo.StationVO;
import java.util.List;
@ -21,4 +22,6 @@ public interface StationMapper extends BaseMapper<Station> {
List<StationVO> getStatusStationList(@Param("stationStatus")Integer stationStatus,
@Param("stationStatusInclude") boolean stationStatusInclude, @Param("wcId")Long wcId, @Param("status")Integer status,
@Param("include")boolean include);
List<StationRegionVo> selectAllStationRegionList();
}

@ -116,5 +116,11 @@
</if>
</if>
</select>
<select id="selectAllStationRegionList"
resultType="org.springblade.desk.logistics.pojo.vo.StationRegionVo">
SELECT DISTINCT station_region as stationRegion
FROM LM_STATION
WHERE IS_DELETED = 0
</select>
</mapper>

@ -47,7 +47,7 @@
AND l.BOX_BARCODE LIKE '%' || #{taskDto.boxBarcode} || '%'
</if>
<if test="taskDto.startTime != null and taskDto.startTime != '' and taskDto.endTime != null and taskDto.endTime != ''">
<if test="taskDto.startTime != null and taskDto.endTime != null ">
AND l.CREATE_TIME BETWEEN TO_DATE(#{taskDto.startTime}, 'YYYY-MM-DD HH24:MI:SS')
AND TO_DATE(#{taskDto.endTime}, 'YYYY-MM-DD HH24:MI:SS')
</if>

@ -51,7 +51,7 @@ public interface IOrderBoxService {
R getQuantityLocation(String boxBarcode);
R getBoxbarcodeDetails( String orderBindId,String boxBarcode);
R getBoxbarcodeDetails( String boxBarcode,boolean isDetail);
R getStationNameBoxBarcode(String stationCode);

@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import org.springblade.desk.logistics.pojo.entity.Station;
import org.springblade.desk.logistics.pojo.vo.StationRegionVo;
import org.springblade.desk.logistics.pojo.vo.StationVO;
import java.util.List;
@ -73,4 +74,11 @@ public interface IStationService extends BaseService<Station> {
boolean updateStation(Station station);
List<StationVO> getStatusStationList(Integer stationStatus, boolean stationStatusInclude, Long wcId,Integer status, boolean include);
/**
* 获取所有区域
* @return
* @param isStart
*/
List<StationRegionVo> getStationRegionList(boolean isStart);
}

@ -1098,43 +1098,19 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
* @return R<BoxbarcodeDetailsVO> 箱条码详细信息
*/
@Override
public R getBoxbarcodeDetails(String orderBindId,String boxBarcode) {
public R getBoxbarcodeDetails(String boxBarcode,boolean isDetail) {
List<OrderBind> orderBindList = null;
String bindBoxBarcode = null;
// 参数互斥校验:只能传一个
if (!StringUtils.isBlank(orderBindId) && !StringUtils.isBlank(boxBarcode)) {
return R.fail("orderBindId 和 boxBarcode 只能传入一个");
}
// orderBindId不为空时
if (!StringUtils.isBlank(orderBindId)) {
Long obId = Long.parseLong(orderBindId);
OrderBind orderBind = orderBindService.getById(obId);
if (null == orderBind) {
return R.fail("箱条码数据不存在");
}
if (StringUtils.isBlank(orderBind.getBoxBarcode())) {
return R.fail("箱条码不存在");
}
if (null == orderBind.getTaskId()) {
return R.fail("任务不存在");
}
// 使用查出来的 boxBarcode 和 taskId 继续查询
bindBoxBarcode = orderBind.getBoxBarcode();
Long taskId = orderBind.getTaskId();
if (isDetail) {
orderBindList = orderBindService.list(
Wrappers.lambdaQuery(OrderBind.class)
.eq(OrderBind::getBoxBarcode, bindBoxBarcode)
.eq(OrderBind::getTaskId, taskId)
.eq(OrderBind::getBoxBarcode, boxBarcode)
);
}
// boxBarcode不为空时
else if (!StringUtils.isBlank(boxBarcode)) {
bindBoxBarcode = boxBarcode;
} else{
orderBindList = orderBindService.list(
Wrappers.lambdaQuery(OrderBind.class)
.eq(OrderBind::getBoxBarcode, boxBarcode)
@ -1142,10 +1118,6 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
);
bindBoxBarcode = boxBarcode;
}
else {
return R.fail("请传入 orderBindId 或 boxBarcode");
}
// 无绑定记录直接返回默认值
@ -1315,7 +1287,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
}
// 3. 查询最新任务关联的箱条码详情并填充VO
R boxbarcodeDetailsR = getBoxbarcodeDetails(null, taskList.get(0).getBoxBarcode());
R boxbarcodeDetailsR = getBoxbarcodeDetails(taskList.get(0).getBoxBarcode(),false);
if (!boxbarcodeDetailsR.isSuccess()) {
return boxbarcodeDetailsR;
}

@ -33,6 +33,7 @@ import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R;
import org.springblade.desk.logistics.mapper.StationMapper;
import org.springblade.desk.logistics.pojo.entity.Station;
import org.springblade.desk.logistics.pojo.vo.StationRegionVo;
import org.springblade.desk.logistics.pojo.vo.StationVO;
import org.springblade.desk.logistics.service.IStationService;
import org.springframework.stereotype.Service;
@ -103,4 +104,19 @@ public class StationServiceImpl extends BaseServiceImpl<StationMapper, Station>
return baseMapper.getStatusStationList(stationStatus,stationStatusInclude,wcId,status,include);
}
@Override
public List<StationRegionVo> getStationRegionList(boolean isStart) {
List<StationRegionVo> stationRegionVoList = baseMapper.selectAllStationRegionList();
StationRegionVo additionalVo = new StationRegionVo();
if(isStart){
additionalVo.setStationRegion(Station.PICKUP_CONVEYOR_LINE_NAME);
} else {
additionalVo.setStationRegion(Station.DROPOFF_CONVEYOR_LINE_NAME);
}
stationRegionVoList.add(additionalVo);
return stationRegionVoList;
}
}

@ -186,7 +186,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
// 任务对应的物料 - 处理空指针
if (StringUtils.isNotEmpty(boxBarcode)) {
R boxbarcodeDetailsR = orderBoxService.getBoxbarcodeDetails(null, boxBarcode);
R boxbarcodeDetailsR = orderBoxService.getBoxbarcodeDetails(boxBarcode,true);
if (boxbarcodeDetailsR != null && boxbarcodeDetailsR.isSuccess() && boxbarcodeDetailsR.getData() != null) {
taskDetailsVO.setBoxbarcodeDetailsVO((BoxbarcodeDetailsVO) boxbarcodeDetailsR.getData());
}

Loading…
Cancel
Save