Browse Source

Merge branch 'pre-production'

master
pref_mail@163.com 5 months ago
parent
commit
df63997907
  1. 8
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataClientClient.java
  2. 304
      blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsReconciliationOrderInfoEntity.java
  3. 13
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataClientClient.java
  4. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/api/DistributionStockupAppController.java
  5. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryDetailsMapper.java
  6. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryDetailsMapper.xml
  7. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  8. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml
  9. 18
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java
  10. 32
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml
  11. 11
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryDetailsService.java
  12. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryDetailsServiceImpl.java
  13. 152
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  14. 4
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.xml
  15. 4
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java

8
blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataClientClient.java

@ -119,4 +119,12 @@ public interface IBasicdataClientClient {
@GetMapping(API_PREFIX+"/findBasicdataClientEntitysTenantId")
List<BasicdataClientEntity> findBasicdataClientEntitysTenantId(@RequestParam String tenantId) ;
/**
* 查询制定租户下面的客户结合
* @return
*/
@PostMapping(API_PREFIX+"/saveEntity")
Long saveEntity(@RequestBody BasicdataClientEntity clientEntity) ;
}

304
blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsReconciliationOrderInfoEntity.java

@ -21,86 +21,300 @@ public class StatisticsReconciliationOrderInfoEntity extends TenantEntity {
*/
@ApiModelProperty(value = "预留1")
private String reserve1;
/**
* 预留2
*/
@ApiModelProperty(value = "预留2")
private String reserve2;
/**
* 预留3
*/
@ApiModelProperty(value = "预留3")
private String reserve3;
/**
* 预留4
*/
@ApiModelProperty(value = "预留4")
private String reserve4;
/**
* 预留5
*/
@ApiModelProperty(value = "预留5")
private String reserve5;
/**
* 对账单号
*/
@ApiModelProperty(value = "对账单号")
private String reconciliationOrderNo;//对账单号
private String reconciliationOrderNo;
private String waybillNo;//运单号
/**
* 运单号
*/
@ApiModelProperty(value = "运单号")
private String waybillNo;
private String orderCode;//订单号
/**
* 运单制单时间
*/
@ApiModelProperty(value = "运单号")
private Date waybillCreateTime;
/**
* 订单号
*/
@ApiModelProperty(value = "订单号")
private String orderCode;
/**
* 品牌
*/
@ApiModelProperty(value = "品牌")
private String brand;//品牌
private Long consigneeId;//收货单位ID
private String consignee;//收货单位
private Long destinationWarehouseId;//目的仓id
private String destinationWarehouseName;//目的仓名称
private Integer totalNum;//总数量
private BigDecimal totalWeight;//总重量
private BigDecimal totalVolume;//总体积
private BigDecimal systemTotalFee;//开单预估价
private BigDecimal realTotalFee;//实际费用
private BigDecimal pickupFee;//提货费
private BigDecimal freightFee;//运费
private BigDecimal warehouseServiceFee;//仓库服务费
private BigDecimal warehouseFee;//仓储费
private BigDecimal warehouseManageFee;//仓储管理费
private BigDecimal warehouseSortingFee;//仓储分拣费
private BigDecimal warehouseOperatingFee;//仓储操作费
private BigDecimal deliveryFee;//配送费
private BigDecimal deliveryServiceFee;//配送服务费
private BigDecimal deliveryLoadingFee;//配送装卸费
private BigDecimal deliverySortingFee;//配送分拣费
private BigDecimal deliveryUpfloorFee;//配送上楼费
private BigDecimal deliveryMoveFee;//配送平移费
private BigDecimal deliveryOtherFee;//配送其他费
private BigDecimal deliveryCrossingFee;//超区费
private BigDecimal installFee;//安装费
private BigDecimal otherFee;//其他费
private Integer isAftersale;//是否有售后
private String aftersaleOrder;//售后单号
private BigDecimal aftersalesFee;//售后金额
private String brand;
/**
* 收货单位ID
*/
@ApiModelProperty(value = "收货单位ID")
private Long consigneeId;
/**
* 收货单位
*/
@ApiModelProperty(value = "收货单位")
private String consignee;
/**
* 目的仓id
*/
@ApiModelProperty(value = "目的仓id")
private Long destinationWarehouseId;
/**
* 目的仓名称
*/
@ApiModelProperty(value = "目的仓名称")
private String destinationWarehouseName;
/**
* 总数量
*/
@ApiModelProperty(value = "总数量")
private Integer totalNum;
/**
* 总重量
*/
@ApiModelProperty(value = "总重量")
private BigDecimal totalWeight;
/**
* 总体积
*/
@ApiModelProperty(value = "总体积")
private BigDecimal totalVolume;
/**
* 开单预估价
*/
@ApiModelProperty(value = "开单预估价")
private BigDecimal systemTotalFee;
/**
* 实际费用
*/
@ApiModelProperty(value = "实际费用")
private BigDecimal realTotalFee;
/**
* 提货费
*/
@ApiModelProperty(value = "提货费")
private BigDecimal pickupFee;
/**
* 运费
*/
@ApiModelProperty(value = "运费")
private BigDecimal freightFee;
/**
* 仓库服务费
*/
@ApiModelProperty(value = "仓库服务费")
private BigDecimal warehouseServiceFee;
/**
* 仓储费
*/
@ApiModelProperty(value = "仓储费")
private BigDecimal warehouseFee;
/**
* 仓储管理费
*/
@ApiModelProperty(value = "仓储管理费")
private BigDecimal warehouseManageFee;
/**
* 仓储分拣费
*/
@ApiModelProperty(value = "仓储分拣费")
private BigDecimal warehouseSortingFee;
/**
* 仓储操作费
*/
@ApiModelProperty(value = "仓储操作费")
private BigDecimal warehouseOperatingFee;
/**
* 配送费
*/
@ApiModelProperty(value = "配送费")
private BigDecimal deliveryFee;
/**
* 配送服务费
*/
@ApiModelProperty(value = "配送服务费")
private BigDecimal deliveryServiceFee;
/**
* 配送装卸费
*/
@ApiModelProperty(value = "配送装卸费")
private BigDecimal deliveryLoadingFee;
/**
* 配送分拣费
*/
@ApiModelProperty(value = "配送分拣费")
private BigDecimal deliverySortingFee;
/**
* 配送上楼费
*/
@ApiModelProperty(value = "配送上楼费")
private BigDecimal deliveryUpfloorFee;
/**
* 配送平移费
*/
@ApiModelProperty(value = "配送平移费")
private BigDecimal deliveryMoveFee;
/**
* 配送其他费
*/
@ApiModelProperty(value = "配送其他费")
private BigDecimal deliveryOtherFee;
/**
* 超区费
*/
@ApiModelProperty(value = "超区费")
private BigDecimal deliveryCrossingFee;
/**
* 安装费
*/
@ApiModelProperty(value = "安装费")
private BigDecimal installFee;
/**
* 其他费
*/
@ApiModelProperty(value = "其他费")
private BigDecimal otherFee;
/**
* 是否有售后
*/
@ApiModelProperty(value = "是否有售后")
private Integer isAftersale;
/**
* 售后单号
*/
@ApiModelProperty(value = "售后单号")
private String aftersaleOrder;
/**
* 售后金额
*/
@ApiModelProperty(value = "售后金额")
private BigDecimal aftersalesFee;
/**
* 创建用户名
*/
@ApiModelProperty(value = "创建用户名")
private String createUserName;
private Integer isChanges;//是否有异动 0 否 1是
private BigDecimal changesFee;//异动金额
private String changesItems;//异动栏目
private String changesRemark;//异动备注
private Date changesTime;//异动时间
/**
* 是否有异动 0 1是
*/
@ApiModelProperty(value = "是否有异动 0 否 1是")
private Integer isChanges;
private Integer checkStatus;//确认结算状态 0为确认 1已确认
/**
* 异动金额
*/
@ApiModelProperty(value = "异动金额")
private BigDecimal changesFee;
/**
* 异动栏目
*/
@ApiModelProperty(value = "异动栏目")
private String changesItems;
/**
* 异动备注
*/
@ApiModelProperty(value = "异动备注")
private String changesRemark;
/**
* 异动时间
*/
@ApiModelProperty(value = "异动时间")
private Date changesTime;
/**
* 确认结算状态 0为确认 1已确认
*/
@ApiModelProperty(value = "确认结算状态 0为确认 1已确认")
private Integer checkStatus;
/**
* 确认结算用户名
*/
@ApiModelProperty(value = "确认结算用户名")
private String checkUserName;
/**
* 确认结算时间
*/
@ApiModelProperty(value = "确认结算时间")
private Date checkTime;
/**
* 结算单号
*/
@ApiModelProperty(value = "结算单号")
private String balanceOrderNo;
private Long balanceOrderId;
/**
* 结算单ID
*/
@ApiModelProperty(value = "结算单ID")
private Long balanceOrderId;
}

