Browse Source

修改自提查询

training
caoyizhong 2 years ago
parent
commit
fc1ca6d211
  1. 42
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/BladeUserVO.java
  2. 4
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistrilbutionBillLadingAppVO.java
  3. 2
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistrilbutionAppBillLadingOrderMainVO.java
  4. 6
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java
  5. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionBillLadingAppController.java
  6. 143
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java
  7. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java
  8. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/BillLadingAppDTO.java
  9. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java
  10. 11
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryDetailsMapper.xml
  11. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml
  12. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java
  13. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockupService.java
  14. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistrilbutionBillLadingService.java
  15. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java
  16. 60
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  17. 142
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java
  18. 1
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java

42
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/BladeUserVO.java

@ -0,0 +1,42 @@
package com.logpm.distribution.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springblade.core.tool.support.Kv;
import java.io.Serializable;
/**
* @program: LogisticsPlatform-Service
* @description:
* @author: cyz
* @create: 2023-09-05 15:58
**/
@Data
public class BladeUserVO implements Serializable {
private static final long serialVersionUID = 1L;
private String clientId;
private Long userId;
private String account;
private String userName;
private String nickName;
private String tenantId;
private String oauthId;
private String deptId;
private String postId;
private String roleId;
private String roleName;
private Kv detail;
}

4
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistrilbutionBillLadingAppVO.java

@ -90,8 +90,10 @@ public class DistrilbutionBillLadingAppVO extends DistrilbutionBillLadingEntity
private Integer deliveryNum;//备货数量
@ApiModelProperty(value = "以扫备货数量")
private Integer esauInventoryNum;//以扫备货数量
@ApiModelProperty(value = "库存品数")
private Integer inventoryNub;//库存品数
@ApiModelProperty(value = "包装规格")
private Integer packingSpecification;//包装规格
private String packingSpecification;//包装规格
private List<DistrilbutionAppBillLadingDetailVO> list = new ArrayList<>();

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

@ -35,7 +35,7 @@ public class DistrilbutionAppBillLadingOrderMainVO implements Serializable {
private Integer orderNum;//订单总数
private Integer completeNum;//订单总数
private Integer planNum;//自提件数
// private Integer assembleNum;//库存总数件数
private Integer inventoryNub;//库存总数件数
private Integer signedNum;//签收总数
private List<DistrilbutionAppBillLadingOrderVO> list = new ArrayList<>();

6
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java

@ -193,6 +193,10 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl<BasicdataWare
});
}
List<BasicdataWarehouseEntity> warehouseEntityList = baseMapper.selectList(Wrappers.<BasicdataWarehouseEntity>query().lambda().in(BasicdataWarehouseEntity::getDepartment, deptIds));
// String json = redis.get(CacheNames.tenantKeyObj(user.getTenantId(), CacheNames.USER_WAREHOUSE_KEY, user.getUserId()));
if(warehouseEntityList.size() <= 1 ){
redis.setEx(CacheNames.tenantKeyObj(user.getTenantId(), CacheNames.USER_WAREHOUSE_KEY, user.getUserId()),warehouseEntityList.get(0),30*24*60*60L);
}
return warehouseEntityList;
}
@ -238,8 +242,10 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl<BasicdataWare
List<BasicdataWarehouseEntity> myWarehouseList = new ArrayList<>();
BasicdataWarehouseEntity myCurrentWarehouse = this.getMyCurrentWarehouse();
if (Objects.isNull(myCurrentWarehouse)) {
//
myWarehouseList = this.getMyWarehouseList();
} else {
//
myWarehouseList.add(myCurrentWarehouse);
}
return myWarehouseList;

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

