Browse Source

Merge branch 'dev' into pre-production

newStockUp
zhenghaoyu 1 year ago
parent
commit
0f95587a7d
  1. 1
      blade-biz-common/src/main/java/org/springblade/common/constant/CodeNumConstant.java
  2. 5
      blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java
  3. 12
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataDriverArteryEntity.java
  4. 11
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionDeliveryListClient.java
  5. 10
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java
  6. 41
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionAddvaluePackageVO.java
  7. 10
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSigndetailVO.java
  8. 20
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforVO.java
  9. 9
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/BillladingDTO.java
  10. 16
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingEntity.java
  11. 6
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingLineEntity.java
  12. 9
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingWaybillEntity.java
  13. 2
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingLineVO.java
  14. 20
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseRetentionRecordEntity.java
  15. 1
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataDriverArteryController.java
  16. 3
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java
  17. 29
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataCodeServiceImpl.java
  18. 6
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataDriverArteryServiceImpl.java
  19. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionSignforAppController.java
  20. 15
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSigndetailController.java
  21. 33
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java
  22. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionAddvalueDTO.java
  23. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionAddvaluePackageDTO.java
  24. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionSigndetailDTO.java
  25. 182
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionSigndetailExcel.java
  26. 158
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionSignforExcel.java
  27. 419
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionSignforOwnExcel.java
  28. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionDeliveryListClient.java
  29. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java
  30. 42
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.java
  31. 145
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.xml
  32. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml
  33. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSigndetailMapper.java
  34. 88
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSigndetailMapper.xml
  35. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java
  36. 137
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml
  37. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java
  38. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java
  39. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSigndetailService.java
  40. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java
  41. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java
  42. 111
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  43. 120
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  44. 45
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSigndetailServiceImpl.java
  45. 222
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  46. 131
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/BillladingController.java
  47. 1
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingService.java
  48. 78
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java
  49. 4
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseRetentionApiController.java
  50. 8
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseRetentionRecordService.java
  51. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseRetentionScanService.java
  52. 42
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionRecordServiceImpl.java
  53. 67
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java

1
blade-biz-common/src/main/java/org/springblade/common/constant/CodeNumConstant.java

@ -12,5 +12,6 @@ public class CodeNumConstant {
public final static int SHELF = 8;//货架号
public final static int PSKH = 9;//配送客户号
public final static int ABNORMAL_ORDER = 10;//异常工单号
public final static int TRUNKLINEBILLLADING = 11;//干线提货单号
}

5
blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java

@ -106,4 +106,9 @@ public class DictBizConstant {
public static final String WAREHOUSE_QUEST_STATUS = "warehouse_quest_status"; //盘点任务
// --------------2023-11-04 ---------------------
public static final String WAREHOUSE_RETENTION_TYPE = "warehouse_retention_type"; //滞留类型
//---------------2023-11-07---------------------
public static final String BILLLADING_CHARGE_TYPE = "billlading_charge_type"; //提货单计费方式
}

12
blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataDriverArteryEntity.java

@ -209,4 +209,16 @@ public class BasicdataDriverArteryEntity extends TenantEntity {
@ApiModelProperty(value = "预留5")
private String reserve5;
/**
* 预留5
*/
@ApiModelProperty(value = "预留5")
private String warehouseId;
/**
* 预留5
*/
@ApiModelProperty(value = "预留5")
private String warehouseName;
}

11
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionDeliveryListClient.java

@ -20,10 +20,12 @@ import com.logpm.distribution.entity.DistributionDeliveryDetailsEntity;
import com.logpm.distribution.entity.DistributionDeliveryListEntity;
import com.logpm.distribution.vo.DistributionDeliveryListVO;
import com.logpm.distribution.vo.DistributionDeliverySelfVO;
import com.logpm.distribution.vo.DistributionRetentionScanVo;
import org.springblade.common.constant.ModuleNameConstant;
import org.springblade.core.mp.support.BladePage;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@ -61,4 +63,13 @@ public interface IDistributionDeliveryListClient {
@GetMapping(TOP+"/getDeliveryDriverInfo")
DistributionDeliveryListVO getDeliveryDriverInfo(@RequestParam("current") Long deliveryId);
// /**
// * 根据配送任务ID查询配送司机信息
// * @param distributionRetentionScanVo
// * @return
// */
// @GetMapping(TOP+"/retentionCancelDeliveryPack")
// void retentionCancelDeliveryPack(@RequestBody DistributionRetentionScanVo distributionRetentionScanVo);
}

10
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java

@ -17,10 +17,12 @@
package com.logpm.distribution.feign;
import com.logpm.distribution.entity.DistributionReservationEntity;
import com.logpm.distribution.vo.DistributionRetentionScanVo;
import org.springblade.common.constant.ModuleNameConstant;
import org.springblade.core.mp.support.BladePage;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
/**
@ -47,4 +49,12 @@ public interface IDistributionReservationClient {
@GetMapping(TOP)
BladePage<DistributionReservationEntity> reservationTop(@RequestParam("current") Integer current, @RequestParam("size") Integer size);
/**
* 根据配送任务ID查询配送司机信息
* @param distributionRetentionScanVo
* @return
*/
@GetMapping(TOP+"/retentionCancelReservationPack")
boolean retentionCancelReservationPack(@RequestBody DistributionRetentionScanVo distributionRetentionScanVo);
}

41
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionAddvaluePackageVO.java

@ -42,4 +42,45 @@ public class DistributionAddvaluePackageVO extends DistributionAddvaluePackageEn
*/
private Integer planQuantity;
/**
* 总数量
*/
private Integer totalQuantity;
/**
* 总数量
*/
private String firsts;
/**
* 总数量
*/
private String second;
/**
* 总数量
*/
private String thirdProduct;
/**
* 总数量
*/
private Long reservationId;
/**
* 总数量
*/
private String packageType;
/**
* 总数量
*/
private String materialNumber;
/**
* 总数量
*/
private String sku;
}

10
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSigndetailVO.java