13
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataClientClient.java

@ -39,6 +39,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import java.security.NoSuchAlgorithmException;
import java.util.List;
/**
@ -151,4 +152,16 @@ public class BasicdataClientClient implements IBasicdataClientClient {
lambdaQueryWrapper.eq(BasicdataClientEntity::getIsDeleted, 0);// 查询未删除的客户信息
return basicdataClientService.list(lambdaQueryWrapper);
}
@Override
public Long saveEntity(BasicdataClientEntity clientEntity) {
try {
String finallyClientCode = basicdataClientService.getFinallyClientCode();
clientEntity.setClientCode(finallyClientCode);
basicdataClientService.ownSaveOrUpdate(clientEntity);
return clientEntity.getId();
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
}

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/api/DistributionStockupAppController.java

@ -658,7 +658,6 @@ public class DistributionStockupAppController extends BladeController {
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Func.isEmpty(myCurrentWarehouse)) {
return R.data(403, "未授权!");
}
if (scanType == 2) {
//库存品扫描

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

@ -83,4 +83,13 @@ public interface DistributionDeliveryDetailsMapper extends BaseMapper<Distributi
List<DistributionBillInventoryExcel> getBillOrderInventoryExcel(@Param("param") DistributionDeliveryDetailsEntity deliveryDetails);
List<DistributionBillInventoryExcel> getBillLadingDetailOrderInventoryExcel(@Param("id")Long id);
/**
* 查询老的计划信息
* @param billLadingId
* @param cargoNumber
* @param stockListId
* @return
*/
List<DistributionDeliveryDetailsEntity> selectStockListByReservationIdAndCargoNumber(@Param("billId")Long billId,@Param("cargoNumber") String cargoNumber,@Param("oldStockId") Long oldStockId);
}

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

