Browse Source

修改自提接口

dev-warehouse
caoyizhong 2 years ago
parent
commit
04464eaafe
  1. 1
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistrilbutionAppBillLadingOrderMainVO.java
  2. 8
      blade-service-api/logpm-warehouse-api/pom.xml
  3. 1
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseStockListEntity.java
  4. 1
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseStockClient.java
  5. 1
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseStockListVO.java
  6. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionBillLadingAppController.java
  7. 21
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionParcelListController.java
  8. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionParcelListDTO.java
  9. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryDetailsMapper.xml
  10. 43
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

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

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

8
blade-service-api/logpm-warehouse-api/pom.xml

@ -3,6 +3,14 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<dependencies>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>logpm-distribution-api</artifactId>
<version>3.1.0.RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
<parent>
<groupId>org.springblade</groupId>

1
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseStockListEntity.java

@ -18,6 +18,7 @@ package com.logpm.warehouse.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.logpm.distribution.entity.DistributionStockEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

1
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseStockClient.java

@ -17,6 +17,7 @@
package com.logpm.warehouse.feign;
import com.logpm.distribution.entity.DistributionStockEntity;
import org.springblade.common.constant.ModuleNameConstant;
import org.springblade.core.mp.support.BladePage;
import org.springframework.cloud.openfeign.FeignClient;

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

@ -17,6 +17,7 @@
package com.logpm.warehouse.vo;
import com.logpm.distribution.entity.DistributionStockListEntity;
import com.logpm.warehouse.entity.WarehouseStockListEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

