diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvalueDetailEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvalueDetailEntity.java index 62af64fee..23091abdc 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvalueDetailEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvalueDetailEntity.java @@ -26,6 +26,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.EqualsAndHashCode; import org.springblade.core.tenant.mp.TenantEntity; import java.io.Serializable; @@ -39,7 +40,8 @@ import java.io.Serializable; @Data @TableName("logpm_distribution_addvalue_detail") @ApiModel(value = "DistributionAddvalueDetail对象", description = "配送增值服务明细") -public class DistributionAddvalueDetailEntity extends TenantEntity implements Serializable { +@EqualsAndHashCode(callSuper = true) +public class DistributionAddvalueDetailEntity extends TenantEntity { private static final long serialVersionUID = 1L; /** @@ -50,11 +52,11 @@ public class DistributionAddvalueDetailEntity extends TenantEntity implements Se @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; - /** - * 租户号 - */ - @ApiModelProperty(value = "租户号") - private String tenantId; +// /** +// * 租户号 +// */ +// @ApiModelProperty(value = "租户号") +// private String tenantId; /** * 是否删除 */ @@ -119,6 +121,6 @@ public class DistributionAddvalueDetailEntity extends TenantEntity implements Se * 公里;用于 平移和超区的附属字段 整数 计量单位按照M 来计算 */ @ApiModelProperty(value = "公里;用于 平移和超区的附属字段 整数 计量单位按照M 来计算") - private Integer distance; + private Double distance; } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvalueEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvalueEntity.java index 991387759..479f40d53 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvalueEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvalueEntity.java @@ -26,6 +26,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.EqualsAndHashCode; import org.springblade.core.tenant.mp.TenantEntity; import java.io.Serializable; @@ -39,7 +40,8 @@ import java.io.Serializable; @Data @TableName("logpm_distribution_addvalue") @ApiModel(value = "DistributionAddvalue对象", description = "配送增值服务表") -public class DistributionAddvalueEntity extends TenantEntity implements Serializable { +@EqualsAndHashCode(callSuper = true) +public class DistributionAddvalueEntity extends TenantEntity { private static final long serialVersionUID = 1L; /** @@ -50,16 +52,16 @@ public class DistributionAddvalueEntity extends TenantEntity implements Serializ @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; - /** - * 租户号 - */ - @ApiModelProperty(value = "租户号") - private String tenantId; - /** - * 是否已删除 - */ - @ApiModelProperty(value = "是否已删除") - private Integer isDeleted; +// /** +// * 租户号 +// */ +// @ApiModelProperty(value = "租户号") +// private String tenantId; +// /** +// * 是否已删除 +// */ +// @ApiModelProperty(value = "是否已删除") +// private Integer isDeleted; /** * 增值服务关联码表;码表;1-上楼、2-超区、3-拆样、4-平移、5-分拣、6-搬运、7-返货; */ @@ -79,7 +81,7 @@ public class DistributionAddvalueEntity extends TenantEntity implements Serializ * 编号 */ @ApiModelProperty(value = "编号") - private Long code; + private String code; /** * 预留1 */ @@ -111,4 +113,10 @@ public class DistributionAddvalueEntity extends TenantEntity implements Serializ @ApiModelProperty(value = "费用") private BigDecimal fee; + /** + * 配送Id + */ + @ApiModelProperty(value = "配送Id") + private Long deliveryListId; + } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvaluePackageEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvaluePackageEntity.java index 0dfd55dd2..f4c871093 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvaluePackageEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvaluePackageEntity.java @@ -48,17 +48,17 @@ public class DistributionAddvaluePackageEntity extends TenantEntity implements S @ApiModelProperty(value = "主键") @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; - - /** - * 租户号 - */ - @ApiModelProperty(value = "租户号") - private String tenantId; - /** - * 是否已删除 - */ - @ApiModelProperty(value = "是否已删除") - private Integer isDeleted; +// +// /** +// * 租户号 +// */ +// @ApiModelProperty(value = "租户号") +// private String tenantId; +// /** +// * 是否已删除 +// */ +// @ApiModelProperty(value = "是否已删除") +// private Integer isDeleted; /** * 预留1 */ @@ -88,7 +88,7 @@ public class DistributionAddvaluePackageEntity extends TenantEntity implements S * 包件ID */ @ApiModelProperty(value = "包件ID") - private String packageId; + private Long packageId; /** * 包件类型;1-订制品;2-库存品 */ @@ -123,11 +123,17 @@ public class DistributionAddvaluePackageEntity extends TenantEntity implements S * 客户ID */ @ApiModelProperty(value = "客户ID") - private String reservationId; + private Long reservationId; /** * 增值服务详情表ID */ @ApiModelProperty(value = "增值服务详情表ID") - private String addvalueDetailId; + private Long addvalueDetailId; + + /** + * 1 全部订单和包间 2 扫码订单和包件 3手动输入 + */ + @ApiModelProperty(value = "1 全部订单和包间 2 扫码订单和包件 3手动输入") + private String recordType; } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionAddvalueVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionAddvalueVO.java index 375976166..f811ed5eb 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionAddvalueVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionAddvalueVO.java @@ -17,10 +17,12 @@ package com.logpm.distribution.vo; import com.logpm.distribution.entity.DistributionAddvalueEntity; +import com.logpm.distribution.entity.DistributionAddvaluePackageEntity; import org.springblade.core.tool.node.INode; import lombok.Data; import lombok.EqualsAndHashCode; +import java.math.BigDecimal; import java.util.List; /** @@ -35,6 +37,16 @@ public class DistributionAddvalueVO extends DistributionAddvalueEntity { private static final long serialVersionUID = 1L; - private List addvalueDetailVOS; + private String packageListIds; + + //包件列表 + List packageEntityList; + + + private Integer num; + private Integer floolNum; + private BigDecimal fee; + private Double distance; + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionAddvalueAppController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionAddvalueAppController.java index 212ee8b26..584bcd2f5 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionAddvalueAppController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionAddvalueAppController.java @@ -8,6 +8,7 @@ import com.logpm.distribution.dto.DistributionSignforDTO; import com.logpm.distribution.dto.DistrilbutionAppsignforDTO; import com.logpm.distribution.dto.app.DistributionAppAddvalueDTO; import com.logpm.distribution.dto.app.DistributionAppDeliveryListDTO; +import com.logpm.distribution.entity.DistributionAddvaluePackageEntity; import com.logpm.distribution.entity.DistributionSignforEntity; import com.logpm.distribution.service.IDistributionDeliveryListService; import com.logpm.distribution.service.IDistributionReservationService; @@ -25,6 +26,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -58,15 +60,67 @@ public class DistributionAddvalueAppController { /** - * 查询增值服务列表 + * 扫描接口 + */ + @PostMapping("/scanAddvaluePackage") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "查询增值服务列表", notes = "DistributionAppDeliveryListDTO") + public R scanAddvaluePackage(@Valid @RequestBody DistributionAppAddvalueDTO distributionAppAddvalueDTO) { + R r =distributionAddvalueService.scanAddvaluePackage(distributionAppAddvalueDTO); + return r; + } + + + + /** + * 全部包件 + */ + @PostMapping("/getAllPackageList") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "查询增值服务列表", notes = "DistributionAppDeliveryListDTO") + public List getAllPackageList(@Valid @RequestBody DistributionAppAddvalueDTO distributionAppAddvalueDTO) { + List allPackageList = distributionAddvalueService.getAllPackageList(distributionAppAddvalueDTO); + return allPackageList; + } + + /** + * 扫描接口 + */ + @PostMapping("/saveAddvalueInfo") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "查询增值服务列表", notes = "DistributionAppDeliveryListDTO") + public R saveAddvalueInfo(@Valid @RequestBody DistributionAppAddvalueDTO distributionAppAddvalueDTO) { + R r =distributionAddvalueService.saveAddvalueInfo(distributionAppAddvalueDTO); + return r; + } + + + /** + * 扫描接口 */ - @PostMapping("/page") + @PostMapping("/updateAddvalueInfo") @ApiOperationSupport(order = 1) @ApiOperation(value = "查询增值服务列表", notes = "DistributionAppDeliveryListDTO") - public R save(DistributionAppAddvalueDTO distributionAppAddvalueDTO, Query query) { + public R updateAddvalueInfo(@Valid @RequestBody DistributionAppAddvalueDTO distributionAppAddvalueDTO) { + R r =distributionAddvalueService.updateAddvalueInfo(distributionAppAddvalueDTO); + return r; + } + - return null; + /** + * 查询编辑增值服务数据 + */ + @PostMapping("/editAddvalueInfo") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "查询增值服务列表", notes = "DistributionAppDeliveryListDTO") + public R editAddvalueInfo(@Valid @RequestBody DistributionAppAddvalueDTO distributionAppAddvalueDTO) { + R r =distributionAddvalueService.editAddvalueInfo(distributionAppAddvalueDTO); + return r; } + + + + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/bean/Res.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/bean/Res.java new file mode 100644 index 000000000..d9848e944 --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/bean/Res.java @@ -0,0 +1,30 @@ +package com.logpm.distribution.bean; + +import lombok.Data; +import org.springblade.core.tool.api.R; + +@Data +public class Res extends R { + + private String audio; + + private Object obj; + + public static Res scanSuccess(String msg, String audio,Object obj){ + Res resp = new Res(); + resp.setCode(200); + resp.setMsg(msg); + resp.setAudio(audio); + resp.setObj(obj); + return resp; + } + +// public static Res scanFail(String msg, String audio){ +// Res resp = new Res(); +// resp.setCode(3001); +// resp.setMsg(msg); +// resp.setAudio(audio); +// return resp; +// } + +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/DistributionAppAddvalueDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/DistributionAppAddvalueDTO.java index a255d40c0..b5f844071 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/DistributionAppAddvalueDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/DistributionAppAddvalueDTO.java @@ -16,10 +16,16 @@ */ package com.logpm.distribution.dto.app; +import com.logpm.distribution.dto.DistributionAddvaluePackageDTO; +import com.logpm.distribution.entity.DistributionAddvaluePackageEntity; import com.logpm.distribution.entity.DistributionDeliveryListEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; + +import java.math.BigDecimal; +import java.util.List; /** * 配送管理 数据传输对象实体类 @@ -29,14 +35,94 @@ import lombok.EqualsAndHashCode; */ @Data @EqualsAndHashCode(callSuper = true) -public class DistributionAppAddvalueDTO extends DistributionDeliveryListEntity { +public class DistributionAppAddvalueDTO extends TenantEntity { private static final long serialVersionUID = 1L; + + /** + * 扫描码 + */ + @ApiModelProperty(value = "扫描码") + private String barcode; + + /** - * 查询创建时间 + * 配送任务Id */ - @ApiModelProperty(value = "查询创建时间") - private String reservationId; + @ApiModelProperty(value = "配送任务Id") +// @NotEmpty(message = "配送Id不能为空") + private Long deliveryId; + + + /** + * 预约Id + */ + @ApiModelProperty(value = "预约Id") +// @NotEmpty(message = "客户Id不能为空") + private Long reservationId; + + + /** + * 包件列表 + */ + @ApiModelProperty(value = "包件列表") +// @NotEmpty(message = "客户Id不能为空") + private List packageEntityList; + + + /** + * 增值服务类型 + */ + @ApiModelProperty(value = "增值服务类型") +// @NotEmpty(message = "客户Id不能为空") + private String addvalueType; + + + /** + * 是否是全部包件 1部分包件 2全部包件 + */ + @ApiModelProperty(value = "是否是全部包件") +// @NotEmpty(message = "客户Id不能为空") + private Integer isAll; + + + + /** + * 是否是全部包件 1部分包件 2全部包件 + */ + @ApiModelProperty(value = "是否是全部包件") +// @NotEmpty(message = "客户Id不能为空") + private Integer num; + + + + /** + * 楼层数 + */ + @ApiModelProperty(value = "楼层数") +// @NotEmpty(message = "客户Id不能为空") + private Integer floolNum; + + + /** + * 公里数 + */ + @ApiModelProperty(value = "公里数") +// @NotEmpty(message = "客户Id不能为空") + private Double distance; + + + + /** + * 公里数 + */ + @ApiModelProperty(value = "公里数") +// @NotEmpty(message = "客户Id不能为空") + private BigDecimal fee; + + + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.java index b2e3f8e06..6cc5af367 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.java @@ -51,4 +51,9 @@ public interface DistributionAddvalueDetailMapper extends BaseMapper exportDistributionAddvalueDetail(@Param("ew") Wrapper queryWrapper); + /** + * 删除增值服务详情 + * @param id + */ + void deleteAddvalueDetail(@Param("addvalueId") Long id); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.xml index fe4bbff56..50a8c2927 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.xml @@ -26,6 +26,9 @@ + + DELETE FROM logpm_distribution_addvalue_detil WHERE addvalue_id = #{addvalueId} + @@ -34,5 +37,21 @@ + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvaluePackageMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvaluePackageMapper.java index 544af5433..373f0c89b 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvaluePackageMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvaluePackageMapper.java @@ -51,4 +51,18 @@ public interface DistributionAddvaluePackageMapper extends BaseMapper exportDistributionAddvaluePackage(@Param("ew") Wrapper queryWrapper); + + /** + * 删除增值服务保健信息 + * @param reservationId + * @param id + */ + void deleteAddvaluePackageList(@Param("reservationId") Long reservationId,@Param("addvalueDetailIds") Long id); + + /** + * 删除指定增值服务包件 + * @param reservationId + * @param packageId + */ + void deleteAddvaluePackage(@Param("reservationId")Long reservationId,@Param("packageId") Long packageId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvaluePackageMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvaluePackageMapper.xml index b3617564c..2159f56bd 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvaluePackageMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvaluePackageMapper.xml @@ -3,7 +3,8 @@ - + @@ -28,6 +29,14 @@ + + + + DELETE FROM logpm_diatribution_addvalue_package WHERE reservation_id = #{reservationId} and addvalue_detail_id = #{addvalueDetailId} + + + DELETE FROM logpm_diatribution_addvalue_package WHERE reservation_id = #{reservationId} and package_id = #{packageId} + - SELECT * FROM logpm_distribution_addvalue_package ${ew.customSqlSegment} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java index a9092c073..97339a584 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java @@ -165,4 +165,19 @@ public interface DistributionReservationMapper extends BaseMapper selectInventoryListByReservation(@Param("reservationId") Long reservationId); + + + /** + * 查询客户下的库存品信息 + * @param reservationId + * @return + */ + List selectAppInventoryListByReservation(@Param("reservationId") Long reservationId); + + /** + * 查询客户下的包件信息 + * @param reservationId + * @return + */ + List selectAppPackageListByReservationId(@Param("reservationId")Long reservationId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml index 1ef3e74b9..a5be3d927 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml @@ -655,5 +655,55 @@ WHERE ldr.id = #{reservationId} and ldsld.stock_package_status in ('1','3') + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAddvalueService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAddvalueService.java index b8505cf3d..50a600a70 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAddvalueService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAddvalueService.java @@ -21,9 +21,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.logpm.distribution.dto.app.DistributionAppAddvalueDTO; import com.logpm.distribution.entity.DistributionAddvalueEntity; +import com.logpm.distribution.entity.DistributionAddvaluePackageEntity; import com.logpm.distribution.excel.DistributionAddvalueExcel; import com.logpm.distribution.vo.DistributionAddvalueVO; import com.logpm.distribution.vo.app.DistributionAppAddvalueVO; +import org.springblade.core.tool.api.R; import java.util.List; @@ -59,4 +61,39 @@ public interface IDistributionAddvalueService extends IService addvaluePage(IPage page, DistributionAppAddvalueDTO distributionAppAddvalueDTO); + + /** + * 增值服务扫描包件 + * @param distributionAppAddvalueDTO + * @return + */ + R scanAddvaluePackage(DistributionAppAddvalueDTO distributionAppAddvalueDTO); + + /** + * 保存增值服务列表 + * @param distributionAppAddvalueDTO + * @return + */ + R saveAddvalueInfo(DistributionAppAddvalueDTO distributionAppAddvalueDTO); + + /** + * 查询出该客户下的所有包件信息 + * @param distributionAppAddvalueDTO + * @return + */ + List getAllPackageList(DistributionAppAddvalueDTO distributionAppAddvalueDTO); + + /** + * 修改增值服务列表 + * @param distributionAppAddvalueDTO + * @return + */ + R updateAddvalueInfo(DistributionAppAddvalueDTO distributionAppAddvalueDTO); + + /** + * 编辑增值服务数据 + * @param distributionAppAddvalueDTO + * @return + */ + R editAddvalueInfo(DistributionAppAddvalueDTO distributionAppAddvalueDTO); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueDetailServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueDetailServiceImpl.java index 3700346fb..b9a6d35d9 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueDetailServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueDetailServiceImpl.java @@ -25,6 +25,8 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.util.List; + +import org.springblade.core.mp.base.BaseServiceImpl; import org.springframework.stereotype.Service; @@ -35,7 +37,7 @@ import org.springframework.stereotype.Service; * @since 2023-09-11 */ @Service -public class DistributionAddvalueDetailServiceImpl extends ServiceImpl implements IDistributionAddvalueDetailService { +public class DistributionAddvalueDetailServiceImpl extends BaseServiceImpl implements IDistributionAddvalueDetailService { @Override public IPage selectDistributionAddvalueDetailPage(IPage page, DistributionAddvalueDetailVO distributionAddvalueDetail) { diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvaluePackageServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvaluePackageServiceImpl.java index d666800b7..4054b6a2d 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvaluePackageServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvaluePackageServiceImpl.java @@ -21,6 +21,7 @@ import com.logpm.distribution.excel.DistributionAddvaluePackageExcel; import com.logpm.distribution.mapper.DistributionAddvaluePackageMapper; import com.logpm.distribution.service.IDistributionAddvaluePackageService; import com.logpm.distribution.vo.DistributionAddvaluePackageVO; +import org.springblade.core.mp.base.BaseServiceImpl; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -34,7 +35,7 @@ import java.util.List; * @since 2023-09-11 */ @Service -public class DistributionAddvaluePackageServiceImpl extends ServiceImpl implements IDistributionAddvaluePackageService { +public class DistributionAddvaluePackageServiceImpl extends BaseServiceImpl implements IDistributionAddvaluePackageService { @Override public IPage selectDistributionAddvaluePackagePage(IPage page, DistributionAddvaluePackageVO distributionAddvaluePackage) { diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java index 3311ffc78..55ae935b6 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java @@ -16,20 +16,37 @@ */ package com.logpm.distribution.service.impl; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.logpm.distribution.bean.Res; +import com.logpm.distribution.bean.Resp; import com.logpm.distribution.dto.app.DistributionAppAddvalueDTO; -import com.logpm.distribution.entity.DistributionAddvalueEntity; +import com.logpm.distribution.entity.*; import com.logpm.distribution.excel.DistributionAddvalueExcel; -import com.logpm.distribution.mapper.DistributionAddvalueMapper; +import com.logpm.distribution.mapper.*; +import com.logpm.distribution.service.IDistributionAddvalueDetailService; +import com.logpm.distribution.service.IDistributionAddvaluePackageService; import com.logpm.distribution.service.IDistributionAddvalueService; +import com.logpm.distribution.service.IDistributionStockListService; import com.logpm.distribution.vo.DistributionAddvalueVO; import com.logpm.distribution.vo.app.DistributionAppAddvalueVO; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.RandomType; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; +import java.util.stream.Stream; /** * 配送增值服务表 服务实现类 @@ -40,10 +57,17 @@ import java.util.List; @Service @AllArgsConstructor @Slf4j -public class DistributionAddvalueServiceImpl extends ServiceImpl implements IDistributionAddvalueService { +public class DistributionAddvalueServiceImpl extends BaseServiceImpl implements IDistributionAddvalueService { private final DistributionAddvalueMapper distributionAddvalueMapper; - + private final DistributionReservationMapper distributionReservationMapper; + private final IDistributionStockListService distributionStockListService; + private final DistributionDeliveryListMapper distributionDeliveryListMapper; +// private final IDistributionAddvalueService distributionAddvalueService; + private final IDistributionAddvaluePackageService distributionAddvaluePackageService; + private final IDistributionAddvalueDetailService distributionAddvalueDetailService; + private final DistributionAddvalueDetailMapper distributionAddvalueDetailMapper; + private final DistributionAddvaluePackageMapper distributionAddvaluePackageMapper; @Override @@ -66,8 +90,294 @@ public class DistributionAddvalueServiceImpl extends ServiceImpl parcelListEntityList = distributionReservationMapper.selectPackageListByReservationId(reservationId); + List detailEntities = distributionReservationMapper.selectInventoryListByReservation(reservationId); + if (Func.isEmpty(parcelListEntityList) && Func.isEmpty(detailEntities)) { + //该客户不存在包件信息 + return Resp.scanFail("客户信息有误!!!", "客户信息有误"); + } + List packageInfo = parcelListEntityList.stream().filter(p -> p.getOrderPackageCode().equals(distributionAppAddvalueDTO.getBarcode())).collect(Collectors.toList()); +// DistributionAddvaluePackageEntity distributionAddvaluePackageEntiy = new DistributionAddvaluePackageEntity(); + if (Func.isNotEmpty(packageInfo) && packageInfo.size() == 1) { + DistributionParcelListEntity parcelListEntity = packageInfo.get(0); + DistributionAddvaluePackageEntity distributionAddvaluePackageEntiy = Func.copy(parcelListEntity, DistributionAddvaluePackageEntity.class); + distributionAddvaluePackageEntiy.setConditions(1); + distributionAddvaluePackageEntiy.setQuantity(parcelListEntity.getQuantity()); + distributionAddvaluePackageEntiy.setPackageId(parcelListEntity.getId()); + distributionAddvaluePackageEntiy.setMaterialName(parcelListEntity.getMaterialName()); + distributionAddvaluePackageEntiy.setReservationId(distributionAppAddvalueDTO.getReservationId()); + distributionAddvaluePackageEntiy.setStockArticleId(parcelListEntity.getStockArticleId()); + distributionAddvaluePackageEntiy.setOrderPackageCode(parcelListEntity.getOrderPackageCode()); + distributionAddvaluePackageEntiy.setRecordType("1"); + return Res.scanSuccess("扫描成功", "扫描成功", distributionAddvaluePackageEntiy); + } else if (packageInfo.size() == 0) { + //包件列表不存在,这里查询看库存品是否存在? + List inventoryInfo = detailEntities.stream().filter(i -> Func.isNotEmpty(i.getStockPackageCode()) && i.getStockPackageCode().equals(distributionAppAddvalueDTO.getBarcode())).collect(Collectors.toList()); + if (Func.isNotEmpty(inventoryInfo) && inventoryInfo.size() == 1) { + DisStockListDetailEntity disStockListDetailEntity = inventoryInfo.get(0); + DistributionStockListEntity stockListEntity = distributionStockListService.getById(disStockListDetailEntity.getStockListId()); + DistributionAddvaluePackageEntity distributionAddvaluePackageEntiy = Func.copy(disStockListDetailEntity, DistributionAddvaluePackageEntity.class); + distributionAddvaluePackageEntiy.setConditions(2); + distributionAddvaluePackageEntiy.setQuantity(disStockListDetailEntity.getNum()); + distributionAddvaluePackageEntiy.setPackageId(disStockListDetailEntity.getId()); + distributionAddvaluePackageEntiy.setMaterialName(stockListEntity.getDescriptionGoods()); + distributionAddvaluePackageEntiy.setReservationId(distributionAppAddvalueDTO.getReservationId()); + distributionAddvaluePackageEntiy.setStockArticleId(disStockListDetailEntity.getStockListId()); + distributionAddvaluePackageEntiy.setOrderPackageCode(disStockListDetailEntity.getStockPackageCode()); + distributionAddvaluePackageEntiy.setRecordType("1"); + return Res.scanSuccess("扫描成功", "扫描成功", distributionAddvaluePackageEntiy); + } else if (inventoryInfo.size() == 0) { + //该客户下既不存在该包件,也不存在该库存品 --- + //查询是否属于该配送任务 + List parcelListEntities = distributionDeliveryListMapper.selectPackageListByDeliveryListId(distributionAppAddvalueDTO.getDeliveryId()); + if (Func.isNotEmpty(parcelListEntities)) { + List collect = parcelListEntities.stream().filter(s -> s.getOrderPackageCode().equals(distributionAppAddvalueDTO.getBarcode())).collect(Collectors.toList()); + if (Func.isNotEmpty(collect)) { + return Resp.scanFail("扫描失败", "窜货"); + } + } else { + //查询是否该配送任务中是否存在该库存品包件信息 + List stockListDetailEntities = distributionDeliveryListMapper.selectInventoryListByDeliveryListId(distributionAppAddvalueDTO.getDeliveryId()); + if (Func.isNotEmpty(stockListDetailEntities)) { + List detailEntityList = stockListDetailEntities.stream().filter(s -> s.getStockPackageCode().equals(distributionAppAddvalueDTO.getBarcode())).collect(Collectors.toList()); + if (Func.isNotEmpty(detailEntityList)) { + return Resp.scanFail("扫描失败", "窜货"); + } + } else { + return Resp.scanFail("扫描失败", "此码无效"); + } + } + } else { + log.error("出现一个客户下重复库存品包件码的情况"); + return Resp.scanFail("扫描失败", "窜货"); + } + } else { + log.error("出现一个客户下重复包件码的情况"); + return Resp.scanFail("扫描失败", "窜货"); + } return null; } + + @Override + @Transactional + public R saveAddvalueInfo(DistributionAppAddvalueDTO distributionAppAddvalueDTO) { + List packageEntityList = distributionAppAddvalueDTO.getPackageEntityList(); + if (Func.isEmpty(packageEntityList)) { + return Resp.scanFail("请添加包件", "请添加包件"); + } + DistributionAddvalueDetailEntity distributionAddvalueDetailEntity = new DistributionAddvalueDetailEntity(); +// 上楼 超区 平移 搬运 分拣 专车 + switch (distributionAppAddvalueDTO.getAddvalueType()) { + case "1": + if (Func.isEmpty(distributionAppAddvalueDTO.getFloolNum())) { + return Resp.scanFail("添加失败", "请输入楼层数"); + } else { + distributionAddvalueDetailEntity.setFloolNum(distributionAppAddvalueDTO.getFloolNum()); + } + break; + case "2": + if (Func.isEmpty(distributionAppAddvalueDTO.getDistance())) { + return Resp.scanFail("添加失败", "请输入超区公里数"); + } else { + distributionAddvalueDetailEntity.setDistance(distributionAppAddvalueDTO.getDistance()); + } + break; + case "3": + if (Func.isEmpty(distributionAppAddvalueDTO.getDistance())) { + return Resp.scanFail("添加失败", "请输入平移距离"); + } else { + distributionAddvalueDetailEntity.setDistance(distributionAppAddvalueDTO.getDistance()); + } + break; + case "4": + if (Func.isEmpty(distributionAppAddvalueDTO.getNum())) { + return Resp.scanFail("添加失败", "请输入件数"); + } else { + distributionAddvalueDetailEntity.setNum(distributionAppAddvalueDTO.getNum()); + } + break; +// case "5": +// if (Func.isEmpty(distributionAppAddvalueDTO.getNum())) { +// return Resp.scanFail("添加失败", "请输入件数"); +// } else { +// distributionAddvalueDetailEntity.setNum(distributionAppAddvalueDTO.getNum()); +// } +// break; + case "6": + if (Func.isEmpty(distributionAppAddvalueDTO.getFee())) { + return Resp.scanFail("添加失败", "请输入件数"); + } else { + distributionAddvalueDetailEntity.setFee(distributionAppAddvalueDTO.getFee()); + } + break; + default: + return Resp.scanFail("添加失败", "服务器正忙"); + } + DistributionAddvalueEntity distributionAddvalueEntity = new DistributionAddvalueEntity(); + distributionAddvalueEntity.setAddvalueId(distributionAppAddvalueDTO.getAddvalueType()); + distributionAddvalueEntity.setCode(Func.random(13, RandomType.INT)); + distributionAddvalueEntity.setRefType(1); + distributionAddvalueEntity.setRefId(distributionAppAddvalueDTO.getReservationId()); + distributionAddvalueEntity.setDeliveryListId(distributionAppAddvalueDTO.getDeliveryId()); + this.save(distributionAddvalueEntity); + distributionAddvalueDetailEntity.setAddvalueId(distributionAddvalueEntity.getId()); + distributionAddvalueDetailService.save(distributionAddvalueDetailEntity); + packageEntityList.stream().forEach(p->p.setAddvalueDetailId(distributionAddvalueDetailEntity.getId())); + distributionAddvaluePackageService.saveBatch(packageEntityList); + return Resp.scanSuccess("添加成功","添加成功"); + } + + @Override + public List getAllPackageList(DistributionAppAddvalueDTO distributionAppAddvalueDTO) { + List packageEntityList = distributionAppAddvalueDTO.getPackageEntityList(); + Long reservationId = distributionAppAddvalueDTO.getReservationId(); + List parcelListEntities = distributionReservationMapper.selectAppPackageListByReservationId(reservationId); + List detailEntities = distributionReservationMapper.selectAppInventoryListByReservation(reservationId); + parcelListEntities.addAll(detailEntities); + if (Func.isEmpty(parcelListEntities)) { + log.error("################该客户下包件信息:{}", parcelListEntities); + log.error("################该客户下库存品包件信息:{}", detailEntities); +// return R.fail("服务器正忙...."); + } + List entityList = null; + if (Func.isNotEmpty(packageEntityList)) { + entityList = parcelListEntities.stream().filter(p1 -> packageEntityList.stream().noneMatch(p2 -> p2.equals(p1.getId()))).collect(Collectors.toList()); + if (Func.isEmpty(entityList)) { + log.error("################该客户下库存品包件信息:{}", detailEntities); + log.error("################该客户下包件信息:{}", parcelListEntities); + } + } else { + entityList = parcelListEntities; + } + + + return entityList; + } + + @Override + public R updateAddvalueInfo(DistributionAppAddvalueDTO distributionAppAddvalueDTO) { + List packageEntityList = distributionAppAddvalueDTO.getPackageEntityList(); + DistributionAddvalueDetailEntity distributionAddvalueDetailEntity = new DistributionAddvalueDetailEntity(); +// 上楼 超区 平移 搬运 分拣 专车 + switch (distributionAppAddvalueDTO.getAddvalueType()) { + case "1": + if (Func.isEmpty(distributionAppAddvalueDTO.getFloolNum())) { + return Resp.scanFail("添加失败", "请输入楼层数"); + } else { + distributionAddvalueDetailEntity.setFloolNum(distributionAppAddvalueDTO.getFloolNum()); + } + break; + case "2": + if (Func.isEmpty(distributionAppAddvalueDTO.getDistance())) { + return Resp.scanFail("添加失败", "请输入超区公里数"); + } else { + distributionAddvalueDetailEntity.setDistance(distributionAppAddvalueDTO.getDistance()); + } + break; + case "3": + if (Func.isEmpty(distributionAppAddvalueDTO.getDistance())) { + return Resp.scanFail("添加失败", "请输入平移距离"); + } else { + distributionAddvalueDetailEntity.setDistance(distributionAppAddvalueDTO.getDistance()); + } + break; + case "4": + if (Func.isEmpty(distributionAppAddvalueDTO.getNum())) { + return Resp.scanFail("添加失败", "请输入件数"); + } else { + distributionAddvalueDetailEntity.setNum(distributionAppAddvalueDTO.getNum()); + } + break; +// case "5": +// if (Func.isEmpty(distributionAppAddvalueDTO.getNum())) { +// return Resp.scanFail("添加失败", "请输入件数"); +// } else { +// distributionAddvalueDetailEntity.setNum(distributionAppAddvalueDTO.getNum()); +// } +// break; + case "6": + if (Func.isEmpty(distributionAppAddvalueDTO.getFee())) { + return Resp.scanFail("添加失败", "请输入件数"); + } else { + distributionAddvalueDetailEntity.setFee(distributionAppAddvalueDTO.getFee()); + } + break; + default: + return Resp.scanFail("添加失败", "服务器正忙"); + } + if (Func.isEmpty(packageEntityList) && packageEntityList.size() == 0) { + //没有包件信息,对该增值服务进行清除 + DistributionAddvalueEntity distributionAddvalueEntity = distributionAddvalueMapper.selectOne(Wrappers.query().lambda() + .eq(DistributionAddvalueEntity::getRefId, distributionAppAddvalueDTO.getReservationId()) + .eq(DistributionAddvalueEntity::getAddvalueId, distributionAppAddvalueDTO.getAddvalueType())); + DistributionAddvalueDetailEntity addvalueDetailEntity = distributionAddvalueDetailService.getOne(Wrappers.query().lambda() + .eq(DistributionAddvalueDetailEntity::getAddvalueId, distributionAddvalueEntity.getId())); + + distributionAddvalueMapper.deleteAddvalue(distributionAppAddvalueDTO.getReservationId(),distributionAppAddvalueDTO.getAddvalueType()); + distributionAddvalueDetailMapper.deleteAddvalueDetail(distributionAddvalueEntity.getId()); + distributionAddvaluePackageMapper.deleteAddvaluePackageList(distributionAppAddvalueDTO.getReservationId(),addvalueDetailEntity.getId()); + }else { + // 查询出原来的包件信息 + DistributionAddvalueVO addvalueVO = distributionAddvalueMapper.selectReservationAddvalue(distributionAppAddvalueDTO.getReservationId(), distributionAppAddvalueDTO.getAddvalueType()); + String packageListIds = addvalueVO.getPackageListIds(); + if (Func.isNotEmpty(packageListIds)){ + List distributionAddvaluePackageEntities = distributionAddvaluePackageService.listByIds(Func.toLongList(packageListIds)); + Map> oldPackageList = distributionAddvaluePackageEntities.stream().collect(Collectors.groupingBy(DistributionAddvaluePackageEntity::getPackageId)); + Map> newPackageList = packageEntityList.stream().collect(Collectors.groupingBy(DistributionAddvaluePackageEntity::getPackageId)); + newPackageList.forEach((k,v)->{ + if (Func.isEmpty(oldPackageList.get(k))){ + //从老的包件中无法进行获取,这里进行包件的新增 + DistributionAddvaluePackageEntity distributionAddvaluePackageEntity = v.get(0); + distributionAddvaluePackageEntity.setAddvalueDetailId(distributionAddvaluePackageEntities.get(0).getAddvalueDetailId()); + distributionAddvaluePackageService.save(distributionAddvaluePackageEntity); + }else { + //存在不进行维护 + oldPackageList.remove(k); + } + }); + if (Func.isEmpty(oldPackageList)){ + //进行删除,这里删除的时候需要考虑是否删除增值服务项,是否删除整个关于该客户的增值服务信息 + oldPackageList.forEach((m,n)->{ + //进行删除 + DistributionAddvaluePackageEntity distributionAddvaluePackageEntity = n.get(0); + distributionAddvaluePackageMapper.deleteAddvaluePackage(distributionAddvaluePackageEntity.getReservationId(),distributionAddvaluePackageEntity.getPackageId()); + + }); + } + } + } + + + + + + + + + + + + return null; + } + + @Override + public R editAddvalueInfo(DistributionAppAddvalueDTO distributionAppAddvalueDTO) { + DistributionAddvalueVO addvalueVO = distributionAddvalueMapper.selectReservationAddvalue(distributionAppAddvalueDTO.getReservationId(), distributionAppAddvalueDTO.getAddvalueType()); + String packageListIds = addvalueVO.getPackageListIds(); + if (Func.isNotEmpty(packageListIds)){ + List longs = Func.toLongList(packageListIds); + List distributionAddvaluePackageEntities = distributionAddvaluePackageService.listByIds(longs); + addvalueVO.setPackageEntityList(distributionAddvaluePackageEntities); + } + + return R.data(addvalueVO); + } + }