@ -18,6 +18,7 @@ package com.logpm.distribution.appcontroller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.distribution.bean.Resp;
import com.logpm.distribution.dto.app.BillLadingAppDTO;
import com.logpm.distribution.service.IDistrilbutionBillLadingService;
import com.logpm.distribution.vo.DistrilbutionBillLadingAppVO;
@ -116,8 +117,8 @@ public class DistributionBillLadingAppController extends BladeController {
@ApiImplicitParam(name = "coding", value = "包条码", required = true),
@ApiImplicitParam(name = "type", value = "类型 2 订单 1 库存品", required = true)
})
public R getScan(@ApiIgnore @RequestParam Map<String, Object> distrilbutionBillLading){
R scan = distrilbutionBillLadingService.getScan(distrilbutionBillLading);
public Resp getScan(@ApiIgnore @RequestParam Map<String, Object> distrilbutionBillLading){
Resp scan = distrilbutionBillLadingService.getScan(distrilbutionBillLading);
return scan;
}

143
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java

@ -375,7 +375,7 @@ public class DistributionStockupAppController extends BladeController {
R.fail(3005,"操作人不对!");
}
return R.fail(500,"未知错误!");
};
}
@ResponseBody
@ -474,6 +474,8 @@ public class DistributionStockupAppController extends BladeController {
String packetBarCode = stockupDTO.getPacketBarCode();
// String stockupArea = stockupDTO.getStockupArea();//备货区
Long stockupId = stockupDTO.getStockupId();//备货区
Integer stockPrint = stockupDTO.getStockPrint(); // 库存
if(StringUtil.isBlank(packetBarCode)){
log.warn("##################stockupScan: 库存品扫码,包件码为空");
return R.fail("库存品扫码:包件码不能为空");
@ -490,70 +492,85 @@ public class DistributionStockupAppController extends BladeController {
log.warn("##################stockupScan: 库存品扫码,预约单id为空");
return R.fail("库存品扫码:预约单id不能为空");
}
Integer integer = distributionStockupService.selectPackage(stockupDTO);
switch (integer){
case 1:
DistributionStockupEntity stockupEntity = distributionStockupService.getById(stockupDTO.getStockupId());
//先保存扫码包件信息,后续由队列来出来余下补充信息
DistributionStockEntity entity = new DistributionStockEntity();
entity.setCoding(packetBarCode);
// entity.setStockupArea(stockupArea);
entity.setStockupId(stockupId);
if(stockupEntity.getTypeService().equals("3")){
entity.setBillLadingId(reservationId);
}else{
entity.setReservationId(reservationId);
}
entity.setReservationId(reservationId);
entity.setStockListId(stockListId);
//添加物料信息
DistributionStockListEntity byId = iDistributionStockListService.getById(stockListId);
if(ObjectUtils.isNotNull(byId.getMarketId())){
entity.setMarketId(byId.getMarketId());
entity.setMaterialId(byId.getMaterialId());
}
entity.setConditions("0");
entity.setType(2);
distributionStockService.save(entity);
if(Objects.isNull(stockPrint)){
log.warn("##################stockupScan: 库存品扫码,类型为空");
return R.fail("库存品扫码:类型不能为空");
}
Map<String, Object> map = new HashMap<>();
map.put("messageId", CommonUtil.getUUID());
map.put("scanType", scanType);
map.put("logId", entity.getId());
map.put("messageData", entity);
map.put("createTime", new Date().getTime());
//将消息携带绑定键值
rabbitTemplate.convertAndSend(RabbitConstant.STOCKUP_SCAN_EXCHANGE, RabbitConstant.STOCKUP_SCAN_ROUTING, map);
String audioValue = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "1");
return Resp.scanSuccess("扫描成功!",audioValue);
case 2:
//扫码失败
String audioValue2 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "2");
return Resp.scanFail("重复扫描!",audioValue2);
case 3:
//重复扫码
String audioValue3 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "3");
return Resp.scanFail("包件不存在!",audioValue3);
Integer i = distributionStockupService.selectPackagePrint(stockupDTO);
switch (i){
case 1:
//绑定
Integer integer = distributionStockupService.selectPackage(stockupDTO);
switch (integer){
case 1:
DistributionStockupEntity stockupEntity = distributionStockupService.getById(stockupDTO.getStockupId());
//先保存扫码包件信息,后续由队列来出来余下补充信息
DistributionStockEntity entity = new DistributionStockEntity();
entity.setCoding(packetBarCode);
// entity.setStockupArea(stockupArea);
entity.setStockupId(stockupId);
if(stockupEntity.getTypeService().equals("3")){
entity.setBillLadingId(reservationId);
}else{
entity.setReservationId(reservationId);
}
entity.setReservationId(reservationId);
entity.setStockListId(stockListId);
//添加物料信息
DistributionStockListEntity byId = iDistributionStockListService.getById(stockListId);
if(ObjectUtils.isNotNull(byId.getMarketId())){
entity.setMarketId(byId.getMarketId());
entity.setMaterialId(byId.getMaterialId());
}
entity.setConditions("0");
entity.setType(2);
distributionStockService.save(entity);
Map<String, Object> map = new HashMap<>();
map.put("messageId", CommonUtil.getUUID());
map.put("scanType", scanType);
map.put("logId", entity.getId());
map.put("messageData", entity);
map.put("createTime", new Date().getTime());
//将消息携带绑定键值
rabbitTemplate.convertAndSend(RabbitConstant.STOCKUP_SCAN_EXCHANGE, RabbitConstant.STOCKUP_SCAN_ROUTING, map);
String audioValue = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "1");
return Resp.scanSuccess("扫描成功!",audioValue);
case 2:
//扫码失败
String audioValue2 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "2");
return Resp.scanFail("重复扫描!",audioValue2);
case 3:
//重复扫码
String audioValue3 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "3");
return Resp.scanFail("包件不存在!",audioValue3);
case 4:
//重复扫码
String audioValue4 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "4");
return Resp.scanFail("操作失败!",audioValue4);
case 5:
//重复扫码
String audioValue5 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "5");
return Resp.scanFail("窜货!",audioValue5);
case 6:
//重复扫码
String audioValue6 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "6");
return Resp.scanFail("已完成!",audioValue6);
case 7:
//重复扫码
String audioValue7 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "7");
return Resp.scanFail("包条码不存在!",audioValue7);
default:
log.warn("###备货扫描:未知错误");
return Resp.scanFail("未知错误!","未知错误");
}
case 7:
//重复扫码
String audioValue7 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "7");
return Resp.scanFail("包条码不存在!",audioValue7);
case 4:
//重复扫码
String audioValue4 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "4");
return Resp.scanFail("操作失败!",audioValue4);
case 5:
//重复扫码
String audioValue5 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "5");
return Resp.scanFail("窜货!",audioValue5);
case 6:
//重复扫码
String audioValue6 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "6");
return Resp.scanFail("已完成!",audioValue6);
case 7:
//重复扫码
String audioValue7 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "7");
return Resp.scanFail("包条码不存在!",audioValue7);
default:
log.warn("###备货扫描:未知错误");
return Resp.scanFail("未知错误!","未知错误");
}
}
log.warn("###################stockupScan: 未知的扫码类型 scanType={}",scanType);

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