@ -156,5 +156,15 @@
WHERE
lddd.bill_lading_id = #{id} and lddd.inventory_status in (1,3)
</select>
<select id="selectStockListByReservationIdAndCargoNumber"
resultType="com.logpm.distribution.entity.DistributionDeliveryDetailsEntity">
SELECT
lddd.*
FROM
logpm_distribution_delivery_details AS lddd
LEFT JOIN logpm_distribution_stock_list AS ldsl ON lddd.stock_list_id = ldsl.id
WHERE
lddd.bill_lading_id = #{billId} AND ldsl.cargo_number = #{cargoNumber} AND lddd.inventory_status in ('1','3') AND lddd.stock_list_id != #{oldStockId}
</select>
</mapper>

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

@ -890,7 +890,7 @@
ldrs.packet_bar_status IN ('1','3') and reservation_id = #{reservationId} AND ldpl.conditions = 1
</select>
<select id="getReservationNumStockSelf" resultType="Integer">
select SUM(lddd.quantity)
select IFNULL(SUM(lddd.quantity),0)
from logpm_distribution_delivery_details lddd
where lddd.inventory_status in (1,3) and lddd.bill_lading_id = #{reservationId} and lddd.stock_list_id =
#{stockListId}

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml

@ -758,8 +758,8 @@
ldsa.is_zero, ldsa.accept_warehouse_id, ldsa.accept_warehouse_name, ldsa.order_delivery_status
from logpm_distribution_stock_article ldsa
LEFT JOIN logpm_distribution_parcel_list ldpl on ldsa.id = ldpl.stock_article_id
LEFT JOIN logpm_trunkline_waybill_order AS ltwo ON ldsa.waybill_number = ltwo.waybill_no
LEFT JOIN logpm_warehouse_waybill AS lww ON lww.id = ltwo.waybill_id
LEFT JOIN logpm_trunkline_waybill_order AS ltwo ON ldsa.order_code = ltwo.order_code
LEFT JOIN logpm_warehouse_waybill AS lww ON lww.waybill_no = ltwo.waybill_no
<where>
ldsa.order_status in ('10','20','30','70')
AND lww.check_status = 1

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

