Browse Source

修改包件转库存品

training
caoyizhong 1 year ago
parent
commit
88a3a6dbca
  1. 6
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionBillInventoryVO.java
  2. 2
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupOrderListVO.java
  3. 6
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistrilbutionAppBillLadingZeroOrderVO.java
  4. 6
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistrilbutionAppBillLadingZeroVO.java
  5. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryDetailsController.java
  6. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionParcelListController.java
  7. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java
  8. 12
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryDetailsMapper.xml
  9. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryDetailsService.java
  10. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java
  11. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockupService.java
  12. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistrilbutionBillLadingService.java
  13. 167
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  14. 74
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  15. 104
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

6
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionBillInventoryVO.java

@ -12,9 +12,9 @@ import lombok.Data;
public class DistributionBillInventoryVO {
private String sku;
private String descriptionGoods;
private String quantity;
private String quantity; //数量
private String cargoNumber;
private String cargoUnit;
private String allocation;
private String cargoUnit; //单位
private String allocation; //货物名称
private String preparedQuantity; //以扫
}

2
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupOrderListVO.java

@ -32,7 +32,7 @@ public class DistributionStockupOrderListVO implements Serializable {
private Integer scanNum;//扫描件数
private Long areaId; //货区id
private Long trayId; //托盘id
private String trayId; //托盘id
private Long shelfId; //货架id
private Long parcelListId; //包件id
private Long stockId; //备货id

6
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistrilbutionAppBillLadingZeroOrderVO.java

@ -55,7 +55,11 @@ public class DistrilbutionAppBillLadingZeroOrderVO implements Serializable {
@ApiModelProperty(value = "备货数量")
private Integer realityQuantity;
/**
* 签收数量
*/
@ApiModelProperty(value = "签收数量")
private Integer signforQuantity;

6
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistrilbutionAppBillLadingZeroVO.java

@ -56,6 +56,12 @@ public class DistrilbutionAppBillLadingZeroVO implements Serializable {
@ApiModelProperty(value = "备货数量")
private Integer realityQuantity;
/**
* 签收数量
*/
@ApiModelProperty(value = "签收数量")
private Integer signforQuantity;
}

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryDetailsController.java

@ -84,7 +84,7 @@ public class DistributionDeliveryDetailsController extends BladeController {
*/
@GetMapping("/billOrderInventory")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "传入distributionDeliveryDetails")
@ApiOperation(value = "库存品查询分页", notes = "传入distributionDeliveryDetails")
public R<IPage<DistributionBillInventoryVO>> getBillOrderInventory(@ApiIgnore @RequestParam Map<String, Object> distributionDeliveryDetails, Query query) {
IPage<DistributionBillInventoryVO> pages = distributionDeliveryDetailsService.getBillOrderInventory(Condition.getPage(query),distributionDeliveryDetails);
return R.data(pages);

13
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionParcelListController.java

@ -124,6 +124,19 @@ public class DistributionParcelListController extends BladeController {
return R.data(pages);
}
/**
* 包件转库存品
*/
@PostMapping("/packageTransfer")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "包件转库存品", notes = "传入distributionParcelList")
public R packageTransferStock(@ApiIgnore @RequestParam Map<String, Object> distributionParcelList) {
R r= distributionParcelListService.packageTransferStock(distributionParcelList);
return r;
}
/**
* 查询零担物料数据
*/

7
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java

@ -32,6 +32,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
@ -175,7 +176,11 @@ public class DistributionStockupController extends BladeController {
public R<List<User>> listUser() {
//获取当前登录用户
BladeUser user = AuthUtil.getUser();
List<User> cc = distributionStockupService.getRoleList(user.getDeptId(), user.getTenantId(), "拣货员");
//查询备货岗位
List<User> cc = distributionStockupService.getRoleList(user.getDeptId(), user.getTenantId());
// List<User> cc = distributionStockupService.getRoleList(user.getDeptId(), user.getTenantId(), ?"叉车");
return R.data(cc);
}

12
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryDetailsMapper.xml

@ -83,14 +83,12 @@
where lddd.is_deleted = 0 and lddd.bill_lading_id = #{billLadingId}
</select>
<select id="getBillOrderInventory" resultType="com.logpm.distribution.vo.DistributionBillInventoryVO">
select ldsl.sku, ldsl.description_goods descriptionGoods, lddd.quantity, ldsl.cargo_number cargoNumber, ldsl.cargo_unit cargoUnit,
ldsl.tray_name trayName, ldsa.allocation,
(select count(lds.id)
from logpm_distribution_stock lds
where lds.stock_list_id = lddd.stock_list_id ) preparedQuantity
select DISTINCT ldsl.sku, ldsl.description_goods descriptionGoods, lddd.quantity, ldsl.cargo_number cargoNumber, ldsl.cargo_unit cargoUnit,
ldsl.tray_name trayName, lds.allocation_title allocation,
lddd.reality_quantity preparedQuantity
from logpm_distribution_delivery_details lddd
LEFT JOIN logpm_distribution_stock_list ldsl on lddd.stock_list_id = ldsl.id
LEFT JOIN logpm_distribution_stock_article ldsa on ldsa.id = ldsl.stock_article_id
LEFT JOIN logpm_distribution_stock_list ldsl on lddd.stock_list_id = ldsl.id
LEFT JOIN logpm_distribution_stock lds on lds.bill_lading_id = lddd.bill_lading_id and lddd.stock_list_id = lds.stock_list_id
<where>
lddd.bill_lading_id = #{param.billLadingId} and lddd.inventory_status in (1,2)
</where>

6
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryDetailsService.java

@ -62,6 +62,12 @@ public interface IDistributionDeliveryDetailsService extends BaseService<Distrib
DistrilbutionBillLadingInventoryAppVO listCode(String billLadingId, String coding);
/**
* 自提库存品查询
* @param page
* @param distributionDeliveryDetails
* @return
*/
IPage<DistributionBillInventoryVO> getBillOrderInventory(IPage<Object> page, Map<String, Object> distributionDeliveryDetails);
/**

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java

@ -26,6 +26,7 @@ import com.logpm.distribution.vo.DistributionParcelListVO;
import com.logpm.distribution.vo.DistributionParcelListZeroVO;
import com.logpm.distribution.vo.PackageStockupVO;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import java.util.List;
import java.util.Map;
@ -139,4 +140,11 @@ public interface IDistributionParcelListService extends BaseService<Distribution
* @return
*/
List<DistributionParcelListEntity> getParcelListByStockArticleId(Long id);
/**
* 包件转在库存品
* @param distributionParcelList
* @return
*/
R packageTransferStock(Map<String, Object> distributionParcelList);
}

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockupService.java

@ -200,7 +200,7 @@ public interface IDistributionStockupService extends BaseService<DistributionSto
/**
* @return
*/
List<User> getRoleList(String deptId, String tenantId, String roleNames);
List<User> getRoleList(String deptId, String tenantId);
/**
* 修改备货任务的备货区

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

@ -133,6 +133,11 @@ public interface IDistrilbutionBillLadingService extends BaseService<Distrilbuti
*/
IPage<DistrilbutionBillLadingAppVO> getInventoryNum(IPage<Object> page, Map<String, Object> distrilbutionBillLading);
/**
* 签收
* @param ids
* @return
*/
Boolean updateOwn(String ids);
/**

167
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java

@ -23,18 +23,17 @@ 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.logpm.basic.entity.BasicMaterialEntity;
import com.logpm.basic.feign.IBasicMaterialClient;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.dto.DistributionParcelListDTO;
import com.logpm.distribution.dto.app.StockupDTO;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionParcelNumberEntity;
import com.logpm.distribution.entity.DistributionStockArticleEntity;
import com.logpm.distribution.entity.*;
import com.logpm.distribution.excel.DistributionParcelListExcel;
import com.logpm.distribution.mapper.DistributionParcelListMapper;
import com.logpm.distribution.mapper.DistributionStockArticleMapper;
import com.logpm.distribution.service.IDistributionParcelListService;
import com.logpm.distribution.service.IDistributionParcelNumberService;
import com.logpm.distribution.service.*;
import com.logpm.distribution.vo.*;
import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient;
import lombok.AllArgsConstructor;
@ -44,15 +43,16 @@ import org.springblade.common.constant.orderpackage.OrderPackageGroundingStatusC
import org.springblade.common.utils.CommonUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.system.cache.DictBizCache;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -73,6 +73,13 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
private final DistributionStockArticleMapper distributionStockArticleMapper;
private final IDistributionParcelDetailsService distributionParcelDetailsService;
private final IBasicMaterialClient basicMaterialClient;
private final IDistributionStockListInfoService distributionStockListInfoService;
private final IDistributionStockListService distributionStockListService;
@Override
public IPage<DistributionParcelListEntity> selectDistributionParcelListPage(IPage<DistributionParcelListEntity> page, DistributionParcelListVO distributionParcelList) {
List<BasicdataWarehouseEntity> myWatchWarehouse = basicdataWarehouseClient.getMyWatchWarehouse();
@ -375,4 +382,146 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
public String getOrderPackageCode(Long id) {
return baseMapper.getOrderPackageCode(id);
}
/**
* 包件转库存品
* @param distributionParcelList
* @return
*/
@Override
public R packageTransferStock(Map<String, Object> distributionParcelList) {
Object o = distributionParcelList.get("list");
if(ObjectUtils.isNull(o)){
return R.fail("参数不完整!");
}
List<DistributionParcelListEntity> list1 = Collections.singletonList((DistributionParcelListEntity) o);
if (!list1.isEmpty()) {
list1.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getMaterialId))
.forEach((k ,v) ->{
int sum = v.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum();
v.stream().forEach( i -> {
//查询有没有打托数据
//查询包件有没有物料
List<DistributionParcelDetailsEntity> list = distributionParcelDetailsService.list(Wrappers.<DistributionParcelDetailsEntity>query().lambda()
.eq(DistributionParcelDetailsEntity::getParcelListId, i.getId())
);
if (!list.isEmpty()) {
//有
list.stream().collect(Collectors.groupingBy(DistributionParcelDetailsEntity::getEncoded))
.forEach((kk,vv) ->{
DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity();
BeanUtil.copyProperties(vv.get(0),parcelListEntity);
parcelListEntity.setQuantity(sum);
parcelListEntity.setMaterialName(vv.get(0).getName());
parcelListEntity.setMaterialCode(vv.get(0).getEncoded());
parcelListEntity.setMaterialUnit(vv.get(0).getUnit());
// 添加库存品信息
addStockList(parcelListEntity, 1);
});
}
DistributionParcelListEntity parcelList = new DistributionParcelListEntity();
parcelList.setId(i.getId());
parcelList.setConditions(2);
baseMapper.updateById(parcelList);
});
DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity();
BeanUtil.copyProperties(v.get(0),parcelListEntity);
parcelListEntity.setQuantity(sum);
// 添加库存品信息
addStockList(parcelListEntity, 1);
});
// for (int i = 0; i < split.length; i++) {
// //修改订单状态
// DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity();
// stockArticleEntity.setId(Long.parseLong(split[i]));
// stockArticleEntity.setGenre(2);
// baseMapper.updateById(stockArticleEntity);
// }
return R.success("操作成功!");
}
return null;
}
/**
* @param distributionParcelList 包件信息
* @return
*/
@Transactional(rollbackFor = Exception.class)
public DistributionStockArticleEntity addStockList(DistributionParcelListEntity distributionParcelList, Integer qu) {
//查询在库订单信息
DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleMapper.selectById(distributionParcelList.getStockArticleId());
if (ObjectUtil.isEmpty(distributionStockArticleEntity.getMallId()) ) {
throw new ServiceException("订单的客户数据异常,无法转换!!");
}
DistributionStockListEntity distributionStockListEntity = new DistributionStockListEntity();
//直接添加
// distributionStockListEntity.setIncomingBatch(distributionStockArticleEntity.get); //入库批次号
distributionStockListEntity.setServiceNumber(Optional.ofNullable(distributionStockArticleEntity.getServiceNumber()).orElse(null)); //服务号
distributionStockListEntity.setDescriptionGoods(Optional.ofNullable(distributionParcelList.getMaterialName()).orElse(null)); //物料名称
distributionStockListEntity.setCargoNumber(Optional.ofNullable(distributionParcelList.getMaterialCode()).orElse(null)); //物料编号
distributionStockListEntity.setWarehouseName(Optional.ofNullable(distributionStockArticleEntity.getWarehouse()).orElse(null)); //仓库
distributionStockListEntity.setWarehouseId(Optional.ofNullable(distributionStockArticleEntity.getWarehouseId()).orElse(null)); //仓库ID
distributionStockListEntity.setMarketId(Optional.ofNullable(distributionStockArticleEntity.getMallId()).orElse(null)); //商场
distributionStockListEntity.setCargoUnit(Optional.ofNullable(distributionParcelList.getMaterialUnit()).orElse(null)); //货物单位
distributionStockListEntity.setMallName(Optional.ofNullable(distributionStockArticleEntity.getMallName()).orElse(null)); //商场名称
distributionStockListEntity.setQuantityStock(Optional.ofNullable(distributionParcelList.getQuantity()).orElse(null)); //库存数量(包件数量)
distributionStockListEntity.setIncomingBatch(Optional.ofNullable(distributionStockArticleEntity.getWaybillNumber()).orElse(null)); //入库批次
distributionStockListEntity.setOutboundQuantity(0); //出库数量
// distributionStockListEntity.setCargoUnit(Optional.ofNullable(distributionParcelList.getMaterialUnit()).orElse(null));//单位
distributionStockListEntity.setStoreId(Optional.ofNullable(distributionStockArticleEntity.getStoreId()).orElse(null));//门店ID
distributionStockListEntity.setMarketCode(Optional.ofNullable(distributionStockArticleEntity.getMallCode()).orElse(null));//商场编码
distributionStockListEntity.setMarketName(Optional.ofNullable(distributionStockArticleEntity.getMallName()).orElse(null));//商场名称
distributionStockListEntity.setStoreCode(Optional.ofNullable(distributionStockArticleEntity.getStoreCode()).orElse(null));//门店编码
distributionStockListEntity.setStoreName(Optional.ofNullable(distributionStockArticleEntity.getStoreName()).orElse(null));//门店名称
// distributionStockListEntity.setCategory(Optional.ofNullable(distributionParcelList.getBrandId()+"").orElse(null));//品分类
// 品牌
distributionStockListEntity.setBrandId(Optional.ofNullable(distributionParcelList.getBrandId()).orElse(null));
distributionStockListEntity.setUnpackingQuantity(0);
BasicMaterialEntity materialOwnId = basicMaterialClient.getMaterialOwnId(distributionParcelList.getMaterialId());
distributionStockListEntity.setSku(materialOwnId.getSku());
distributionStockListEntity.setMaterialId(Optional.ofNullable(distributionParcelList.getMaterialId()).orElse(null));//货物ID
distributionStockListEntity.setParcelListId(distributionParcelList.getId());//包件id
distributionStockListEntity.setQuantityOccupied(0);//冻结数量
distributionStockListEntity.setServiceType(distributionStockArticleEntity.getTypeService());//冻结数量
DistributionStockListEntity stockListEntity = distributionStockListService.getStockListEntity(distributionStockArticleEntity.getMallId(), distributionParcelList.getMaterialId(), distributionStockArticleEntity.getWaybillNumber(),distributionStockArticleEntity.getStoreId(),distributionStockArticleEntity.getWarehouseId());
if(ObjectUtils.isNotNull(stockListEntity)){
//有记录
DistributionStockListEntity listEntity = new DistributionStockListEntity();
listEntity.setId(stockListEntity.getId());//id
Integer quantity = ObjectUtils.isNull(distributionParcelList.getQuantity()) ? 0: distributionParcelList.getQuantity();
Integer quantityStock = ObjectUtils.isNull(stockListEntity.getQuantityStock()) ? 0 : stockListEntity.getQuantityStock();
listEntity.setQuantityStock(quantity + quantityStock);
distributionStockListService.updateById(listEntity);
}else{
distributionStockListService.save(distributionStockListEntity);
}
distributionStockListEntity.setTrayName(Optional.ofNullable(distributionParcelList.getPallet()).orElse(null)); //托盘
distributionStockListEntity.setStorageLocation(Optional.ofNullable(distributionParcelList.getGoodsAllocation()).orElse(null)); //库位信息
distributionStockListEntity.setFactory(Optional.ofNullable(distributionStockArticleEntity.getFactoryTrain()).orElse(null));//工厂车次
distributionStockListEntity.setDespatch(Optional.ofNullable(distributionStockArticleEntity.getTrainNumber()).orElse(null));//车次号
distributionStockListEntity.setStockArticleId(Optional.ofNullable(distributionParcelList.getStockArticleId()).orElse(null)); //订单ID
distributionStockListEntity.setOrderCode(Optional.ofNullable(distributionStockArticleEntity.getOrderCode()).orElse(null)); //订单自编号
//添加库存品记录
DistributionStockListInfoEntity distributionStockListInfo = new DistributionStockListInfoEntity();
BeanUtil.copyProperties(distributionStockListEntity,distributionStockListInfo);
distributionStockListInfo.setWarehousingTime(distributionStockArticleEntity.getWarehouseEntryTime());
distributionStockListInfo.setStockArticleId(distributionStockArticleEntity.getId());
// distributionStockListInfo.setLicensePlate(distributionStockArticleEntity.get); //车牌
distributionStockListInfo.setDespatch(distributionStockArticleEntity.getWaybillNumber()); //物流单号
distributionStockListInfoService.save(distributionStockListInfo);
return distributionStockArticleEntity;
}
}

