Browse Source

1.库内作业逻辑优化

training
zhenghaoyu 1 year ago
parent
commit
68960363f2
  1. 20
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/OrderUpshelfDetailVO.java
  2. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java
  3. 8
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTrayTypeApiController.java
  4. 58
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownTypeApiController.java
  5. 1
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpShelfStockDTO.java
  6. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpShelfZeroOrderDTO.java
  7. 4
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsMapper.java
  8. 13
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsMapper.xml
  9. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java
  10. 4
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownGoodsService.java
  11. 8
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java
  12. 7
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java
  13. 6
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsServiceImpl.java
  14. 25
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java

20
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/OrderUpshelfDetailVO.java

@ -0,0 +1,20 @@
package com.logpm.warehouse.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@Data
public class OrderUpshelfDetailVO implements Serializable {
private String serviceNum;//服务号
private String orderCode;//订单号
private Integer totalNumber;//总数
private List<ParcelListVO> list = new ArrayList<>();
}

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java

@ -24,7 +24,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.logpm.basic.entity.BasicMaterialEntity;
import com.logpm.basic.entity.BasicPrintTemplateEntity;
import com.logpm.basic.feign.IBasicMaterialClient;
@ -49,7 +48,6 @@ import com.logpm.distribution.wrapper.DistributionStockArticleWrapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.orderpackage.OrderPackageReservationStatusConstant;
import org.springblade.common.constant.printTemplate.PrintTemplateStatusConstant;
import org.springblade.common.utils.CommonUtil;
import org.springblade.common.utils.FileUtil;
@ -75,7 +73,6 @@ import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@ -786,6 +783,7 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
QueryWrapper<DistributionStockArticleEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_code",orderCode)
.eq("warehouse_id",warehouseId)
.eq("is_zero",1)
.eq("is_deleted",0);
return baseMapper.selectOne(queryWrapper);
}
@ -795,6 +793,7 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
QueryWrapper<DistributionStockArticleEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("waybill_number",waybillNumber)
.eq("warehouse_id",warehouseId)
.eq("is_zero",1)
.eq("is_deleted",0);
return baseMapper.selectList(queryWrapper);
}

8
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTrayTypeApiController.java