@ -24,6 +24,7 @@ import com.logpm.distribution.dto.DistrilbutionBillLadingDTO;
import com.logpm.distribution.dto.app.BillLadingAppDTO;
import com.logpm.distribution.entity.DistributionDeliveryDetailsEntity;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionReservationStocklistEntity;
import com.logpm.distribution.entity.DistrilbutionBillLadingEntity;
import com.logpm.distribution.excel.DistrilbutionBillLadingExcel;
import com.logpm.distribution.vo.*;
@ -197,6 +198,23 @@ public interface DistrilbutionBillLadingMapper extends BaseMapper<DistrilbutionB
*/
List<WaybillLogDTO> getWaybillSignforData(@Param("id")Long id,@Param("userId") Long userId,@Param("nickName") String nickName);
/**
* 查询库存品物料数量
* @param reservationId
* @param stockListId
* @return
*/
Integer getPlanInventoryNumByInventoryId(@Param("billId") Long billId,@Param("stockListId") Long stockListId);
/**
* 查询自提存在同物料的库存品
* @param reservationId
* @param cargoNumber
* @return
*/
List<DistributionDeliveryDetailsEntity> selectInventoryListByIdAndMateriel(@Param("billId") Long billId, @Param("cargoNumber") String cargoNumber);
// Page<DistrilbutionBillLadingAppVO> getInventoryPage(IPage<Object> page, DistrilbutionBillLadingEntity distrilbutionBillLadingEntity);
}

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

@ -1081,6 +1081,38 @@
GROUP BY
t.waybillNo
</select>
<select id="getPlanInventoryNumByInventoryId" resultType="java.lang.Integer">
SELECT
IFNULL(oldInventory.num,0)
FROM
( SELECT ldsl.cargo_number, ldsl.market_name FROM logpm_distribution_stock_list AS ldsl WHERE ldsl.id = #{stockListId} AND ldsl.is_deleted = 0 ) AS newInventory
LEFT JOIN (
SELECT
ldsl.cargo_number,
ldsl.market_name,
IFNULL( SUM( lddd.quantity ), 0 ) AS num
FROM
logpm_distribution_delivery_details AS lddd
LEFT JOIN logpm_distribution_stock_list AS ldsl ON lddd.stock_list_id = ldsl.id
WHERE
lddd.bill_lading_id = #{billId}
AND lddd.inventory_status != 2
AND lddd.is_deleted = 0
GROUP BY
ldsl.cargo_number
) AS oldInventory ON newInventory.cargo_number = oldInventory.cargo_number
AND newInventory.market_name = oldInventory.market_name
</select>
<select id="selectInventoryListByIdAndMateriel"
resultType="com.logpm.distribution.entity.DistributionDeliveryDetailsEntity">
SELECT
lddd.*
FROM
logpm_distribution_delivery_details AS lddd
LEFT JOIN logpm_distribution_stock_list AS ldsl ON lddd.stock_list_id = ldsl.id
WHERE
lddd.bill_lading_id = #{billId} AND ldsl.cargo_number = #{cargoNumber} AND lddd.inventory_status != 2
</select>
</mapper>

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

@ -24,6 +24,7 @@ import com.logpm.distribution.excel.DistributionDeliveryDetailsExcel;
import com.logpm.distribution.vo.DistributionBillInventoryVO;
import com.logpm.distribution.vo.DistributionDeliveryDetailsVO;
import com.logpm.distribution.vo.app.DistrilbutionBillLadingInventoryAppVO;
import org.apache.ibatis.annotations.Param;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
@ -89,4 +90,14 @@ public interface IDistributionDeliveryDetailsService extends BaseService<Distrib
List<DistributionBillInventoryExcel> getBillLadingDetailOrderInventoryExcel(Long id);
void maintainInvnetory(Long l);
/**
* 查询库存品
* @param billLadingId
* @param cargoNumber
* @param stockListId
* @return
*/
List<DistributionDeliveryDetailsEntity> selectStockListByReservationIdAndCargoNumber( Long billLadingId, String cargoNumber, Long stockListId);
}

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

