Browse Source

1.分拣打托逻辑更新

2.修复没有存入创建用户等数据的bug
training
zhenghaoyu 1 year ago
parent
commit
1cc6608429
  1. 2
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TrayTypeDataListVO.java
  2. 1
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TrayTypeDataVO.java
  3. 40
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTrayTypeApiController.java
  4. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/TrayTypeDTO.java
  5. 14
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayGoodsMapper.xml
  6. 5
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java
  7. 6
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsLogServiceImpl.java
  8. 50
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsServiceImpl.java
  9. 178
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java
  10. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsLogServiceImpl.java
  11. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsServiceImpl.java
  12. 14
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java

2
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TrayTypeDataListVO.java

@ -11,6 +11,8 @@ public class TrayTypeDataListVO implements Serializable {
private Long dataId;//id
private String dataCode;//编码
private String dataName;//名称
private String sku;//sku
private String cargoUnit;//cargoUnit
private Integer scanNum;//已扫件数
private Integer isFleeing;//是否串货 1是0否

1
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TrayTypeDataVO.java

@ -27,6 +27,7 @@ public class TrayTypeDataVO implements Serializable {
private String trayType;//打托方式
private String trayTypeName;//打托方式名称
private String reamrk;//备注
private List<TrayTypeDataListVO> list = new ArrayList<>();

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

@ -2,6 +2,8 @@ package com.logpm.warehouse.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.warehouse.dto.TrayTypeDTO;
import com.logpm.warehouse.dto.ZeroOrderVO;
import com.logpm.warehouse.service.IWarehouseTrayTypeService;
@ -34,6 +36,7 @@ import java.util.Objects;
public class WarehouseTrayTypeApiController {
private final IWarehouseTrayTypeService warehouseTrayTypeService;
private final IBasicdataWarehouseClient warehouseClient;
//----------------------订单分拣--------------------------------
@ResponseBody
@ -186,20 +189,20 @@ public class WarehouseTrayTypeApiController {
public R deleteScanOrderPackageCode(@RequestBody TrayTypeDTO trayTypeDTO) {
String method = "###########deleteScanOrderPackageCode: ";
log.info(method + "删除包件与托盘的绑定 trayTypeDTO={}", trayTypeDTO);
String orderPackageCode = trayTypeDTO.getOrderPackageCode();//包件码
List<String> orderPackageCodes = trayTypeDTO.getOrderPackageCodes();
String trayCode = trayTypeDTO.getTrayCode();//托盘码
if(!StringUtil.hasLength(trayCode)){
log.warn(method+"托盘码不能为空 trayCode={}",trayCode);
return R.fail(403,"托盘码不能为空");
}
if(!StringUtil.hasLength(orderPackageCode)){
log.warn(method+"包条码不能为空 orderPackageCode={}",orderPackageCode);
if(Objects.isNull(orderPackageCodes)||orderPackageCodes.size() == 0){
log.warn(method+"包条码不能为空 orderPackageCodes={}",orderPackageCodes);
return R.fail(403,"包条码不能为空");
}
try{
return warehouseTrayTypeService.deleteScanOrderPackageCode(trayCode,orderPackageCode);
return warehouseTrayTypeService.deleteScanOrderPackageCode(trayCode,orderPackageCodes);
}catch (CustomerException e){
log.warn(e.message);
return R.fail(e.code,e.message);
@ -680,6 +683,35 @@ public class WarehouseTrayTypeApiController {
}
}
@ResponseBody
@PostMapping("/selectStockByMaterialCodeAndMarketId")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "查询库存品", notes = "传入trayTypeDTO")
public R selectStockByMaterialCodeAndMarketId(@RequestBody TrayTypeDTO trayTypeDTO) {
String method = "###########selectStockByMaterialCodeAndMarketId: ";
log.info(method + "查询库存品 trayTypeDTO={}", trayTypeDTO);
Long marketId = trayTypeDTO.getMarketId();
String materialCode = trayTypeDTO.getMaterialCode();
try{
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(marketId)){
log.warn(method+"商场id不能为空 marketId={}",marketId);
return R.fail(403,"商场id不能为空");
}
if(!StringUtil.hasLength(materialCode)){
log.warn(method+"物料编码不能为空 materialCode={}",materialCode);
return R.fail(403,"物料编码不能为空");
}
return warehouseTrayTypeService.selectStockByMaterialCodeAndMarketId(marketId,materialCode);
}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("/enterStockNoDataMaterialCode")

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

@ -21,6 +21,8 @@ public class TrayTypeDTO implements Serializable {
private String orderPackageCode;//包件码
private List<String> orderPackageCodes = new ArrayList<>();
private Integer goodsType;//货物类型 1包条 2零担 3库存品
private String orderCode;//订单号

14
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayGoodsMapper.xml

@ -64,7 +64,7 @@
</select>
<delete id="deleteEntityByTrayGoodsId" >
delete logpm_warehouse_tray_goods from id = #{trayGoodsId}
delete from logpm_warehouse_tray_goods WHERE id = #{trayGoodsId}
</delete>
<delete id="deleteByMasterId">
delete from logpm_warehouse_tray_goods WHERE tray_id = #{masterId}
@ -73,10 +73,12 @@
select lwtg.id trayGoodsId,
lbm.product_code dataCode,
lbm.`name` dataName,
lbm.sku sku,
ldsl.cargo_unit cargoUnit,
lwtg.num scanNum,
ldsl.quantity_stock orderTotalNum
from logpm_warehouse_tray_goods lwtg
left join logpm_warehouse_tray_type lwtt on lwtt.id = lwtg.tray_type_id on lwtt.is_deleted = 0
left join logpm_warehouse_tray_type lwtt on lwtt.id = lwtg.tray_type_id and lwtt.is_deleted = 0
left join logpm_basicdata_material lbm on lwtg.association_id = lbm.id and lbm.is_deleted = 0
left join logpm_distribution_stock_list ldsl on ldsl.material_id = lbm.id and lwtt.market_id = ldsl.market_id and ldsl.is_deleted = 0
where lwtg.is_deleted = 0
@ -140,7 +142,7 @@
select sum(ldsl.quantity_stock) orderTotalNum,
sum(lwtg.num) enterNum
from logpm_warehouse_tray_goods lwtg
left join logpm_distribution_stock_list ldsl on ldsl.material_id = lwtg.association_id and ldsl.market_id = lwtg.market_id and ldsa.is_deleted = 0
left join logpm_distribution_stock_list ldsl on ldsl.material_id = lwtg.association_id and ldsl.market_id = lwtg.market_id and ldsl.is_deleted = 0
where lwtg.is_deleted = 0
and lwtg.association_type = 4
and lwtg.tray_type_id = #{trayTypeId}
@ -195,9 +197,9 @@
select sum(lwtg.num)
from logpm_warehouse_tray_goods lwtg
left join logpm_distribution_parcel_list ldpl on ldpl.id = lwtg.association_id and ldpl.is_deleted = 0
where ldpl.order_code = #{order_code}
where ldpl.order_code = #{orderCode}
and lwtg.is_deleted = 0
and lwtg.id = #{trayTypeId}
and lwtg.tray_type_id = #{trayTypeId}
</select>
<select id="findAllPackageDetailByOrderCode" resultType="com.logpm.warehouse.vo.ParcelListVO">
@ -214,7 +216,7 @@
left join logpm_warehouse_tray_goods lwtg on ldpl.id = lwtg.association_id
left join logpm_warehouse_tray lwt on lwt.id = lwtg.tray_id and lwt.is_deleted = 0
left join logpm_warehouse_warehouse lww on lww.id = lwt.warehouse_id and lww.is_deleted = 0
where ldpl.order_code = #{order_code}
where ldpl.order_code = #{orderCode}
</select>
<select id="findPackageByTrayTypeIdAndOrdeCode" resultType="com.logpm.warehouse.entity.WarehouseTrayGoodsEntity">

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

@ -18,7 +18,7 @@ public interface IWarehouseTrayTypeService extends BaseService<WarehouseTrayType
R orderScanOrderPackageCode(String trayType, String trayCode, String orderPackageCode);
R deleteScanOrderPackageCode(String trayCode, String orderPackageCode);
R deleteScanOrderPackageCode(String trayCode, List<String> orderPackageCodes);
IPage<WarehouseTrayTypeVO> zeroPageList(TrayTypeDTO trayTypeDTO);
@ -69,4 +69,7 @@ public interface IWarehouseTrayTypeService extends BaseService<WarehouseTrayType
OrderDetailVO orderDetail(String orderCode,String trayCode);
R deleteOrderCode(String trayCode, String orderCode);
R selectStockByMaterialCodeAndMarketId(Long marketId, String materialCode);
}

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

@ -32,7 +32,7 @@ public class WarehouseTrayGoodsLogServiceImpl extends BaseServiceImpl<WarehouseT
trayGoodsLogEntity.setRemark(remark);
trayGoodsLogEntity.setPalletizingType(palletizingType);
trayGoodsLogEntity.setNum(parcelListEntity.getQuantity());
baseMapper.insert(trayGoodsLogEntity);
save(trayGoodsLogEntity);
}
@Override
@ -47,7 +47,7 @@ public class WarehouseTrayGoodsLogServiceImpl extends BaseServiceImpl<WarehouseT
trayGoodsLogEntity.setRemark(remark);
trayGoodsLogEntity.setPalletizingType(palletizingType);
trayGoodsLogEntity.setNum(num);
baseMapper.insert(trayGoodsLogEntity);
save(trayGoodsLogEntity);
}
@Override
@ -64,7 +64,7 @@ public class WarehouseTrayGoodsLogServiceImpl extends BaseServiceImpl<WarehouseT
trayGoodsLogEntity.setNum(num);
trayGoodsLogEntity.setMarketId(trayTypeEntity.getMarketId());
trayGoodsLogEntity.setMarketName(trayTypeEntity.getMarketName());
baseMapper.insert(trayGoodsLogEntity);
save(trayGoodsLogEntity);
}
@Override

50
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsServiceImpl.java

@ -6,7 +6,6 @@ import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionStockArticleEntity;
import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity;
import com.logpm.warehouse.entity.WarehouseTrayTypeEntity;
import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient;
import com.logpm.warehouse.mapper.WarehouseTrayGoodsMapper;
import com.logpm.warehouse.mapper.WarehouseTrayTypeMapper;
import com.logpm.warehouse.service.IWarehouseTrayGoodsLogService;
@ -18,7 +17,9 @@ import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@Log4j2
@Service
@ -31,8 +32,6 @@ public class WarehouseTrayGoodsServiceImpl extends BaseServiceImpl<WarehouseTray
private final IWarehouseTrayGoodsLogService warehouseTrayGoodsLogService;
private final IWarehouseTrayGoodsClient warehouseTrayGoodsClient;
@Override
public List<TrayTypeDataListVO> getListByTrayTypeId(Long trayTypeId) {
return baseMapper.getListByTrayTypeId(trayTypeId);
@ -44,6 +43,7 @@ public class WarehouseTrayGoodsServiceImpl extends BaseServiceImpl<WarehouseTray
@Override
public void saveEntityPackage(DistributionParcelListEntity parcelListEntity, WarehouseTrayTypeEntity trayTypeEntity, String isException,String bindingType,String remark,String palletizingType) {
Date date = new Date();
WarehouseTrayGoodsEntity trayGoodsEntity = new WarehouseTrayGoodsEntity();
trayGoodsEntity.setTrayId(trayTypeEntity.getTrayId());
trayGoodsEntity.setTrayTypeId(trayTypeEntity.getId());
@ -55,7 +55,7 @@ public class WarehouseTrayGoodsServiceImpl extends BaseServiceImpl<WarehouseTray
trayGoodsEntity.setGoodsName(parcelListEntity.getMaterialName());
trayGoodsEntity.setNum(parcelListEntity.getQuantity());
trayGoodsEntity.setIsFleeing(isException);
baseMapper.insert(trayGoodsEntity);
save(trayGoodsEntity);
//存入日志
warehouseTrayGoodsLogService.saveLogPackage(parcelListEntity,trayTypeEntity,bindingType,remark,palletizingType);
}
@ -94,17 +94,30 @@ public class WarehouseTrayGoodsServiceImpl extends BaseServiceImpl<WarehouseTray
@Override
public void saveEntityZero(DistributionStockArticleEntity stockArticleEntity, WarehouseTrayTypeEntity trayTypeEntity,Integer num, String isException,String bindingType, String remark, String palletizingType) {
WarehouseTrayGoodsEntity trayGoodsEntity = new WarehouseTrayGoodsEntity();
trayGoodsEntity.setTrayId(trayTypeEntity.getTrayId());
trayGoodsEntity.setTrayCode(trayTypeEntity.getTrayCode());
trayGoodsEntity.setGoodsType(2);
trayGoodsEntity.setAssociationId(stockArticleEntity.getId());
trayGoodsEntity.setAssociationValue(stockArticleEntity.getOrderCode());
trayGoodsEntity.setAssociationType("1");
trayGoodsEntity.setGoodsName(stockArticleEntity.getDescriptionGoods());
trayGoodsEntity.setNum(num);
trayGoodsEntity.setIsFleeing(isException);
baseMapper.insert(trayGoodsEntity);
//先查询该托盘是否已经有该订单的数据了
String orderCode = stockArticleEntity.getOrderCode();
Long trayTypeId = trayTypeEntity.getId();
QueryWrapper<WarehouseTrayGoodsEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("tray_type_id",trayTypeId)
.eq("association_value",orderCode);
WarehouseTrayGoodsEntity oldTrayGoodsEntity = baseMapper.selectOne(queryWrapper);
if(!Objects.isNull(oldTrayGoodsEntity)){
oldTrayGoodsEntity.setNum(oldTrayGoodsEntity.getNum()+num);
updateById(oldTrayGoodsEntity);
}else{
WarehouseTrayGoodsEntity trayGoodsEntity = new WarehouseTrayGoodsEntity();
trayGoodsEntity.setTrayId(trayTypeEntity.getTrayId());
trayGoodsEntity.setTrayCode(trayTypeEntity.getTrayCode());
trayGoodsEntity.setTrayTypeId(trayTypeId);
trayGoodsEntity.setGoodsType(2);
trayGoodsEntity.setAssociationId(stockArticleEntity.getId());
trayGoodsEntity.setAssociationValue(stockArticleEntity.getOrderCode());
trayGoodsEntity.setAssociationType("1");
trayGoodsEntity.setGoodsName(stockArticleEntity.getDescriptionGoods());
trayGoodsEntity.setNum(num);
trayGoodsEntity.setIsFleeing(isException);
save(trayGoodsEntity);
}
//添加上拖日志表
warehouseTrayGoodsLogService.saveLogZero(stockArticleEntity, trayTypeEntity,num, bindingType, remark, palletizingType);
}
@ -145,7 +158,7 @@ public class WarehouseTrayGoodsServiceImpl extends BaseServiceImpl<WarehouseTray
@Override
public WarehouseTrayGoodsEntity getStockDataByMaterialIdAndMarketId(Long materialId, Long marketId, Long trayTypeId) {
QueryWrapper<WarehouseTrayGoodsEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("material_id",materialId)
queryWrapper.eq("association_id",materialId)
.eq("market_id",marketId)
.eq("tray_type_id",trayTypeId);
return baseMapper.selectOne(queryWrapper);
@ -156,6 +169,7 @@ public class WarehouseTrayGoodsServiceImpl extends BaseServiceImpl<WarehouseTray
WarehouseTrayGoodsEntity trayGoodsEntity = new WarehouseTrayGoodsEntity();
trayGoodsEntity.setTrayId(trayTypeEntity.getTrayId());
trayGoodsEntity.setTrayCode(trayTypeEntity.getTrayCode());
trayGoodsEntity.setTrayTypeId(trayTypeEntity.getId());
trayGoodsEntity.setGoodsType(2);
trayGoodsEntity.setAssociationId(materialId);
trayGoodsEntity.setAssociationValue(null);
@ -164,14 +178,14 @@ public class WarehouseTrayGoodsServiceImpl extends BaseServiceImpl<WarehouseTray
trayGoodsEntity.setIsFleeing(isException);
trayGoodsEntity.setMarketId(trayTypeEntity.getMarketId());
trayGoodsEntity.setMarketName(trayTypeEntity.getMarketName());
baseMapper.insert(trayGoodsEntity);
save(trayGoodsEntity);
}
@Override
public void updateEntityStock(WarehouseTrayGoodsEntity warehouseTrayGoodsEntity, int num) {
Integer oldNum = warehouseTrayGoodsEntity.getNum();
warehouseTrayGoodsEntity.setNum(oldNum+num);
baseMapper.updateById(warehouseTrayGoodsEntity);
updateById(warehouseTrayGoodsEntity);
}
@Override

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

@ -32,7 +32,6 @@ import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.apiwarehouse.PalletProductTypeConstant;
import org.springblade.common.exception.CustomerException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.system.cache.DictBizCache;
@ -77,20 +76,26 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
IPage<WarehouseTrayTypeEntity> pageList = baseMapper.orderPageList(page,trayTypeDTO);
IPage<WarehouseTrayTypeVO> warehouseTrayTypeVOIPage = WarehouseTrayTypeWrapper.build().pageVO(pageList);
List<WarehouseTrayTypeVO> records = warehouseTrayTypeVOIPage.getRecords();
for (WarehouseTrayTypeVO trayTypeVO:records) {
String trayCode = trayTypeVO.getTrayCode();//托盘Code
List<Integer> allnum = baseMapper.getAllTotalNumByTrayCode(trayCode,trayTypeDTO.getType());
Integer orderTotalNum = 0;
for (Integer num:allnum){
if(!Objects.isNull(num)){
orderTotalNum = orderTotalNum + num;
}
}
trayTypeVO.setOrderTotalNum(orderTotalNum);
for (WarehouseTrayTypeVO warehouseTrayTypeVO:records){
String value = DictBizCache.getValue(DictBizConstant.PALLET_ORDER_TYPE, warehouseTrayTypeVO.getTrayType());
warehouseTrayTypeVO.setTrayTypeName(value);
}
warehouseTrayTypeVOIPage.setRecords(records);
// List<WarehouseTrayTypeVO> records = warehouseTrayTypeVOIPage.getRecords();
// for (WarehouseTrayTypeVO trayTypeVO:records) {
// String trayCode = trayTypeVO.getTrayCode();//托盘Code
// List<Integer> allnum = baseMapper.getAllTotalNumByTrayCode(trayCode,trayTypeDTO.getType());
// Integer orderTotalNum = 0;
// for (Integer num:allnum){
// if(!Objects.isNull(num)){
// orderTotalNum = orderTotalNum + num;
// }
// }
// trayTypeVO.setOrderTotalNum(orderTotalNum);
// }
// warehouseTrayTypeVOIPage.setRecords(records);
return warehouseTrayTypeVOIPage;
}
@ -125,7 +130,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
trayTypeDataVO.setTrayType(trayType);
trayTypeDataVO.setMarketId(trayTypeEntity.getMarketId());
trayTypeDataVO.setMarketName(trayTypeEntity.getMarketName());
trayTypeDataVO.setReamrk(trayTypeEntity.getRemark());
if(PalletProductTypeConstant.CUSTOMIZED.equals(type)){//订制品打托
String trayTypeName = DictBizCache.getValue(DictBizConstant.PALLET_ORDER_TYPE, trayTypeEntity.getTrayType());
@ -306,12 +311,20 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
Integer enterNum = tatolNumVO.getEnterNum();
baseMapper.updateStockByTrayTypeId(orderTotalNum,enterNum,trayTypeId);
}
}else if("4".equals(type)){
TatolNumVO tatolNumVO = warehouseTrayGoodsService.getStockTotalNumAndNum(trayTypeId);
if(!Objects.isNull(tatolNumVO)){
Integer orderTotalNum = tatolNumVO.getOrderTotalNum();
Integer enterNum = tatolNumVO.getEnterNum();
baseMapper.updateStockByTrayTypeId(orderTotalNum,enterNum,trayTypeId);
}
}
}
@Override
public R deleteScanOrderPackageCode(String trayCode, String orderPackageCode) {
public R deleteScanOrderPackageCode(String trayCode, List<String> orderPackageCodes) {
//删除托盘与包件关联关系
QueryWrapper<WarehouseTrayTypeEntity> trayTypeEntityQueryWrapper = new QueryWrapper<>();
trayTypeEntityQueryWrapper.eq("tray_code",trayCode)
@ -323,35 +336,39 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
}
Long trayTypeId = trayTypeEntity.getId();
Long trayId = trayTypeEntity.getId();
WarehouseTrayGoodsEntity trayGoodsEntity = warehouseTrayGoodsService.findByTrayTypeIdAndAssociationValue(trayTypeId,orderPackageCode);
if(Objects.isNull(trayGoodsEntity)){
log.warn("#############deleteScanOrderPackageCode: 该托盘上没有该包件数据 trayCode={} orderPackageCode={}",trayCode,orderPackageCode);
return R.fail(403,"该托盘上没有该包件数据");
}
Long trayGoodsId = trayGoodsEntity.getId();
DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCode(orderPackageCode);
if(Objects.isNull(parcelListEntity)){
log.warn("##############deleteScanOrderPackageCode: 包件不存在 orderPackageCode={}",orderPackageCode);
return R.fail(403,"包件不存在");
}
//添加下托日志
warehouseTrayGoodsLogService.saveLogPackage(parcelListEntity,trayTypeEntity,"0","分拣打托:扫码分拣","2");
//修改打托方式上的值
for (String orderPackageCode:orderPackageCodes){
WarehouseTrayGoodsEntity trayGoodsEntity = warehouseTrayGoodsService.findByTrayTypeIdAndAssociationValue(trayTypeId,orderPackageCode);
if(Objects.isNull(trayGoodsEntity)){
log.warn("#############deleteScanOrderPackageCode: 该托盘上没有该包件数据 trayCode={} orderPackageCode={}",trayCode,orderPackageCode);
return R.fail(403,"该托盘上没有该包件数据");
}
Long trayGoodsId = trayGoodsEntity.getId();
DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCode(orderPackageCode);
if(Objects.isNull(parcelListEntity)){
log.warn("##############deleteScanOrderPackageCode: 包件不存在 orderPackageCode={}",orderPackageCode);
return R.fail(403,"包件不存在");
}
//添加下托日志
warehouseTrayGoodsLogService.saveLogPackage(parcelListEntity,trayTypeEntity,"0","分拣打托:扫码分拣","2");
//修改打托方式上的值
// changeTotalNumByTrayTypeId(parcelListEntity,trayTypeEntity.getId(),2);//addSub 1加 2减
//删除绑定关系并返回剩余数量
Integer num = warehouseTrayGoodsService.deleteByTrayGoodsId(trayGoodsId);
//删除绑定关系并返回剩余数量
Integer num = warehouseTrayGoodsService.deleteByTrayGoodsId(trayGoodsId);
if(num == 0){
//空置托盘
baseMapper.deleteById(trayTypeId);
//更新托盘状态
basicdataTrayClient.updateTrayStatus(trayId,1);
if(num == 0){
//空置托盘
removeById(trayTypeId);
//更新托盘状态
basicdataTrayClient.updateTrayStatus(trayId,1);
}
//更新打托方式上的值
updateNumByTrayTypeId(trayTypeEntity);
}
//更新打托方式上的值
updateNumByTrayTypeId(trayTypeEntity);
return R.success("删除成功");
}
@ -414,10 +431,6 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
trayTypeEntity.setTotalNum(0);
trayTypeEntity.setStockNum(0);
trayTypeEntity.setStockTotalNum(0);
trayTypeEntity.setTenantId(AuthUtil.getTenantId());
trayTypeEntity.setCreateDept(Long.parseLong(AuthUtil.getDeptId()));
trayTypeEntity.setCreateUser(AuthUtil.getUserId());
trayTypeEntity.setUpdateUser(AuthUtil.getUserId());
if("10".equals(trayType)){//服务号
trayTypeEntity.setFilterValue(stockArticleEntity.getServiceNumber());
@ -436,7 +449,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
trayTypeEntity.setFilterId(stockArticleEntity.getWarehouseId());
trayTypeEntity.setFilterValue(stockArticleEntity.getWarehouse());
}
baseMapper.insert(trayTypeEntity);
save(trayTypeEntity);
//修改托盘的状态
basicdataTrayClient.updateTrayStatus(trayId,2);
@ -458,7 +471,12 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
IPage<WarehouseTrayTypeEntity> pageList = baseMapper.orderPageList(page,trayTypeDTO);
IPage<WarehouseTrayTypeVO> warehouseTrayTypeVOIPage = WarehouseTrayTypeWrapper.build().pageVO(pageList);
List<WarehouseTrayTypeVO> records = warehouseTrayTypeVOIPage.getRecords();
for (WarehouseTrayTypeVO warehouseTrayTypeVO:records){
String value = DictBizCache.getValue(DictBizConstant.PALLET_STOCK_TYPE, warehouseTrayTypeVO.getTrayType());
warehouseTrayTypeVO.setTrayTypeName(value);
}
warehouseTrayTypeVOIPage.setRecords(records);
return warehouseTrayTypeVOIPage;
}
@ -478,7 +496,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
log.warn("##############enterZeroOrderByTrayCode: 数据为空 zeroList={}",zeroList);
return R.fail(403,"数据为空");
}
//
BasicdataTrayEntity trayEntity = basicdataTrayClient.getTrayByTrayCode(trayCode);
if(Objects.isNull(trayEntity)){
log.warn("#########saveTrayTypeByZeroList: 未找到托盘信息 trayCode={}",trayCode);
@ -664,10 +682,6 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
trayTypeEntity.setTrayType(trayType);
trayTypeEntity.setOrderTotalNum(0);
trayTypeEntity.setTotalNum(0);
trayTypeEntity.setTenantId(AuthUtil.getTenantId());
trayTypeEntity.setCreateDept(Long.parseLong(AuthUtil.getDeptId()));
trayTypeEntity.setCreateUser(AuthUtil.getUserId());
trayTypeEntity.setUpdateUser(AuthUtil.getUserId());
if("10".equals(trayType)){//运单号
trayTypeEntity.setFilterValue(stockArticleEntity.getWaybillNumber());
@ -675,7 +689,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
trayTypeEntity.setFilterId(stockArticleEntity.getId());
trayTypeEntity.setFilterValue(stockArticleEntity.getOrderCode());
}
baseMapper.insert(trayTypeEntity);
save(trayTypeEntity);
//修改托盘的状态
basicdataTrayClient.updateTrayStatus(trayId,2);
@ -748,7 +762,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
throw new CustomerException(403,"未找到打托信息");
}
trayTypeEntity.setRemark(remark);
baseMapper.updateById(trayTypeEntity);
updateById(trayTypeEntity);
}
@ -769,6 +783,12 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
IPage<WarehouseTrayTypeVO> warehouseTrayTypeVOIPage = WarehouseTrayTypeWrapper.build().pageVO(pageList);
List<WarehouseTrayTypeVO> records = warehouseTrayTypeVOIPage.getRecords();
for (WarehouseTrayTypeVO warehouseTrayTypeVO:records){
String palletTypeName = DictBizCache.getValue(DictBizConstant.PALLET_STOCK_TYPE, warehouseTrayTypeVO.getTrayType());
warehouseTrayTypeVO.setTrayTypeName(palletTypeName);
}
warehouseTrayTypeVOIPage.setRecords(records);
return warehouseTrayTypeVOIPage;
}
@ -826,17 +846,19 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
Long filterId = trayTypeEntity.getFilterId();
String filterValue = trayTypeEntity.getFilterValue();
Long trayTypeId = trayTypeEntity.getId();
Long mid = trayTypeEntity.getMarketId();
WarehouseTrayGoodsEntity warehouseTrayGoodsEntity = warehouseTrayGoodsService.getStockDataByMaterialIdAndMarketId(materialId,marketId,trayTypeId);
Integer num = warehouseTrayGoodsEntity.getNum();
if(tt.equals(trayType)){
if(!tt.equals(trayType)){
log.warn("##############scanStockOrderPackageCode: 打托方式不正确 {}={}",trayType,tt);
return R.fail(403,"打托方式不正确");
}
boolean chuanFlag = false;
String msg = "";
if (!filterId.equals(marketId)) {
if (!mid.equals(marketId)) {
chuanFlag = true;
msg = "商场";
}else{
@ -915,7 +937,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
if(residueNum == 0){
//空置托盘
baseMapper.deleteById(trayTypeId);
removeById(trayTypeId);
//更新托盘状态
basicdataTrayClient.updateTrayStatus(trayId,1);
}
@ -990,10 +1012,6 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
trayTypeEntity.setTrayType(trayType);
trayTypeEntity.setOrderTotalNum(0);
trayTypeEntity.setTotalNum(0);
trayTypeEntity.setTenantId(AuthUtil.getTenantId());
trayTypeEntity.setCreateDept(Long.parseLong(AuthUtil.getDeptId()));
trayTypeEntity.setCreateUser(AuthUtil.getUserId());
trayTypeEntity.setUpdateUser(AuthUtil.getUserId());
trayTypeEntity.setMarketId(marketId);
trayTypeEntity.setMarketName(marketName);
@ -1003,7 +1021,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
trayTypeEntity.setFilterId(materialId);
trayTypeEntity.setFilterValue(materialCode);
}
baseMapper.insert(trayTypeEntity);
save(trayTypeEntity);
//修改托盘的状态
basicdataTrayClient.updateTrayStatus(trayId,2);
@ -1079,9 +1097,10 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
String tt = trayTypeEntity.getTrayType();
Long filterId = trayTypeEntity.getFilterId();
String filterValue = trayTypeEntity.getFilterValue();
Long mId = trayTypeEntity.getMarketId();
Long trayTypeId = trayTypeEntity.getId();
if(tt.equals(trayType)){
if(!tt.equals(trayType)){
log.warn("##############enterStockNoDataMaterialCode: 打托方式不正确 {}={}",trayType,tt);
return R.fail(403,"打托方式不正确");
}
@ -1092,7 +1111,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
boolean chuanFlag = false;
String msg = "";
if (!filterId.equals(marketId)) {
if (!mId.equals(marketId)) {
chuanFlag = true;
msg = "商场";
}else{
@ -1156,7 +1175,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
if(residueNum == 0){
//空置托盘
baseMapper.deleteById(trayTypeId);
removeById(trayTypeId);
//更新托盘状态
basicdataTrayClient.updateTrayStatus(trayId,1);
}
@ -1208,7 +1227,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
trayTypeEntity.setStockNum(0);
trayTypeEntity.setStockTotalNum(0);
trayTypeEntity.setIsDeleted(1);
baseMapper.updateById(trayTypeEntity);
updateById(trayTypeEntity);
//空置托盘
basicdataTrayClient.updateTrayStatus(trayId,1);
}
@ -1397,13 +1416,38 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
}
Long trayTypeId = trayTypeEntity.getId();
List<WarehouseTrayGoodsEntity> ls = warehouseTrayGoodsService.findPackageByTrayTypeIdAndOrdeCode(orderCode,trayTypeId);
List<String> orderPackageCodes = new ArrayList<>();
for (WarehouseTrayGoodsEntity trayGoodsEntity:ls){
String orderPackageCode = trayGoodsEntity.getAssociationValue();
deleteScanOrderPackageCode(trayCode,orderPackageCode);
orderPackageCodes.add(orderPackageCode);
}
deleteScanOrderPackageCode(trayCode,orderPackageCodes);
return R.success("删除成功");
}
@Override
public R selectStockByMaterialCodeAndMarketId(Long marketId, String materialCode) {
List<DistributionStockListEntity> ls = new ArrayList<>();
//根据商场id和物料编码查询对应的库存品
DistributionStockListEntity stockListEntity = distributionStockListClient.getEntityByMarketIdAndMaterialCode(marketId, materialCode);
if(Objects.isNull(stockListEntity)){
log.warn("################selectStockByMaterialCodeAndMarketId: 库存品不存在 marketId={} materialCode={}",marketId,materialCode);
return R.fail(403,"库存品不存在");
}
Integer quantityStock = stockListEntity.getQuantityStock();//在数量
QueryWrapper<WarehouseTrayGoodsEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("market_id",marketId)
.eq("association_value",materialCode);
List<WarehouseTrayGoodsEntity> list = warehouseTrayGoodsService.list(queryWrapper);
Integer useNum = 0;
for (WarehouseTrayGoodsEntity trayGoodsEntity:list){
useNum = useNum +trayGoodsEntity.getNum();
}
stockListEntity.setQuantityStock(quantityStock-useNum);
ls.add(stockListEntity);
return R.data(ls);
}
private void copyTrayGoodsToTargetTray(Long sourceTrayTypeId, WarehouseTrayTypeEntity targetTrayTypeEntity) {
QueryWrapper<WarehouseTrayGoodsEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("tray_type_id",sourceTrayTypeId);
@ -1648,10 +1692,8 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
trayTypeEntity.setTrayType(trayType);
trayTypeEntity.setOrderTotalNum(0);
trayTypeEntity.setTotalNum(0);
trayTypeEntity.setTenantId(AuthUtil.getTenantId());
trayTypeEntity.setCreateDept(Long.parseLong(AuthUtil.getDeptId()));
trayTypeEntity.setCreateUser(AuthUtil.getUserId());
trayTypeEntity.setUpdateUser(AuthUtil.getUserId());
trayTypeEntity.setStockNum(0);
trayTypeEntity.setStockTotalNum(0);
trayTypeEntity.setMarketId(marketId);
trayTypeEntity.setMarketName(marketName);
@ -1661,7 +1703,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
trayTypeEntity.setFilterId(materialId);
trayTypeEntity.setFilterValue(materialCode);
}
baseMapper.insert(trayTypeEntity);
save(trayTypeEntity);
//修改托盘的状态
basicdataTrayClient.updateTrayStatus(trayId,2);

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

@ -72,7 +72,7 @@ public class WarehouseUpdownGoodsLogServiceImpl extends BaseServiceImpl<Warehous
warehouseUpdownGoodsLogEntity.setAssociationType("3");
warehouseUpdownGoodsLogEntity.setNum(parcelListEntity.getQuantity());
warehouseUpdownGoodsLogEntity.setRemark(remark);
baseMapper.insert(warehouseUpdownGoodsLogEntity);
save(warehouseUpdownGoodsLogEntity);
}
}

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