@ -110,11 +110,11 @@ public class DistributionBillLadingAppController extends BladeController {
}
@ApiOperation(value = "自提扫描id")
@PutMapping("/scan")
@GetMapping("/scan")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "自提单ID", required = true),
@ApiImplicitParam(name = "coding", value = "包条码", required = true),
@ApiImplicitParam(name = "type", value = "类型 4 订单 3 库存品", required = true)
@ApiImplicitParam(name = "type", value = "类型 2 订单 1 库存品", required = true)
})
public R getScan(@ApiIgnore @RequestParam Map<String, Object> distrilbutionBillLading){
R scan = distrilbutionBillLadingService.getScan(distrilbutionBillLading);

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

@ -16,6 +16,10 @@
*/
package com.logpm.distribution.controller;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.logpm.basic.entity.BasicMaterialEntity;
import com.logpm.basic.feign.IBasicMaterialClient;
import com.logpm.distribution.dto.DistributionParcelListDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -59,6 +63,7 @@ import javax.servlet.http.HttpServletResponse;
public class DistributionParcelListController extends BladeController {
private final IDistributionParcelListService distributionParcelListService;
private final IBasicMaterialClient basicMaterialClient;
/**
* 在库订单包件清单 详情
@ -127,8 +132,20 @@ public class DistributionParcelListController extends BladeController {
@PostMapping("/update")
@ApiOperationSupport(order = 5)
@ApiOperation(value = "修改", notes = "传入distributionParcelList")
public R update(@Valid @RequestBody DistributionParcelListEntity distributionParcelList) {
return R.status(distributionParcelListService.updateById(distributionParcelList));
public R update(@Valid @RequestBody DistributionParcelListDTO distributionParcelListDTO) {
if(ObjectUtils.isNotNull(distributionParcelListDTO.getMaterialId())){
BasicMaterialEntity materialOwnId = basicMaterialClient.getMaterialOwnId(distributionParcelListDTO.getMaterialId());
if(ObjectUtils.isNotNull(materialOwnId)){
distributionParcelListDTO.setMaterialCode(materialOwnId.getProductCode());
distributionParcelListDTO.setMaterialName(materialOwnId.getName());
distributionParcelListDTO.setMaterialUnit(materialOwnId.getLogpmUnit());
distributionParcelListDTO.setSku(materialOwnId.getSku());
}else{
return R.fail("操作失败!!");
}
}
return R.status(distributionParcelListService.updateById(distributionParcelListDTO));
}
/**

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

@ -31,4 +31,10 @@ import lombok.EqualsAndHashCode;
public class DistributionParcelListDTO extends DistributionParcelListEntity {
private static final long serialVersionUID = 1L;
private Long materialId;
private String materialName;
private String materialCode;
private String materialUnit;
private String sku;
}

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

@ -44,7 +44,7 @@
where lddd.bill_lading_id = #{id} and lddd.is_deleted = 0
</select>
<select id="listCode" resultType="com.logpm.distribution.vo.app.DistrilbutionBillLadingInventoryAppVO">
select lds.stock_list_id stockListId,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}
</select>

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

@ -37,8 +37,11 @@ import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingOrderMainVO;
import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingOrderVO;
import com.logpm.distribution.vo.app.DistrilbutionBillLadingInventoryAppVO;
import lombok.AllArgsConstructor;
import org.springblade.common.constant.order.OrderReservationStatusConstant;
import org.springblade.common.constant.order.OrderStatusConstant;
import org.springblade.common.constant.stockup.StockAssignStatusConstant;
import org.springblade.common.constant.stockup.StockupStatusConstant;
import org.springblade.common.serviceConstant.ServiceConstant;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
@ -207,6 +210,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
DistributionStockArticleEntity distributionStockArticle = new DistributionStockArticleEntity();
distributionStockArticle.setId(Long.parseLong(s));
// distributionStockArticle.setOrderStatus(ServiceConstant.ORDER_STATE_TWO);
distributionStockArticle.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
distributionStockArticle.setStockupStatus(StockupStatusConstant.daibeihuo.getValue());
distributionStockArticleService.updateById(distributionStockArticle);
//添加订单和提货单关联
DistrilbutionBillStockEntity distrilbutionBillStock = new DistrilbutionBillStockVO();
@ -427,15 +432,34 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
}
}
//查询库存品的订单
//查询库存品
List<DistributionDeliveryDetailsEntity> list = distributionDeliveryDetailsService.list(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda()
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, billLadingId)
);
//查询是否签收完成
List<DistributionDeliveryDetailsEntity> list1 = distributionDeliveryDetailsService.list(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda()
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, billLadingId)
);
if(list1.size() > 0){
long count = list1.stream().filter(i -> i.getConditions().equals("2")).count();
signedNum += (int) count;
}
//查询签收件数
List<DistributionBillLadingScanEntity> list2 = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId)
.eq(DistributionBillLadingScanEntity::getMaterialType, "1")
);
if(list2.size() > 0){
signedNum += list2.size();
}
planNum += list.stream().mapToInt( DistributionDeliveryDetailsEntity::getQuantity ).sum();
DistrilbutionAppBillLadingOrderMainVO mainVO = new DistrilbutionAppBillLadingOrderMainVO();
mainVO.setOrderNum(orderNum);
mainVO.setPlanNum(planNum);
mainVO.setSignedNum(signedNum);
mainVO.setCompleteNum(conpleteNum);
// mainVO.setAssembleNum(list.stream().mapToInt( DistributionDeliveryDetailsEntity::getQuantity ).sum());
mainVO.setList(l);
return mainVO;
}
@ -677,6 +701,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
DistrilbutionBillLadingEntity distrilbutionBillLadingEntity = JSONObject.parseObject(JSONObject.toJSONString(distrilbutionBillLading), DistrilbutionBillLadingEntity.class);
IPage<DistrilbutionBillLadingAppVO> inventory = baseMapper.getInventory(page, distrilbutionBillLadingEntity);
inventory.getRecords().forEach( i ->{
if(i.getQuantity().equals(i.getDeliveryNum())){
//已备货
List<DistributionBillLadingScanEntity> list = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
@ -686,7 +711,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
i.setEsauInventoryNum(list.size());
}else{
//没有备货完成
i.setEsauInventoryNum(0);
i.setEsauInventoryNum(-1);
}
});
return inventory;
@ -699,10 +724,11 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public R getScan(Map<String, Object> distrilbutionBillLading) {
Object billLadingId = distrilbutionBillLading.get("id"); //提货ID
Object coding = distrilbutionBillLading.get("coding"); //包条码
Object type = distrilbutionBillLading.get("type"); //类型 4 订单 3 库存品
Object type = distrilbutionBillLading.get("type"); //类型 2 订单 1 库存品
if(Func.isNull(billLadingId) || Func.isNull(coding ) || Func.isNull(type) ){
return R.fail(3000,"参数不完整,你干啥呢!!");
}else{
@ -719,7 +745,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
//添加扫描记录
DistributionBillLadingScanEntity distributionBillLadingScan = new DistributionBillLadingScanEntity();
distributionBillLadingScan.setMaterialType((String) type);
distributionBillLadingScan.setBillLadingId((Long) billLadingId);
distributionBillLadingScan.setBillLadingId(Long.parseLong(billLadingId.toString()));
if(type.equals("1")){
//库存品
DistrilbutionBillLadingInventoryAppVO inventoryAppVO = distributionDeliveryDetailsService.listCode(String.valueOf(billLadingId), String.valueOf(coding));
@ -747,8 +773,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
List<DistrilbutionBillStockEntity> list= distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, billLadingId)
);
if(list.size()> 0){
R.fail(3000,"当前提货任务,订单不存在!");
if(list.size() < 1){
return R.fail(3000,"当前提货任务,订单不存在!");
}else{
AtomicBoolean n = new AtomicBoolean(false);
list.forEach(so ->{
@ -792,7 +818,6 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
if(n.get()){
distributionBillLadingScanService.save(distributionBillLadingScan);
}else{
//
return R.fail(3000,"当前订单,包件不存在!!");
}
}

Loading…
Cancel
Save