@ -196,4 +196,9 @@ public class DistributionDeliveryDetailsServiceImpl extends BaseServiceImpl<Dist
}
}
@Override
public List<DistributionDeliveryDetailsEntity> selectStockListByReservationIdAndCargoNumber(Long billLadingId, String cargoNumber, Long stockListId) {
return baseMapper.selectStockListByReservationIdAndCargoNumber(billLadingId,cargoNumber,stockListId);
}
}

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

@ -241,6 +241,8 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
private IBasicMaterialClient basicMaterialClient;
@Override
public IPage<DistributionStockupVO> selectDistributionStockupPage(IPage<DistributionStockupVO> page, DistributionStockupVO distributionStockup) {
return page.setRecords(baseMapper.selectDistributionStockupPage(page, distributionStockup));
@ -1778,7 +1780,8 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
if (ObjectUtils.isNotNull(one) && "3".equals(one.getStockUpType())) {
//自提
//通过预约单id和订单
Integer num = distributionReservationService.getReservationNumStockSelf(reservationId, stockListId);
// Integer num = distributionReservationService.getReservationNumStockSelf(reservationId, stockListId);
Integer num =distrilbutionBillLadingMapper.getPlanInventoryNumByInventoryId(reservationId, stockListId);
if (packageNum.compareTo(num) > 0) {
log.warn("###################createPackageCode: 包条数量与预约数量不正确");
throw new CustomerException(405, "包条数量与预约数量不正确");
@ -2358,8 +2361,6 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
//查询仓库信息 库存品信息
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())
@ -3949,6 +3950,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
Long stockupId = stockupDTO.getStockupId();//备货区
Long allocationId = stockupDTO.getAllocationId();//备货区
Integer stockPrint = stockupDTO.getStockPrint(); // 库存
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Func.isEmpty(myCurrentWarehouse)) {
return R.data(403, "未授权!!!");
@ -4015,13 +4017,6 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
.map(DistributionReservationStocklistEntity::getStocklistId)
.anyMatch(s -> s.equals(finalById.getId()));
if (!flag) {
DistributionReservationStocklistEntity rs = getDistributionReservationStocklistEntity(stockupDTO, byId);
distributionReservationStocklistService.save(rs);
DistributionStockListEntity stockListEntity = distributionStockListService.getById(byId.getId());
stockListEntity.setQuantityOccupied(stockListEntity.getQuantityOccupied() + 1);
distributionStockListService.updateById(stockListEntity);
//原来对应的需要进行计划减少
//收集满足修改条件的计划库存品
List<DistributionReservationStocklistEntity> reservationStocklistEntities = new ArrayList<>();
@ -4033,6 +4028,15 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
if (Func.isEmpty(reservationStocklistEntities)) {
return R.fail("该物料库存品备货已完成");
}
DistributionReservationStocklistEntity rs = getDistributionReservationStocklistEntity(stockupDTO, byId);
distributionReservationStocklistService.save(rs);
DistributionStockListEntity stockListEntity = distributionStockListService.getById(byId.getId());
stockListEntity.setQuantityOccupied(stockListEntity.getQuantityOccupied() + 1);
distributionStockListService.updateById(stockListEntity);
DistributionReservationStocklistEntity reservationStocklistEntity = reservationStocklistEntities.get(0);
int oldRsNum = reservationStocklistEntity.getReservationNum() - 1;
if (oldRsNum < 0) {
@ -4118,6 +4122,121 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
}
}
//当前库位最先入库的批次和计划批次一致
}else {
//查询是否存在于自提的库存品信息中
List<DistributionDeliveryDetailsEntity> billStocklistEntityList = distrilbutionBillLadingMapper.selectInventoryListByIdAndMateriel(stockupDTO.getReservationId(), stockupDTO.getCargoNumber());
if (!billStocklistEntityList.isEmpty()) {
DistributionStockListEntity finalById = byId;
//检测是否存在计划中
boolean flag = billStocklistEntityList.stream()
.map(DistributionDeliveryDetailsEntity::getStockListId)
.anyMatch(s -> s.equals(finalById.getId()));
if (!flag){
//不存在计划中
List<DistributionDeliveryDetailsEntity> targetDeliveryDetailsEntity = new ArrayList<>();
for (DistributionDeliveryDetailsEntity deliveryDetails : billStocklistEntityList) {
if (deliveryDetails.getQuantity() >= deliveryDetails.getRealityQuantity() && deliveryDetails.getRealityQuantity() > 0) {
targetDeliveryDetailsEntity.add(deliveryDetails);
}
}
if (Func.isEmpty(targetDeliveryDetailsEntity)) {
return R.fail("该物料库存品备货已完成");
}
//新增此物料计划
DistributionDeliveryDetailsEntity distributionBillStocklistEntity = getDistributionBillStocklistEntity(stockupDTO, byId);
distributionDeliveryDetailsService.save(distributionBillStocklistEntity);
DistributionStockListEntity stockListEntity = distributionStockListService.getById(byId.getId());
stockListEntity.setQuantityOccupied(stockListEntity.getQuantityOccupied() + 1);
distributionStockListService.updateById(stockListEntity);
DistributionDeliveryDetailsEntity deliveryDetails = targetDeliveryDetailsEntity.get(0);
int oldRsNum = deliveryDetails.getQuantity() - 1;
if (oldRsNum < 0) {
return R.fail("操作数据错误");
}
deliveryDetails.setQuantity(oldRsNum);
if (deliveryDetails.getQuantity() == 0) {
deliveryDetails.setInventoryStatus(ReservationOrderStatusConstant.quxiao.getValue());
}
distributionDeliveryDetailsService.updateById(deliveryDetails);
//维护老的的冻结数量
DistributionStockListEntity oldStockList = distributionStockListService.getById(deliveryDetails.getStockListId());
oldStockList.setQuantityOccupied(oldStockList.getQuantityOccupied() - 1);
distributionStockListService.updateById(oldStockList);
//查询对应的包件进行修改
List<DisStockListDetailEntity> stockListDetailEntities = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
.eq(DisStockListDetailEntity::getReservationId, stockupDTO.getReservationId())
.eq(DisStockListDetailEntity::getStockListId, oldStockList.getId())
.ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
);
DisStockListDetailEntity disStockListDetailEntity = stockListDetailEntities.stream().filter(s -> Func.isBlank(s.getStockPackageCode())).collect(Collectors.toList()).get(0);
disStockListDetailEntity.setStockListId(distributionBillStocklistEntity.getStockListId());
// disStockListDetailEntity.setStockStatus(OrderPackageStockupStatusConstant.yibeihu.getValue());
disStockListDetailService.updateById(disStockListDetailEntity);
}else {
//判断是否是为增加库存品进行数据维护
DistributionStockListEntity finalById1 = byId;
DistributionDeliveryDetailsEntity deliveryDetails = billStocklistEntityList.stream().filter(f -> f.getStockListId().equals(finalById1.getId())).collect(Collectors.toList()).get(0);
//因为新增库存品的时候会完成扫描 此时的增加数和备货数量时一样的
if (deliveryDetails.getInventoryStatus().equals(ReservationOrderStatusConstant.zengjia.getValue()) && Objects.equals(deliveryDetails.getQuantity(), deliveryDetails.getRealityQuantity())) {
List<DistributionDeliveryDetailsEntity> oldRS = distributionDeliveryDetailsService.selectStockListByReservationIdAndCargoNumber(deliveryDetails.getBillLadingId(), stockupDTO.getCargoNumber(), deliveryDetails.getStockListId());
//收集满足条件的库存品
List<DistributionDeliveryDetailsEntity> rs = new ArrayList<>();
for (DistributionDeliveryDetailsEntity oldR : oldRS) {
if (oldR.getQuantity() >= oldR.getRealityQuantity() && oldR.getQuantity() > 0) {
rs.add(oldR);
}
}
if (Func.isEmpty(rs)) {
//不存在还需要进行备货的库存品
return R.fail("该物料库存品备货已完成");
}
DistributionDeliveryDetailsEntity oldReservationStockList = rs.get(0);
int oldReservationNum = oldReservationStockList.getQuantity() - 1;
oldReservationStockList.setQuantity(oldReservationNum);
if (oldReservationNum == 0) {
oldReservationStockList.setInventoryStatus(ReservationOrderStatusConstant.quxiao.getValue());
}
distributionDeliveryDetailsService.updateById(oldReservationStockList);
//修改对应库存品数量
DistributionStockListEntity stockListEntity = distributionStockListService.getById(oldReservationStockList.getStockListId());
stockListEntity.setQuantityOccupied(stockListEntity.getQuantityOccupied() - 1);
distributionStockListService.updateById(stockListEntity);
//找出对库存品包件信息进行包件的修改
List<DisStockListDetailEntity> oldRsPack = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
.eq(DisStockListDetailEntity::getReservationId, oldReservationStockList.getBillLadingId())
.eq(DisStockListDetailEntity::getStockListId, oldReservationStockList.getStockListId())
.ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
);
if (Func.isEmpty(oldRsPack)) {
return R.fail("该物料库存品备货已完成");
}
List<DisStockListDetailEntity> collect = oldRsPack.stream().filter(f -> Func.isBlank(f.getStockPackageCode())).collect(Collectors.toList());
DisStockListDetailEntity disStockListDetailEntity = collect.get(0);
disStockListDetailEntity.setStockListId(deliveryDetails.getStockListId());
disStockListDetailService.updateById(disStockListDetailEntity);
deliveryDetails.setQuantity(deliveryDetails.getQuantity() + 1);
distributionDeliveryDetailsService.updateById(deliveryDetails);
//维护库存品在库数量
DistributionStockListEntity newStockList = distributionStockListService.getById(deliveryDetails.getStockListId());
newStockList.setQuantityOccupied(newStockList.getQuantityOccupied() + 1);
distributionStockListService.updateById(newStockList);
}
}
}
}
}
if (Func.isNotEmpty(byId)) {
@ -4542,4 +4661,17 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
rs.setStocklistId(byId.getId());
return rs;
}
@NotNull
private static DistributionDeliveryDetailsEntity getDistributionBillStocklistEntity(StockupDTO stockupDTO, DistributionStockListEntity byId) {
DistributionDeliveryDetailsEntity ddd = new DistributionDeliveryDetailsEntity();
ddd.setInventoryStatus(ReservationOrderStatusConstant.zengjia.getValue());
ddd.setBillLadingId(stockupDTO.getReservationId());
ddd.setRealityQuantity(0);
ddd.setConditions("10");
ddd.setStockStatus("1");
ddd.setStockListId(byId.getId());
return ddd;
}
}