@ -392,6 +392,12 @@ public class WarehouseTrayTypeApiController {
String trayType = trayTypeDTO.getTrayType();//打托方式
List<ZeroOrderVO> zeroList = trayTypeDTO.getZeroList();//零担订单数据
try{
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(403,"仓库信息为空");
}
if(!StringUtil.hasLength(trayCode)){
log.warn(method+"托盘号不能为空 trayCode={}",trayCode);
return R.fail(403,"托盘号不能为空");
@ -400,7 +406,7 @@ public class WarehouseTrayTypeApiController {
log.warn(method+"打托方式不能为空 trayCode={}",trayCode);
return R.fail(403,"打托方式不能为空");
}
return warehouseTrayTypeService.enterZeroOrderByTrayCode(trayType,trayCode,zeroList);
return warehouseTrayTypeService.enterZeroOrderByTrayCode(trayType,trayCode,zeroList,myCurrentWarehouse.getId());
}catch (CustomerException e){
log.warn(e.message);
return R.fail(e.code,e.message);

58
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownTypeApiController.java

@ -5,9 +5,7 @@ import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.warehouse.dto.*;
import com.logpm.warehouse.service.IWarehouseUpdownTypeService;
import com.logpm.warehouse.vo.MovePackInfoVO;
import com.logpm.warehouse.vo.UpShelfAllocationVO;
import com.logpm.warehouse.vo.UpShelfDataVO;
import com.logpm.warehouse.vo.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@ -104,33 +102,33 @@ public class WarehouseUpdownTypeApiController {
}
}
// @ResponseBody
// @PostMapping("/orderUpshelfDetail")
// @ApiOperationSupport(order = 1)
// @ApiOperation(value = "已上架订单详情", notes = "传入trayTypeDTO")
// public R upShelfScanAllocation(@RequestBody UpdownTypeDTO updownTypeDTO ) {
// String method = "###########orderUpshelfDetail: ";
// log.info(method + "已上架订单详情 updownTypeDTO={}", updownTypeDTO);
// String orderCode = updownTypeDTO.getOrderCode();
// try{
//
// if(StringUtil.isBlank(orderCode)){
// log.warn(method+"订单编码不能为空 orderCode={}",orderCode);
// return R.fail(403,"订单编码不能为空");
// }
//
// //查询该库位的货物信息
// PositionVO upShelfAllocationVO = warehouseUpdownTypeService.upShelfScanAllocation(allocationId,myCurrentWarehouse.getId());
// return R.data(upShelfAllocationVO);
// }catch (CustomerException e){
// log.warn(e.message);
// return R.fail(e.code,e.message);
// }catch (Exception e){
// log.error(method+"系统异常,联系管理员",e);
// return R.fail(500,"系统异常,联系管理员");
// }
//
// }
@ResponseBody
@PostMapping("/orderUpshelfDetail")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "已上架订单详情", notes = "传入trayTypeDTO")
public R orderUpshelfDetail(@RequestBody UpdownTypeDTO updownTypeDTO ) {
String method = "###########orderUpshelfDetail: ";
log.info(method + "已上架订单详情 updownTypeDTO={}", updownTypeDTO);
String orderCode = updownTypeDTO.getOrderCode();
try{
if(StringUtil.isBlank(orderCode)){
log.warn(method+"订单编码不能为空 orderCode={}",orderCode);
return R.fail(403,"订单编码不能为空");
}
//查询该库位的货物信息
OrderUpshelfDetailVO orderUpshelfDetailVO = warehouseUpdownTypeService.orderUpshelfDetail(orderCode);
return R.data(orderUpshelfDetailVO);
}catch (CustomerException e){
log.warn(e.message);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常,联系管理员",e);
return R.fail(500,"系统异常,联系管理员");
}
}
@ResponseBody

1
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpShelfStockDTO.java

@ -18,5 +18,6 @@ public class UpShelfStockDTO implements Serializable {
@ApiModelProperty(name = "库位id",notes = "库位id")
private Long allocationId;//库位id
private String incomingBatch;//批次号
private Integer num;//总数量
}

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpShelfZeroOrderDTO.java

@ -18,4 +18,6 @@ public class UpShelfZeroOrderDTO implements Serializable {
@ApiModelProperty(name = "库位id",notes = "库位id")
private Long allocationId;//库位id
private Integer num;//总数
}

4
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsMapper.java

@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity;
import com.logpm.warehouse.excel.WarehouseUpdownGoodsExcel;
import com.logpm.warehouse.vo.ParcelListVO;
import com.logpm.warehouse.vo.PositionVO;
import com.logpm.warehouse.vo.UpShelfDataVO;
import com.logpm.warehouse.vo.WarehouseUpdownGoodsVO;
@ -89,6 +90,9 @@ public interface WarehouseUpdownGoodsMapper extends BaseMapper<WarehouseUpdownGo
Integer getNumByZation(@Param("id") Long id);
ParcelListVO findAllUpShelfDataByOrderCode(@Param("orderCode") String orderCode);
// /**
// * 根据货位查询货物

13
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsMapper.xml

@ -260,4 +260,17 @@
select COALESCE (lwug.num ,0) from logpm_warehouse_updown_goods lwug join logpm_distribution_stock_list ldsl on lwug.association_id =ldsl.material_id WHERE ldsl.market_id = lwug.market_id and ldsl.id =#{id}
</select>
<select id="findAllUpShelfDataByOrderCode" resultType="com.logpm.warehouse.vo.ParcelListVO">
select ldsa.warehouse_id warehouseId,
ldsa.warehouse warehouseName
from logpm_distribution_parcel_list ldsa
left join logpm_warehouse_updown_goods lwug on lwug.association_value = ldsa.order_package_code and lwug.is_deleted = 0
left join logpm_warehouse_tary_allocation lwta on lwta.allocation_id = lwug.allocation_id and lwta.is_deleted = 0
left join logpm_warehouse_tray lwt on lwta.tray_id = lwt.id
where 1=1
and ldsa.order_code = #{orderCode}
and lwta.id is not null
</select>
</mapper>

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java