74
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

@ -30,7 +30,6 @@ import com.logpm.basicdata.feign.IBasicdataGoodsAreaClient;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.basicdata.vo.BasicdataGoodsAreaVO;
import com.logpm.distribution.bean.Resp;
import com.logpm.distribution.dto.DistributionParcelListDTO;
import com.logpm.distribution.dto.app.StockupDTO;
import com.logpm.distribution.dto.app.StockupZeroDTO;
import com.logpm.distribution.entity.*;
@ -63,6 +62,7 @@ import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.entity.DictBiz;
import org.springblade.system.entity.User;
import org.springblade.system.feign.ISysClient;
import org.springblade.system.feign.IUserSearchClient;
@ -804,9 +804,17 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
y.setScanNum(y.getScanNum()+i1);
}
//t托盘信息
if(ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(p.getTrayId()) && !y.getTrayId().equals(p.getTrayId())){
if(ObjectUtils.isNotNull(y.getTrayId()) && !y.getTrayId().contains(p.getTrayId())){
y.setPallet(y.getPallet()+","+p.getPallet());
}
//订单自编号信息
if(ObjectUtils.isNotNull(y.getOrderCode()) && !y.getOrderCode().contains(p.getOrderCode())){
y.setOrderCode(y.getOrderCode()+","+p.getOrderCode());
}
//订单Id信息
if(ObjectUtils.isNotNull(y.getStockArticleId()) && !y.getStockArticleId().contains(p.getStockArticleId())){
y.setStockArticleId(y.getStockArticleId()+","+p.getStockArticleId());
}
}
} );
}else{
@ -870,9 +878,17 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
y.setScanNum(y.getScanNum()+i1);
}
//t托盘信息
if(ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(p.getTrayId()) && !y.getTrayId().equals(p.getTrayId())){
if(ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(p.getTrayId()) && !y.getTrayId().contains(p.getTrayId())){
y.setPallet(y.getPallet()+","+p.getPallet());
}
//订单自编号信息
if(ObjectUtils.isNotNull(y.getOrderCode()) && !y.getOrderCode().contains(p.getOrderCode())){
y.setOrderCode(y.getOrderCode()+","+p.getOrderCode());
}
//订单id信息
if(ObjectUtils.isNotNull(y.getStockArticleId()) && !y.getStockArticleId().contains(p.getStockArticleId())){
y.setStockArticleId(y.getStockArticleId()+","+p.getStockArticleId());
}
if(y.getPlanNum().equals(y.getScanNum())){
y.setCompleteStact(true);
}else{
@ -923,15 +939,15 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
wu.setScanNum(wu.getScanNum()+i1);
}
//托盘信息
if(ObjectUtils.isNotNull(wu.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().equals(i.getTrayId())){
if(ObjectUtils.isNotNull(wu.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().contains(i.getTrayId())){
wu.setPallet(wu.getPallet()+","+i.getPallet());
}
//订单自编号信息
if(ObjectUtils.isNotNull(wu.getOrderCode()) && !wu.getOrderCode().equals(i.getOrderCode())){
if(ObjectUtils.isNotNull(wu.getOrderCode()) && !wu.getOrderCode().contains(i.getOrderCode())){
wu.setOrderCode(wu.getOrderCode()+","+i.getOrderCode());
}
//订单id信息
if(ObjectUtils.isNotNull(wu.getStockArticleId()) && !wu.getStockArticleId().equals(i.getStockArticleId())){
if(ObjectUtils.isNotNull(wu.getStockArticleId()) && !wu.getStockArticleId().contains(i.getStockArticleId())){
wu.setStockArticleId(wu.getStockArticleId()+","+i.getStockArticleId());
}
if(wu.getPlanNum().equals(wu.getScanNum())){
@ -954,7 +970,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
});
return new ArrayList<>(listYou);
return new ArrayList<>(listYou);
}
}
@ -1273,7 +1289,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
distributionStockup.setTrays(i.getTrays());
}else{
if(ObjectUtils.isNotNull(i.getTrays()) && !distributionStockup.getTrays().equals(i.getTrays())){
String s = distributionStockup.getTrays() + i.getTrays();
String s = distributionStockup.getTrays() +","+ i.getTrays();
distributionStockup.setTrays(s);
}
}
@ -2024,24 +2040,36 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
* @return
*/
@Override
public List<User> getRoleList(String deptId, String tenantId, String roleNames) {
R<String> roleIds = sysClient.getRoleIds(tenantId, roleNames);
R<List<User>> listR = userSearchClient.listByRole(roleIds.getData());
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
//有没有选择仓库信息
if(ObjectUtils.isNotNull(myCurrentWarehouse)){
if(!listR.getData().isEmpty()){
List<User> collect = listR.getData().stream().filter(i ->
ObjectUtils.isNotNull(i.getDeptId()) ? i.getDeptId().equals(myCurrentWarehouse.getDepartment().toString()) : false
).collect(Collectors.toList());
return collect;
public List<User> getRoleList(String deptId, String tenantId) {
List<DictBiz> warehouseType = DictBizCache.getList("stock_personnel");
if(warehouseType.isEmpty()){
throw new ServiceException("注意,注意!拣货人员字典未配置!请配置!");
}else{
List<String> stringList = new ArrayList<>();
warehouseType.stream().forEach(i ->{
R<String> roleId = sysClient.getRoleIds(tenantId, i.getDictValue());
if(ObjectUtils.isNotNull(roleId.getData())){
stringList.add(roleId.getData());
}
});
String roleIds = stringList.stream().collect(Collectors.joining(","));
R<List<User>> listR = userSearchClient.listByRole(roleIds);
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
//有没有选择仓库信息
if(ObjectUtils.isNotNull(myCurrentWarehouse)){
if(!listR.getData().isEmpty()){
List<User> collect = listR.getData().stream().filter(i ->
ObjectUtils.isNotNull(i.getDeptId()) ? i.getDeptId().equals(myCurrentWarehouse.getDepartment().toString()) : false
).collect(Collectors.toList());
return collect;
}else{
return null;
}
}else{
return null;
return listR.getData();
}
}else{
return listR.getData();
}
}
}
/**

104
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

@ -686,6 +686,18 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
Integer planNum = 0;
Integer conpleteNum = 0;
Integer signedNum = 0;
//查询零担数据
List<DistributionReservationZeroPackageEntity> listZero = distributionZeroPackageService.list(Wrappers.<DistributionReservationZeroPackageEntity>query().lambda()
.eq(DistributionReservationZeroPackageEntity::getReservationId, main.getBillLadingId())
.eq(DistributionReservationZeroPackageEntity::getIsDeleted, 0)
.in(DistributionReservationZeroPackageEntity::getZeroPackageStatus, "1", "3")
);
if(!listZero.isEmpty()){
int sum = listZero.stream().mapToInt(DistributionReservationZeroPackageEntity::getQuantity).sum();
planNum += sum;
}
String[] split = stockArticleId.split(",");
List<DistrilbutionAppBillLadingOrderVO> l = new ArrayList<>();
@ -700,28 +712,32 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
orderNum++;
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
.eq("is_deleted", 0)
.isNotNull("order_package_code");
if (!StringUtil.isBlank(orderSelfNumbering)) {
queryWrapper.ne("order_self_numbering", orderSelfNumbering);
}
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper);
vo.setOrderSelfNumbering(list.get(0).getOrderCode());
int pn = list.size();
vo.setPlanNum(pn);
planNum = planNum + pn;
int pn = 0;
if( !list.isEmpty() && ObjectUtils.isNotNull(list.get(0))){
vo.setOrderSelfNumbering(list.get(0).getOrderCode());
pn = list.size();
vo.setPlanNum(pn);
planNum = planNum + pn;
}
//通过订单id查询扫描表中有多少数据
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>();
qw.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
qw.eq("bill_lading_id",main.getBillLadingId());
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw);
int sn = ls.size();
int sn = ls.stream().mapToInt(DistributionBillLadingScanEntity::getQuantity).sum();
vo.setSignedNum(sn);
signedNum = signedNum + sn;
if (pn == sn) {
conpleteNum++;
}
if (pn == sn) {
vo.setOrderStatusStr("齐套");
} else if (sn < pn && sn > 0) {
@ -729,7 +745,10 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
} else if (sn == 0) {
vo.setOrderStatusStr("未扫");
}
//不添加订单数
if(list.isEmpty()|| !list.isEmpty() && ObjectUtils.isNull(list.get(0))){
continue;
}
//0 全部 1 齐套 2部分扫 3未扫
if (orderStatus == 0) {
l.add(vo);
@ -776,9 +795,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}else{
mainVO.setInventoryNub(0);
}
mainVO.setPlanNum(planNum);
mainVO.setSignedNum(signedNum);
mainVO.setCompleteNum(conpleteNum);
mainVO.setPlanNum(planNum);//自提件数
mainVO.setSignedNum(signedNum);//签收总数
mainVO.setCompleteNum(conpleteNum);//订单总数
// mainVO.setAssembleNum(list.stream().mapToInt( DistributionDeliveryDetailsEntity::getQuantity ).sum());
mainVO.setList(l);
return mainVO;
@ -1084,25 +1103,6 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
if(ObjectUtils.isNull(myCurrentWarehouse)){
return Resp.scanFail("请选择仓库!","请选择仓库!");
}
//查询订单是否已签收
List<DistributionParcelListEntity> list4 = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda()
.eq(DistributionParcelListEntity::getOrderPackageCode, coding)
.eq(DistributionParcelListEntity::getWarehouseId, myCurrentWarehouse.getId())
);
if(list4.isEmpty()){
return Resp.scanFail(PdaAudioLingoStatus.baojianbucunzai.getName(), PdaAudioLingoStatus.baojianbucunzai.getName());
}
DistrilbutionBillStockEntity one2 = distrilbutionBillStockService.getOne(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, billLadingId)
.eq(DistrilbutionBillStockEntity::getStockArticleId, list4.get(0).getStockArticleId())
);
if(ObjectUtils.isNull(one2)){
return Resp.scanFail("不在本次自提计划!","不在本次自提计划!");
}
if(one2.getConditions().equals("2")){
return Resp.scanFail("当前提货任务,"+list4.get(0).getOrderCode()+"已齐套!","当前提货任务,"+list4.get(0).getOrderCode()+"已齐套!");
}
//查询是否签收
List<DistributionBillLadingScanEntity> list3 = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId)
@ -1144,6 +1144,27 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
return Resp.scanFail("包件信息不存在", "包件信息不存在");
}
} else {
//查询订单是否已签收
List<DistributionParcelListEntity> list4 = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda()
.eq(DistributionParcelListEntity::getOrderPackageCode, coding)
.eq(DistributionParcelListEntity::getWarehouseId, myCurrentWarehouse.getId())
);
if(list4.isEmpty()){
return Resp.scanFail(PdaAudioLingoStatus.baojianbucunzai.getName(), PdaAudioLingoStatus.baojianbucunzai.getName());
}
DistrilbutionBillStockEntity one2 = distrilbutionBillStockService.getOne(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, billLadingId)
.eq(DistrilbutionBillStockEntity::getStockArticleId, list4.get(0).getStockArticleId())
);
if(ObjectUtils.isNull(one2)){
return Resp.scanFail("不在本次自提计划!","不在本次自提计划!");
}
if(one2.getConditions().equals("2")){
return Resp.scanFail("当前提货任务,"+list4.get(0).getOrderCode()+"已齐套!","当前提货任务,"+list4.get(0).getOrderCode()+"已齐套!");
}
//查询订单存在吗
List<DistrilbutionBillStockEntity> list = distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, billLadingId)
@ -1216,7 +1237,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
billLadingEntity.setConditions("20");
baseMapper.updateById(billLadingEntity);
}*/
return Resp.scanFail( "签收成功","签收成功");
return Resp.scanSuccess( "签收成功","签收成功");
}
}
@ -1281,7 +1302,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
String s = split[i];
//修改提货状态
DistrilbutionBillLadingEntity billLadingEntity = new DistrilbutionBillLadingEntity();
billLadingEntity.setConditions(BillLadingStatusConstant.yitihuo.getValue());
billLadingEntity.setConditions(BillLadingStatusConstant.yiqianshou.getValue());
billLadingEntity.setId(Long.parseLong(s));
this.updateById(billLadingEntity);
//修改订单状态
@ -1471,6 +1492,16 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
BeanUtils.copyProperties(byId,billLadingZeroVO);
billLadingZeroVO.setReservationQuantity(i.getQuantity());
billLadingZeroVO.setRealityQuantity(i.getRealityQuantity());
//查询是否已经签收过
DistributionBillLadingScanEntity one = distributionBillLadingScanService.getOne(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingAppDTO.getBillLadingId())
.eq(DistributionBillLadingScanEntity::getParcelListId, i.getParcelListId())
.eq(DistributionBillLadingScanEntity::getStockArticleId, byId.getStockArticleId())
);
if(ObjectUtils.isNotNull(one)){
billLadingZeroVO.setSignforQuantity(one.getQuantity());
}
parcelListEntityList.add(billLadingZeroVO);
});
}
@ -1583,6 +1614,15 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
BeanUtils.copyProperties(byId,zeroOrderVO);
zeroOrderVO.setReservationQuantity(sum);
zeroOrderVO.setRealityQuantity(sum1);
//查询签收订单数量
List<DistributionBillLadingScanEntity> list1 = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingAppDTO.getBillLadingId())
.eq(DistributionBillLadingScanEntity::getStockArticleId, k)
.eq(DistributionBillLadingScanEntity::getParcelListId, k)
);
if(!list1.isEmpty()){
zeroOrderVO.setSignforQuantity(list1.stream().mapToInt(DistributionBillLadingScanEntity::getQuantity).sum());
}
billLadingZeroOrderVOS.add(zeroOrderVO);
});

Loading…
Cancel
Save