@ -38,6 +38,11 @@ public class DistributionSigndetailVO extends DistributionSigndetailEntity {
*/
@ApiModelProperty(value = "客户名称")
private String consignee;
/**
* 配送类型
*/
@ApiModelProperty(value = "配送类型")
private String serveType;
/**
* 客户Id
*/
@ -58,6 +63,11 @@ public class DistributionSigndetailVO extends DistributionSigndetailEntity {
*/
@ApiModelProperty(value = "服务号")
private String serviceNumber;
/**
* 门店名称
*/
@ApiModelProperty(value = "门店名称")
private String storeName;
/**
* 配送类型
*/

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

@ -16,7 +16,6 @@
*/
package com.logpm.distribution.vo;
import com.logpm.distribution.entity.DistributionSignPrintEntity;
import com.logpm.distribution.entity.DistributionSignforEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -34,12 +33,26 @@ import java.util.List;
@EqualsAndHashCode(callSuper = true)
public class DistributionSignforVO extends DistributionSignforEntity {
private static final long serialVersionUID = 1L;
/**
* 门店名称
*/
@ApiModelProperty(value = "门店名称")
private String storeName;
private List<String> ids;
/**
* 仓库名称
*/
@ApiModelProperty(value = "仓库名称")
private String warehouseName;
/**
* 门店名称
*/
@ApiModelProperty(value = "服务类型")
private String serveType;
/**
* 配送单号
*/
@ -95,6 +108,11 @@ public class DistributionSignforVO extends DistributionSignforEntity {
*/
@ApiModelProperty(value = "备注")
private String remarks;
/**
* 备注
*/
@ApiModelProperty(value = "订单自编号")
private String orderCode;
/**
* 是否加急

9
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/BillladingDTO.java

@ -1,12 +1,21 @@
package com.logpm.trunkline.dto;
import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import com.logpm.trunkline.vo.TrunklineBillladingLineVO;
import com.logpm.trunkline.vo.TrunklineBillladingWaybillVO;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class BillladingDTO extends TrunklineBillladingEntity {
private Integer pageNum;
private Integer pageSize;
private List<TrunklineBillladingLineVO> billladingLineList = new ArrayList<>();
private List<TrunklineBillladingWaybillVO> billladingWaybillList = new ArrayList<>();
}

16
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingEntity.java

@ -7,6 +7,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.math.BigDecimal;
import java.util.Date;
@Data
@ -62,28 +63,28 @@ public class TrunklineBillladingEntity extends TenantEntity {
private String lineNameTitle ;
/** 预计件数 */
@ApiModelProperty(name = "预计件数",notes = "")
private int planNum ;
private Integer planNum ;
/** 预计重量 */
@ApiModelProperty(name = "预计重量",notes = "")
private Double planWeight ;
private BigDecimal planWeight ;
/** 预计体积 */
@ApiModelProperty(name = "预计体积",notes = "")
private Double planVolume ;
private BigDecimal planVolume ;
/** 实际件数 */
@ApiModelProperty(name = "实际件数",notes = "")
private int realNum ;
/** 实际重量 */
@ApiModelProperty(name = "实际重量",notes = "")
private Double realWeight ;
private BigDecimal realWeight ;
/** 实际体积 */
@ApiModelProperty(name = "实际体积",notes = "")
private Double realVolume ;
private BigDecimal realVolume ;
/** 计费模式 1按件 2按重量 3按体积 */
@ApiModelProperty(name = "计费模式 1按件 2按重量 3按体积",notes = "")
private String chargeType ;
/** 提货费用 */
@ApiModelProperty(name = "提货费用",notes = "")
private Double totalFee ;
private BigDecimal totalFee ;
/** 提货单状态 1=未开始,2=提货中,3=已完成,4=已取消 */
@ApiModelProperty(name = "提货单状态 1=未开始,2=提货中,3=已完成,4=已取消",notes = "")
private String billladingStatus ;
@ -102,5 +103,8 @@ public class TrunklineBillladingEntity extends TenantEntity {
/** 结算人名称 */
@ApiModelProperty(name = "结算人名称",notes = "")
private String settlementName ;
/** 创建人名称 */
@ApiModelProperty(name = "创建人名称",notes = "")
private String createUserName ;
}

6
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingLineEntity.java

@ -37,6 +37,12 @@ public class TrunklineBillladingLineEntity extends TenantEntity {
/** 提货单id */
@ApiModelProperty(name = "提货单id",notes = "")
private Long billladingId ;
/** 提货单id */
@ApiModelProperty(name = "客户id",notes = "")
private Long clientId ;
/** 客户名称 */
@ApiModelProperty(name = "客户名称",notes = "")
private String clientName ;
/** 客户类型 1 工厂 2 商场 3装饰 4个人 */
@ApiModelProperty(name = "客户类型 1 工厂 2 商场 3装饰 4个人",notes = "")
private String clientType ;

9
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingWaybillEntity.java

@ -7,6 +7,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.math.BigDecimal;
@Data
@TableName("logpm_trunkline_billlading_waybill")
@ApiModel(value = "TrunklineBillladingWaybill对象", description = "提货运单关联表")
@ -28,6 +30,9 @@ public class TrunklineBillladingWaybillEntity extends TenantEntity {
/** 仓库id */
@ApiModelProperty(name = "仓库id",notes = "")
private Long warehouseId ;
/** 仓库名称 */
@ApiModelProperty(name = "仓库名称",notes = "")
private Long warehouseName ;
/** 提货单id */
@ApiModelProperty(name = "提货单id",notes = "")
private Long billladingId ;
@ -42,10 +47,10 @@ public class TrunklineBillladingWaybillEntity extends TenantEntity {
private Integer realNum ;
/** 提货重量 */
@ApiModelProperty(name = "提货重量",notes = "")
private Double realWeight ;
private BigDecimal realWeight ;
/** 提货体积 */
@ApiModelProperty(name = "提货体积",notes = "")
private Double realVolume ;
private BigDecimal realVolume ;
}

2
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingLineVO.java

@ -8,4 +8,6 @@ public class TrunklineBillladingLineVO extends TrunklineBillladingLineEntity {
}

20
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseRetentionRecordEntity.java

@ -150,4 +150,24 @@ public class WarehouseRetentionRecordEntity extends TenantEntity {
@ApiModelProperty(value = "滞留数量")
private Integer retentionQuantity;
/**
* 滞留任务创建人
*/
@ApiModelProperty(value = "滞留任务创建人")
private Long retentionCreateUserId;
/**
* 滞留任务创建人
*/
@ApiModelProperty(value = "滞留任务创建人")
private String retentionCreateUserName;
/**
* 滞留备注
*/
@ApiModelProperty(value = "滞留备注")
private String retentionRemarks;
}

1
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataDriverArteryController.java

@ -144,7 +144,6 @@ public class BasicdataDriverArteryController extends BladeController {
if(list.size() > 0){
return R.fail("绑定的用户已存在!不要重复绑定!!!");
}
String phone = basicdataDriverArtery.getPhone();
R<User> userR = userClient
.userInfoByPhone(AuthUtil.getUser().getTenantId(), phone);

3
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java

@ -289,15 +289,12 @@ public class BasicdataWarehouseController extends BladeController {
@GetMapping("/getMyWarehouseList")
@ApiOperationSupport(order = 3)
public R<List<BasicdataWarehouseEntity>> getMyWarehouseList() {
BladeUser user = AuthUtil.getUser();
List<BasicdataWarehouseEntity> basicdataGoodsShelfVOList = CacheUtil.get(CacheObjNames.basic_data_warehourse_list.getCacheName(), CacheObjNames.basic_data_warehourse_list.getKeyPrefix(), user.getUserId(),List.class);
if(ObjectUtils.isNull(basicdataGoodsShelfVOList)){
basicdataGoodsShelfVOList = warehouseService.getMyWarehouseList();
CacheUtil.put(CacheObjNames.basic_data_warehourse_list.getCacheName(), CacheObjNames.basic_data_warehourse_list.getKeyPrefix(),user.getUserId(),basicdataGoodsShelfVOList);
}
return R.data(basicdataGoodsShelfVOList);
}

29
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataCodeServiceImpl.java

@ -72,12 +72,41 @@ public class BasicdataCodeServiceImpl implements IBasicdataCodeService {
case CodeNumConstant.ABNORMAL_ORDER:
code = generateExOrderCode(type,warehouseCode,orderCode);
break;
case CodeNumConstant.TRUNKLINEBILLLADING:
code = generateTrunklineBillladingCode(type,warehouseCode,orderCode);
break;
default:
log.info("##################getCodeByType: 暂不支持的编码类型 type={}", CodeDesEnum.getMes(type));
}
return code;
}
private String generateTrunklineBillladingCode(Integer type, String warehouseCode, String orderCode) {
if(!StringUtil.hasLength(warehouseCode)){
log.warn("############generateTrunklineBillladingCode: 仓库编码为空warehouseCode={}",warehouseCode);
return null;
}
//获得年月日短字符串
String dateShort = CommonUtil.dateToStringShort(new Date());
String key = warehouseCode+"TH"+":"+dateShort;
//获得序号
Boolean exists = bladeRedis.exists(key);
Long incr = null;
if(exists){
incr = bladeRedis.incr(key);
}else{
String value = dateShort+"00001";
incr = Long.parseLong(value);
bladeRedis.set(key,incr);
bladeRedis.expireAt(key,CommonUtil.getMonthDayEnd());
}
return warehouseCode+"TH"+incr;
}
private String generateExOrderCode(Integer type, String warehouseCode, String orderCode) {
if(!StringUtil.hasLength(warehouseCode)){
log.warn("############generateTraysCode: 仓库编码为空warehouseCode={}",warehouseCode);

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

@ -46,6 +46,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 司机信息表 服务实现类
@ -118,8 +119,9 @@ public class BasicdataDriverArteryServiceImpl extends BaseServiceImpl<BasicdataD
}
ArrayList<BasicdataDriverArteryVO> basicdataDriverArteryVOS = new ArrayList<>();
List<BasicdataDriverArteryEntity> list = this.list();
if (Func.isNotEmpty(list)){
list.forEach(l->{
Stream<BasicdataDriverArteryEntity> basicdataDriverArteryEntityStream = list.stream().filter(l -> l.getWarehouseId().contains(myCurrentWarehouse.getId().toString()));
if (Func.isNotEmpty(basicdataDriverArteryEntityStream)){
basicdataDriverArteryEntityStream.forEach(l->{
BasicdataDriverArteryVO driverArteryVO = Func.copy(l, BasicdataDriverArteryVO.class);
List<Long> vehicleIds = basicdataDrivermiddleService.list(Wrappers.<BasicdataDrivermiddleEntity>query().lambda()
.eq(BasicdataDrivermiddleEntity::getDriverId, l.getId())).stream().filter(f -> Func.isNotEmpty(f.getBrandId())).map(BasicdataDrivermiddleEntity::getBrandId).collect(Collectors.toList());

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionSignforAppController.java

@ -162,7 +162,7 @@ public class DistributionSignforAppController {
@PostMapping("/positioning")
@ApiOperationSupport(order = 2)
public Resp positioning(@Valid @RequestBody DistributionSignforEntity distributionSignfor) {
Resp msg = distributionSignforService.positioning(distributionSignfor);
Resp msg = distributionSignforService.positioning(distributionSignfor);
return msg;
}

15
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSigndetailController.java

@ -16,7 +16,6 @@
*/
package com.logpm.distribution.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.distribution.dto.DistributionDeliveryInfoDTO;
@ -41,7 +40,6 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
@ -186,12 +184,13 @@ public class DistributionSigndetailController extends BladeController {
@ApiOperationSupport(order = 9)
@ApiOperation(value = "导出数据", notes = "传入distributionSigndetail")
public void exportDistributionSigndetail(@ApiIgnore @RequestParam Map<String, Object> distributionSigndetail, BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<DistributionSigndetailEntity> queryWrapper = Condition.getQueryWrapper(distributionSigndetail, DistributionSigndetailEntity.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(DistributionSigndetail::getTenantId, bladeUser.getTenantId());
//}
queryWrapper.lambda().eq(DistributionSigndetailEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<DistributionSigndetailExcel> list = distributionSigndetailService.exportDistributionSigndetail(queryWrapper);
// QueryWrapper<DistributionSigndetailEntity> queryWrapper = Condition.getQueryWrapper(distributionSigndetail, DistributionSigndetailEntity.class);
// //if (!AuthUtil.isAdministrator()) {
// // queryWrapper.lambda().eq(DistributionSigndetail::getTenantId, bladeUser.getTenantId());
// //}
// queryWrapper.lambda().eq(DistributionSigndetailEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<DistributionSigndetailExcel> list = distributionSigndetailService.exportDistributionSigndetail(distributionSigndetail);
ExcelUtil.export(response, "签收明细数据" + DateUtil.time(), "签收明细数据表", list, DistributionSigndetailExcel.class);
}

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

@ -25,6 +25,7 @@ import com.logpm.distribution.dto.DistributionSignforDTO;
import com.logpm.distribution.entity.DistributionSignPrintEntity;
import com.logpm.distribution.entity.DistributionSignforEntity;
import com.logpm.distribution.excel.DistributionSignforExcel;
import com.logpm.distribution.excel.DistributionSignforOwnExcel;
import com.logpm.distribution.service.IDistributionReservationService;
import com.logpm.distribution.service.IDistributionSignforService;
import com.logpm.distribution.vo.*;
@ -33,6 +34,7 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;
import org.springblade.common.utils.GaoDeApiUtil;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
@ -281,7 +283,7 @@ public class DistributionSignforController extends BladeController {
/**
* 导出数据
* 导出数据
*/
@GetMapping("/export-distributionSignfor")
@ApiOperationSupport(order = 9)
@ -289,7 +291,17 @@ public class DistributionSignforController extends BladeController {
public void exportDistributionSignfor(@ApiIgnore @RequestParam Map<String, Object> distributionSignfor, BladeUser bladeUser, HttpServletResponse response) {
List<DistributionSignforExcel> list = distributionSignforService.exportDistributionSignfor(distributionSignfor);
ExcelUtil.export(response, "签收管理数据" + DateUtil.time(), "签收管理数据表", list, DistributionSignforExcel.class);
ExcelUtil.export(response, "签收管理数据" + DateUtil.time(), "待签收管理数据表", list, DistributionSignforExcel.class);
}
/**
* 导出数据
*/
@GetMapping("/export-distributionSignforOwn")
@ApiOperationSupport(order = 9)
@ApiOperation(value = "导出数据", notes = "传入distributionSignfor")
public void exportDistributionSignforOwn(@ApiIgnore @RequestParam Map<String, Object> distributionSignfor, BladeUser bladeUser, HttpServletResponse response) {
List<DistributionSignforOwnExcel> list = distributionSignforService.exportDistributionSignforOwn(distributionSignfor);
ExcelUtil.export(response, "签收管理数据" + DateUtil.time(), "已签收管理数据表", list, DistributionSignforOwnExcel.class);
}
@ -305,6 +317,23 @@ public class DistributionSignforController extends BladeController {
}
/**
* 签收管理进行增值服务操作
*/
@GetMapping("/checkAddValuePackageList")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "PC查看增值服务列表", notes = "传入ids")
public IPage<DistributionAddvaluePackageVO> checkAddValuePackageList(@RequestParam Map<String, Object> addValueDTO, Query query) {
return distributionSignforService.checkAddValuePackageList(Condition.getPage(query),addValueDTO);
}
// /**
// * 签收管理 修改签收照片信息
// */

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionAddvalueDTO.java

@ -36,4 +36,6 @@ public class DistributionAddvalueDTO extends DistributionAddvalueEntity {
*/
private Long signforId;
private Long reservationId;
}

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionAddvaluePackageDTO.java

@ -33,4 +33,6 @@ public class DistributionAddvaluePackageDTO extends DistributionAddvaluePackageE
private Integer zeroQuantity;
private Integer maxQuantity;
}

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

@ -21,6 +21,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* 签收明细 数据传输对象实体类
*
@ -36,6 +38,12 @@ public class DistributionSigndetailDTO extends DistributionSigndetailEntity {
*/
@ApiModelProperty(value = "客户名称")
private String consignee;
/**
* 客户名称
*/
@ApiModelProperty(value = "客户名称")
private List<String> ids;
/**
* 客户Id
*/

182
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionSigndetailExcel.java

@ -21,6 +21,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@ -41,132 +42,90 @@ public class DistributionSigndetailExcel implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 租户号
*/
@ColumnWidth(20)
@ExcelProperty("租户号")
private String tenantId;
/**
* 是否已删除
*/
@ColumnWidth(20)
@ExcelProperty("是否已删除")
private Integer isDeleted;
/**
* 预留1
*/
@ColumnWidth(20)
@ExcelProperty("预留1")
private String reserve1;
/**
* 预留2
*/
@ColumnWidth(20)
@ExcelProperty("预留2")
private String reserve2;
/**
* 预留3
*/
@ColumnWidth(20)
@ExcelProperty("预留3")
private String reserve3;
/**
* 预留4
*/
@ColumnWidth(20)
@ExcelProperty("预留4")
private String reserve4;
/**
* 预留5
*/
@ColumnWidth(20)
@ExcelProperty("预留5")
private String reserve5;
/**
* 签收表id
*/
@ColumnWidth(20)
@ExcelProperty("签收表id")
private Integer masterId;
/**
* 服务号
*/
@ColumnWidth(20)
@ExcelProperty("服务号")
private String serviceNumber;
/**
* 配送/自提单号
*/
@ColumnWidth(20)
@ExcelProperty("配送/自提单号")
private String deliveryNumber;
/**
* 配送车次号
*/
@ColumnWidth(20)
@ExcelProperty("配送车次号")
private String trainNumber;
/**
* 服务类型
* 配送/自提单号
*/
@ColumnWidth(20)
@ExcelProperty("服务类型")
private String serveType;
@ExcelProperty("配送类型")
private String deliveryNumber;
/**
* 订单自
* 订单自提单号
*/
@ColumnWidth(20)
@ExcelProperty("订单自编号")
private String orderId;
private String orderCode;
/**
* 商城名称
*/
@ColumnWidth(20)
@ExcelProperty("商城名称")
private String mallName;
/**
* 货物名称
*/
@ColumnWidth(20)
@ExcelProperty("货物名称")
private String goodsName;
/**
* 仓库
*/
@ColumnWidth(20)
@ExcelProperty("仓库")
private String warehouse;
private String warehouseName;
/**
* 入库时间
*/
@ColumnWidth(20)
@ExcelProperty("入库时间")
private Date warehousingTime;
private String warehouseEntryTime;
/**
* 备货时间
* 司机签收时间
*/
@ColumnWidth(20)
@ExcelProperty("备货时间")
private Date leadTime;
@ExcelProperty("司机签收时间")
private String sjsigningTime;
/**
* 文员签收时间
*/
@ColumnWidth(20)
@ExcelProperty("文员签收时间")
private String signingTime;
/**
* 在库时长;()
*/
@ColumnWidth(20)
@ExcelProperty("在库时长;(天)")
private Integer durationInStock;
@ExcelProperty("在库时长(天)")
private String storeTime;
/**
* 签收件数
* 订单总件数
*/
@ApiModelProperty(value = "订单总件数")
@ColumnWidth(20)
@ExcelProperty("签收件数")
private Integer signedNumber;
@ExcelProperty("订单总件数")
private Integer totalNumber;
/**
* 是否齐套
* 签收件数
*/
@ColumnWidth(20)
@ExcelProperty("是否齐套")
private String isKitting;
@ExcelProperty("签收件数")
private Integer signfornum;
/**
* 品牌
*/
@ -174,4 +133,71 @@ public class DistributionSigndetailExcel implements Serializable {
@ExcelProperty("品牌")
private String brand;
/**
* 服务类型
*/
@ColumnWidth(20)
@ExcelProperty("顾客名称")
private String consignee;
/**
* 服务类型
*/
@ColumnWidth(20)
@ExcelProperty("客户电话")
private String deliveryPhone;
/**
* 服务类型
*/
@ColumnWidth(20)
@ExcelProperty("客户地址")
private String deliveryAddress;
// /**
// * 配送/自提单号
// */
// @ColumnWidth(20)
// @ExcelProperty("配送/自提单号")
// private String deliveryNumber;
//
// /**
// * 服务类型
// */
// @ColumnWidth(20)
// @ExcelProperty("服务类型")
// private String serveType;
//
//
// /**
// * 货物名称
// */
// @ColumnWidth(20)
// @ExcelProperty("货物名称")
// private String goodsName;
// /**
// * 仓库
// */
// @ColumnWidth(20)
// @ExcelProperty("仓库")
// private String warehouse;
//
// /**
// * 备货时间
// */
// @ColumnWidth(20)
// @ExcelProperty("备货时间")
// private Date leadTime;
//
//
// /**
// * 是否齐套
// */
// @ColumnWidth(20)
// @ExcelProperty("是否齐套")
// private String isKitting;
}

158
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionSignforExcel.java

@ -42,24 +42,36 @@ public class DistributionSignforExcel implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 配送车次
*/
@ColumnWidth(20)
@ExcelProperty("配送车次")
private String trainNumber;
/**
* 订单自编号;订单关联id
*/
@ColumnWidth(20)
@ExcelProperty("订单自编号;订单关联id")
private String orderId;
@ExcelProperty("订单自编号")
private String orderCode;
/**
* 预约关联Id;预约关联id
*/
@ColumnWidth(20)
@ExcelProperty("预约关联Id;预约关联id")
private Long reservationId;
@ExcelProperty("服务类型")
private String deliveryTypeName;
/**
* 收货人
*/
@ColumnWidth(20)
@ExcelProperty("收货人")
@ExcelProperty("客户名称")
private String consignee;
/**
* 收货人
*/
@ColumnWidth(20)
@ExcelProperty("客户电话")
private String deliveryPhone;
/**
* 收货地址
*/
@ -67,35 +79,49 @@ public class DistributionSignforExcel implements Serializable {
@ExcelProperty("收货地址")
private String deliveryAddress;
/**
* 服务类型
* 配送仓库
*/
@ColumnWidth(20)
@ExcelProperty("服务类型")
private String serveType;
@ExcelProperty("配送仓库")
private String warehouseName;
/**
* 配送仓库
*/
@ColumnWidth(20)
@ExcelProperty("配送仓库")
private String distributingWarehouse;
@ExcelProperty("商城名称")
private String mallName;
/**
* 配送车次
* 配送仓库
*/
@ColumnWidth(20)
@ExcelProperty("配送车次")
private String trainNumber;
@ExcelProperty("门店名称")
private String storeName;
/**
* 订单总数
* 服务类型
*/
@ColumnWidth(20)
@ExcelProperty("配送服务类型")
private String deliveryWayName;
/**
* 服务类型
*/
@ColumnWidth(20)
@ExcelProperty("订单总数")
private Integer orderTotal;
@ExcelProperty("装车时间")
private String deliveryTime;
/**
* 总件数
* 订单总数
*/
@ColumnWidth(20)
@ExcelProperty("总件数")
private Integer total;
@ExcelProperty("配送件数")
private Integer reservationNum;
// /**
// * 总件数
// */
// @ColumnWidth(20)
// @ExcelProperty("总件数")
// private Integer orderTotal;
/**
* 装车件数
*/
@ -108,65 +134,65 @@ public class DistributionSignforExcel implements Serializable {
@ColumnWidth(20)
@ExcelProperty("签收数")
private Integer receivedQuantity;
/**
* 送货司机
*/
@ColumnWidth(20)
@ExcelProperty("送货司机")
private String deliveryDriver;
/**
* 送货司机手机号
*/
@ColumnWidth(20)
@ExcelProperty("送货司机手机号")
private String deliveryDriverPhone;
// /**
// * 送货司机
// */
// @ColumnWidth(20)
// @ExcelProperty("送货司机")
// private String deliveryDriver;
// /**
// * 送货司机手机号
// */
// @ColumnWidth(20)
// @ExcelProperty("送货司机手机号")
// private String deliveryDriverPhone;
/**
* 签收时间
*/
@ColumnWidth(20)
@ExcelProperty("签收时间")
private Date signingTime;
/**
* 签收人
*/
@ColumnWidth(20)
@ExcelProperty("签收人")
private String signee;
private Date sjsigningTime;
// /**
// * 签收人
// */
// @ColumnWidth(20)
// @ExcelProperty("签收人")
// private String signee;
/**
* 签收状态;1-未签收,2-司机签收,3-文员签收
*/
@ColumnWidth(20)
@ExcelProperty("签收状态;1-未签收,2-司机签收,3-文员签收")
private String signingStatus;
@ExcelProperty("司机签收状态")
private String driverSigningName;
/**
* 签收类型;1-签收,2-代签收
*/
@ColumnWidth(20)
@ExcelProperty("签收类型;1-签收,2-代签收")
private String signingType;
/**
* 文员复核图片
*/
@ColumnWidth(20)
@ExcelProperty("文员复核图片")
private String clerkSignPictures;
/**
* 司机签收图片
*/
@ColumnWidth(20)
@ExcelProperty("司机签收图片")
private String deliverySignPictures;
/**
* 服务号
*/
@ColumnWidth(20)
@ExcelProperty("服务号")
private String serviceNumber;
/**
* 备注
*/
@ColumnWidth(20)
@ExcelProperty("备注")
private String notes;
@ExcelProperty("文员审核状态")
private String signingStatusName;
// /**
// * 文员复核图片
// */
// @ColumnWidth(20)
// @ExcelProperty("文员复核图片")
// private String clerkSignPictures;
// /**
// * 司机签收图片
// */
// @ColumnWidth(20)
// @ExcelProperty("司机签收图片")
// private String deliverySignPictures;
// /**
// * 服务号
// */
// @ColumnWidth(20)
// @ExcelProperty("服务号")
// private String serviceNumber;
// /**
// * 备注
// */
// @ColumnWidth(20)
// @ExcelProperty("备注")
// private String notes;
}

419
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionSignforOwnExcel.java

@ -0,0 +1,419 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.distribution.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 签收管理 Excel实体类
*
* @author lmy
* @since 2023-06-13
*/
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class DistributionSignforOwnExcel implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 配送车次
*/
@ApiModelProperty(value = "配送车次")
@ColumnWidth(20)
@ExcelProperty("配送车次")
private String trainNumber;
/**
* 订单自编号;订单关联id
*/
@ColumnWidth(20)
@ExcelProperty("订单自编号")
private String orderCode;
/**
* 配送仓库(名称)
*/
@ApiModelProperty(value = "配送仓库(名称)")
@ColumnWidth(20)
@ExcelProperty("配送仓库")
private String warehouseName;
/**
* 收货人
*/
@ColumnWidth(20)
@ExcelProperty("客户名称")
private String consignee;
/**
* 收货人
*/
@ColumnWidth(20)
@ExcelProperty("客户电话")
private String deliveryPhone;
/**
* 收货地址
*/
@ColumnWidth(20)
@ExcelProperty("收货地址")
private String deliveryAddress;
/**
* 配送类型
*/
@ApiModelProperty(value = "配送类型;1-商配、2-市配")
@ColumnWidth(20)
@ExcelProperty("配送类型")
private String deliveryTypeName;
/**
* 门店名称
*/
@ColumnWidth(20)
@ExcelProperty("服务类型")
private String deliveryWayName;
/**
* 总件数
*/
@ApiModelProperty(value = "总件数")
@ColumnWidth(20)
@ExcelProperty("总件数")
private Integer reservationNum;
/**
* 装车件数
*/
@ApiModelProperty(value = "装车件数")
@ColumnWidth(20)
@ExcelProperty("装车件数")
private Integer loadedNumber;
/**
* 签收数
*/
@ApiModelProperty(value = "签收数")
@ColumnWidth(20)
@ExcelProperty("签收数")
private Integer receivedQuantity;
/**
* 装车未扫数
*/
@ApiModelProperty(value = "装车未扫数")
@ColumnWidth(20)
@ExcelProperty("装车未扫数")
private String withoutScanning;
/**
* 未签收数目
*/
@ApiModelProperty(value = "未签收数目")
@ColumnWidth(20)
@ExcelProperty("未签收数目")
private String unsigneds;
/**
* 送货司机(名称)
*/
@ApiModelProperty(value = "送货司机(名称)")
@ColumnWidth(20)
@ExcelProperty("送货司机")
private String deliveryDriverName;
/**
* 送货司机手机号
*/
@ApiModelProperty(value = "送货司机手机号")
@ColumnWidth(20)
@ExcelProperty("送货司机手机号")
private String deliveryDriverPhone;
/**
* 文员签收时间
*/
@ApiModelProperty(value = "签收时间")
@ColumnWidth(20)
@ExcelProperty("签收时间")
private String signingTime;
/**
* 司机签收时间
*/
@ApiModelProperty(value = "司机签收时间")
@ColumnWidth(20)
@ExcelProperty("司机签收时间")
private String sjsigningTime;
/**
* 签收人(名称)
*/
@ApiModelProperty(value = "签收人(名称)")
@ColumnWidth(20)
@ExcelProperty("签收人")
private String signeeName;
/**
* 文员签收状态;1-未签收2-签收
*/
@ApiModelProperty(value = "文员签收状态;1-未签收,2-签收")
@ColumnWidth(20)
@ExcelProperty("文员签收状态")
private String signingStatusName;
/**
* 司机签收状态;1-未签收2-签收
*/
@ApiModelProperty(value = "司机签收状态;1-未签收,2-签收")
@ColumnWidth(20)
@ExcelProperty("司机签收状态")
private String driverSigningName;
// /**
// * 服务类型
// */
// @ApiModelProperty(value = "预约服务类型;1-上楼、2-超区、3-拆样、4-平移、5-分拣、6-搬运、7-返货;")
// @ColumnWidth(20)
// @ExcelProperty("预约服务类型")
// private String deliveryWay;
//
// /**
// * 商城名称
// */
// @ApiModelProperty(value = "商城名称")
// @ColumnWidth(20)
// @ExcelProperty("商城名称")
// private String mallName;
//
//
//
// /**
// * 订单总数
// */
// @ApiModelProperty(value = "订单总数")
// @ColumnWidth(20)
// @ExcelProperty("订单总数")
// private Integer orderTotal;
//
//
// /**
// * 签收类型;1-签收,2-代签收
// */
// @ApiModelProperty(value = "签收类型;1-签收,2-代签收")
// @ColumnWidth(20)
// @ExcelProperty("签收类型")
// private String signingType;
// /**
// * 服务号
// */
// @ApiModelProperty(value = "服务号")
// @ColumnWidth(20)
// @ExcelProperty("服务号")
// private String serviceNumber;
// /**
// * 司机备注
// */
// @ApiModelProperty(value = "司机备注")
// @ColumnWidth(20)
// @ExcelProperty("司机备注")
// private String driverRemarks;
// /**
// * 文员备注
// */
// @ApiModelProperty(value = "文员备注")
// @ColumnWidth(20)
// @ExcelProperty("文员备注")
// private String clerkSignRemarks;
//
// /**
// * 送货车辆(值)
// */
// @ApiModelProperty(value = "送货车辆(值)")
// @ColumnWidth(20)
// @ExcelProperty("送货车辆")
// private String deliveryVehicleName;
//
// /**
// * 编号
// */
// @ApiModelProperty(value = "编号")
// @ColumnWidth(20)
// @ExcelProperty("编号")
// private String number;
//
// /**
// * 配送单号
// */
// @ApiModelProperty(value = "配送单号")
// @ColumnWidth(20)
// @ExcelProperty("配送单号")
// private String noteNumber;
//
//
// /**
// * 配送时间
// */
// @ApiModelProperty(value = "配送时间")
// @ColumnWidth(20)
// @ExcelProperty("配送时间")
// private String deliveryTime;
// /**
// * 装车时间
// */
// @ApiModelProperty(value = "装车时间")
// @ColumnWidth(20)
// @ExcelProperty("装车时间")
// private String loadingTime;
//
// /**
// * 定位打卡
// */
// @ApiModelProperty(value = "定位打卡")
// @ColumnWidth(20)
// @ExcelProperty("定位打卡")
// private String positioning;
// /**
// * 定位打卡地址
// */
// @ApiModelProperty(value = "定位打卡地址")
// @ColumnWidth(20)
// @ExcelProperty("定位打卡地址")
// private String positioningAdr;
//
//
//
// /**
// * 预约关联Id;预约关联id
// */
// @ColumnWidth(20)
// @ExcelProperty("服务类型")
// private String deliveryTypeName;
//
//
//
// /**
// * 配送仓库
// */
// @ColumnWidth(20)
// @ExcelProperty("门店名称")
// private String storeName;
// /**
// * 服务类型
// */
// @ColumnWidth(20)
// @ExcelProperty("配送服务类型")
// private String deliveryWayName;
//
// /**
// * 签收状态;1-未签收,2-司机签收,3-文员签收
// */
// @ColumnWidth(20)
// @ExcelProperty("司机签收状态")
// private String driverSigningName;
// /**
// * 签收类型;1-签收,2-代签收
// */
// @ColumnWidth(20)
// @ExcelProperty("文员审核状态")
// private String signingStatusName;
//
//
// /**
// * 门店名称
// */
// @ColumnWidth(20)
// @ExcelProperty("服务类型")
// private String serveType;
//
// /**
// * 配送单号
// */
// @ApiModelProperty(value = "配送单号")
// @ColumnWidth(20)
// @ExcelProperty("服务类型")
// private String reservationCode;
// /**
// * 预约时间
// */
// @ApiModelProperty(value = "预约时间")
// @ColumnWidth(20)
// @ExcelProperty("服务类型")
// private String reservationDate;
//
//
// /**
// * 签收状态
// */
// @ApiModelProperty(value = "签收状态")
// @ColumnWidth(20)
// @ExcelProperty("签收状态")
// private String signingStatusAll;
//
//
// /**
// * 备注
// */
// @ColumnWidth(20)
// @ExcelProperty("备注")
// private String remarks;
//
//
// /**
// * 是否加急
// */
// @ColumnWidth(20)
// @ExcelProperty("是否加急")
// private String isUrgent;
//
// /**
// * 配送车牌号
// */
// @ColumnWidth(20)
// @ExcelProperty("配送车牌号")
// private String vehicleName;
//
// /**
// * 配送司机
// */
// @ColumnWidth(20)
// @ExcelProperty("配送司机")
// private String driverName;
}

6
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionDeliveryListClient.java

@ -21,6 +21,7 @@ import com.logpm.distribution.entity.DistributionDeliveryListEntity;
import com.logpm.distribution.service.IDistributionDeliveryListService;
import com.logpm.distribution.vo.DistributionDeliveryListVO;
import com.logpm.distribution.vo.DistributionDeliverySelfVO;
import com.logpm.distribution.vo.DistributionRetentionScanVo;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
@ -59,4 +60,9 @@ public class DistributionDeliveryListClient implements IDistributionDeliveryList
return distributionDeliveryListService.getDeliveryList(deliveryId);
}
// @Override
// public void retentionCancelDeliveryPack(DistributionRetentionScanVo distributionRetentionScanVo) {
// distributionDeliveryListService.retentionCancelDeliveryPack(distributionRetentionScanVo);
// }
}

6
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java

@ -19,6 +19,7 @@ package com.logpm.distribution.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.entity.DistributionReservationEntity;
import com.logpm.distribution.service.IDistributionReservationService;
import com.logpm.distribution.vo.DistributionRetentionScanVo;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
@ -50,4 +51,9 @@ public class DistributionReservationClient implements IDistributionReservationCl
return BladePage.of(page);
}
@Override
public boolean retentionCancelReservationPack(DistributionRetentionScanVo distributionRetentionScanVo) {
return reservationService.retentionCancelReservationPack(distributionRetentionScanVo);
}
}

42
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.java

@ -23,9 +23,11 @@ import com.logpm.distribution.dto.DistributionAddvalueDTO;
import com.logpm.distribution.entity.DistributionAddvalueEntity;
import com.logpm.distribution.entity.DistributionAddvaluePackageEntity;
import com.logpm.distribution.excel.DistributionAddvalueExcel;
import com.logpm.distribution.vo.DistributionAddvaluePackageVO;
import com.logpm.distribution.vo.DistributionAddvalueVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 配送增值服务表 Mapper 接口
@ -81,6 +83,46 @@ public interface DistributionAddvalueMapper extends BaseMapper<DistributionAddva
*/
DistributionAddvalueVO getAddvalueBySignfor(@Param("par")DistributionAddvalueDTO distributionAddvalueDTO);
/**
* 查询增值服务包件详情
* @param packageId
* @param addvalueId
* @return
*/
DistributionAddvaluePackageVO selectAddvaluePackageDetail(@Param("packageId") Long packageId,@Param("addvalueId") String addvalueId,@Param("reservationId")Long reservationId);
/**
* 查询零担增值服务包件详情
* @param packageId
* @param addvalueId
* @param reservationId
* @return
*/
DistributionAddvaluePackageVO selectAddvalueZeroPackageDetail(@Param("packageId") Long packageId,@Param("addvalueId") String addvalueId,@Param("reservationId")Long reservationId);
/**
* 查询零担增值服务详情
* @param packageId
* @param addvalueId
* @param reservationId
* @return
*/
DistributionAddvaluePackageVO selectAddvalueInventoryPackageDetail(Long packageId, String addvalueId, Long reservationId);
/**
* 查询订制品增值服务包件列表
* @param reservationId
* @param stockArticleId
* @return
*/
List<DistributionAddvaluePackageVO> selectAddvaluePackageVO(@Param("reservationId") Long reservationId, @Param("stockArticleId") Long stockArticleId,@Param("obj") Map<String, Object> addValueDTO);
List<DistributionAddvaluePackageVO> selectAddvalueZeroPackageVO(@Param("reservationId")Long reservationId,@Param("stockArticleId")Long stockArticleId,@Param("obj")Map<String, Object> addValueDTO);
List<DistributionAddvaluePackageVO> selectAddvalueInventoryPackageVO(@Param("reservationId")Long reservationId,@Param("stockListId")Long stockListId,@Param("obj")Map<String, Object> addValueDTO);
// /**
// * 删除增值服务
// * @param reservationId

145
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.xml

@ -92,5 +92,150 @@
GROUP BY
lda.id
</select>
<select id="selectAddvaluePackageDetail"
resultType="com.logpm.distribution.vo.DistributionAddvaluePackageVO">
SELECT
ldpl.firsts AS firsts,
ldpl.second AS second,
ldpl.third_product AS third_product,
ldap.order_package_code AS order_package_code,
ldap.order_code AS order_code,
ldpl.quantity AS quantity,
ldap.id AS id,
ldap.stock_article_id AS stockArticleId,
ldap.package_id AS packageId,
lda.ref_id AS reservationId,
ldap.conditions AS conditions,
CASE
WHEN ldap.conditions =1 THEN '订制品'
WHEN ldap.conditions =2 THEN '库存品'
WHEN ldap.conditions =3 THEN '零担'
END AS packageType
FROM
logpm_distribution_addvalue AS lda
INNER JOIN logpm_distribution_addvalue_detail AS ldad ON ldad.addvalue_id = lda.id
INNER JOIN logpm_distribution_addvalue_package AS ldap ON ldap.addvalue_detail_id = ldad.id AND ldap.conditions = 1
INNER JOIN logpm_distribution_parcel_list AS ldpl ON ldap.package_id = ldpl.id
WHERE
lda.addvalue_id = #{addvalueId} AND ldap.package_id = #{packageId} AND lda.ref_id = #{reservationId} AND ref_type = 1
</select>
<select id="selectAddvalueZeroPackageDetail"
resultType="com.logpm.distribution.vo.DistributionAddvaluePackageVO">
SELECT
ldpl.firsts AS firsts,
ldpl.second AS second,
ldpl.third_product AS third_product,
ldap.order_package_code AS order_package_code,
ldap.order_code AS order_code,
ldpl.quantity AS quantity,
ldrzp.quantity AS maxQuantity,
ldap.id AS id,
ldap.stock_article_id AS stockArticleId,
ldap.package_id AS packageId,
lda.ref_id AS reservationId,
ldap.conditions AS conditions,
CASE
WHEN ldap.conditions =1 THEN '订制品'
WHEN ldap.conditions =2 THEN '库存品'
WHEN ldap.conditions =3 THEN '零担'
END AS packageType
FROM
logpm_distribution_addvalue AS lda
INNER JOIN logpm_distribution_addvalue_detail AS ldad ON ldad.addvalue_id = lda.id
INNER JOIN logpm_distribution_addvalue_package AS ldap ON ldap.addvalue_detail_id = ldad.id AND ldap.conditions = 3
INNER JOIN logpm_distribution_parcel_list AS ldpl ON ldap.package_id = ldpl.id
INNER JOIN logpm_distribution_reservation_zero_package AS ldrzp ON ldrzp.parcel_list_id = ldap.package_id AND ldap.reservation_id=ldrzp.reservation_id
WHERE
lda.addvalue_id = #{addvalueId} AND ldap.package_id = #{packageId} AND lda.ref_id = #{reservationId} AND ref_type = 1
</select>
<select id="selectAddvalueInventoryPackageDetail"
resultType="com.logpm.distribution.vo.DistributionAddvaluePackageVO">
SELECT
ldap.stock_article_id AS inventoryId,
ldap.material_name AS materialName,
ldap.order_package_code AS orderPackageCode,
ldap.package_id AS packageId,
ldap.reservation_id AS reservationId,
ldsld.num AS quantity,
ldsl.sku AS sku,
ldsl.cargo_number AS materialNumber,
ldap.conditions AS conditions,
CASE
WHEN ldap.conditions =1 THEN '订制品'
WHEN ldap.conditions =2 THEN '库存品'
WHEN ldap.conditions =3 THEN '零担'
END AS packageType
FROM
logpm_distribution_addvalue AS lda
INNER JOIN logpm_distribution_addvalue_detail AS ldad ON ldad.addvalue_id = lda.id
INNER JOIN logpm_distribution_addvalue_package AS ldap ON ldap.addvalue_detail_id = ldad.id AND ldap.conditions = 2
INNER JOIN logpm_dis_stock_list_detail AS ldsld ON ldsld.id = ldap.package_id
INNER JOIN logpm_distribution_stock_list AS ldsl ON ldsld.stock_list_id = ldsl.id
WHERE
lda.addvalue_id = #{addvalueId} AND ldap.package_id = #{packageId} AND lda.ref_id = #{reservationId} AND ref_type = 1
</select>
<select id="selectAddvaluePackageVO" resultType="com.logpm.distribution.vo.DistributionAddvaluePackageVO">
SELECT
ldpl.id,
ldpl.firsts,
ldpl.second,
ldpl.third_product,
ldpl.order_package_code,
ldpl.order_code,
ldpl.stock_article_id,
ldpl.quantity,
ldrp.reservation_id,
1 AS conditions,
'订制品' AS packageType
FROM
logpm_distribution_reservation_package AS ldrp
INNER JOIN logpm_distribution_parcel_list AS ldpl ON ldrp.parce_list_id = ldpl.id
WHERE
ldrp.reservation_id = #{reservationId} and ldrp.stock_article_id = #{stockArticleId} and ldrp.packet_bar_status in ('1','3')
<if test="obj.orderPackageCode != null and obj.orderPackageCode != ''">
and ldpl.opder_package_code =#{obj.orderPackageCode}
</if>
</select>
<select id="selectAddvalueZeroPackageVO"
resultType="com.logpm.distribution.vo.DistributionAddvaluePackageVO">
SELECT
ldpl.id,
ldpl.firsts,
ldpl.`second`,
ldpl.third_product,
ldpl.order_package_code,
ldpl.order_code,
ldpl.stock_article_id,
ldpl.quantity,
ldrzp.reservation_id,
ldrzp.quantity AS maxQuantity,
3 AS conditions,
'零担' AS packageType
FROM
logpm_distribution_reservation_zero_package AS ldrzp
INNER JOIN logpm_distribution_parcel_list AS ldpl ON ldrzp.parcel_list_id = ldpl.id
</select>
<select id="selectAddvalueInventoryPackageVO"
resultType="com.logpm.distribution.vo.DistributionAddvaluePackageVO">
SELECT
ldsld.sku,
ldsld.stock_package_code,
ldsld.reservation_id,
ldsld.stock_list_id,
ldsld.id AS packageId,
ldsld.num AS quantity,
ldsl.description_goods,
ldsl.cargo_number,
2 AS conditions,
'库存品' AS packageType
FROM
logpm_dis_stock_list_detail AS ldsld
INNER JOIN logpm_distribution_stock_list AS ldsl ON ldsld.stock_list_id = ldsl.id
WHERE
ldsld.reservation_id = #{reservationId} AND ldsld.stock_package_status in ('1','3') AND ldsld.stock_list_id =#{stockListId}
<if test="obj.orderPackageCode != null and obj.orderPackageCode != ''">
AND ldsld.stock_package_code like concat ('%',#{obj.orderPackageCode},'%')
</if>
</select>
</mapper>

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

@ -1603,6 +1603,7 @@
ldsld.num AS reservationQuantity,
ldsl.cargo_number AS materialNumber,
ldsl.description_goods AS materialName,
2 AS conditions,
ldsl.incoming_batch AS 入库批次
FROM
logpm_distribution_delivery_list AS lddl
@ -1648,7 +1649,7 @@
ldrs.reservation_num AS maxRetention,
ldrzp.parcel_list_id AS orderPackageId,
ldpl.firsts AS materialName,
2 AS conditions
3 AS conditions
FROM
logpm_distribution_delivery_list AS lddl
LEFT JOIN logpm_distribution_signfor AS lds ON lds.delivery_id = lddl.id

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

@ -16,7 +16,6 @@
*/
package com.logpm.distribution.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.dto.DistributionDeliveryInfoDTO;
@ -53,7 +52,7 @@ public interface DistributionSigndetailMapper extends BaseMapper<DistributionSig
* @param queryWrapper
* @return
*/
List<DistributionSigndetailExcel> exportDistributionSigndetail(@Param("ew") Wrapper<DistributionSigndetailEntity> queryWrapper);
List<DistributionSigndetailVO> exportDistributionSigndetailOwn(@Param("param") DistributionSigndetailDTO queryWrapper);
DistributionSigndetailVO selectVOById(Long id);
/**

88
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSigndetailMapper.xml

@ -194,6 +194,94 @@
</where>
</select>
<select id="exportDistributionSigndetailOwn" resultType="com.logpm.distribution.vo.DistributionSigndetailVO">
SELECT
distinct ldsa.id id,
ldr.service_number serviceNumber,
ldsa.order_code orderCode,
ldsa.type_service serveType,
lddl.train_number trainNumber,
lddl.type type,
ldsa.mall_name mallName,
ldsa.store_name storeName,
ldsa.brand brand,
ldsa.complete_set completeSet,
ldsa.warehouse_entry_time warehouseEntryTime,
ldsa.store_time storeTime,
ldr.consignee consignee,
ldr.delivery_phone deliveryPhone,
ldr.delivery_address deliveryAddress,
ldr.warehouse_name warehouseName,
lds.signing_time signingTime,
lds.sjsigning_time sjsigningTime,
(SELECT GROUP_CONCAT(ldpl.material_name SEPARATOR ',') FROM logpm_distribution_parcel_list ldpl WHERE ldpl.stock_article_id = ldsa.id) materialName,
(SELECT COALESCE (count(*) ,0) FROM logpm_distribution_reservation_package ldrpp WHERE ldsa.id = ldrpp.stock_article_id and ldrpp.reservation_id =ldrs.reservation_id) totalNumber,
(select COALESCE (count(*) ,0) from logpm_distribution_loadscan ldl WHERE ldl.order_id =ldsa.id and ldl.signfor_state =2) signfornum
FROM
logpm_distribution_delivery_list lddl
JOIN logpm_distribution_signfor lds ON lddl.id = lds.delivery_id
JOIN logpm_distribution_reservation ldr ON lds.reservation_id = ldr.id
JOIN logpm_distribution_reservation_stockarticle ldrs ON ldr.id = ldrs.reservation_id
JOIN logpm_distribution_stock_article ldsa ON ldrs.stock_article_id = ldsa.id
join logpm_distribution_reservation_package ldrp on ldr.id = ldrp.reservation_id
<where>
lds.is_deleted = 0
<if test="param.ids != null">
and ldsa.id in
<foreach collection="param.ids" item="a" open="(" close=")" separator="," >
#{a}
</foreach>
</if>
<if test="param.serviceNumber != null and param.serviceNumber != '' ">
and ldr.service_number like concat('%',#{param.serviceNumber},'%')
</if>
<if test="param.orderCode!=null and param.orderCode!=''">
and ldsa.order_code like concat('%',#{param.orderCode},'%')
</if>
<if test="param.mallName!=null and param.mallName!=''">
and ldsa.mall_name like concat('%',#{param.mallName},'%')
</if>
<if test="param.brand!=null and param.brand!=''">
and ldsa.brand like concat('%',#{param.brand},'%')
</if>
<if test="param.trainNumber!=null and param.trainNumber!=''">
and lddl.train_number like concat('%',#{param.trainNumber},'%')
</if>
<if test="param.descriptionGoods!=null and param.descriptionGoods!=''">
and ldsa.description_goods like concat('%',#{param.descriptionGoods},'%')
</if>
<if test="param.warehouse!=null and param.warehouse!=''">
and ldsa.warehouse like concat('%',#{param.warehouse},'%')
</if>
<if test="param.deliveryAddress!=null and param.deliveryAddress!=''">
and ldr.delivery_address like concat('%',#{param.deliveryAddress},'%')
</if>
<if test="param.consignee!=null and param.consignee!=''">
and ldr.consignee like concat('%',#{param.consignee},'%')
</if>
<if test="param.deliveryType!=null and param.deliveryType!=''">
and lddl.type = #{param.deliveryType}
</if>
<if test="param.completeSet!=null and param.completeSet!=''">
and ldsa.complete_set = #{param.completeSet}
</if>
<if test="param.deliveryPhone!=null and param.deliveryPhone!=''">
and ldr.delivery_phone like concat('%',#{param.deliveryPhone},'%')
</if>
<if test="param.warehouseEntryTime!=null and param.warehouseEntryTime!=''">
and date_format(ldsa.warehouse_entry_time,'%y%m%d%') = date_format(#{param.warehouseEntryTime},'%y%m%d%')
</if>
<if test="param.signingTime!=null and param.signingTime!=''">
and date_format(lds.signing_time,'%y%m%d%') = date_format(#{param.signingTime},'%y%m%d%')
</if>
<if test="param.sjsigningTime!=null and param.sjsigningTime!=''">
and date_format(lds.sjsigning_time,'%y%m%d%') = date_format(#{param.sjsigningTime},'%y%m%d%')
</if>
<!-- <if test="param.leadTime!=null and param.leadTime!=''">-->
<!-- and date_format(ldsd.lead_time,'%y%m%d%') = date_format(#{param.leadTime},'%y%m%d%')-->
<!-- </if>-->
</where>
</select>
<select id="exportDistributionSigndetail" resultType="com.logpm.distribution.excel.DistributionSigndetailExcel">
SELECT *

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

@ -58,6 +58,12 @@ public interface DistributionSignforMapper extends BaseMapper<DistributionSignfo
* @return
*/
List<DistributionSignforVO> exportDistributionSignfor(@Param("ew") Wrapper<DistributionSignforEntity> queryWrapper);
/**
* 获取导出数据 自己
* @param distributionSignforEntity
* @return
*/
List<DistributionSignforVO> exportDistributionSignforOwn(@Param("param")DistributionSignforVO distributionSignforEntity);
/**
* 订单总数
*
@ -232,4 +238,6 @@ public interface DistributionSignforMapper extends BaseMapper<DistributionSignfo
* @return
*/
List<DistributionSignPrintVO> selectSignImgsUrl(@Param("reservationId")Long reservationId);
List<DistributionSignforVO> exportDistributionSignforSigningOwn(@Param("param") DistributionSignforVO distributionSignforVO);
}

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

@ -379,6 +379,45 @@
<select id="exportDistributionSignfor" resultType="com.logpm.distribution.vo.DistributionSignforVO">
SELECT * FROM logpm_distribution_signfor ${ew.customSqlSegment}
</select>
<select id="exportDistributionSignforOwn" resultType="com.logpm.distribution.vo.DistributionSignforVO">
select DISTINCT lds.train_number trainNumber,ldr.consignee,ldr.delivery_address deliveryAddress,ldr.delivery_phone deliveryPhone,ldr.warehouse_name warehouseName
,ldr.mall_name mallName,ldr.store_name storeName,ldr.serve_type serveType,lds.loading_time loadingTime,lds.signing_status signingStatus,
lds.loaded_number loadedNumber,lds.received_quantity receivedQuantity,lds.sjsigning_time sjsigningTime,lds.driver_signing driverSigning,
( SELECT sum(reservation_num) from logpm_distribution_reservation_stockarticle
where reservation_id = ldr.id
) reservationNum,
( SELECT GROUP_CONCAT(ldsa.order_code)
from logpm_distribution_reservation_stockarticle ldrs
LEFT JOIN logpm_distribution_stock_article ldsa on ldsa.id = ldrs.stock_article_id
where reservation_id = ldr.id
) orderCode,ldr.delivery_type deliveryType
from logpm_distribution_signfor lds
LEFT JOIN logpm_distribution_reservation ldr on ldr.id = lds.reservation_id
LEFT JOIN logpm_distribution_reservation_stockarticle ldrs on ldr.id = ldrs.reservation_id
LEFT JOIN logpm_distribution_stock_article ldsa on ldsa.id = ldrs.stock_article_id
<where>
lds.is_deleted = 0
<if test="param.ids != null" >and lds.id in
<foreach collection="param.ids" separator="," close=")" open="(" item="a" >
#{a}
</foreach>
</if>
<if test="param.trainNumber != null and param.trainNumber != ''" >and lds.train_number = #{param.trainNumber} </if>
<if test="param.orderCode != null and param.orderCode != ''" >and ldsa.order_code like concat('%', #{param.orderCode},'%')</if>
<if test="param.consignee != null and param.consignee != ''" >and ldr.consignee = #{param.consignee } </if>
<if test="param.deliveryPhone != null and param.deliveryPhone != ''" >and ldr.deliveryPhone = #{param.deliveryPhone } </if>
<if test="param.deliveryAddress != null and param.deliveryAddress != ''" >and ldr.deliveryAddress = #{param.deliveryAddress } </if>
<if test="param.warehouseName != null and param.warehouseName != ''" >and lds.warehouseName = #{param.warehouseName } </if>
<if test="param.mallName != null and param.mallName != ''" >and ldr.mallName = #{param.mallName } </if>
<if test="param.storeName != null and param.storeName != ''" >and ldr.storeName = #{param.storeName } </if>
<if test="param.driverSigning != null and param.driverSigning != ''" >and lds.driver_signing = #{param.driverSigning } </if>
<if test="param.signingStatus != null and param.signingStatus != ''" >and lds.signing_status = #{param.signingStatus } </if>
<if test="param.loadingTime != null " >
and date_format(lds.loading_time,'%y%m%d%') = date_format(#{param.loadingTime},'%y%m%d%')
</if>
</where>
</select>
<select id="selectOrdersNub" resultType="java.lang.Integer">
SELECT COUNT(1) FROM logpm_distribution_signdetail where is_deleted = 0
</select>
@ -933,4 +972,102 @@
<select id="selectSignImgsUrl" resultType="com.logpm.distribution.entity.DistributionSignPrintEntity">
SELECT * FROM logpm_distribution_sign_print WHERE reservation_id = #{reservationId} and is_deleted = 0
</select>
<select id="exportDistributionSignforSigningOwn" resultType="com.logpm.distribution.vo.DistributionSignforVO">
SELECT DISTINCT
lds.id id,
lds.signee_name signeeName,
ldr.mall_name mallName,
lds.positioning positioning,
lddl.warehouse_name warehouseName,
ldr.stock_article_id stockArticleId,
ldr.store_name storeName,
ldr.consignee consignee,
ldr.delivery_type deliveryType,
lds.delivery_id AS deliveryId,
lds.delivery_time deliveryTime,
lds.signing_time signingTime,
lds.sjsigning_time sjsigningTime,
lds.signing_status signingStatus,
lds.is_have_abnormal_package isHaveAbnormalPackage,
lds.signing_type signingType,
lddl.train_number trainNumber,
lds.received_quantity receivedQuantity,
ldr.delivery_phone deliveryPhone,
(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,
lds.driver_signing driverSigning,
lds.loaded_number loadedNumber,
lds.create_time createTime,
lds.signing_status signingStatus,
lds.driver_signing driverSigning,
ldr.reservation_num - lds.received_quantity unsigneds,
ldr.reservation_num - lds.loaded_number withoutScanning,
lds.reservation_id reservationId,
( SELECT GROUP_CONCAT(ldsa.order_code)
from logpm_distribution_reservation_stockarticle ldrs
LEFT JOIN logpm_distribution_stock_article ldsa on ldsa.id = ldrs.stock_article_id
where reservation_id = ldr.id
) orderCode
FROM
logpm_distribution_signfor lds
JOIN logpm_distribution_delivery_list lddl ON lddl.id = lds.delivery_id
JOIN logpm_distribution_reservation ldr ON ldr.id = lds.reservation_id
LEFT JOIN logpm_distribution_reservation_stockarticle ldrs on ldr.id = ldrs.reservation_id
LEFT JOIN logpm_distribution_stock_article ldsa on ldsa.id = ldrs.stock_article_id
<where>
lds.is_deleted = 0
<if test="param.mallName != null and param.mallName!=''">
and ldr.mall_name like concat('%',#{param.mallName},'%')
</if>
<if test="param.warehouseIdList != null and @org.apache.commons.collections4.CollectionUtils@isNotEmpty(param.warehouseIdList)">
and ldr.warehouse_id in
<foreach collection="param.warehouseIdList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</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>
<if test="param.signingTime!=null and param.signingTime!=''">
and date_format(lds.signing_time,'%y%m%d%') = date_format(#{param.signingTime},'%y%m%d%')
</if>
<if test="param.sjsigningTime!=null and param.sjsigningTime!=''">
and date_format(lds.sjsigning_time,'%y%m%d%') = date_format(#{param.sjsigningTime},'%y%m%d%')
</if>
<if test="param.createTime_query!=null and param.createTime_query!=''">
and date_format(lds.create_time,'%y%m%d%') = date_format(#{param.createTime_query},'%y%m%d%')
</if>
<if test="param.stockArticleId != null and param.stockArticleId!=''">
and ldr.stock_article_id like concat('%',#{param.stockArticleId},'%')
</if>
<if test="param.consignee != null and param.consignee!=''">
and ldr.consignee like concat('%',#{param.consignee},'%')
</if>
<if test="param.deliveryType != null and param.deliveryType!=''">
and ldr.delivery_type = #{param.deliveryType}
</if>
<if test="param.deliveryPhone != null and param.deliveryPhone!=''">
and ldr.delivery_phone like concat('%',#{param.deliveryPhone},'%')
</if>
<if test="param.trainNumber != null and param.trainNumber!=''">
and lddl.train_number like concat('%',#{param.trainNumber},'%')
</if>
<if test="param.deliveryAddress != null and param.deliveryAddress!=''">
and ldr.delivery_address like concat('%',#{param.deliveryAddress},'%')
</if>
<if test="param.driverSigning != null and param.driverSigning!=''">
and lds.driver_signing = #{param.driverSigning}
</if>
<if test="param.signingStatus != null and param.signingStatus!=''">
and lds.signing_status = #{param.signingStatus}
</if>
</where>
</select>
</mapper>

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

@ -316,4 +316,10 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
* @return
*/
List<DistributionDeliverySelfVO> getDriverInfo(Long deliveryId);
// /**
// * 滞留取消配送
// * @param distributionRetentionScanVo
// */
// void retentionCancelDeliveryPack(DistributionRetentionScanVo distributionRetentionScanVo);
}

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

@ -225,4 +225,11 @@ public interface IDistributionReservationService extends BaseService<Distributio
* @return
*/
R getReservationPackageListByOrderId(Long orderId, Long reservationId,IPage<DistributionReservationOrderPackageVO> page);
/**
* 滞留扫描取消包件
* @param distributionRetentionScanVo
* @return
*/
boolean retentionCancelReservationPack(DistributionRetentionScanVo distributionRetentionScanVo);
}

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

@ -27,6 +27,7 @@ import com.logpm.distribution.vo.DistributionSigndetailVO;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
import java.util.Map;
/**
* 签收明细 服务类
@ -48,10 +49,9 @@ public interface IDistributionSigndetailService extends BaseService<Distribution
/**
* 导出数据
*
* @param queryWrapper
* @return
* @param distributionSigndetail@return
*/
List<DistributionSigndetailExcel> exportDistributionSigndetail(Wrapper<DistributionSigndetailEntity> queryWrapper);
List<DistributionSigndetailExcel> exportDistributionSigndetail(Map<String, Object> distributionSigndetail);
/**
* 自定义查询详情
*

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java

@ -25,11 +25,13 @@ import com.logpm.distribution.dto.app.DistributionAppDeliveryListDTO;
import com.logpm.distribution.entity.DistributionSignPrintEntity;
import com.logpm.distribution.entity.DistributionSignforEntity;
import com.logpm.distribution.excel.DistributionSignforExcel;
import com.logpm.distribution.excel.DistributionSignforOwnExcel;
import com.logpm.distribution.vo.*;
import com.logpm.distribution.vo.app.DistributionAppDeliveryListVO;
import com.logpm.distribution.vo.app.DistributionAppParcelListVO;
import com.logpm.distribution.vo.app.DistributionAppSignforVO;
import com.logpm.distribution.vo.app.DistributionAppStockArticleVO;
import org.apache.poi.ss.formula.functions.T;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
@ -59,6 +61,12 @@ public interface IDistributionSignforService extends BaseService<DistributionSig
* @param distributionSignfor@return
*/
List<DistributionSignforExcel> exportDistributionSignfor(Map<String, Object> distributionSignfor);
/**
* 导出数据
*
* @param distributionSignfor@return
*/
List<DistributionSignforOwnExcel> exportDistributionSignforOwn(Map<String, Object> distributionSignfor);
/**
* 签收订单统计
*
@ -195,4 +203,6 @@ public interface IDistributionSignforService extends BaseService<DistributionSig
R zeroSignfor(DistrilbutionAppsignforDTO distrilbutionloadingscanDTO);
R updateSign(DistributionSignforDTO distributionSignfor);
IPage<DistributionAddvaluePackageVO> checkAddValuePackageList(IPage<DistributionAddvaluePackageVO> page, Map<String, Object> addValueDTO);
}

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

@ -242,7 +242,7 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
if (Func.isEmpty(distributionAppAddvalueDTO.getNum())) {
return Resp.scanFail("添加失败", "请输入件数");
} else {
distributionAddvalueDetailEntity.setNum(packageEntityList.stream().mapToInt(DistributionAddvaluePackageEntity::getQuantity).sum());
distributionAddvalueDetailEntity.setNum(packageEntityList.stream().mapToInt(DistributionAddvaluePackageDTO::getQuantity).sum());
}
break;
case "6":
@ -270,7 +270,10 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
}
distributionAddvalueDetailService.save(distributionAddvalueDetailEntity);
List<DistributionAddvaluePackageEntity> addvaluePackageEntities = new ArrayList<>();
packageEntityList.stream().forEach(p->{p.setAddvalueDetailId(distributionAddvalueDetailEntity.getId());p.setQuantity(p.getZeroQuantity());addvaluePackageEntities.add(Func.copy(p,DistributionAddvaluePackageEntity.class));});
packageDTOList.stream().forEach(p->{
p.setAddvalueDetailId(distributionAddvalueDetailEntity.getId());
addvaluePackageEntities.add(Func.copy(p,DistributionAddvaluePackageEntity.class));
});
distributionAddvaluePackageService.saveBatch(addvaluePackageEntities);
return Resp.scanSuccess("添加成功","添加成功");
}

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

@ -88,6 +88,8 @@ import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.feign.IDictBizClient;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.data.redis.connection.ReactiveListCommands;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
@ -153,8 +155,11 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
private final IDistributionReservationZeroPackageService distributionReservationZeroPackageService;
private final IDistributionParcelNumberService distributionParcelNumberService;
private final IWarehouseTrayGoodsClient warehouseTrayGoodsClient;
private final IWarehouseRetentionScanClient warehouseRetentionScanClient;
// private final DistributionStockMapper distributionStockMapper;
// private final IWarehouseRetentionScanClient warehouseRetentionScanClient;
// @Lazy
// @Autowired
// private IDistributionReservationService distributionReservationService;
// private final BladeRedis redis;
@ -1321,56 +1326,63 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
v.forEach(ord -> {
List<DistributionParcelListEntity> parcelListEntities = distributionReservationMapper.selectPackageByReservationAndStockArticle(distrilbutionloadingscanDTO.getReservationId(), ord.getStockArticleId());
for (DistributionParcelListEntity parcelListEntity : parcelListEntities) {
DistributionLoadscanEntity loadscanEntity = new DistributionLoadscanEntity();
BladeUser user = AuthUtil.getUser();
loadscanEntity.setScanUser(user.getUserName());
loadscanEntity.setDriverName(finalDistributionDeliverySelfEntity.getDriverName());
loadscanEntity.setVehicleName(finalDistributionDeliverySelfEntity.getVehicleNub());
loadscanEntity.setScanStatus(LoadingStatusConstant.yijianzhuangche.getValue());
loadscanEntity.setOneClick(2);
loadscanEntity.setScanUser(user.getUserName());
loadscanEntity.setReservationId(distrilbutionloadingscanDTO.getReservationId());
loadscanEntity.setTrainNumber(distributionDeliveryListEntity.getTrainNumber());
loadscanEntity.setPackageNub(parcelListEntity.getQuantity());
loadscanEntity.setLoadedNub(parcelListEntity.getQuantity());
loadscanEntity.setScanTime(new Date());
if (StringUtils.isNotBlank(finalDistributionDeliverySelfEntity.getDriverPhone())) {
loadscanEntity.setDriverPhone(finalDistributionDeliverySelfEntity.getDriverPhone());
}
if (StringUtils.isNotBlank(finalDistributionDeliverySelfEntity.getVehicleId())) {
loadscanEntity.setVehicleId(finalDistributionDeliverySelfEntity.getVehicleId());
}
if (StringUtils.isNotBlank(finalDistributionDeliverySelfEntity.getDriverId())) {
loadscanEntity.setDriverId(finalDistributionDeliverySelfEntity.getDriverId());
}
if (Func.isNotEmpty(finalDistributionDeliverySelfEntity.getId())) {
loadscanEntity.setLoadingId(finalDistributionDeliverySelfEntity.getId().toString());
}
if (StringUtils.isNotBlank(finalDistributionDeliverySelfEntity.getDriverId())) {
loadscanEntity.setDriverId(finalDistributionDeliverySelfEntity.getDriverId());
}
if (Func.isNotEmpty(parcelListEntity.getOrderPackageCode())) {
loadscanEntity.setOrderPackageCode(parcelListEntity.getOrderPackageCode());
}
if (Func.isNotEmpty(parcelListEntity.getId())) {
loadscanEntity.setPackageId(parcelListEntity.getId());
}
if (Func.isNotEmpty(parcelListEntity.getId())) {
loadscanEntity.setPackageId(parcelListEntity.getId());
}
if (Func.isNotEmpty(parcelListEntity.getStockArticleId())) {
loadscanEntity.setOrderId(parcelListEntity.getStockArticleId());
}
if (Func.isNotEmpty(distrilbutionloadingscanDTO.getDeliveryId())) {
loadscanEntity.setDeliveryId(distrilbutionloadingscanDTO.getDeliveryId());
}
DistributionLoadscanEntity packageLoadingScan = distributionLoadscanService.getOne(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId())
.eq(DistributionLoadscanEntity::getOrderId, ord.getStockArticleId())
.eq(DistributionLoadscanEntity::getPackageId, parcelListEntity.getId())
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
if (Func.isEmpty(packageLoadingScan)){
DistributionLoadscanEntity loadscanEntity = new DistributionLoadscanEntity();
BladeUser user = AuthUtil.getUser();
loadscanEntity.setScanUser(user.getUserName());
loadscanEntity.setDriverName(finalDistributionDeliverySelfEntity.getDriverName());
loadscanEntity.setVehicleName(finalDistributionDeliverySelfEntity.getVehicleNub());
loadscanEntity.setScanStatus(LoadingStatusConstant.yijianzhuangche.getValue());
loadscanEntity.setOneClick(2);
loadscanEntity.setScanUser(user.getUserName());
loadscanEntity.setReservationId(distrilbutionloadingscanDTO.getReservationId());
loadscanEntity.setTrainNumber(distributionDeliveryListEntity.getTrainNumber());
loadscanEntity.setPackageNub(parcelListEntity.getQuantity());
loadscanEntity.setLoadedNub(parcelListEntity.getQuantity());
loadscanEntity.setScanTime(new Date());
if (StringUtils.isNotBlank(finalDistributionDeliverySelfEntity.getDriverPhone())) {
loadscanEntity.setDriverPhone(finalDistributionDeliverySelfEntity.getDriverPhone());
}
if (StringUtils.isNotBlank(finalDistributionDeliverySelfEntity.getVehicleId())) {
loadscanEntity.setVehicleId(finalDistributionDeliverySelfEntity.getVehicleId());
}
if (StringUtils.isNotBlank(finalDistributionDeliverySelfEntity.getDriverId())) {
loadscanEntity.setDriverId(finalDistributionDeliverySelfEntity.getDriverId());
}
if (Func.isNotEmpty(finalDistributionDeliverySelfEntity.getId())) {
loadscanEntity.setLoadingId(finalDistributionDeliverySelfEntity.getId().toString());
}
if (StringUtils.isNotBlank(finalDistributionDeliverySelfEntity.getDriverId())) {
loadscanEntity.setDriverId(finalDistributionDeliverySelfEntity.getDriverId());
}
if (Func.isNotEmpty(parcelListEntity.getOrderPackageCode())) {
loadscanEntity.setOrderPackageCode(parcelListEntity.getOrderPackageCode());
}
if (Func.isNotEmpty(parcelListEntity.getId())) {
loadscanEntity.setPackageId(parcelListEntity.getId());
}
if (Func.isNotEmpty(parcelListEntity.getId())) {
loadscanEntity.setPackageId(parcelListEntity.getId());
}
if (Func.isNotEmpty(parcelListEntity.getStockArticleId())) {
loadscanEntity.setOrderId(parcelListEntity.getStockArticleId());
}
if (Func.isNotEmpty(distrilbutionloadingscanDTO.getDeliveryId())) {
loadscanEntity.setDeliveryId(distrilbutionloadingscanDTO.getDeliveryId());
}
// parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue());
// distributionParcelListService.updateById(parcelListEntity);
distributionLoadscanService.save(loadscanEntity);
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId());
distributionLoadscanService.save(loadscanEntity);
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId());
Integer j = distributionSignforMapper.updateloadByReservationId(loadscanEntity.getDeliveryId(), loadscanEntity.getReservationId(), loadscanEntity.getPackageNub());
warehouseUpdownTypeClient.downPackage(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId());
Integer j = distributionSignforMapper.updateloadByReservationId(loadscanEntity.getDeliveryId(), loadscanEntity.getReservationId(), loadscanEntity.getPackageNub());
warehouseUpdownTypeClient.downPackage(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId());
}
//异步修改包件状态
// distributionAsyncService.changeMarketDeliveryListStatus(loadscanEntity.getOrderPackageCode(), loadscanEntity.getDeliveryId());
}
@ -5279,6 +5291,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
}
public Map<String, String> getDriverCar(String kind, Long deliveryListEntityId) {
Map<String, String> map = new HashMap<>();
String dirverName = null;

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

@ -34,6 +34,7 @@ import com.logpm.distribution.vo.*;
import com.logpm.distribution.wrapper.*;
import com.logpm.oldproject.entity.WayBillEntity;
import com.logpm.oldproject.feign.IWayBillClient;
import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.DictBizConstant;
@ -185,6 +186,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
@Autowired
private IDistributionParcelNumberService distributionParcelNumberService;
// @Autowired
// private IWarehouseWaybillClient warehouseWaybillClient;
// @Autowired
// private DistributionParcelNumberMapper distributionParcelNumberMapper;
@ -1845,14 +1849,14 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
// consigneeAddress.add(warehouseWaybillEntity.getConsigneeMobile());
// }
WayBillEntity wayBillEntity = wayBillClient.getByWaybillNo(s.getWaybillNumber());
WarehouseWaybillEntity wayBillEntity = warehouseWaybillClient.findByWaybillNo(s.getWaybillNumber());
if (Func.isNotEmpty(wayBillEntity)) {
waybillId.add(wayBillEntity.getId().toString());
if (Func.isNotEmpty(wayBillEntity.getTakePhone())) {
marketPhone.add(wayBillEntity.getTakePhone());
if (Func.isNotEmpty(wayBillEntity.getConsigneeMobile())) {
marketPhone.add(wayBillEntity.getConsigneeMobile());
}
if (Func.isNotEmpty(wayBillEntity.getTakeAddress())) {
consigneeAddress.add(wayBillEntity.getTakeAddress());
if (Func.isNotEmpty(wayBillEntity.getConsigneeAddress())) {
consigneeAddress.add(wayBillEntity.getConsigneeAddress());
}
}
//预约单数据填充
@ -2780,11 +2784,13 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
}
DistributionStockArticleDTO stockArticleDTO = Func.copy(s, DistributionStockArticleDTO.class);
if (s.getIsZero().equals("0")) {
WayBillEntity wayBillEntity = wayBillClient.getByWaybillNo(s.getWaybillNumber());
WarehouseWaybillEntity wayBillEntity = warehouseWaybillClient.findByWaybillNo(s.getWaybillNumber());
if (Func.isNotEmpty(wayBillEntity)) {
waybillId.add(wayBillEntity.getId().toString());
if (Func.isNotEmpty(wayBillEntity.getTakePhone())) {
marketPhone.add(wayBillEntity.getTakePhone());
if (Func.isNotEmpty(wayBillEntity.getConsigneeMobile())) {
marketPhone.add(wayBillEntity.getConsigneeMobile());
}
}
@ -3158,4 +3164,102 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
reservationOrderPackageVO.setPackageList(allPackageList);
return R.data(reservationOrderPackageVO);
}
@Override
public boolean retentionCancelReservationPack(DistributionRetentionScanVo distributionRetentionScanVo) {
//滞留取消配送任务
Integer conditions = distributionRetentionScanVo.getConditions();
DistributionReservationEntity reservationEntity = this.getById(distributionRetentionScanVo.getReservationId());
if (Func.isEmpty(reservationEntity)){
log.error("###########查询预约计划错误,reservationId:{}",distributionRetentionScanVo.getReservationId());
return false;
}
switch (conditions){
// 1 定制 2-零担 3-库存品
case 1:
if (reservationEntity.getReservationNum() == distributionRetentionScanVo.getRetentionQuantity() && reservationEntity.getReservationStockListNum() == 0){
//该预约订单只存在该包件并且没有库存品
this.cancelReservation(Func.copy(reservationEntity,DistributionReservationDTO.class));
}else {
DistributionReservationPackageEntity reservationPackageEntity = distributionReservationPackageMapper.selectOne(Wrappers.<DistributionReservationPackageEntity>query().lambda()
.eq(DistributionReservationPackageEntity::getReservationId, distributionRetentionScanVo.getReservationId())
.eq(DistributionReservationPackageEntity::getStockArticleId, distributionRetentionScanVo.getOrderId())
.eq(DistributionReservationPackageEntity::getParceListId, distributionRetentionScanVo.getOrderPackageId())
.ne(DistributionReservationPackageEntity::getPacketBarStatus, ReservationPackageStatusConstant.quxiao.getValue()));
reservationPackageEntity.setPacketBarStatus(ReservationPackageStatusConstant.quxiao.getValue());
distributionReservationPackageMapper.updateById(reservationPackageEntity);
DistributionReservationStockarticleEntity reservationStockarticleEntity = distributionReservationStockarticleMapper.selectOne(Wrappers.<DistributionReservationStockarticleEntity>query().lambda()
.eq(DistributionReservationStockarticleEntity::getReservationId, distributionRetentionScanVo.getReservationId())
.eq(DistributionReservationStockarticleEntity::getStockArticleId, distributionRetentionScanVo.getOrderId())
.eq(DistributionReservationStockarticleEntity::getIsZero, IsOrNoConstant.no.getValue())
.ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()));
Integer reservationNum = reservationStockarticleEntity.getReservationNum();
Integer retentionQuantity = distributionRetentionScanVo.getRetentionQuantity();
if ((reservationNum - retentionQuantity) == 0){
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue());
}
reservationStockarticleEntity.setReservationNum(reservationNum - retentionQuantity);
distributionReservationStockarticleMapper.updateById(reservationStockarticleEntity);
reservationEntity.setReservationNum(reservationEntity.getReservationNum() - retentionQuantity);
this.updateById(reservationEntity);
}
break;
case 2:
if (reservationEntity.getReservationStockListNum() == distributionRetentionScanVo.getRetentionQuantity() && reservationEntity.getReservationNum() == 0){
this.cancelReservation(Func.copy(reservationEntity,DistributionReservationDTO.class));
}else {
DisStockListDetailEntity disStockListDetailEntity = disStockListDetailMapper.selectOne(Wrappers.<DisStockListDetailEntity>query().lambda()
.eq(DisStockListDetailEntity::getReservationId, distributionRetentionScanVo.getReservationId())
.eq(DisStockListDetailEntity::getStockListId, distributionRetentionScanVo.getInventoryId())
.eq(DisStockListDetailEntity::getId, distributionRetentionScanVo.getOrderPackageId())
);
disStockListDetailEntity.setStockPackageStatus(ReservationPackageStatusConstant.quxiao.getValue());
disStockListDetailMapper.updateById(disStockListDetailEntity);
DistributionReservationStocklistEntity reservationStocklistEntity = distributionReservationStocklistMapper.selectOne(Wrappers.<DistributionReservationStocklistEntity>query().lambda()
.eq(DistributionReservationStocklistEntity::getReservationId, distributionRetentionScanVo.getReservationId())
.eq(DistributionReservationStocklistEntity::getStocklistId, distributionRetentionScanVo.getInventoryId())
.ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationOrderStatusConstant.quxiao.getValue())
);
Integer reservationNum = reservationStocklistEntity.getReservationNum();
}
break;
case 3:
if (reservationEntity.getReservationNum() == distributionRetentionScanVo.getRetentionQuantity() && reservationEntity.getReservationStockListNum() == 0){
//该预约订单只存在该包件并且没有库存品
this.cancelReservation(Func.copy(reservationEntity,DistributionReservationDTO.class));
}else {
DistributionReservationZeroPackageEntity reservationZeroPackageEntity = distributionReservationZeroPackageMapper.selectOne(Wrappers.<DistributionReservationZeroPackageEntity>query().lambda()
.eq(DistributionReservationZeroPackageEntity::getReservationId, distributionRetentionScanVo.getReservationId())
.eq(DistributionReservationZeroPackageEntity::getStockArticleId, distributionRetentionScanVo.getOrderId())
.eq(DistributionReservationZeroPackageEntity::getParcelListId, distributionRetentionScanVo.getOrderPackageId())
.ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationPackageStatusConstant.quxiao.getValue()));
if (reservationZeroPackageEntity.getQuantity() == distributionRetentionScanVo.getRetentionQuantity()){
reservationZeroPackageEntity.setZeroPackageStatus(ReservationPackageStatusConstant.quxiao.getValue());
}
reservationZeroPackageEntity.setQuantity(reservationZeroPackageEntity.getQuantity() -distributionRetentionScanVo.getRetentionQuantity());
distributionReservationZeroPackageMapper.updateById(reservationZeroPackageEntity);
DistributionReservationStockarticleEntity reservationStockarticleEntity = distributionReservationStockarticleMapper.selectOne(Wrappers.<DistributionReservationStockarticleEntity>query().lambda()
.eq(DistributionReservationStockarticleEntity::getReservationId, distributionRetentionScanVo.getReservationId())
.eq(DistributionReservationStockarticleEntity::getStockArticleId, distributionRetentionScanVo.getOrderId())
.eq(DistributionReservationStockarticleEntity::getIsZero, IsOrNoConstant.no.getValue())
.ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()));
Integer reservationNum = reservationStockarticleEntity.getReservationNum();
Integer retentionQuantity = distributionRetentionScanVo.getRetentionQuantity();
if ((reservationNum - retentionQuantity) == 0){
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue());
}
reservationStockarticleEntity.setReservationNum(reservationNum - retentionQuantity);
distributionReservationStockarticleMapper.updateById(reservationStockarticleEntity);
reservationEntity.setReservationNum(reservationEntity.getReservationNum() - retentionQuantity);
this.updateById(reservationEntity);
}
break;
}
return false;
}
}

45
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSigndetailServiceImpl.java

@ -16,8 +16,10 @@
*/
package com.logpm.distribution.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.logpm.distribution.dto.DistributionDeliveryInfoDTO;
import com.logpm.distribution.dto.DistributionSigndetailDTO;
import com.logpm.distribution.entity.DistributionSigndetailEntity;
@ -27,11 +29,17 @@ import com.logpm.distribution.service.IDistributionSigndetailService;
import com.logpm.distribution.vo.DistributionDeliveryInfoVO;
import com.logpm.distribution.vo.DistributionSigndetailVO;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.system.cache.DictBizCache;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 签收明细 服务实现类
@ -55,12 +63,35 @@ public class DistributionSigndetailServiceImpl extends BaseServiceImpl<Distribut
@Override
public List<DistributionSigndetailExcel> exportDistributionSigndetail(Wrapper<DistributionSigndetailEntity> queryWrapper) {
List<DistributionSigndetailExcel> distributionSigndetailList = baseMapper.exportDistributionSigndetail(queryWrapper);
//distributionSigndetailList.forEach(distributionSigndetail -> {
// distributionSigndetail.setTypeName(DictCache.getValue(DictEnum.YES_NO, DistributionSigndetail.getType()));
//});
return distributionSigndetailList;
public List<DistributionSigndetailExcel> exportDistributionSigndetail(Map<String, Object> distributionSigndetail) {
Object o = distributionSigndetail.get("ids");
if(ObjectUtils.isNotNull(o)){
distributionSigndetail.remove("ids");
}
DistributionSigndetailDTO distributionSigndetailDTO = JSONObject.parseObject(JSON.toJSONString(distributionSigndetail), DistributionSigndetailDTO.class);
if(ObjectUtils.isNotNull(o)){
String id= (String) o;
String[] split = id.split(",");
distributionSigndetailDTO.setIds(Arrays.asList(split));
}
List<DistributionSigndetailVO> distributionSigndetailList = baseMapper.exportDistributionSigndetailOwn(distributionSigndetailDTO);
List<DistributionSigndetailExcel> list = new ArrayList<>();
distributionSigndetailList.forEach(d -> {
// distributionSigndetail.setTypeName(DictCache.getValue(DictEnum.YES_NO, DistributionSigndetail.getType()));
DistributionSigndetailExcel signdetailExcel = new DistributionSigndetailExcel();
BeanUtils.copyProperties(d,signdetailExcel);
String value = DictBizCache.getValue(DictBizConstant.DISTRIBUTION_TYPE, d.getServeType());
signdetailExcel.setDeliveryNumber(value);
list.add(signdetailExcel);
});
return list;
}
@Override

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

@ -16,6 +16,8 @@
*/
package com.logpm.distribution.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@ -31,6 +33,7 @@ import com.logpm.distribution.dto.*;
import com.logpm.distribution.dto.app.DistributionAppDeliveryListDTO;
import com.logpm.distribution.entity.*;
import com.logpm.distribution.excel.DistributionSignforExcel;
import com.logpm.distribution.excel.DistributionSignforOwnExcel;
import com.logpm.distribution.mapper.*;
import com.logpm.distribution.service.*;
import com.logpm.distribution.vo.*;
@ -42,6 +45,8 @@ import com.logpm.distribution.wrapper.DistributionStockArticleWrapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.DistributionTypeConstant;
import org.springblade.common.constant.Inventory.InventoryLoadingStatusConstant;
import org.springblade.common.constant.Inventory.InventorySigningStatusConstant;
@ -54,14 +59,12 @@ import org.springblade.common.constant.reservation.*;
import org.springblade.common.constant.signing.SignforDriverSigningStatusConstant;
import org.springblade.common.serviceConstant.ServiceConstant;
import org.springblade.common.utils.GaoDeApiUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.feign.IDictBizClient;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -154,32 +157,87 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
@Override
public List<DistributionSignforExcel> exportDistributionSignfor(Map<String, Object> distributionSignfor) {
Object o = distributionSignfor.get("ids");
if(ObjectUtils.isNotNull(o)){
if (ObjectUtils.isNotNull(o)) {
distributionSignfor.remove("ids");
}
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
if(ObjectUtils.isNull()){
throw new ServiceException("请选择仓库!");
}
QueryWrapper<DistributionSignforEntity> queryWrapper = Condition.getQueryWrapper(distributionSignfor, DistributionSignforEntity.class);
queryWrapper.lambda().eq(DistributionSignforEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
// BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
// if(ObjectUtils.isNull()){
// throw new ServiceException("请选择仓库!");
// }
// QueryWrapper<DistributionSignforEntity> queryWrapper = Condition.getQueryWrapper(distributionSignfor, DistributionSignforEntity.class);
// queryWrapper.lambda().eq(DistributionSignforEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
// if(ObjectUtils.isNotNull(o)){
// queryWrapper.in("id",String.valueOf(o).split(","));
// }
// queryWrapper.eq("warehouse_id",myCurrentWarehouse.getId());
DistributionSignforVO distributionSignforVO = JSON.parseObject(JSON.toJSONString(distributionSignfor), DistributionSignforVO.class);
if(ObjectUtils.isNotNull(o)){
queryWrapper.in("id",String.valueOf(o).split(","));
String id= (String) o;
String[] split = id.split(",");
distributionSignforVO.setIds(Arrays.asList(split));
}
queryWrapper.eq("warehouse_id",myCurrentWarehouse.getId());
List<DistributionSignforVO> distributionSignforList = baseMapper.exportDistributionSignfor(queryWrapper);
List<DistributionSignforVO> distributionSignforList = baseMapper.exportDistributionSignforOwn(distributionSignforVO);
List<DistributionSignforExcel> list = new ArrayList<>();
distributionSignforList.forEach(d -> {
// distributionSignfor.setTypeName(DictCache.getValue(DictEnum.YES_NO, DistributionSignfor.getType()));
DistributionSignforExcel signforExcel = new DistributionSignforExcel();
BeanUtils.copyProperties(d,signforExcel);
DistributionSignforExcel signforExcel = new DistributionSignforExcel();
BeanUtils.copyProperties(d,signforExcel);
// signforExcel.setConsignee();
list.add(signforExcel);
});
return list;
String value = DictBizCache.getValue(DictBizConstant.DISTRIBUTION_TYPE, d.getDeliveryType());
signforExcel.setDeliveryTypeName(value);
String value1 = DictBizCache.getValue(DictBizConstant.DISTRIBUTION_SIGNFOR_STATUS, d.getSigningStatus());
signforExcel.setSigningStatusName(value1);
String value2 = DictBizCache.getValue(DictBizConstant.DISTRIBUTION_SIGNFOR_STATUS, d.getDriverSigning());
signforExcel.setDriverSigningName(value2);
String value3 = DictBizCache.getValue(DictBizConstant.ADD_VALUE_SERVE_TYPE, d.getServeType());
signforExcel.setDeliveryWayName(value3);
list.add(signforExcel);
});
return list;
}
@Override
public List<DistributionSignforOwnExcel> exportDistributionSignforOwn(Map<String, Object> distributionSignfor) {
Object o = distributionSignfor.get("ids");
if(ObjectUtils.isNotNull(o)){
distributionSignfor.remove("ids");
}
// BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
// if(ObjectUtils.isNull()){
// throw new ServiceException("请选择仓库!");
// }
// QueryWrapper<DistributionSignforEntity> queryWrapper = Condition.getQueryWrapper(distributionSignfor, DistributionSignforEntity.class);
// queryWrapper.lambda().eq(DistributionSignforEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
// if(ObjectUtils.isNotNull(o)){
// queryWrapper.in("id",String.valueOf(o).split(","));
// }
// queryWrapper.eq("warehouse_id",myCurrentWarehouse.getId());
DistributionSignforVO distributionSignforVO = JSON.parseObject(JSON.toJSONString(distributionSignfor), DistributionSignforVO.class);
if(ObjectUtils.isNotNull(o)){
String id= (String) o;
String[] split = id.split(",");
distributionSignforVO.setIds(Arrays.asList(split));
}
List<DistributionSignforVO> distributionSignforList = baseMapper.exportDistributionSignforSigningOwn(distributionSignforVO);
List<DistributionSignforOwnExcel> list = new ArrayList<>();
distributionSignforList.forEach(d ->{
DistributionSignforOwnExcel signforExcel = new DistributionSignforOwnExcel();
BeanUtils.copyProperties(d,signforExcel);
String value = DictBizCache.getValue(DictBizConstant.DISTRIBUTION_TYPE, d.getDeliveryType());
signforExcel.setDeliveryTypeName(value);
String value1 = DictBizCache.getValue(DictBizConstant.DISTRIBUTION_SIGNFOR_STATUS, d.getSigningStatus());
signforExcel.setSigningStatusName(value1);
String value2 = DictBizCache.getValue(DictBizConstant.DISTRIBUTION_SIGNFOR_STATUS, d.getDriverSigning());
signforExcel.setDriverSigningName(value2);
String value3 = DictBizCache.getValue(DictBizConstant.ADD_VALUE_SERVE_TYPE, d.getServeType());
signforExcel.setDeliveryWayName(value3);
list.add(signforExcel);
});
return list;
}
@Override
@ -411,21 +469,21 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
DistributionSignforVO distributionSignforVO = baseMapper.selectOneCustom(id);
//查询客户下的订单列表信息
DistributionSignforEntity signforEntity = this.getById(id);
if (Func.isEmpty(signforEntity)){
log.error("###########查询签收信息异常,id:{}",id);
if (Func.isEmpty(signforEntity)) {
log.error("###########查询签收信息异常,id:{}", id);
return null;
}
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionReservationStockarticleService.list(Wrappers.<DistributionReservationStockarticleEntity>query().lambda().eq(DistributionReservationStockarticleEntity::getReservationId, signforEntity.getReservationId()).ne(
DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()));
if (Func.isEmpty(reservationStockarticleEntityList)){
log.error("#####################预约查询无订单信息,reservationId:{}",signforEntity.getReservationId());
if (Func.isEmpty(reservationStockarticleEntityList)) {
log.error("#####################预约查询无订单信息,reservationId:{}", signforEntity.getReservationId());
return null;
}
List<Long> orderIds = reservationStockarticleEntityList.stream().map(DistributionReservationStockarticleEntity::getStockArticleId).collect(Collectors.toList());
List<DistributionStockArticleEntity> stockArticleEntities = distributionStockArticleService.listByIds(orderIds);
List<DistributionSignPrintVO> printEntities = baseMapper.selectSignImgsUrl(distributionSignforVO.getReservationId());
List<DistributionSignPrintVO> printEntities = baseMapper.selectSignImgsUrl(distributionSignforVO.getReservationId());
distributionSignforVO.setPrintVOList(printEntities);
if (Func.isNotEmpty(stockArticleEntities)){
if (Func.isNotEmpty(stockArticleEntities)) {
distributionSignforVO.setOrderInfo(DistributionStockArticleWrapper.build().listVO(stockArticleEntities));
}
// List<DistributionStockArticleVO> stockArticleEntityList = baseMapper.selectOrderList(id);
@ -507,7 +565,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
.eq(DistributionLoadscanEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId())
.eq(DistributionLoadscanEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode())
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
if (Func.isNotEmpty(loadscanEntity)){
if (Func.isNotEmpty(loadscanEntity)) {
if (loadscanEntity.getSignforState().equals(LoadScanSigningStatusConstant.yiqianshou.getValue())) {
return Resp.scanFail("重复操作!!", "重复操作");
}
@ -797,10 +855,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
List<DistributionLoadscaninvnEntity> inventoryScanList = distributionLoadscaninvnService.list(Wrappers.<DistributionLoadscaninvnEntity>query().lambda()
.eq(DistributionLoadscaninvnEntity::getReservationId, distributionAppReservationVO.getId())
.ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
if (Func.isNotEmpty(packageScanList)){
if (Func.isNotEmpty(packageScanList)) {
loadingNum.getAndAdd(packageScanList.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum());
}
if (Func.isNotEmpty(inventoryScanList)){
if (Func.isNotEmpty(inventoryScanList)) {
loadingNum.getAndAdd(inventoryScanList.stream().mapToInt(DistributionLoadscaninvnEntity::getLoadedNub).sum());
}
distributionAppReservationVO.setLoadedNumber(loadingNum.get());
@ -1122,7 +1180,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
);
AtomicInteger signNum = new AtomicInteger();
AtomicInteger loadNum = new AtomicInteger();
if (Func.isNotEmpty(loadscanEntities)){
if (Func.isNotEmpty(loadscanEntities)) {
//统计库存品配送数和签收数
loadNum.getAndAdd(loadscanEntities.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum());
signNum.getAndAdd(loadscanEntities.stream().mapToInt(DistributionLoadscanEntity::getReceivedQuantity).sum());
@ -1133,12 +1191,12 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionAppDeliveryListVO.setInventoryNub(0);
distributionAppDeliveryListVO.setDeliveryNumber(0);
AtomicInteger deliveryNub = new AtomicInteger();
if (Func.isNotEmpty(inventory)){
if (Func.isNotEmpty(inventory)) {
int inventoryNub = inventory.stream().mapToInt(DisStockListDetailEntity::getNum).sum();
distributionAppDeliveryListVO.setInventoryNub(inventoryNub);
deliveryNub.getAndAdd(inventoryNub);
}
if (Func.isNotEmpty(parcelListEntities)){
if (Func.isNotEmpty(parcelListEntities)) {
deliveryNub.getAndAdd(parcelListEntities.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum());
distributionAppDeliveryListVO.setDeliveryNumber(deliveryNub.get());
}
@ -1153,7 +1211,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
.eq(DistributionLoadscaninvnEntity::getDeliveryId, distributionAppDeliveryListVO.getId())
.eq(DistributionLoadscaninvnEntity::getSignforState, 2)
);
if (Func.isNotEmpty(distributionLoadscaninvnEntities)){
if (Func.isNotEmpty(distributionLoadscaninvnEntities)) {
//统计库存品配送数和签收数
loadNum.getAndAdd(distributionLoadscaninvnEntities.stream().mapToInt(DistributionLoadscaninvnEntity::getLoadedNub).sum());
signNum.getAndAdd(distributionLoadscaninvnEntities.stream().mapToInt(DistributionLoadscaninvnEntity::getReceivedQuantity).sum());
@ -1418,7 +1476,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
loadscaninvnEntity.setSigningTime(simpleDateFormat.format(new Date()));
distributionLoadscaninvnService.updateById(loadscaninvnEntity);
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distributionDeliveryListEntity.getId());
Integer j = distributionSignforMapper.updateSignforNum(loadscaninvnEntity.getDeliveryId(), loadscaninvnEntity.getReservationId(), loadscaninvnEntity.getPackageNub());
Integer j = distributionSignforMapper.updatesignforByinvn(loadscaninvnEntity.getDeliveryId(), loadscaninvnEntity.getReservationId(), loadscaninvnEntity.getPackageNub());
} else {
log.error("################库存品未进行备货操作+{}" + list);
//此时说明在同一配送任务下,同一客户出现了相同的库存品包件码
@ -1878,9 +1936,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
.eq(DistributionReservationStockarticleEntity::getReservationId, signforEntity.getReservationId())
.ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()));
List<DistributionParcelListVO> parcelListVOS = new ArrayList<>();
if (Func.isNotEmpty(reservationStockarticleEntityList)){
reservationStockarticleEntityList.forEach(rs->{
if (rs.getIsZero().equals(IsOrNoConstant.no.getValue())){
if (Func.isNotEmpty(reservationStockarticleEntityList)) {
reservationStockarticleEntityList.forEach(rs -> {
if (rs.getIsZero().equals(IsOrNoConstant.no.getValue())) {
List<DistributionParcelListEntity> parcelListEntityList = distributionReservationMapper.selectPackageByReservationAndStockArticle(rs.getReservationId(), rs.getStockArticleId());
List<DistributionParcelListVO> parcelListVOList = DistributionParcelListWrapper.build().listVO(parcelListEntityList);
parcelListVOList.forEach(p -> {
@ -1919,9 +1977,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
});
parcelListVOS.addAll(parcelListVOList);
}else if (rs.getIsZero().equals(IsOrNoConstant.yes.getValue())){
} else if (rs.getIsZero().equals(IsOrNoConstant.yes.getValue())) {
List<DistributionParcelNumberDTO> distributionParcelNumberDTOS = distributionReservationMapper.selectZeroPackageListByReservationId(rs.getReservationId());
distributionParcelNumberDTOS.forEach(zp->{
distributionParcelNumberDTOS.forEach(zp -> {
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(zp.getParcelListId());
DistributionParcelListVO parcelListVO = DistributionParcelListWrapper.build().entityVO(parcelListEntity);
// DistributionParcelListVO parcelListVO = Func.copy(parcelListEntity, DistributionParcelListVO.class);
@ -1931,7 +1989,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
parcelListVO.setSigningNub(0);
DistributionLoadscanEntity distributionLoadscanEntity = distributionLoadscanMapper.selectOne(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getPackageId, zp.getParcelListId())
.eq(DistributionLoadscanEntity::getReservationId,rs.getReservationId()));
.eq(DistributionLoadscanEntity::getReservationId, rs.getReservationId()));
if (Func.isNotEmpty(distributionLoadscanEntity)) {
//该包件存在扫描记录
String scanStatus = distributionLoadscanEntity.getScanStatus();
@ -2021,7 +2079,34 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
.in(DistributionAddvaluePackageEntity::getPackageId, longs)
.eq(DistributionAddvaluePackageEntity::getAddvalueDetailId, addvalueBySignfor.getAddvalueDetailId()));
List<DistributionAddvaluePackageVO> addvaluePackageVOS = new ArrayList<>();
distributionAddvaluePackageEntities.forEach(p->{addvaluePackageVOS.add(Func.copy(p,DistributionAddvaluePackageVO.class));});
distributionAddvaluePackageEntities.forEach(p -> {
Integer conditions = p.getConditions();
// DistributionAddvaluePackageVO addvaluePackageVO = Func.copy(p, DistributionAddvaluePackageVO.class);
switch (conditions) {
case 1:
//订制品
DistributionAddvaluePackageVO addvaluePackageVO = distributionAddvalueMapper.selectAddvaluePackageDetail(p.getPackageId(),distributionAddvalueDTO.getAddvalueId(),distributionAddvalueDTO.getReservationId());
if (Func.isNotEmpty(addvaluePackageVO)){
addvaluePackageVOS.add(addvaluePackageVO);
}
break;
case 2:
DistributionAddvaluePackageVO addvalueinventoryPackageVO = distributionAddvalueMapper.selectAddvalueInventoryPackageDetail(p.getPackageId(),distributionAddvalueDTO.getAddvalueId(),distributionAddvalueDTO.getReservationId());
//库存品
if (Func.isNotEmpty(addvalueinventoryPackageVO)){
addvaluePackageVOS.add(addvalueinventoryPackageVO);
}
break;
case 3:
DistributionAddvaluePackageVO addvalueZeroPackageVO = distributionAddvalueMapper.selectAddvalueZeroPackageDetail(p.getPackageId(),distributionAddvalueDTO.getAddvalueId(),distributionAddvalueDTO.getReservationId());
//库存品
if (Func.isNotEmpty(addvalueZeroPackageVO)){
addvaluePackageVOS.add(addvalueZeroPackageVO);
}
break;
}
});
addvalueBySignfor.setPackageEntityList(addvaluePackageVOS);
}
}
@ -2310,7 +2395,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (signingTotalNum.get() > 0) {
str.append("已签收" + signingTotalNum.get() + "件");
}
return Resp.scanSuccess("", str.toString());
return Resp.scanSuccess(str.toString(), str.toString());
}
@Override
@ -2519,4 +2604,57 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
this.updateById(distributionSignfor);
return R.status(true);
}
@Override
public IPage<DistributionAddvaluePackageVO> checkAddValuePackageList(IPage<DistributionAddvaluePackageVO> page,Map<String, Object> addValueDTO) {
String reservationId = (String) addValueDTO.get("reservationId");
if (Func.isEmpty(reservationId)){
log.error("##################无reservationId");
return null;
}
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionReservationMapper.selectStockArticleByReservationId(Long.parseLong(reservationId));
List<DistributionAddvaluePackageVO> addvaluePackageVOS = new ArrayList<>();
if (Func.isNotEmpty(reservationStockarticleEntityList)){
List<Long> orderIds = reservationStockarticleEntityList.stream().map(DistributionReservationStockarticleEntity::getStockArticleId).collect(Collectors.toList());
LambdaQueryWrapper<DistributionStockArticleEntity> orderQW = Wrappers.<DistributionStockArticleEntity>query().lambda().in(DistributionStockArticleEntity::getId, orderIds);
if (Func.isNotEmpty(addValueDTO.get("orderCode"))){
orderQW.like(DistributionStockArticleEntity::getOrderCode, addValueDTO.get("orderCode"));
}
List<DistributionStockArticleEntity> orderList = distributionStockArticleService.list(orderQW);
orderList.forEach(rs->{
if (rs.getIsZero().equals(IsOrNoConstant.no.getValue())){
List<DistributionAddvaluePackageVO> addvaluepackageVO = distributionAddvalueMapper.selectAddvaluePackageVO(Long.parseLong(reservationId),rs.getId(),addValueDTO);
if (Func.isNotEmpty(addvaluepackageVO)){
addvaluePackageVOS.addAll(addvaluepackageVO);
}
}else {
List<DistributionAddvaluePackageVO> addvalueZeroPackageVO = distributionAddvalueMapper.selectAddvalueZeroPackageVO(Long.parseLong(reservationId),rs.getId(),addValueDTO);
if (Func.isNotEmpty(addvalueZeroPackageVO)){
addvaluePackageVOS.addAll(addvalueZeroPackageVO);
}
}
});
}
List<DistributionReservationStocklistEntity> distributionReservationStocklistEntities = distributionReservationMapper.selectStockListByReservationId(Long.parseLong(reservationId));
if (Func.isNotEmpty(distributionReservationStocklistEntities)){
List<Long> inventoryIds = distributionReservationStocklistEntities.stream().map(DistributionReservationStocklistEntity::getStocklistId).collect(Collectors.toList());
LambdaQueryWrapper<DistributionStockListEntity> inventoryQW = Wrappers.<DistributionStockListEntity>query().lambda().in(DistributionStockListEntity::getId, inventoryIds);
if (Func.isNotEmpty(addValueDTO.get("materialName"))){
inventoryQW.like(DistributionStockListEntity::getDescriptionGoods,(String)addValueDTO.get("materialName"));
}
if (Func.isNotEmpty(addValueDTO.get("materialCode"))){
inventoryQW.like(DistributionStockListEntity::getCargoNumber,(String)addValueDTO.get("materialCode"));
}
List<DistributionStockListEntity> stockListEntityList = distributionStockListService.list(inventoryQW);
stockListEntityList.forEach(inven->{
List<DistributionAddvaluePackageVO> addvalueinventoryPackageVO = distributionAddvalueMapper.selectAddvalueInventoryPackageVO(Long.parseLong(reservationId),inven.getId(),addValueDTO);
if (Func.isNotEmpty(addvalueinventoryPackageVO)){
addvaluePackageVOS.addAll(addvalueinventoryPackageVO);
}
});
}
return page.setRecords(addvaluePackageVOS);
}
}

131
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/BillladingController.java

@ -11,10 +11,16 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.exception.CustomerException;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.entity.DictBiz;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.List;
import java.util.Objects;
@Slf4j
@ -57,5 +63,130 @@ public class BillladingController {
}
}
@ResponseBody
@PostMapping("/findChargeTypeList")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "查询所有计费方式", notes = "传入waybillDTO")
public R findChargeTypeList(@RequestBody BillladingDTO billladingDTO) {
String method = "############findChargeTypeList: ";
log.info(method + "请求参数{}", billladingDTO);
try{
List<DictBiz> list = DictBizCache.getList(DictBizConstant.BILLLADING_CHARGE_TYPE);
return R.data(list);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error("############sendOrders: 系统异常",e);
return R.fail(500,"############sendOrders: 系统异常");
}
}
@ResponseBody
@PostMapping("/saveNew")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "新增提货单", notes = "传入waybillDTO")
public R saveNew(@RequestBody BillladingDTO billladingDTO) {
String method = "############saveNew: ";
log.info(method + "请求参数{}", billladingDTO);
Long driverId = billladingDTO.getDriverId();
String driverName = billladingDTO.getDriverName();
String driverPhone = billladingDTO.getDriverPhone();
String carNumber = billladingDTO.getCarNumber();
String carrierName = billladingDTO.getCarrierName();
String chargeType = billladingDTO.getChargeType();
Integer planNum = billladingDTO.getPlanNum();
BigDecimal planWeight = billladingDTO.getPlanWeight();
BigDecimal planVolume = billladingDTO.getPlanVolume();
try{
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(403,"仓库信息为空");
}
billladingDTO.setWarehouseId(myCurrentWarehouse.getId());
billladingDTO.setWarehouseName(myCurrentWarehouse.getName());
if(Objects.isNull(driverId)){
log.warn(method+"司机id不能为空 driverId={}",driverId);
return R.fail(405,"司机id不能为空");
}
if(StringUtil.isBlank(driverName)){
log.warn(method+"司机名称不能为空 driverName={}",driverName);
return R.fail(405,"司机名称不能为空");
}
if(StringUtil.isBlank(driverPhone)){
log.warn(method+"司机电话不能为空 driverPhone={}",driverPhone);
return R.fail(405,"司机电话不能为空");
}
if(StringUtil.isBlank(carNumber)){
log.warn(method+"车牌不能为空 carNumber={}",carNumber);
return R.fail(405,"车牌不能为空");
}
if(StringUtil.isBlank(carrierName)){
log.warn(method+"承运商不能为空 carrierName={}",carrierName);
return R.fail(405,"承运商不能为空");
}
if(StringUtil.isBlank(chargeType)){
log.warn(method+"计费模式不能为空 chargeType={}",chargeType);
return R.fail(405,"计费模式不能为空");
}
if(Objects.isNull(planNum)){
log.warn(method+"预计件数不能为空 planNum={}",planNum);
return R.fail(405,"预计件数不能为空");
}
if(Objects.isNull(planWeight)){
log.warn(method+"预计重量不能为空 planWeight={}",planWeight);
return R.fail(405,"预计重量不能为空");
}
if(Objects.isNull(planVolume)){
log.warn(method+"预计体积不能为空 planVolume={}",planVolume);
return R.fail(405,"预计体积不能为空");
}
trunklineBillladingService.saveNew(billladingDTO,myCurrentWarehouse.getCode());
return R.success("新增成功");
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error("############sendOrders: 系统异常",e);
return R.fail(500,"############sendOrders: 系统异常");
}
}
@ResponseBody
@PostMapping("/pageWaybillList")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "分页查询运单", notes = "传入waybillDTO")
public R pageWaybillList(@RequestBody BillladingDTO billladingDTO) {
String method = "############findChargeTypeList: ";
log.info(method + "请求参数{}", billladingDTO);
try{
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(403,"仓库信息为空");
}
billladingDTO.setWarehouseId(myCurrentWarehouse.getId());
IPage<TrunklineBillladingVO> pages = trunklineBillladingService.pageList(billladingDTO);
return R.data(pages);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error("############sendOrders: 系统异常",e);
return R.fail(500,"############sendOrders: 系统异常");
}
}
}

1
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingService.java

@ -10,4 +10,5 @@ public interface ITrunklineBillladingService extends BaseService<TrunklineBillla
IPage<TrunklineBillladingVO> pageList(BillladingDTO billladingDTO);
void saveNew(BillladingDTO billladingDTO,String warehouseCode);
}

78
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java

@ -2,21 +2,44 @@ package com.logpm.trunkline.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.basicdata.feign.IBasicdataCodeClient;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.trunkline.dto.BillladingDTO;
import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import com.logpm.trunkline.entity.TrunklineBillladingLineEntity;
import com.logpm.trunkline.entity.TrunklineBillladingWaybillEntity;
import com.logpm.trunkline.mapper.TrunklineBillladingMapper;
import com.logpm.trunkline.service.ITrunklineBillladingLineService;
import com.logpm.trunkline.service.ITrunklineBillladingService;
import com.logpm.trunkline.service.ITrunklineBillladingWaybillService;
import com.logpm.trunkline.vo.TrunklineBillladingLineVO;
import com.logpm.trunkline.vo.TrunklineBillladingVO;
import com.logpm.trunkline.vo.TrunklineBillladingWaybillVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
@AllArgsConstructor
public class TrunklineBillladingServiceImpl extends BaseServiceImpl<TrunklineBillladingMapper, TrunklineBillladingEntity> implements ITrunklineBillladingService {
private final ITrunklineBillladingLineService billladingLineService;
private final ITrunklineBillladingWaybillService billladingWaybillService;
private final IBasicdataWarehouseClient basicdataWarehouseClient;
private final IBasicdataCodeClient basicdataCodeClient;
@Override
public IPage<TrunklineBillladingVO> pageList(BillladingDTO billladingDTO) {
IPage<Object> page = new Page<>();
@ -25,6 +48,59 @@ public class TrunklineBillladingServiceImpl extends BaseServiceImpl<TrunklineBil
IPage<TrunklineBillladingVO> pageList = baseMapper.pageList(page,billladingDTO);
return null;
return pageList;
}
@Override
public void saveNew(BillladingDTO billladingDTO,String warehouseCode) {
log.info("###############saveNew: billladingDTO={}",billladingDTO);
Long warehouseId = billladingDTO.getWarehouseId();
String warehouseName = billladingDTO.getWarehouseName();
String billladingCode = basicdataCodeClient.getCodeByType(11, warehouseCode, null);
TrunklineBillladingEntity trunklineBillladingEntity = new TrunklineBillladingEntity();
BeanUtil.copy(billladingDTO,trunklineBillladingEntity);
trunklineBillladingEntity.setBillladingStatus("1");
trunklineBillladingEntity.setCreateUserName(AuthUtil.getUserName());
trunklineBillladingEntity.setBillladingCode(billladingCode);
save(trunklineBillladingEntity);
Long billladingId = trunklineBillladingEntity.getId();
//保存线路节点
List<TrunklineBillladingLineVO> billladingLineList = billladingDTO.getBillladingLineList();
billladingLineList = billladingLineList.stream()
.sorted(Comparator.comparing(TrunklineBillladingLineVO::getSort))
.collect(Collectors.toList());
String lineTitle = "";
for (TrunklineBillladingLineVO billladingLineVO:billladingLineList){
String clientName = billladingLineVO.getClientName();
if(StringUtil.isBlank(lineTitle)){
lineTitle = lineTitle + clientName;
}else{
lineTitle = lineTitle + "-->" + clientName;
}
TrunklineBillladingLineEntity billladingLineEntity = new TrunklineBillladingLineEntity();
BeanUtil.copy(billladingLineVO,billladingLineEntity);
billladingLineEntity.setBillladingId(billladingId);
billladingLineEntity.setWarehouseId(warehouseId);
billladingLineEntity.setWarehouseName(warehouseName);
billladingLineService.save(billladingLineEntity);
}
trunklineBillladingEntity.setLineNameTitle(lineTitle);
updateById(trunklineBillladingEntity);
//保存提货运单
List<TrunklineBillladingWaybillVO> billladingWaybillList = billladingDTO.getBillladingWaybillList();
for (TrunklineBillladingWaybillVO billladingWaybillVO:billladingWaybillList){
TrunklineBillladingWaybillEntity billladingWaybillEntity = new TrunklineBillladingWaybillEntity();
BeanUtil.copy(billladingWaybillVO,billladingWaybillEntity);
billladingWaybillEntity.setBillladingId(billladingId);
billladingWaybillEntity.setBilladingCode(trunklineBillladingEntity.getBillladingCode());
billladingWaybillEntity.setRealNum(0);
billladingWaybillEntity.setRealWeight(BigDecimal.ZERO);
billladingWaybillEntity.setRealVolume(BigDecimal.ZERO);
billladingWaybillService.save(billladingWaybillEntity);
}
}
}

4
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseRetentionApiController.java

@ -79,8 +79,8 @@ public class WarehouseRetentionApiController {
@ApiOperationSupport(order = 1)
@ApiOperation(value = "保存滞留扫描列表", notes = "传入trayTypeDTO")
public R saveRetentionList(@RequestBody WarehouseRetentionRecordDTO warehouseRetentionScanDTOS) {
// R r = warehouseRetentionRecordService.saveRetentionList(warehouseRetentionScanDTOS);
R r = warehouseRetentionScanService.saveRetentionList(warehouseRetentionScanDTOS);
// R r = warehouseRetentionScanService.saveRetentionList(warehouseRetentionScanDTOS);
R r = warehouseRetentionRecordService.saveRetentionList(warehouseRetentionScanDTOS);
return r;
}

8
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseRetentionRecordService.java

@ -19,6 +19,7 @@ package com.logpm.warehouse.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.warehouse.dto.RetentionDTO;
import com.logpm.warehouse.dto.WarehouseRetentionRecordDTO;
import com.logpm.warehouse.dto.WarehouseRetentionScanDTO;
import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import com.logpm.warehouse.excel.WarehouseRetentionRecordExcel;
@ -71,4 +72,11 @@ public interface IWarehouseRetentionRecordService extends BaseService<WarehouseR
*/
WarehouseRetentionRecordVO initRetentionList(Long deliveryId);
/**
* 滞留列表提交 创建滞留任务
* @param warehouseRetentionScanDTOS
* @return
*/
R saveRetentionList(WarehouseRetentionRecordDTO warehouseRetentionScanDTOS);
}

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseRetentionScanService.java

@ -55,6 +55,6 @@ public interface IWarehouseRetentionScanService extends IService<WarehouseRetent
*/
List<WarehouseRetentionScanExcel> exportWarehouseRetentionRecord(Wrapper<WarehouseRetentionScanEntity> queryWrapper);
R saveRetentionList(WarehouseRetentionRecordDTO warehouseRetentionRecordEntity);
// R saveRetentionList(WarehouseRetentionRecordDTO warehouseRetentionRecordEntity);
}

42
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionRecordServiceImpl.java

@ -29,6 +29,7 @@ import com.logpm.distribution.entity.DistributionParcelNumberEntity;
import com.logpm.distribution.feign.IDistributionDeliveryListClient;
import com.logpm.distribution.feign.IDistributionLoadscanClient;
import com.logpm.distribution.feign.IDistributionParcelListClient;
import com.logpm.distribution.feign.IDistributionReservationClient;
import com.logpm.distribution.vo.DistributionDeliveryListVO;
import com.logpm.distribution.vo.DistributionDeliverySelfVO;
import com.logpm.oldproject.feign.IWarehouseClient;
@ -49,10 +50,13 @@ import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.retention.RetentionTypeConstant;
import org.springblade.common.exception.CustomerException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger;
@ -74,6 +78,7 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
private final IWarehouseRetentionScanService warehouseRetentionScanService;
private final IDistributionDeliveryListClient deliveryListClient;
private final IBasicdataWarehouseClient warehouseClient;
private final IDistributionReservationClient reservationClient;
@Override
public IPage<WarehouseRetentionRecordVO> selectWarehouseRetentionRecordPage(IPage<WarehouseRetentionRecordVO> page, WarehouseRetentionRecordVO warehouseRetentionRecord) {
@ -159,4 +164,41 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
return warehouseRetentionRecordVO;
}
@Override
public R saveRetentionList(WarehouseRetentionRecordDTO warehouseRetentionRecordDTO) {
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (Func.isEmpty(myCurrentWarehouse)){
return null;
}
List<WarehouseRetentionScanDTO> warehouseRetentionScanDTOS = warehouseRetentionRecordDTO.getWarehouseRetentionScanDTOS();
if (Func.isEmpty(warehouseRetentionScanDTOS)){
log.error("############用户提交空滞留列表");
return Resp.scanFail("操作失败","无滞留包件信息");
}
BladeUser user = AuthUtil.getUser();
//TODO 保存车次数据还需要处理
WarehouseRetentionRecordEntity warehouseRetentionRecordEntity = new WarehouseRetentionRecordEntity();
warehouseRetentionRecordEntity.setTaskId(warehouseRetentionRecordDTO.getDeliveryId());
warehouseRetentionRecordEntity.setRemark(warehouseRetentionRecordDTO.getRemark());
warehouseRetentionRecordEntity.setRetentionCarNo(warehouseRetentionRecordDTO.getTrainNumber());
warehouseRetentionRecordEntity.setRetentionCarId(warehouseRetentionRecordDTO.getLoadingId());
warehouseRetentionRecordEntity.setRetentionWarehouseId(myCurrentWarehouse.getId());
warehouseRetentionRecordEntity.setRetentionWarehouseName(myCurrentWarehouse.getName());
warehouseRetentionRecordEntity.setRetentionWarehouseName(myCurrentWarehouse.getName());
warehouseRetentionRecordEntity.setRetentionCreateUserId(user.getUserId());
warehouseRetentionRecordEntity.setRetentionCreateUserName(user.getUserName());
this.save(warehouseRetentionRecordEntity);
warehouseRetentionScanDTOS.forEach(r->{
r.setRetentionScanTime(new Date());
r.setRetentionScanUserId(user.getUserId());
r.setRetentionScanUsername(user.getUserName());
r.setDeliveryId(warehouseRetentionRecordDTO.getDeliveryId());
r.setRefId(warehouseRetentionRecordEntity.getId());
warehouseRetentionScanService.save(Func.copy(r,WarehouseRetentionScanEntity.class));
//进行滞留操作的包件需要和原来订单 预约进行绑定解除
//TODO 需要一个取消配送包件的方法
});
return Resp.scanSuccess("操作成功","操作成功");
}
}

67
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java

@ -25,16 +25,22 @@ import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import com.logpm.warehouse.entity.WarehouseRetentionScanEntity;
import com.logpm.warehouse.excel.WarehouseRetentionScanExcel;
import com.logpm.warehouse.mapper.WarehouseRetentionScanMapper;
import com.logpm.warehouse.service.IWarehouseRetentionRecordService;
import com.logpm.warehouse.service.IWarehouseRetentionScanService;
import com.logpm.warehouse.vo.WarehouseRetentionRecordVO;
import com.logpm.warehouse.excel.WarehouseRetentionRecordExcel;
import com.logpm.warehouse.vo.WarehouseRetentionScanVO;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.Date;
import java.util.List;
/**
@ -44,11 +50,14 @@ import java.util.List;
* @since 2023-11-03
*/
@Service
@AllArgsConstructor
public class WarehouseRetentionScanServiceImpl extends BaseServiceImpl<WarehouseRetentionScanMapper, WarehouseRetentionScanEntity> implements IWarehouseRetentionScanService {
private IBasicdataWarehouseClient warehouseClient;
// private IWarehouseRetentionRecordService retentionRecordService;
@Override
public IPage<WarehouseRetentionScanVO> selectWarehouseRetentionRecordPage(IPage<WarehouseRetentionScanVO> page, WarehouseRetentionScanVO warehouseRetentionScanVO) {
return page.setRecords(baseMapper.selectWarehouseRetentionRecordPage(page, warehouseRetentionScanVO));
@ -64,28 +73,38 @@ public class WarehouseRetentionScanServiceImpl extends BaseServiceImpl<Warehouse
return warehouseRetentionRecordList;
}
@Override
public R saveRetentionList(WarehouseRetentionRecordDTO warehouseRetentionRecordDTO) {
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (Func.isEmpty(myCurrentWarehouse)){
return null;
}
List<WarehouseRetentionScanDTO> warehouseRetentionScanDTOS = warehouseRetentionRecordDTO.getWarehouseRetentionScanDTOS();
if (Func.isEmpty(warehouseRetentionScanDTOS)){
log.error("############用户提交空滞留列表");
return Resp.scanFail("操作失败","无滞留包件信息");
}
//TODO 保存车次数据还需要处理
WarehouseRetentionRecordEntity warehouseRetentionRecordEntity = new WarehouseRetentionRecordEntity();
warehouseRetentionRecordEntity.setTaskId(warehouseRetentionRecordDTO.getDeliveryId());
warehouseRetentionRecordEntity.setRemark(warehouseRetentionRecordDTO.getRemark());
warehouseRetentionRecordEntity.setRetentionCarNo(warehouseRetentionRecordDTO.getTrainNumber());
warehouseRetentionRecordEntity.setRetentionCarId(warehouseRetentionRecordDTO.getLoadingId());
warehouseRetentionRecordEntity.setRetentionWarehouseId(myCurrentWarehouse.getId());
warehouseRetentionRecordEntity.setRetentionWarehouseName(myCurrentWarehouse.getName());
warehouseRetentionScanDTOS.forEach(r->{
this.save(Func.copy(r,WarehouseRetentionScanEntity.class));
});
return Resp.scanSuccess("操作成功","操作成功");
}
// @Override
// public R saveRetentionList(WarehouseRetentionRecordDTO warehouseRetentionRecordDTO) {
// BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
// if (Func.isEmpty(myCurrentWarehouse)){
// return null;
// }
// List<WarehouseRetentionScanDTO> warehouseRetentionScanDTOS = warehouseRetentionRecordDTO.getWarehouseRetentionScanDTOS();
// if (Func.isEmpty(warehouseRetentionScanDTOS)){
// log.error("############用户提交空滞留列表");
// return Resp.scanFail("操作失败","无滞留包件信息");
// }
// BladeUser user = AuthUtil.getUser();
// //TODO 保存车次数据还需要处理
// WarehouseRetentionRecordEntity warehouseRetentionRecordEntity = new WarehouseRetentionRecordEntity();
// warehouseRetentionRecordEntity.setTaskId(warehouseRetentionRecordDTO.getDeliveryId());
// warehouseRetentionRecordEntity.setRemark(warehouseRetentionRecordDTO.getRemark());
// warehouseRetentionRecordEntity.setRetentionCarNo(warehouseRetentionRecordDTO.getTrainNumber());
// warehouseRetentionRecordEntity.setRetentionCarId(warehouseRetentionRecordDTO.getLoadingId());
// warehouseRetentionRecordEntity.setRetentionWarehouseId(myCurrentWarehouse.getId());
// warehouseRetentionRecordEntity.setRetentionWarehouseName(myCurrentWarehouse.getName());
// warehouseRetentionRecordEntity.setRetentionWarehouseName(myCurrentWarehouse.getName());
// warehouseRetentionRecordEntity.setRetentionCreatedUserId(user.getUserId());
// warehouseRetentionRecordEntity.setRetentionCreatedUserName(user.getUserName());
// retentionRecordService.save(warehouseRetentionRecordEntity);
// warehouseRetentionScanDTOS.forEach(r->{
// r.setRetentionScanTime(new Date());
// r.setRetentionScanUserId(user.getUserId());
// r.setRetentionScanUsername(user.getUserName());
// r.setDeliveryId(warehouseRetentionRecordDTO.getDeliveryId());
// r.setRefId(warehouseRetentionRecordEntity.getId());
// this.save(Func.copy(r,WarehouseRetentionScanEntity.class));
// });
// return Resp.scanSuccess("操作成功","操作成功");
// }
}

Loading…
Cancel
Save