@ -27,7 +27,7 @@ public interface IWarehouseTrayTypeService extends BaseService<WarehouseTrayType
List<TrayTypeDataListVO> getZeroOrderByWaybillCode(String waybillCode,Long warehouseId);
R enterZeroOrderByTrayCode(String trayType ,String trayCode, List<ZeroOrderVO> zeroList);
R enterZeroOrderByTrayCode(String trayType ,String trayCode, List<ZeroOrderVO> zeroList,Long warehouseId);
R deleteZeroOrderByTrayCode(String orderCode, String trayCode);

4
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownGoodsService.java

@ -22,6 +22,7 @@ import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity;
import com.logpm.warehouse.entity.WarehouseUpdownTypeEntity;
import com.logpm.warehouse.excel.WarehouseUpdownGoodsExcel;
import com.logpm.warehouse.vo.ParcelListVO;
import com.logpm.warehouse.vo.PositionVO;
import com.logpm.warehouse.vo.UpShelfDataVO;
import com.logpm.warehouse.vo.WarehouseUpdownGoodsVO;
@ -123,4 +124,7 @@ public interface IWarehouseUpdownGoodsService extends BaseService<WarehouseUpdow
List<WarehouseUpdownGoodsVO> getZeroOrderListByWaybillNumber(String waybillNumber,Long warehouseId);
Integer getNumByZation(Long id);
ParcelListVO findAllUpShelfDataByOrderCode(String orderCode);
}

8
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java

@ -5,10 +5,7 @@ import com.logpm.warehouse.dto.UpShelfPackageDTO;
import com.logpm.warehouse.dto.UpShelfStockDTO;
import com.logpm.warehouse.dto.UpShelfZeroOrderDTO;
import com.logpm.warehouse.entity.WarehouseUpdownTypeEntity;
import com.logpm.warehouse.vo.MovePackInfoVO;
import com.logpm.warehouse.vo.TragetAllocationVO;
import com.logpm.warehouse.vo.UpShelfAllocationVO;
import com.logpm.warehouse.vo.UpShelfDataVO;
import com.logpm.warehouse.vo.*;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
@ -61,4 +58,7 @@ public interface IWarehouseUpdownTypeService extends BaseService<WarehouseUpdown
R moveAllocationByTrayCode(String trayCode, Long allocationId,Long warehouseId);
R downScanTrayCode(String trayCode);
OrderUpshelfDetailVO orderUpshelfDetail(String orderCode);
}

7
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java