@ -16,6 +16,8 @@
*/
package com.logpm.distribution.controller;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.service.IDistrilbutionBillLadingService;
import com.logpm.distribution.vo.DistrilbutionBillLadingOwnVO;
import com.logpm.distribution.vo.DistrilbutionBillLadingVO;
@ -64,6 +66,7 @@ public class DistributionStockupController extends BladeController {
private final IDistributionStockupService distributionStockupService;
private final IDistrilbutionBillLadingService distrilbutionBillLadingService;
private final IBasicdataWarehouseClient basicdataWarehouseClient;
/**
* 备货信息表 详情
@ -173,6 +176,10 @@ public class DistributionStockupController extends BladeController {
//获取当前登录用户
BladeUser user = AuthUtil.getUser();
BladeUser u = new BladeUser();
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
if(ObjectUtil.isNotEmpty(myCurrentWarehouse)){
}
u.setDeptId(user.getDeptId());
u.setTenantId(user.getTenantId());
u.setUserId(user.getUserId());

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/BillLadingAppDTO.java

@ -20,5 +20,6 @@ public class BillLadingAppDTO implements Serializable {
private Integer scanStatus;//扫码类型
private String orderSelfNumbering;//订单自编码
private Long warehouseId;//仓库ID
}

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java

@ -45,6 +45,7 @@ public class StockupDTO implements Serializable {
private String packetBarCode;//包件码
private String trayBarCode;//托盘码
private String typeService;//备货类型
private Integer stockPrint;//库存品扫码类型 1 原有包条 2打印处理的扫码
private Long trayId;//货位ID
private String stockupArea;//备货区
private Long stockupAreaId;//备货区ID

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

@ -62,16 +62,19 @@
select sum(lddd.quantity) wholeNum , (
select COUNT(1)
from logpm_distribution_delivery_details ldd
LEFT JOIN logpm_distribution_bill_lading_scan ldbls on ldd.id = ldbls.stock_article_id
where ldbls.scan_type = '3' and lddd.bill_lading_id = #{id} and ldd.is_deleted = 0
LEFT JOIN logpm_distribution_bill_lading_scan ldbls on ldd.stock_list_id = ldbls.stock_list_id
where lddd.bill_lading_id = #{id} and ldd.is_deleted = 0
) esauNum
from logpm_distribution_delivery_details lddd
where lddd.bill_lading_id = #{id} and lddd.is_deleted = 0
</select>
<select id="listCode" resultType="com.logpm.distribution.vo.app.DistrilbutionBillLadingInventoryAppVO">
select lddd.quantity,lddd.stock_list_id stockListId,lddd.id ldddId
<!-- select lddd.quantity,lddd.stock_list_id stockListId,lddd.id ldddId
from logpm_distribution_delivery_details lddd LEFT JOIN logpm_distribution_stock lds on lddd.stock_list_id = lds.stock_list_id
where lddd.is_deleted = 0 and lddd.bill_lading_id = #{billLadingId} and lds.coding = #{coding}
where lddd.is_deleted = 0 and lds.bill_lading_id = #{billLadingId} and lds.coding = #{coding} -->
select lddd.quantity,lddd.stock_list_id stockListId,lddd.id ldddId
from logpm_distribution_delivery_details lddd
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,

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml

@ -92,9 +92,13 @@
lad.pick_up_time,
lad.stock_article_id stockArticleId
from logpm_distrilbution_bill_lading lad
where lad.is_deleted = 0
<if test="param.pickUpTimeStart != null and param.pickUpTimeStart!='' ">and lad.pick_up_time &lt;= #{param.pickUpTimeStart} </if>
<if test="param.pickUpTimeEnd != null and param.pickUpTimeEnd!='' "> and lad.pick_up_time &gt;= #{param.pickUpTimeEnd} </if>
<where>
lad.is_deleted = 0 and lad.conditions = 10
<!-- and lad.warehouse_id = #{param.warehouseId} -->
<if test="param.pickUpTimeStart != null and param.pickUpTimeStart!='' ">and lad.pick_up_time between #{param.pickUpTimeStart} and #{param.pickUpTimeEnd}</if>
</where>
</select>
<select id="selectDataByBillLadingId" resultType="com.logpm.distribution.vo.DistrilbutionBillLadingAppVO">

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

@ -43,6 +43,11 @@ public interface IDistributionAsyncService {
*/
Boolean getInventoryOrderSelfPickup(Long id);
/**
* 修改备货订单状态
* @param id
* @return
*/
Boolean getBillStock(Long id);
/**

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

@ -171,5 +171,10 @@ public interface IDistributionStockupService extends BaseService<DistributionSto
DistributionStockupSelfVO selectStockupDetails(Long reservationId);
/**
* 备货打印包条扫码
* @param stockupDTO
* @return
*/
Integer selectPackagePrint(StockupDTO stockupDTO);
}

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