4
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.xml

@ -26,6 +26,10 @@
<if test="param.openTimeEnd != null">
and create_time &lt;= #{param.openTimeEnd}
</if>
<if test="param.consignee != null">
and consignee &lt;= #{param.consignee}
</if>
<if test="param.isAftersales != null">
and is_aftersale &lt;= #{param.isAftersales}
</if>

4
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java

@ -482,6 +482,9 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl<StatisticsOr
reconciliationOrder.setReconciliationOrderNo(reconciliationOrdeCode);
//把orderInfoEntities中所有waybillNo去重拼接起来
reconciliationOrder.setWaybillNo(orderInfoEntities.stream().map(StatisticsOrderInfoEntity::getWaybillNo).distinct().collect(Collectors.joining(",")));
// 增加运单的制单时间
// reconciliationOrder.setWaybillCreateTime(orderInfoEntities.get(0).getWaybillCreateTime());
reconciliationOrder.setOrderCode(orderInfoEntities.stream().map(StatisticsOrderInfoEntity::getOrderCode).distinct().collect(Collectors.joining(",")));
reconciliationOrder.setBrand(orderInfoEntities.stream().map(StatisticsOrderInfoEntity::getBrand).distinct().collect(Collectors.joining(",")));
reconciliationOrder.setConsigneeId(consigneeId);
@ -522,6 +525,7 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl<StatisticsOr
reconciliationOrder.setCheckStatus(0);
boolean saveFlag = reconciliationOrderInfoService.save(reconciliationOrder);
if(saveFlag){
Long reconciliationOrderId = reconciliationOrder.getId();

Loading…
Cancel
Save