@ -704,7 +704,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
@Transactional(rollbackFor = Exception.class)
@Override
public R enterZeroOrderByTrayCode(String trayType,String trayCode, List<ZeroOrderVO> zeroList) {
public R enterZeroOrderByTrayCode(String trayType,String trayCode, List<ZeroOrderVO> zeroList,Long warehouseId) {
if(Objects.isNull(zeroList)){
log.warn("##############enterZeroOrderByTrayCode: 数据为空 zeroList={}",zeroList);
return R.fail(403,"数据为空");
@ -736,7 +736,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
if(Objects.isNull(trayTypeEntity)){
//如果为空则该托盘为空
//第一次存入数据
trayTypeEntity = saveTrayTypeByZeroList(trayType, trayCode, trayId,sae);
trayTypeEntity = saveTrayTypeByZeroList(trayType, trayCode, trayId,sae,warehouseId);
}
String tt = trayTypeEntity.getTrayType();
Long filterId = trayTypeEntity.getFilterId();
@ -880,7 +880,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
}
private WarehouseTrayTypeEntity saveTrayTypeByZeroList(String trayType, String trayCode,Long trayId, DistributionStockArticleEntity stockArticleEntity) {
private WarehouseTrayTypeEntity saveTrayTypeByZeroList(String trayType, String trayCode,Long trayId, DistributionStockArticleEntity stockArticleEntity,Long warehouseId) {
log.info("#########saveTrayTypeByZeroList: 存入打托方式 trayType={},trayCode={}",trayType,trayCode);
// BasicdataTrayEntity trayEntity = basicdataTrayClient.getTrayByTrayCode(trayCode);
// if(Objects.isNull(trayEntity)){
@ -901,6 +901,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
trayTypeEntity.setTrayCode(trayCode);
trayTypeEntity.setType(PalletProductTypeConstant.ARTIFICIAL);
trayTypeEntity.setTrayType(trayType);
trayTypeEntity.setWarehouseId(warehouseId);
trayTypeEntity.setOrderTotalNum(0);
trayTypeEntity.setTotalNum(0);

6
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsServiceImpl.java

@ -26,6 +26,7 @@ import com.logpm.warehouse.excel.WarehouseUpdownGoodsExcel;
import com.logpm.warehouse.mapper.WarehouseUpdownGoodsMapper;
import com.logpm.warehouse.service.IWarehouseUpdownGoodsLogService;
import com.logpm.warehouse.service.IWarehouseUpdownGoodsService;
import com.logpm.warehouse.vo.ParcelListVO;
import com.logpm.warehouse.vo.PositionVO;
import com.logpm.warehouse.vo.UpShelfDataVO;
import com.logpm.warehouse.vo.WarehouseUpdownGoodsVO;
@ -212,4 +213,9 @@ public class WarehouseUpdownGoodsServiceImpl extends BaseServiceImpl<WarehouseUp
return baseMapper.getNumByZation(id);
}
@Override
public ParcelListVO findAllUpShelfDataByOrderCode(String orderCode) {
return baseMapper.findAllUpShelfDataByOrderCode(orderCode);
}
}

25
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java

@ -791,7 +791,7 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
zeroOrderVO.setNum(upShelfZeroOrderDTO.getEnterNum());
zeroOrderVOList.add(zeroOrderVO);
}
R r = warehouseTrayTypeService.enterZeroOrderByTrayCode(trayType, trayCode, zeroOrderVOList);
R r = warehouseTrayTypeService.enterZeroOrderByTrayCode(trayType, trayCode, zeroOrderVOList,warehouseId);
int code = r.getCode();
if(code != 200){
throw new CustomerException(code,r.getMsg());
@ -1551,6 +1551,29 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
return R.data(upShelfAllocationVO);
}
@Override
public OrderUpshelfDetailVO orderUpshelfDetail(String orderCode) {
//查询订单信息
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findStockArticleByOrderCode(orderCode);
if(Objects.isNull(stockArticleEntity)){
log.warn("##############orderUpshelfDetail: 订单信息不存在 orderCode={}",orderCode);
throw new CustomerException(403,"订单信息不存在");
}
OrderUpshelfDetailVO detailVO = new OrderUpshelfDetailVO();
detailVO.setServiceNum(stockArticleEntity.getServiceNumber());
detailVO.setOrderCode(stockArticleEntity.getOrderCode());
detailVO.setTotalNumber(stockArticleEntity.getTotalNumber());
//根据订单自编码查询已上架的数据
ParcelListVO updownParcelListVO = warehouseUpdownGoodsService.findAllUpShelfDataByOrderCode(orderCode);
return null;
}
private void saveUpdownGoodsLogPart(List<WarehouseUpdownGoodsEntity> updownGoodsList, int residue, String bindingType, Integer isAlltrays, String remark) {
List<WarehouseUpdownGoodsLogEntity> updownGoodsLogList = new ArrayList<>();

Loading…
Cancel
Save