@ -18,6 +18,7 @@ package com.logpm.distribution.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.bean.Resp;
import com.logpm.distribution.dto.DistrilbutionBillLadingDTO;
import com.logpm.distribution.dto.app.BillLadingAppDTO;
import com.logpm.distribution.entity.DistrilbutionBillLadingEntity;
@ -109,7 +110,7 @@ public interface IDistrilbutionBillLadingService extends BaseService<Distrilbuti
* @param distrilbutionBillLading
* @return
*/
R getScan(Map<String, Object> distrilbutionBillLading);
Resp getScan(Map<String, Object> distrilbutionBillLading);
/**
* 库存品包件

9
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java

@ -158,6 +158,11 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
return distributionDeliveryDetailsService.updateById(deliveryDetails);
}
/**
* 修改备货订单状态
* @param id
* @return
*/
@Override
public Boolean getBillStock(Long id) {
DistrilbutionBillStockEntity distrilbutionBillStock = new DistrilbutionBillStockVO();
@ -566,6 +571,10 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
if(!fa){
distributionStockupService.updateById(distributionStockup);
}
//绑定库存品包条码数据
}
/**

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

@ -132,6 +132,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
@Override
public IPage<DistributionStockupVO> selectDistributionStockupPage(IPage<DistributionStockupVO> page, DistributionStockupVO distributionStockup) {
return page.setRecords(baseMapper.selectDistributionStockupPage(page, distributionStockup));
@ -1044,5 +1045,64 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
return baseMapper.selectStockupDetails(reservationId);
}
/**
* 备货打印包件码绑定
* @param stockupDTO
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Integer selectPackagePrint(StockupDTO stockupDTO) {
DisStockListDetailEntity disStockListDetail = new DisStockListDetailEntity();
DisStockOrdercodeRecoEntity ordercodeRecoEntity = new DisStockOrdercodeRecoEntity();
//查询仓库信息
DistributionStockListEntity byId = distributionStockListService.getById(stockupDTO.getStockListId());
//有 绑定 查询有没有库存品信息
List<DisStockListDetailEntity> list1 = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
.eq(DisStockListDetailEntity::getStockListId, stockupDTO.getStockListId())
.eq(DisStockListDetailEntity::getReservationId, stockupDTO.getReservationId())
.eq(DisStockListDetailEntity::getWarehouseId, byId.getWarehouseId())
.isNull(DisStockListDetailEntity::getStockPackageCode)
);
if (list1.size() > 0) {
switch (stockupDTO.getStockPrint()) {
case 1:
//绑定码
disStockListDetail.setStockPackageCode(stockupDTO.getPacketBarCode());
disStockListDetail.setId(list1.get(0).getId());
break;
case 2: //查询有没有生成的数据
DisStockOrdercodeRecoEntity one1 = disStockOrdercodeRecoService.getOne(Wrappers.<DisStockOrdercodeRecoEntity>query().lambda()
.eq(DisStockOrdercodeRecoEntity::getCode, stockupDTO.getPacketBarCode())
.eq(DisStockOrdercodeRecoEntity::getCodeStatus, "0")
);
if (ObjectUtils.isNotNull(one1)) {
//绑定码
disStockListDetail.setStockPackageCode(stockupDTO.getPacketBarCode());
disStockListDetail.setId(list1.get(0).getId());
//修改包件码状态
ordercodeRecoEntity.setCodeStatus("1");
ordercodeRecoEntity.setId(one1.getId());
disStockOrdercodeRecoService.updateById(ordercodeRecoEntity);
break;
} else {
//包条码不存在
return 7;
}
}
disStockListDetailService.updateById(disStockListDetail); //补充扫码数据
return 1;
}else{
//没有包件信息
return 7;
}
}
}

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

@ -27,6 +27,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.bean.Resp;
import com.logpm.distribution.dto.DistributionStockListDTO;
import com.logpm.distribution.dto.DistrilbutionBillLadingDTO;
import com.logpm.distribution.dto.app.BillLadingAppDTO;
@ -61,6 +62,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@ -486,52 +488,67 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
@Override
public IPage<DistrilbutionBillLadingAppVO> pageListApp(IPage<Object> page, BillLadingAppDTO billLadingAppDTO) {
IPage<DistrilbutionBillLadingAppVO> pageList = baseMapper.pageListApp(page, billLadingAppDTO);
List<DistrilbutionBillLadingAppVO> records = pageList.getRecords();
for (DistrilbutionBillLadingAppVO vo : records) {
//有可能存在多个订单所以需要拆分
String stockArticleId = vo.getStockArticleId();
Integer orderNum = 0;
Integer planNum = 0;
Integer signedNum = 0;
String[] split = stockArticleId.split(",");
for (String s : split) {
if (StringUtil.isBlank(s)) {
continue;
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
if(ObjectUtils.isNotNull(myCurrentWarehouse)){
billLadingAppDTO.setWarehouseId(myCurrentWarehouse.getId()); //仓库ID
if(ObjectUtils.isNotNull(billLadingAppDTO.getPickUpTimeStart()) && ObjectUtils.isNotNull(billLadingAppDTO.getPickUpTimeEnd())){
billLadingAppDTO.setPickUpTimeStart(billLadingAppDTO.getPickUpTimeStart()+" 00:00:00");
billLadingAppDTO.setPickUpTimeEnd(billLadingAppDTO.getPickUpTimeEnd()+" 23:59:59");
}
IPage<DistrilbutionBillLadingAppVO> pageList = baseMapper.pageListApp(page, billLadingAppDTO);
List<DistrilbutionBillLadingAppVO> records = pageList.getRecords();
for (DistrilbutionBillLadingAppVO vo : records) {
//有可能存在多个订单所以需要拆分
String stockArticleId = vo.getStockArticleId();
Integer orderNum = 0;
Integer planNum = 0;
Integer signedNum = 0;
Integer inventoryNub = 0; //库存品
String[] split = stockArticleId.split(",");
for (String s : split) {
if (StringUtil.isBlank(s)) {
continue;
}
orderNum++;
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper);
int pn = list.size();
planNum = planNum + pn;
//通过订单id查询扫描表中有多少数据
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>();
qw.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw);
int sn = ls.size();
signedNum = signedNum + sn;
}
//查询库存品的件数量
DistributionDeliveryDetailsVO list = distributionDeliveryDetailsService.oneListNum(vo.getBillLadingId());
if (ObjectUtils.isNotNull(list)) {
inventoryNub += list.getWholeNum();
// planNum += list.getWholeNum();
signedNum += list.getEsauNum();
vo.setInventoryNum(list.getWholeNum());
} else {
vo.setInventoryNum(0);
}
orderNum++;
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper);
int pn = list.size();
planNum = planNum + pn;
//通过订单id查询扫描表中有多少数据
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>();
qw.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw);
int sn = ls.size();
signedNum = signedNum + sn;
vo.setOrderNum(orderNum);
vo.setPlanNum(planNum);
vo.setSignedNum(signedNum);
vo.setInventoryNub(inventoryNub);
}
//查询库存品的件数量
DistributionDeliveryDetailsVO list = distributionDeliveryDetailsService.oneListNum(vo.getBillLadingId());
if (ObjectUtils.isNotNull(list)) {
pageList.setRecords(records);
planNum += list.getWholeNum();
signedNum += list.getEsauNum();
vo.setInventoryNum(list.getWholeNum());
} else {
vo.setInventoryNum(0);
}
vo.setOrderNum(orderNum);
vo.setPlanNum(planNum);
vo.setSignedNum(signedNum);
return pageList;
}else{
log.warn("#####仓库信息数据未查询处理");
return null;
}
pageList.setRecords(records);
return pageList;
}
@Override
@ -630,9 +647,14 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
signedNum += list2.size();
}
planNum += list.stream().mapToInt(DistributionDeliveryDetailsEntity::getQuantity).sum();
// planNum += list.stream().mapToInt(DistributionDeliveryDetailsEntity::getQuantity).sum();
DistrilbutionAppBillLadingOrderMainVO mainVO = new DistrilbutionAppBillLadingOrderMainVO();
mainVO.setOrderNum(orderNum);
if(list.size() > 0){
mainVO.setInventoryNub(list.stream().mapToInt(DistributionDeliveryDetailsEntity::getQuantity).sum());
}else{
mainVO.setInventoryNub(0);
}
mainVO.setPlanNum(planNum);
mainVO.setSignedNum(signedNum);
mainVO.setCompleteNum(conpleteNum);
@ -912,13 +934,17 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
*/
@Override
@Transactional(rollbackFor = Exception.class)
public R getScan(Map<String, Object> distrilbutionBillLading) {
public Resp getScan(Map<String, Object> distrilbutionBillLading) {
Object billLadingId = distrilbutionBillLading.get("id"); //提货ID
Object coding = distrilbutionBillLading.get("coding"); //包条码
Object type = distrilbutionBillLading.get("type"); //类型 2 订单 1 库存品
if (Func.isNull(billLadingId) || Func.isNull(coding) || Func.isNull(type)) {
return R.fail(3000, "参数不完整,你干啥呢!!");
return (Resp) R.fail(3000, "参数不完整,你干啥呢!!");
} else {
DistrilbutionBillLadingEntity billLadingEntity1 = baseMapper.selectById((Serializable) billLadingId);
if(ObjectUtils.isNotNull(billLadingEntity1) && billLadingEntity1.getConditions().equals("20")){
return Resp.scanFail("任务已完成!", "任务已完成!");
}
//查询是否签收
List<DistributionBillLadingScanEntity> list3 = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId)
@ -926,7 +952,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.eq(DistributionBillLadingScanEntity::getPacketBarCode, coding)
);
if (list3.size() > 0) {
return R.fail(3001, "已签收!");
return Resp.scanFail("已签收!", "已签收!");
}
//添加扫描记录
@ -947,13 +973,16 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
//修改完成状态
distributionAsyncService.getInventoryOrderSelfPickup(inventoryAppVO.getLdddId());
}
if(list.size() > inventoryAppVO.getQuantity()){
return Resp.scanFail("已完成!", "已完成!!");
}
//修改库存品签收
distributionAsyncService.getInventorySelfPickup(inventoryAppVO.getStockArticleId());
distributionBillLadingScan.setPacketBarCode((String) coding);
distributionBillLadingScan.setStockListId(inventoryAppVO.getStockListId());
distributionBillLadingScanService.save(distributionBillLadingScan);
} else {
return R.fail(3000, "包件信息不存在");
return Resp.scanFail("包件信息不存在", "包件信息不存在");
}
} else {
//查询订单存在吗
@ -961,7 +990,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.eq(DistrilbutionBillStockEntity::getBillLadingId, billLadingId)
);
if (list.size() < 1) {
return R.fail(3000, "当前提货任务,订单不存在!");
return Resp.scanFail("当前提货任务,订单不存在!", "当前提货任务,订单不存在!");
} else {
AtomicBoolean n = new AtomicBoolean(false);
list.forEach(so -> {
@ -981,7 +1010,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.eq(DistributionBillLadingScanEntity::getMaterialType, "2")
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId)
);
//判断当前签收数
//判断当前签收数 修改订单和备货订单状态
if (one.getTotalNumber().equals(list2.size() + 1)) {
DistrilbutionBillStockEntity one1 = distrilbutionBillStockService.getOne(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
@ -989,7 +1018,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.eq(DistrilbutionBillStockEntity::getStockArticleId, one.getId())
.eq(DistrilbutionBillStockEntity::getConditions, "1")
);
//修改订单状态
distributionAsyncService.getOrderSelfPickup(list1.get(0).getId());
//修改备货订单状态
distributionAsyncService.getBillStock(one1.getId());
}
//修改包件状态
@ -1005,28 +1036,31 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
if (n.get()) {
distributionBillLadingScanService.save(distributionBillLadingScan);
} else {
return R.fail(3000, "当前订单,包件不存在!!");
return Resp.scanFail("当前订单,包件不存在!!", "当前订单,包件不存在!!");
}
}
}
//判断当前自提任务完成没有
//查询订单数
List<DistrilbutionBillStockEntity> list = distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, billLadingId)
);
//查询库存品数
List<DistributionDeliveryDetailsEntity> list1 = distributionDeliveryDetailsService.list(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda()
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, billLadingId)
);
long count = list.stream().filter(e -> e.getConditions().equals("2")).count();
long count2 = list1.stream().filter(e -> e.getConditions().equals("2")).count();
long count = list.stream().filter(e -> e.getConditions().equals("2")).count(); // 订 已签收的数
long count2 = list1.stream().filter(e -> e.getConditions().equals("2")).count(); // 库 已签收的数
if (Integer.parseInt(String.valueOf(count)) == list.size() && Integer.parseInt(String.valueOf(count2)) == list1.size()) {
//修改提货任务状态
DistrilbutionBillLadingEntity billLadingEntity = new DistrilbutionBillLadingEntity();
billLadingEntity.setId((Long) billLadingId);
billLadingEntity.setConsignee("2");
String bill = (String) billLadingId;
billLadingEntity.setId(Long.valueOf(bill));
billLadingEntity.setConditions("20");
baseMapper.updateById(billLadingEntity);
}
return R.fail(200, "签收成功");
return Resp.scanFail( "签收成功","签收成功");
}
}

1
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java

@ -167,6 +167,7 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
//获取当前登录人仓库
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Objects.isNull(basicdataWarehouseEntity)) {
log.warn("#####操作人,当前未查询到仓库信息");
return false;
}
warehouseWarehousingEntry.setWarehouseId(basicdataWarehouseEntity.getId());

Loading…
Cancel
Save