Browse Source

fix:增加商家端的PC入库

pre-production
pref_mail@163.com 3 weeks ago
parent
commit
9b37017876
  1. 4
      blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarNumberVO.java
  2. 20
      blade-service/logpm-business/src/main/java/com/logpm/business/controller/DistributionBusinessPreOrderController.java
  3. 21
      blade-service/logpm-business/src/main/java/com/logpm/business/mapper/BusinessPreOrderMapper.xml
  4. 6
      blade-service/logpm-business/src/main/java/com/logpm/business/service/IBusinessPreOrderService.java
  5. 69
      blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java

4
blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarNumberVO.java

@ -24,5 +24,9 @@ public class DistributionBusinessPreCarNumberVO {
@ApiModelProperty(value = "待入库件数")
private Integer restNum;
@ApiModelProperty(value = "配送司机")
private String driverName;
@ApiModelProperty(value = "配送时间")
private String taskTime;
}

20
blade-service/logpm-business/src/main/java/com/logpm/business/controller/DistributionBusinessPreOrderController.java

@ -14,12 +14,10 @@ import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.util.Map;
@RestController
@ -72,6 +70,20 @@ public class DistributionBusinessPreOrderController extends BladeController {
}
@PostMapping("/inOrderByZero")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "页面ID", notes = "传入distributionDeliveryList")
public R<Boolean> inOrderByZero(@ApiParam(value = "主键集合", required = true) @RequestBody List<BusinessPreOrderVO> businessPreOrderList) {
try {
Boolean isSuccess = distributionIBusinessPreOrderService.inOrderByZero(businessPreOrderList);
return R.data(isSuccess);
}catch (Exception e){
log.error("预入库信息入库失败",e);
return R.fail(500,e.getMessage());
}
}

21
blade-service/logpm-business/src/main/java/com/logpm/business/mapper/BusinessPreOrderMapper.xml

@ -109,6 +109,10 @@
AND in_warehouse = #{param.inWarehouse}
</if>
<if test="param.conditions != null ">
AND conditions = #{param.conditions}
</if>
</where>
@ -159,11 +163,13 @@
<select id="pageByCarNum" resultType="com.logpm.business.vo.DistributionBusinessPreCarNumberVO">
SELECT distr_car_number,
waybill_number,
order_code,
GROUP_CONCAT(waybill_number) as waybill_number,
GROUP_CONCAT(order_code) as order_code,
GROUP_CONCAT(DISTINCT driver_name) as driver_name,
sum(quantity) as totalNum,
sum(unload_num) as inNum,
sum(quantity)-sum(unload_num) as restNum
sum(quantity)-sum(unload_num) as restNum,
GROUP_CONCAT(DISTINCT task_time) as taskTime
from logpm_business_pre_order
<where>
@ -184,17 +190,16 @@
<if test="distributionBusinessPreOrderDTO.taskTimeEnd != null ">
AND task_time &lt; #{distributionBusinessPreOrderDTO.taskTimeEnd}
</if>
<if test="distributionBusinessPreOrderDTO.driverName != null ">
AND driver_name =#{distributionBusinessPreOrderDTO.driverName}
AND driver_name like concat("%",#{distributionBusinessPreOrderDTO.driverName},'%')
</if>
</where>
GROUP BY
distr_car_number,
waybill_number,
order_code
distr_car_number
order by task_time desc
</select>
<select id="listCarNum" resultType="com.logpm.business.vo.DistributionBusinessPreCarNumerPageVO">
SELECT

6
blade-service/logpm-business/src/main/java/com/logpm/business/service/IBusinessPreOrderService.java

@ -106,4 +106,10 @@ public interface IBusinessPreOrderService extends BaseService<BusinessPreOrderEn
String sourceTenantId
);
/**
* 零担入库
* @param businessPreOrderList
* @return
*/
Boolean inOrderByZero(List<BusinessPreOrderVO> businessPreOrderList);
}

69
blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java

@ -752,4 +752,73 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
return r;
}
@Override
public Boolean inOrderByZero(List<BusinessPreOrderVO> businessPreOrderList) {
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
List<Long> ids = businessPreOrderList.stream().map(BusinessPreOrderVO::getId).collect(Collectors.toList());
// 查询与入库数量
List<BusinessPreOrderEntity> list = baseMapper.selectList(new LambdaQueryWrapper<BusinessPreOrderEntity>().in(BusinessPreOrderEntity::getId, ids));
for (BusinessPreOrderEntity businessPreOrderEntity : list) {
BusinessPreOrderVO t = businessPreOrderList.stream().filter(a->businessPreOrderEntity.getId().equals(a.getId())).findFirst().get();
if (1 == businessPreOrderEntity.getInWarehouse()) {
throw new CustomerException( businessPreOrderEntity.getFirsts() + "已入库");
}
// 构建 订单
DistributionStockArticleEntity distributionStockArticleEntity = checkStockArticle(businessPreOrderEntity, myCurrentWarehouse);
// 构建 订单下级【包件】
DistributionParcelListEntity distributionParcelListEntityByOrderCodeAndFirstName = distributionParcelListClient.findDistributionParcelListEntityByOrderCodeAndFirstName(businessPreOrderEntity.getOrderCode(), businessPreOrderEntity.getFirsts(), myCurrentWarehouse.getId());
int temp = 0;
if (distributionParcelListEntityByOrderCodeAndFirstName == null) {
// 执行新增功能
DistributionParcelListEntity distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId = distributionParcelListClient.findDistributionParcelListEntityByOrderCodeAndFirstNameAndTenantId(businessPreOrderEntity.getFromTenantId(), businessPreOrderEntity.getOrderCode(), businessPreOrderEntity.getFirsts(), businessPreOrderEntity.getWarehouseId());
if (distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId != null) {
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setId(null);
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setTenantId(null);
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setCreateUser(null);
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setUpdateUser(null);
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setCreateTime(null);
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setUpdateTime(null);
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setOrderPackageReservationStatus("10");
// 卸车数量作为入库数量
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setQuantity(t.getUnloadNum());
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setStockArticleId(distributionStockArticleEntity.getId());
distributionParcelListClient.add(distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId);
temp = t.getUnloadNum();
}
} else {
// 修改其入库数量
if(distributionParcelListEntityByOrderCodeAndFirstName.getQuantity()<t.getUnloadNum()){
temp = distributionParcelListEntityByOrderCodeAndFirstName.getQuantity() - t.getUnloadNum();
}else{
temp = t.getUnloadNum() - distributionParcelListEntityByOrderCodeAndFirstName.getQuantity();
}
distributionParcelListEntityByOrderCodeAndFirstName.setQuantity(t.getUnloadNum());
distributionParcelListClient.update(distributionParcelListEntityByOrderCodeAndFirstName);
}
distributionStockArticleEntity.setHandQuantity(distributionStockArticleEntity.getHandQuantity() + temp);
distributionStockArticleEntity.setIncomingNum(distributionStockArticleEntity.getIncomingNum() + temp);
distributionStockArticleClient.saveOrUpdate(distributionStockArticleEntity);
// 修改预入库数据
businessPreOrderEntity.setInWarehouse(1);
businessPreOrderEntity.setUnloadNum(t.getUnloadNum());
this.updateById(businessPreOrderEntity);
}
return true;
}
}

Loading…
Cancel
Save