Browse Source

市配配送计划编辑数据回显调整

training
kilo 2 years ago
parent
commit
c07ecd433b
  1. 12
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationEntity.java
  2. 6
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionDeliveryListVO.java
  3. 6
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforVO.java
  4. 23
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java
  5. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java
  6. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java
  7. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionDeliveryListDTO.java
  8. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java
  9. 133
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml
  10. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java
  11. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  12. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml
  13. 19
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java
  14. 127
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  15. 74
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  16. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  17. 33
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/wrapper/DistributionSignforVOWrapper.java

12
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationEntity.java

@ -205,6 +205,18 @@ public class DistributionReservationEntity extends TenantEntity {
*/
@ApiModelProperty(value = "是否加急")
private String isUrgent;
/**
* 是否加急
*/
@ApiModelProperty(value = "是否加急")
private String warehouseName;
/**
* 是否加急
*/
@ApiModelProperty(value = "是否加急")
private Long warehouseId;
/**
/**
* 预留1

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

@ -99,6 +99,12 @@ public class DistributionDeliveryListVO extends DistributionDeliveryListEntity {
@ApiModelProperty(value = "预约信息")
private DistributionReservationVO reservationInfo;
/**
* 预约信息
*/
@ApiModelProperty(value = "预约信息")
private List<DistributionReservationVO> reservationInfos;
/**
* 配送状态字典
*/

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

@ -69,5 +69,11 @@ public class DistributionSignforVO extends DistributionSignforEntity {
@ApiModelProperty(value = "搜索创建时间")
private String createTime_query;
/**
* 业务类型
*/
@ApiModelProperty(value = "业务类型")
private String deliveryTypeName;
}

23
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java

@ -306,6 +306,29 @@ public class DistributionDeliveryListController extends BladeController {
return R.data(deliveryListVO);
}
/**
* 查询配送任务下订单的地图信息
*/
@GetMapping("/selectStockArticleAtlasInfo")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "customArgs")
public R<?> selectStockArticleAtlasInfo(@RequestParam Long id) {
List<DistributionStockArticleVO> atlasInfo= distributionDeliveryListService.getStockArticleAtlasInfo(id);
return R.data(atlasInfo);
}
/**
* 修改配送任务
*/
@PutMapping("/updateMarketDeliveryList")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "customArgs")
public R<?> updateMarketDeliveryList(@RequestBody DistributionDeliveryListDTO deliveryListDTO) {
R<?> result = distributionDeliveryListService.updateMarketDeliveryList(deliveryListDTO);
return result;
}

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java

@ -205,7 +205,7 @@ public class DistributionReservationController extends BladeController {
*/
@PostMapping("/deliveryTask")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "批量预约转备货任务")
@ApiOperation(value = "转市配任务")
public R deliveryTask(@RequestBody DistributionDeliveryAllocationDTO allocationDTO) {
R<?> result = reservationService.deliveryTask(allocationDTO);
return result;
@ -228,7 +228,7 @@ public class DistributionReservationController extends BladeController {
*/
@PostMapping("/deliveryBusinessTask")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "批量预约转备货任务")
@ApiOperation(value = "转商配任务")
public R deliveryBusinessTask(@RequestBody DistributionDeliveryAllocationDTO allocationDTO) {
R<?> result = reservationService.deliveryBusinessTask(allocationDTO);
return result;

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java

@ -19,6 +19,7 @@ package com.logpm.distribution.controller;
import com.logpm.distribution.dto.DistributionSignforDTO;
import com.logpm.distribution.service.IDistributionReservationService;
import com.logpm.distribution.vo.DistributionSignforsnmbVO;
import com.logpm.distribution.wrapper.DistributionSignforVOWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

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

@ -70,6 +70,12 @@ public class DistributionDeliveryListDTO extends DistributionDeliveryListEntity
@ApiModelProperty(value = "订单数据")
private List<DistributionStockArticleDTO> stockArticle;
/**
* 订单数据
*/
@ApiModelProperty(value = "订单数据")
private List<DistributionReservationDTO> reservationInfos;
/**
* 订单数据
*/
@ -88,4 +94,6 @@ public class DistributionDeliveryListDTO extends DistributionDeliveryListEntity
*/
@ApiModelProperty(value = "主车辆信息")
private String masterVehicleNub;
}

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

@ -270,4 +270,11 @@ public interface DistributionDeliveryListMapper extends BaseMapper<DistributionD
* @return
*/
List<DistributionReservationStockarticleEntity> selectStockArticleById(@Param("deliveryListId")Long id);
/**
* 查询配送下的预约信息
* @param id
* @return
*/
List<DistributionReservationEntity> selectReservationByDeliveryListId(@Param("deliveryListId")Long id);
}

133
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml

@ -66,43 +66,45 @@
lddl.driver_id driverId,
lddl.distribution_company distributionCompany,
lddl.delivery_status deliveryStatus,
(SELECT GROUP_CONCAT(DISTINCT ldsu.forklift_name SEPARATOR ',') FROM
(SELECT GROUP_CONCAT(DISTINCT ldsu.forklift_name SEPARATOR ',') FROM
logpm_distribution_signfor lds
join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id
join logpm_distribution_stockup_info ldsi on ldr.id = ldsi.reservation_id
join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id
join logpm_distribution_stockup_info ldsi on ldr.id = ldsi.reservation_id
join logpm_distribution_stockup ldsu on ldsu.id = ldsi.stockup_id
WHERE lds.delivery_id = lddl.id
WHERE lds.delivery_id = lddl.id
) forkliftName,
lddl.create_time createTime,
(SELECT COALESCE(COUNT(*), 0) FROM logpm_distribution_signfor lds WHERE lds.delivery_id =lddl.id) customersNumber,
(SELECT COALESCE(COUNT(*), 0) FROM logpm_distribution_signfor lds WHERE lds.delivery_id =lddl.id)
customersNumber,
lddl.price price,
lddl.added_services_id addedServicesId,
(SELECT COALESCE (COUNT(*) ,0)
FROM
logpm_distribution_signfor lds
join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id
join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id
join logpm_distribution_reservation_stockarticle ldrs on ldrs.reservation_id =ldr.id
WHERE lds.delivery_id = lddl.id
WHERE lds.delivery_id = lddl.id
) orderNumber,
(SELECT COALESCE (sum(ldr.reservation_num) ,0)
FROM
logpm_distribution_signfor lds
join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id
WHERE lds.delivery_id = lddl.id
join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id
WHERE lds.delivery_id = lddl.id
) deliveryNumber,
(SELECT COALESCE (sum(ldr.reservation_stock_list_num) ,0)
(SELECT COALESCE (sum(ldr.reservation_stock_list_num) ,0)
FROM
logpm_distribution_signfor lds
join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id
WHERE lds.delivery_id = lddl.id
join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id
WHERE lds.delivery_id = lddl.id
) reservationStockListNum,
-- lddl.loading_team_id loadingTeamId,
-- lddl.loading_team_id loadingTeamId,
(SELECT
GROUP_CONCAT(distinct lds.loader_name SEPARATOR ',' )
FROM
logpm_distribution_signfor ldsf
JOIN logpm_distribution_reservation ldr ON ldr.id = ldsf.reservation_id
JOIN logpm_distribution_stockup_info AS ldsi ON ldr.id = ldsi.reservation_id INNer JOIN logpm_distribution_stockup As lds ON
JOIN logpm_distribution_stockup_info AS ldsi ON ldr.id = ldsi.reservation_id INNer JOIN
logpm_distribution_stockup As lds ON
ldsi.stockup_id = lds.id
WHERE
ldsf.delivery_id = lddl.id) loadingTeamName,
@ -111,11 +113,13 @@
FROM
logpm_distribution_signfor ldsf
JOIN logpm_distribution_reservation ldr ON ldr.id = ldsf.reservation_id
JOIN logpm_distribution_stockup_info AS ldsi ON ldr.id = ldsi.reservation_id INNer JOIN logpm_distribution_stockup As lds ON
JOIN logpm_distribution_stockup_info AS ldsi ON ldr.id = ldsi.reservation_id INNer JOIN
logpm_distribution_stockup As lds ON
ldsi.stockup_id = lds.id
WHERE
ldsf.delivery_id = lddl.id) leadTime,
-- (SELECT GROUP_CONCAT( lds.reservation_id SEPARATOR ',') from logpm_distribution_signfor lds WHERE lds.delivery_id = lddl.id) reservationId,
-- (SELECT GROUP_CONCAT( lds.reservation_id SEPARATOR ',') from logpm_distribution_signfor lds WHERE
lds.delivery_id = lddl.id) reservationId,
lddl.order_id orderId,
lddl.fee fee,
lddl.task_time taskTime,
@ -126,8 +130,8 @@
(SELECT COALESCE (sum(ldr.reservation_stock_list_num) ,0)
FROM
logpm_distribution_signfor lds
join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id
WHERE lds.delivery_id = lddl.id) inventoryNub,
join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id
WHERE lds.delivery_id = lddl.id) inventoryNub,
(SELECT COALESCE(sum(lds.loaded_number), 0) FROM logpm_distribution_signfor lds WHERE
lddl.id = lds.delivery_id) scannedNumber
FROM
@ -146,7 +150,7 @@
<if test="param.driverName != null and param.driverName!=''">
and lddl.driver_name like concat('%',#{param.driverName},'%')
</if>
<if test="param.loadingTeamName != null and param.loadingTeamName!=''">
<if test="param.loadingTeamName != null and param.loadingTeamName!=''">
and lddl.loading_team_name like concat('%',#{param.loadingTeamName},'%')
</if>
<if test="param.kind != null and param.kind!=''">
@ -567,7 +571,8 @@
logpm_distribution_stock lds on lds.reservation_id = ldsf.reservation_id
where lddl.reservation_id = #{reservationId} and lds.coding =#{barcode}
</select>
<select id="selectDistributionAppDeliveryListPage" resultType="com.logpm.distribution.vo.app.DistributionAppDeliveryListVO">
<select id="selectDistributionAppDeliveryListPage"
resultType="com.logpm.distribution.vo.app.DistributionAppDeliveryListVO">
SELECT
DISTINCT lddl.id id,
lddl.train_number trainNumber,
@ -581,15 +586,15 @@
lddl.driver_id driverId,
lddl.delivery_status deliveryStatus,
lddl.preparation_time preparationTime,
<!-- lddl.distribution_company distributionCompany,
lddl.state state,
(SELECT GROUP_CONCAT(DISTINCT ldsu.forklift_name SEPARATOR ',') FROM
logpm_distribution_signfor lds
join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id
join logpm_distribution_stockup_info ldsi on ldr.id = ldsi.reservation_id
join logpm_distribution_stockup ldsu on ldsu.id = ldsi.stockup_id
WHERE lds.delivery_id = lddl.id
) forkliftName, -->
<!-- lddl.distribution_company distributionCompany,
lddl.state state,
(SELECT GROUP_CONCAT(DISTINCT ldsu.forklift_name SEPARATOR ',') FROM
logpm_distribution_signfor lds
join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id
join logpm_distribution_stockup_info ldsi on ldr.id = ldsi.reservation_id
join logpm_distribution_stockup ldsu on ldsu.id = ldsi.stockup_id
WHERE lds.delivery_id = lddl.id
) forkliftName, -->
lddl.create_time createTime,
(SELECT COALESCE(COUNT(*), 0) FROM logpm_distribution_signfor lds WHERE lds.delivery_id =lddl.id)
customersNumber,
@ -669,7 +674,7 @@
<where>
ldrs.stock_article_status != 2
<if test="id!= '' and id!=null">
and lddl.id = #{id}
and lddl.id = #{id}
</if>
</where>
</select>
@ -804,7 +809,8 @@
</where>
</select>
<select id="selectDistributionAppDeliveryOrderO" resultType="com.logpm.distribution.vo.app.DistributionAppStockArticleVO">
<select id="selectDistributionAppDeliveryOrderO"
resultType="com.logpm.distribution.vo.app.DistributionAppStockArticleVO">
SELECT
ldsa.order_code orderCode,
ldsa.complete_set completeSet,
@ -966,16 +972,73 @@
<select id="selectStockArticleById"
resultType="com.logpm.distribution.entity.DistributionReservationStockarticleEntity">
SELECT
b.*
b.*
FROM
logpm_distribution_signfor a
INNER JOIN logpm_distribution_reservation_stockarticle b ON a.reservation_id = b.reservation_id
logpm_distribution_signfor a
INNER JOIN logpm_distribution_reservation_stockarticle b ON a.reservation_id = b.reservation_id
<where>
<if test="deliveryListId != null and deliveryListId != ''">
a.delivery_id = #{deliveryListId}
and a.delivery_id = #{deliveryListId}
</if>
</where>
</select>
<select id="selectReservationByDeliveryListId"
resultType="com.logpm.distribution.entity.DistributionReservationEntity">
SELECT
ldr.id,
ldr.tenant_id,
ldr.create_user,
ldr.create_time,
ldr.update_user,
ldr.update_time,
ldr.status,
ldr.is_deleted,
ldr.create_dept,
ldr.stock_article_id,
ldr.mall_id,
ldr.mall_name,
ldr.store_id,
ldr.store_name,
ldr.consignee,
ldr.delivery_address,
ldr.reservation_date,
ldr.serve_type,
ldr.delivery_way,
ldr.delivery_type,
ldr.collect_fee,
ldr.other_fee,
ldr.replace_fee,
ldr.delivery_phone,
ldr.reservation_status,
ldr.order_source,
ldr.stockup_status,
ldr.goods_area_name,
ldr.goods_area_id,
ldr.reserve1,
ldr.reserve2,
ldr.reserve3,
ldr.reserve4,
ldr.reserve5,
ldr.remarks,
ldr.shopping_id,
ldr.period_of_time,
ldr.fee,
ldr.reservation_num,
ldr.reservation_stock_list_num,
ldr.reservation_code,
ldr.service_number,
ldr.cancel_reason,
ldr.is_urgent,
ldr.collection_fee
FROM
logpm_distribution_signfor lds
JOIN logpm_distribution_reservation ldr ON lds.reservation_id = ldr.id
<where>
<if test="deliveryListId != null and deliveryListId != ''">
and lds.delivery_id = #{deliveryListId}
</if>
</where>
</select>
</mapper>

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

@ -81,7 +81,7 @@ public interface DistributionReservationMapper extends BaseMapper<DistributionRe
*/
DistributionReservationVO getReservationInfo(@Param("id")Long id);
DistributionReservationVO getMarketReservationInfo(@Param("id")Long id);
List<DistributionReservationEntity> getMarketReservationInfo(@Param("id")Long id);
List<DistributionReservationEntity> getDeliveryReservation(@Param("id")Long id);

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

@ -497,7 +497,7 @@
WHERE
reservation_id = #{reservationId}
</select>
<select id="getMarketReservationInfo" resultType="com.logpm.distribution.vo.DistributionReservationVO">
<select id="getMarketReservationInfo" resultType="com.logpm.distribution.entity.DistributionReservationEntity">
SELECT
ldr.id,
ldr.tenant_id,

7
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml

@ -287,8 +287,8 @@
lddl.train_number trainNumber,
lds.received_quantity receivedQuantity,
ldr.delivery_phone deliveryPhone,
(SELECT GROUP_CONCAT(driver_name SEPARATOR ',') from logpm_distribution_loadscan ldl WHERE ldl.reservation_id = lds.reservation_id) deliveryDriverName,
(SELECT GROUP_CONCAT(driver_phone SEPARATOR ',') from logpm_distribution_loadscan ldl WHERE ldl.reservation_id = lds.reservation_id) deliveryDriverPhone,
(SELECT GROUP_CONCAT(distinct driver_name SEPARATOR ',') from logpm_distribution_loadscan ldl WHERE ldl.reservation_id = lds.reservation_id) deliveryDriverName,
(SELECT GROUP_CONCAT(distinct driver_phone SEPARATOR ',') from logpm_distribution_loadscan ldl WHERE ldl.reservation_id = lds.reservation_id) deliveryDriverPhone,
ldr.delivery_address deliveryAddress,
lds.delivery_sign_pictures deliverySignPictures,
ldr.reservation_num reservationNum,
@ -310,6 +310,9 @@
<if test="param.mallName != null and param.mallName!=''">
and ldr.mall_name like concat('%',#{param.mallName},'%')
</if>
<if test="param.storeName != null and param.storeName!=''">
and ldr.store_name like concat('%',#{param.storeName},'%')
</if>
<if test="param.deliveryTime!=null and param.deliveryTime!=''">
and date_format(lds.delivery_time,'%y%m%d%') = date_format(#{param.deliveryTime},'%y%m%d%')
</if>

19
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java

@ -24,12 +24,9 @@ import com.logpm.distribution.dto.app.DistributionAppDeliveryListDTO;
import com.logpm.distribution.dto.app.DistrilbutionloadingscanDTO;
import com.logpm.distribution.entity.DistributionDeliveryListEntity;
import com.logpm.distribution.entity.DistributionDeliverySelfEntity;
import com.logpm.distribution.vo.DistributionDeliveryListPrintReponseVO;
import com.logpm.distribution.vo.DistributionDeliveryListPrintRequestVO;
import com.logpm.distribution.vo.DistributionDeliveryListVO;
import com.logpm.distribution.vo.*;
import com.logpm.distribution.excel.DistributionDeliveryListExcel;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.vo.DistributionstatisticsnmbVO;
import com.logpm.distribution.vo.app.*;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
@ -172,4 +169,18 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
* @return
*/
DistributionDeliveryListVO getMarketDeliveryList(Long id);
/**
* 查询预约下订单位置
* @param id
* @return
*/
List<DistributionStockArticleVO> getStockArticleAtlasInfo(Long id);
/**
* 修改市配配送计划
* @param deliveryListDTO
* @return
*/
R<?> updateMarketDeliveryList(DistributionDeliveryListDTO deliveryListDTO);
}

127
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -35,6 +35,7 @@ import com.logpm.distribution.service.*;
import com.logpm.distribution.vo.*;
import com.logpm.distribution.vo.app.*;
import com.logpm.distribution.wrapper.DistributionParcelListWrapper;
import com.logpm.distribution.wrapper.DistributionReservationWrapper;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang.StringUtils;
@ -1324,7 +1325,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionReservationEntity.setConsignee(k);
distributionReservationEntity.setDeliveryAddress(v.get(0).getCustomerAddress());
distributionReservationEntity.setDeliveryPhone(v.get(0).getCustomerTelephone());
distributionReservationEntity.setDeliveryType(deliveryListDTO.getReservation().getDeliveryType());
distributionReservationEntity.setDeliveryWay(deliveryListDTO.getReservation().getDeliveryWay());
distributionReservationEntity.setReservationStatus(ReservationStatusConstant.daipeisong.getValue());
distributionReservationEntity.setStockupStatus(ReservationStockupStatusConstant.daibeihuo.getValue());
@ -1521,7 +1521,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
reservationEntity.setStockArticleId(String.join(",",orderNumber));
reservationEntity.setServeType(reservation.getServeType());
reservationEntity.setDeliveryWay(reservation.getDeliveryWay());
reservationEntity.setDeliveryType(reservationEntity.getDeliveryType());
reservationEntity.setDeliveryType(DistributionTypeConstant.shangpei.getValue());
reservationEntity.setOtherFee(reservation.getOtherFee());
originalClient.remove(k);
distributionReservationMapper.updateById(reservationEntity);
@ -1708,8 +1708,127 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
//2、查询出备货信息
DistributionStockupVO stockupEntity = distributionStockupMapper.getDeliveryStockupInfo(id);
deliveryListVO.setStockupInfo(stockupEntity);
DistributionReservationVO reservationVOS = distributionReservationMapper.getMarketReservationInfo(id);
deliveryListVO.setReservationInfo(reservationVOS);
List<DistributionReservationEntity> reservationVOS = distributionReservationMapper.getMarketReservationInfo(id);
deliveryListVO.setReservationInfos(DistributionReservationWrapper.build().listVO(reservationVOS));
return deliveryListVO;
}
@Override
public List<DistributionStockArticleVO> getStockArticleAtlasInfo(Long id) {
List<DistributionStockArticleVO> deliveryStockArticleInfo = baseMapper.getDeliveryStockArticleInfo(id);
return deliveryStockArticleInfo;
}
@Override
public R<?> updateMarketDeliveryList(DistributionDeliveryListDTO deliveryListDTO) {
DistributionDeliveryListEntity deliveryListEntity = this.getById(deliveryListDTO.getId());
//查询原来的预约信息,
List<DistributionReservationEntity> reservationDTOS = baseMapper.selectReservationByDeliveryListId(deliveryListDTO.getId());
List<DistributionReservationDTO> reservationInfos = deliveryListDTO.getReservationInfos();
//这里暂时不考虑出现新增的情况
Map<Long, List<DistributionReservationEntity>> oldReservation = reservationDTOS.stream().collect(Collectors.groupingBy(DistributionReservationEntity::getId));
Map<Long, List<DistributionReservationDTO>> newReservation = reservationInfos.stream().collect(Collectors.groupingBy(DistributionReservationDTO::getId));
//重新统计包件数量
AtomicInteger packageTotal = new AtomicInteger();
newReservation.forEach((k,v)->{
if (!Func.isEmpty(oldReservation.get(k))){
oldReservation.remove(k);
packageTotal.getAndAdd(v.get(0).getReservationNum());
}
});
oldReservation.forEach((m,n)->{
//这里就是取消的预约单,进行状态回退
DistributionReservationEntity reservationEntity = n.get(0);
reservationEntity.setReservationStatus(ReservationStatusConstant.yiqueren.getValue());
distributionReservationMapper.updateById(reservationEntity);
//删除配送预约中间表信息
distributionSignforMapper.deleteByReservationAndDeliveryId(reservationEntity.getId(),deliveryListEntity.getId());
});
//修改备货信息
String kind = deliveryListEntity.getKind();
switch (kind) {
case "1":
//对自主配送中的司机信息进行删除
distributionDeliverySelfMapper.deleteDeliverySelf(deliveryListEntity.getId());
break;
case "2":
distributionDeliveryTripartiteMapper.deleteDeliveryTripartite(deliveryListEntity.getId());
break;
}
List<DistributionDeliverySelfDTO> allocationInfo = deliveryListDTO.getAllocationInfo();
if (Func.isEmpty(allocationInfo)) {
//这里就表示是三方配送
DistributionDeliveryTripartiteDTO tripartite = deliveryListDTO.getTripartite();
DistributionDeliveryTripartiteEntity tripartiteEntity = Func.copy(tripartite, DistributionDeliveryTripartiteEntity.class);
tripartiteEntity.setDeliveryId(deliveryListEntity.getId());
distributionDeliveryTripartiteService.save(tripartiteEntity);
deliveryListEntity.setDistributionCompany(tripartite.getDistributionCompany());
deliveryListEntity.setDistributionCompanyId(tripartite.getDistributionCompanyId());
deliveryListEntity.setDriverName(tripartiteEntity.getDriverName());
deliveryListEntity.setVehicleName(tripartiteEntity.getVehicleNum());
//重新为配送任务的司机进行设置
deliveryListEntity.setDriverName(tripartiteEntity.getDriverName());
deliveryListEntity.setVehicleName(tripartiteEntity.getVehicleNum());
deliveryListEntity.setKind(ServiceConstant.DELIVERLIST_KIND_TRIPARTITE);
} else {
StringBuilder driverNames = new StringBuilder();
StringBuilder vehicleNubs = new StringBuilder();
//自主配送
allocationInfo.forEach(a -> {
DistributionDeliverySelfEntity deliverySelfEntity = Func.copy(a, DistributionDeliverySelfEntity.class);
if (a.getDriverName().equals(deliveryListDTO.getMasterDriverName()) && a.getVehicleNub().equals(deliveryListDTO.getMasterVehicleNub())) {
deliverySelfEntity.setIsMaster(ServiceConstant.IS_MASTER_YES);
}
deliverySelfEntity.setDeliveryId(deliveryListEntity.getId());
//自主配送需要对司机名称进行重新拼接
distributionDeliverySelfService.save(deliverySelfEntity);
driverNames.append(deliverySelfEntity.getDriverName()).append(",");
vehicleNubs.append(deliverySelfEntity.getVehicleNub()).append(",");
});
deliveryListEntity.setDistributionCompany("汇通");
//配送任务重新设置司机名称
deliveryListEntity.setKind(ServiceConstant.DELIVERLIST_KIND_SELF);
deliveryListEntity.setDriverName(driverNames.deleteCharAt(driverNames.length() - 1).toString());
deliveryListEntity.setVehicleName(vehicleNubs.deleteCharAt(vehicleNubs.length() - 1).toString());
}
//查询出原来配送信息的备货任务
DistributionStockupVO deliveryStockupInfo = distributionStockupMapper.getDeliveryStockupInfo(deliveryListEntity.getId());
//这里查询出该备货任务的执行情况,如果该任务处于已完成的状态需要创建新的备货任务,其他的备货状态则是进行备货任务的修改
DistributionStockupDTO stockupInfo = deliveryListDTO.getStockupInfo();
//前端进行校验这个备货任务是否发生改变,没有发生改变则不需要传递此参数
if (!Func.isEmpty(stockupInfo)){
if (Func.isNotEmpty(stockupInfo.getForkliftName())){
deliveryStockupInfo.setAssignStatusName(StockAssignStatusConstant.weizhipai.getValue());
deliveryStockupInfo.setStockupStatus(StockupStatusConstant.weibeihuo.getValue());
//不存在备货人员,此时该任务的状态处于未指派、待分配的状态
}else {
deliveryStockupInfo.setAssignStatusName(StockAssignStatusConstant.yizhipai.getValue());
}
if (Func.isNotEmpty(stockupInfo.getGoodsAreaId())){
deliveryStockupInfo.setGoodsAreaId(stockupInfo.getGoodsAreaId());
deliveryStockupInfo.setStockupArea(stockupInfo.getGoodsAreaName());
}
if (Func.isNotEmpty(stockupInfo.getLoaderId())){
deliveryStockupInfo.setLoaderId(stockupInfo.getLoaderId());
deliveryStockupInfo.setLoaderName(stockupInfo.getLoaderName());
}
if (Func.isNotEmpty(stockupInfo.getLoadAndUnload())){
deliveryStockupInfo.setTeamResponsibility(stockupInfo.getLoadAndUnload());
}
if (Func.isNotEmpty(stockupInfo.getStockupDate())){
deliveryStockupInfo.setStockupDate(stockupInfo.getStockupDate());
}
if (Func.isNotEmpty(stockupInfo.getRemarks())){
deliveryStockupInfo.setRemarks(stockupInfo.getRemarks());
}
deliveryStockupInfo.setOutboundDate(stockupInfo.getOutboundDate());
distributionStockupMapper.updateById(deliveryStockupInfo);
}
deliveryListEntity.setTaskTime(deliveryListDTO.getTaskTime());
//对配送进行更改
this.updateById(deliveryListEntity);
return R.status(true);
}
}

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

@ -237,6 +237,12 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
// HashSet serviceNumber = new HashSet();
HashSet<String> serviceNumber = new HashSet<>();
HashSet<String> warehouseNames = new HashSet<>();
HashSet<String> storeName = new HashSet<>();
HashSet<String> mallName = new HashSet<>();
AtomicReference<BigDecimal> initTotal = new AtomicReference<>(BigDecimal.ZERO);
//存在订单构建预约订单关联信息
@ -244,6 +250,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
//存在订单的情况下才会对预约和包件的关系进行维护
//选择了订单但是未进行包件的选择,默认选择了订单下的所有在库包件
stockArticleList.forEach(s -> {
storeName.add(s.getStoreName());
mallName.add(s.getMallName());
warehouseNames.add(s.getWarehouse());
orderNumber.add(s.getOrderCode());
serviceNumber.add(s.getServiceNumber());
// DistributionStockArticleEntity stockArticleEntity = Func.copy(s, DistributionStockArticleEntity.class);
@ -292,7 +301,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
});
// s.setReservationStatus(ServiceConstant.ORDER_RESERVATION_STATE_PART);
//设置订单可用数量为
s.setAvailableQuantity(s.getHandQuantity() - s.getReservationNum());
// s.setAvailableQuantity(s.getHandQuantity() - s.getReservationNum());
//这里查询到当前订单下的包件信息和选中包件进行比对,如果数量一致那么说明该订单是已预约状态、否则为部分预约状态
LambdaQueryWrapper<DistributionParcelListEntity> qw = new QueryWrapper<DistributionParcelListEntity>().lambda().eq(DistributionParcelListEntity::getStockArticleId, s.getId());
List<DistributionParcelListEntity> parcelListEntities = distributionParcelListService.getBaseMapper().selectList(qw);
@ -346,6 +355,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
// str = str.replaceFirst(",","");
//拼接在库和库存订单编号
reservationEntity.setStockArticleId(str);
reservationEntity.setWarehouseName(String.join(",",warehouseNames));
reservationEntity.setMallName(String.join(",",mallName));
reservationEntity.setStoreName(String.join(",",storeName));
//统计数量
BigDecimal fee = initTotal.get().add(reservationEntity.getOtherFee());
reservationEntity.setFee(fee);
@ -499,7 +511,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
// //预约单号拼接
// AtomicInteger reservationNum = new AtomicInteger();
//订单编号
StringBuilder orderIds = new StringBuilder();
// StringBuilder orderIds = new StringBuilder();
//库存品编号
StringBuilder stockListId = new StringBuilder();
//订单自编号
@ -536,6 +548,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionStockupEntity.setTypeService(DistributionTypeConstant.shipie.getValue());
distributionStockupService.save(distributionStockupEntity);
}
HashSet<String> warehouseNames = new HashSet<>();
for (int i = 0; i < ids.size(); i++) {
DistributionReservationEntity reservationEntity = this.getById(ids.get(i));
if (Func.equals(reservationEntity.getStockupStatus(), ReservationStockupStatusConstant.weibeihuo.getValue())) {
@ -568,11 +581,14 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
w.lambda().eq(DistributionReservationStocklistEntity::getReservationId, reservationEntity.getId());
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionReservationStockarticleService.getBaseMapper().selectList(q);
List<DistributionReservationStocklistEntity> reservationStocklistEntityList = distributionReservationStocklistService.getBaseMapper().selectList(w);
//查询预约单下的包件信息
if (!Func.isEmpty(reservationStockarticleEntityList)) {
reservationStockarticleEntityList.forEach(r -> {
//查询订单信息,完成对订单的信息修改
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(r.getStockArticleId());
warehouseNames.add(stockArticleEntity.getWarehouse());
//这里查询出订单下所有包件信息的长度,和预约的包件进行比对,如果一致那么订单状态为已预约否则为部分预约
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(DistributionParcelListEntity::getStockArticleId, r.getStockArticleId());
@ -585,7 +601,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
}
//拼接订单编号
orderIds.append(stockArticleEntity.getId()).append(",");
// orderIds.append(stockArticleEntity.getId()).append(",");
//拼接订单自编号
hashSet.add(stockArticleEntity.getOrderCode());
//存在数据来源,维护订单、包件和配送的关系
@ -666,19 +682,20 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
driverNames.append(a.getDriver()).append(",");
});
distributionDeliveryListEntity.setKind(ServiceConstant.DELIVERLIST_KIND_SELF);
distributionDeliveryListEntity.setDistributionCompany("汇通");
distributionDeliveryListEntity.setDriverName(driverNames.deleteCharAt(driverNames.length() - 1).toString());
distributionDeliveryListEntity.setVehicleName(vehicleNubs.deleteCharAt(vehicleNubs.length() - 1).toString());
}
distributionDeliveryListEntity.setWarehouseName(String.join(",",warehouseNames));
distributionDeliveryListEntity.setDeliveryStatus(DeliveryStatusConstant.daipeisong.getValue());
distributionDeliveryListEntity.setCustomersNumber(reservationIds.split(",").length);
distributionDeliveryListEntity.setOrderNumber(orderNum.get());
distributionDeliveryListEntity.setType(DistributionTypeConstant.shipie.getValue());
distributionDeliveryListEntity.setOrderCode(String.join(",", hashSet));
if (orderIds.length() > 1) {
distributionDeliveryListEntity.setOrderId(orderIds.deleteCharAt(orderIds.length() - 1).toString());
}
distributionDeliveryListEntity.setReservationId(reservationIds);
// if (orderIds.length() > 1) {
// distributionDeliveryListEntity.setOrderId(orderIds.deleteCharAt(orderIds.length() - 1).toString());
// }
// distributionDeliveryListEntity.setReservationId(reservationIds);
distributionDeliveryListEntity.setDeliveryNumber(packageNum.get());
distributionDeliveryListService.updateById(distributionDeliveryListEntity);
return R.status(true);
@ -731,6 +748,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
Map<Long, List<DistributionStockArticleDTO>> newStockArticle = dtoStockArticleList.stream().collect(Collectors.groupingBy(DistributionStockArticleDTO::getId));
AtomicInteger packTotal = new AtomicInteger();
AtomicInteger reduceTotal = new AtomicInteger();
HashSet<String> warehouseNames = new HashSet<>();
HashSet<String> mallName = new HashSet<>();
HashSet<String> storeName = new HashSet<>();
newStockArticle.forEach((k, v) -> {
if (Func.isEmpty(oldStockArticle.get(k))) {
//这里发生了新增订单的操作
@ -762,9 +782,15 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(distributionStockArticleDTO.getId());
stockArticleEntity.setReservationStatus(status);
distributionStockArticleService.updateById(stockArticleEntity);
warehouseNames.add(stockArticleEntity.getWarehouse());
mallName.add(stockArticleEntity.getMallName());
storeName.add(stockArticleEntity.getStoreName());
} else {
//查询出这个订单原来在这个预约中的勾选情况
DistributionStockArticleDTO distributionStockArticleDTO = v.get(0);
warehouseNames.add(distributionStockArticleDTO.getWarehouse());
mallName.add(distributionStockArticleDTO.getMallName());
storeName.add(distributionStockArticleDTO.getStoreName());
List<DistributionReservationPackageEntity> packageEntityList = distributionReservationPackageMapper.selectPackageByReservationAndStockArticleId(id, k);
Map<Long, List<DistributionReservationPackageEntity>> oldPackage = packageEntityList.stream().collect(Collectors.groupingBy(DistributionReservationPackageEntity::getParceListId));
Map<Long, List<DistributionParcelListEntity>> newPackage = distributionStockArticleDTO.getPackageListInfo().stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getId));
@ -890,10 +916,13 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
DistributionReservationEntity reservationEntity = this.getById(id);
Integer reservationNum = reservationEntity.getReservationNum();
reservationEntity.setOtherFee(distributionReservationDTO.getOtherFee());
reservationEntity.setDeliveryType(distributionReservationDTO.getDeliveryType());
reservationEntity.setWarehouseName(String.join(",",warehouseNames));
reservationEntity.setDeliveryType(DistributionTypeConstant.shipie.getValue());
reservationEntity.setDeliveryWay(distributionReservationDTO.getDeliveryWay());
reservationEntity.setServeType(distributionReservationDTO.getServeType());
reservationEntity.setReservationNum(packTotal.get());
reservationEntity.setMallName(String.join(",",mallName));
reservationEntity.setStoreName(String.join(",",storeName));
reservationEntity.setReservationStockListNum(inventorTotal.get());
reservationEntity.setReservationDate(distributionReservationDTO.getReservationDate());
reservationEntity.setPeriodOfTime(distributionReservationDTO.getPeriodOfTime());
@ -970,7 +999,12 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
//订单拼接
// StringBuilder orderSelfNumbering = new StringBuilder();
HashSet<String> orderNumber = new HashSet<>();
HashSet<String> orderIds = new HashSet<>();
HashSet<String> serviceNumber = new HashSet<>();
HashSet<String> warehouseName = new HashSet<>();
HashSet<String> deliveryWarehouseName = new HashSet<>();
HashSet<String> mallName = new HashSet<>();
HashSet<String> storeName = new HashSet<>();
mallClient.forEach((k, v) -> {
if (!Func.isBlank(k)) {
////统计客户数
@ -982,7 +1016,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
reservationEntity.setConsignee(k);
reservationEntity.setDeliveryAddress(v.get(0).getCustomerAddress());
reservationEntity.setDeliveryPhone(v.get(0).getCustomerTelephone());
reservationEntity.setDeliveryType(ReservationDeliveryTypeConstant.songhuo.getValue());
reservationEntity.setDeliveryType(DistributionTypeConstant.shangpei.getValue());
reservationEntity.setReservationStatus(ReservationStatusConstant.daipeisong.getValue());
reservationEntity.setStockupStatus(ReservationStockupStatusConstant.daibeihuo.getValue());
reservationEntity.setReservationCode(Func.random(13, RandomType.INT));
@ -1002,12 +1036,15 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
v.forEach(a -> {
orderTotal.getAndIncrement();
DistributionStockArticleEntity stockArticleEntity = Func.copy(a, DistributionStockArticleEntity.class);
if (stockArticleEntity.getMallId() == -1) {
stockArticleEntity.setMallId(null);
}
if (stockArticleEntity.getStoreId() == -1) {
stockArticleEntity.setStoreId(null);
}
// if (stockArticleEntity.getMallId() == -1) {
// stockArticleEntity.setMallId(null);
// }
// if (stockArticleEntity.getStoreId() == -1) {
// stockArticleEntity.setStoreId(null);
// }
warehouseName.add(stockArticleEntity.getWarehouse());
mallName.add(stockArticleEntity.getMallName());
storeName.add(stockArticleEntity.getStoreName());
//维护订单数据,订单状态直接变更未待配送
// stockArticleEntity.setOrderStatus();
// distributionStockArticleService.updateById(stockArticleEntity);
@ -1072,6 +1109,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
//这里将预约信息进行完善
reservationEntity.setStockArticleId(String.join(",", orderNumber));
reservationEntity.setServiceNumber(String.join(",", serviceNumber));
reservationEntity.setWarehouseName(String.join(",", warehouseName));
reservationEntity.setMallName(String.join(",", mallName));
reservationEntity.setStoreName(String.join(",", storeName));
//预约添加订单数量
reservationEntity.setReservationNum(packageTotal.get());
this.updateById(reservationEntity);
@ -1080,6 +1120,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionSignforEntity.setTrainNumber(str);
distributionSignforEntity.setDeliveryId(distributionDeliveryListEntity.getId());
distributionSignforService.save(distributionSignforEntity);
deliveryWarehouseName.add(reservationEntity.getWarehouseName());
}
});
//判断是否为自主配送
@ -1137,6 +1178,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
if (!Func.isEmpty(taskTime)) {
distributionDeliveryListEntity.setTaskTime(taskTime);
}
distributionDeliveryListEntity.setWarehouseName(String.join(",",deliveryWarehouseName));
distributionDeliveryListEntity.setOrderCode(String.join(",", orderNumber));
distributionDeliveryListEntity.setOrderNumber(orderTotal.get());
// distributionDeliveryListEntity.setDeliveryNumber(packageTotal.get());

13
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

@ -37,6 +37,7 @@ import com.logpm.distribution.vo.DistributionSignforsnmbVO;
import com.logpm.distribution.vo.app.*;
import lombok.AllArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springblade.common.constant.DistributionTypeConstant;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
@ -80,7 +81,17 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
distributionSignfor.setCreateTime_query(sdf.format(distributionSignfor.getCreateTime()));
}
return page.setRecords(baseMapper.selectDistributionSignforPage(page, distributionSignfor));
List<DistributionSignforVO> distributionSignforVOS = baseMapper.selectDistributionSignforPage(page, distributionSignfor);
distributionSignforVOS.forEach(d->{
if (d.getDeliveryType().equals(DistributionTypeConstant.shipie.getValue())){
d.setDeliveryTypeName(DistributionTypeConstant.shipie.getName());
}else if (d.getDeliveryType().equals(DistributionTypeConstant.shangpei.getValue())){
d.setDeliveryTypeName(DistributionTypeConstant.shangpei.getName());
}else {
d.setDeliveryTypeName("");
}
});
return page.setRecords(distributionSignforVOS);
}

33
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/wrapper/DistributionSignforVOWrapper.java

@ -0,0 +1,33 @@
package com.logpm.distribution.wrapper;
import com.logpm.distribution.entity.DistributionReservationEntity;
import com.logpm.distribution.entity.DistributionSignforEntity;
import com.logpm.distribution.vo.DistributionReservationVO;
import com.logpm.distribution.vo.DistributionSignforVO;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.system.cache.DictBizCache;
import java.util.Objects;
/**
* @program: LogisticsPlatform-Service
* @description: 包件包装类
* @author: cyz
* @create: 2023-08-02 14:35
**/
public class DistributionSignforVOWrapper extends BaseEntityWrapper<DistributionSignforEntity, DistributionSignforVO> {
public static DistributionSignforVOWrapper build(){
return new DistributionSignforVOWrapper();
}
@Override
public DistributionSignforVO entityVO(DistributionSignforEntity entity) {
DistributionSignforVO distributionSignforVO = Objects.requireNonNull(BeanUtil.copy(entity,DistributionSignforVO.class));
distributionSignforVO.setDeliveryTypeName(DictBizCache.getValue(DictBizConstant.DISTRIBUTION_TYPE,entity.getDeliveryType()));
return distributionSignforVO;
}
}
Loading…
Cancel
Save