@ -113,7 +113,7 @@ public class WarehouseUpdownGoodsServiceImpl extends BaseServiceImpl<WarehouseUp
updownGoodsEntity.setAssociationType("3");//包件
updownGoodsEntity.setGoodsName(updownGoodsEntity.getGoodsName());
updownGoodsEntity.setNum(parcelListEntity.getQuantity());
baseMapper.insert(updownGoodsEntity);
save(updownGoodsEntity);
//存入包件货物上架记录
warehouseUpdownGoodsLogService.saveAllocationAndPackage(updownTypeEntity,parcelListEntity,bindingType,isAlltrays,remark);
}

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

@ -116,7 +116,7 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
//查询零担
List<GoodsVO> zeroGoodsList = baseMapper.selectZeroListByUpdownTypeId(updownTypeId);
tragetAllocationVO.getGoodsList().addAll(zeroGoodsList);
//库存品 TODO 暂时取值逻辑不清晰
//库存品
List<GoodsVO> stockGoodsList = baseMapper.selectStockListByUpdownTypeId(updownTypeId);
tragetAllocationVO.getGoodsList().addAll(stockGoodsList);
}
@ -571,7 +571,7 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
bindingAllocationAndZeroOrderAndLog(upShelfZeroOrderList,updownTypeEntity);
updateUpdownTypeNum(updownTypeEntity);
if(StringUtil.isBlank(trayCode)){
if(!StringUtil.isBlank(trayCode)){
List<ZeroOrderVO> zeroOrderVOList = new ArrayList<>();
for (UpShelfZeroOrderDTO upShelfZeroOrderDTO:upShelfZeroOrderList){
ZeroOrderVO zeroOrderVO = new ZeroOrderVO();
@ -776,7 +776,7 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
Integer residue = warehouseUpdownGoodsService.deleteByUpdownGoodsId(updownGoodsId);
if(residue == 0){
//删除上架方式
baseMapper.deleteById(updownTypeId);
removeById(updownTypeId);
//修改库位状态为空闲
basicdataGoodsAllocationClient.updateAllocationStatus(allocationId,"1");
}
@ -814,7 +814,7 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
Integer residue = warehouseUpdownGoodsService.deleteByUpdownGoodsId(updownGoodsId);
if(residue == 0){
//删除上架方式
baseMapper.deleteById(updownTypeId);
removeById(updownTypeId);
//修改库位状态为空闲
basicdataGoodsAllocationClient.updateAllocationStatus(allocationId,"1");
}
@ -910,7 +910,7 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
Integer residue = warehouseUpdownGoodsService.deleteByUpdownGoodsId(updownGoodsId);
if(residue == 0){
//删除上架方式
baseMapper.deleteById(updownTypeId);
removeById(updownTypeId);
//修改库位状态为空闲
basicdataGoodsAllocationClient.updateAllocationStatus(allocationId,"1");
}
@ -966,7 +966,7 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
updownTypeEntity.setStockNum(0);
updownTypeEntity.setStockTotalNum(0);
updownTypeEntity.setIsDeleted(1);
baseMapper.updateById(updownTypeEntity);
updateById(updownTypeEntity);
//修改库位状态
basicdataGoodsAllocationClient.updateAllocationStatus(allocationId,"1");
@ -1427,7 +1427,7 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
updownTypeEntity.setOrderTotalNum(0);
updownTypeEntity.setStockNum(0);
updownTypeEntity.setStockTotalNum(0);
baseMapper.insert(updownTypeEntity);
save(updownTypeEntity);
//修改库位状态为有货
basicdataGoodsAllocationClient.updateAllocationStatus(allocationId,"2");

Loading…
Cancel
Save