Browse Source

Merge remote-tracking branch 'origin/dev' into dev

training
pref_mail@163.com 1 year ago
parent
commit
0f2da9931f
  1. 3
      blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java
  2. 2
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientEntity.java
  3. 2
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataClientClient.java
  4. 16
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/BillladingDTO.java
  5. 16
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/BillladingWaybillDTO.java
  6. 2
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/InComingDTO.java
  7. 11
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineAdvanceDetailEntity.java
  8. 4
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingEntity.java
  9. 6
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingLogEntity.java
  10. 7
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingPackageEntity.java
  11. 8
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingWaybillEntity.java
  12. 53
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineWaybillOrderEntity.java
  13. 17
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingPackageVO.java
  14. 6
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingVO.java
  15. 15
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingWaybillVO.java
  16. 11
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineWaybillOrderVO.java
  17. 10
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseWaybillEntity.java
  18. 5
      blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java
  19. 1
      blade-service/logpm-basic/src/main/java/com/logpm/basic/mapper/BasicMaterialMapper.java
  20. 8
      blade-service/logpm-basic/src/main/java/com/logpm/basic/mapper/BasicMaterialMapper.xml
  21. 1
      blade-service/logpm-basic/src/main/java/com/logpm/basic/service/IBasicMaterialService.java
  22. 6
      blade-service/logpm-basic/src/main/java/com/logpm/basic/service/impl/BasicMaterialServiceImpl.java
  23. 5
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataClientClient.java
  24. 6
      blade-service/logpm-trunkline/pom.xml
  25. 313
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/BillladingController.java
  26. 9
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingLogMapper.java
  27. 6
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingLogMapper.xml
  28. 6
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.java
  29. 32
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.xml
  30. 7
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingPackageMapper.java
  31. 56
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingPackageMapper.xml
  32. 16
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.java
  33. 59
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml
  34. 13
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineWaybillOrderMapper.java
  35. 11
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineWaybillOrderMapper.xml
  36. 2
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java
  37. 2
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingLineService.java
  38. 7
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingLogService.java
  39. 8
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingPackageServicie.java
  40. 17
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingService.java
  41. 24
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingWaybillService.java
  42. 11
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineWaybillOrderService.java
  43. 8
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java
  44. 10
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java
  45. 153
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java
  46. 8
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingLineServiceImpl.java
  47. 15
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingLogServiceImpl.java
  48. 132
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingPackageServiceImpl.java
  49. 373
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java
  50. 101
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingWaybillServiceImpl.java
  51. 19
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineWaybillOrderServiceImpl.java

3
blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java

@ -78,4 +78,7 @@ public interface IBasicMaterialClient {
@GetMapping(API_PREFIX+"/getMaterialByProductCode")
BasicMaterialEntity getMaterialByProductCode(@RequestParam("associationValue") String productCode);
@GetMapping(API_PREFIX+"/findEntityByCodeAndName")
BasicMaterialEntity findEntityByCodeAndName(@RequestParam String materialCode, @RequestParam String materialName);
}

2
blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientEntity.java

@ -169,7 +169,7 @@ public class BasicdataClientEntity extends TenantEntity {
* 父ID
*/
@ApiModelProperty(value = "父ID")
private String pid;
private Long pid;
/**
* 是否控货
*/

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

@ -68,4 +68,6 @@ public interface IBasicdataClientClient {
@GetMapping(BASICDATACLIENTUSERENTITYLISTBYUSERID)
List<BasicdataClientUserEntity> getBasicdataClientUserEntityListByUserId(@RequestParam("userId") Long userId);
@GetMapping(API_PREFIX+"/findEntityById")
BasicdataClientEntity findEntityById(@RequestParam Long id);
}

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

@ -18,4 +18,20 @@ public class BillladingDTO extends TrunklineBillladingEntity {
private List<TrunklineBillladingWaybillVO> billladingWaybillList = new ArrayList<>();
private Integer type;//1开始提货 2提货完成 3取消完成
private String billladingCode;//批次号
private String driverName;//司机名称
private String driverPhone;//司机电话
private String carNumber;//车牌号
private String waybillNo;//运单号
private String orderPackageCode;//包件码
private String orderCode;//订单号
private String destination;//到站
private List<BillladingWaybillDTO> billladingWaybillEnterList = new ArrayList<>();
private Integer enterNum;
}

16
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/BillladingWaybillDTO.java

@ -0,0 +1,16 @@
package com.logpm.trunkline.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
public class BillladingWaybillDTO implements Serializable {
private Long billladingWaybillId;
private Integer enterNum = 0;//输入件数
private BigDecimal enterWeight = BigDecimal.ZERO;//输入重量
private BigDecimal enterVolume = BigDecimal.ZERO;;//输入体积
}

2
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/InComingDTO.java

@ -13,4 +13,6 @@ public class InComingDTO implements Serializable {
private Long warehouseId;//仓库id
private Integer incomingType;//入库类型
}

11
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineAdvanceDetailEntity.java

@ -89,4 +89,15 @@ public class TrunklineAdvanceDetailEntity extends TenantEntity {
@ApiModelProperty(name = "包件状态 0未入库 1已入库",notes = "")
private String packageStatus ;
/** 物料id */
@ApiModelProperty(name = "物料id",notes = "")
private Long materialId ;
/** 物料编码 */
@ApiModelProperty(name = "物料编码",notes = "")
private String materialCode ;
/** 物料名称 */
@ApiModelProperty(name = "物料名称",notes = "")
private String materialName ;
}

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

@ -85,8 +85,8 @@ public class TrunklineBillladingEntity extends TenantEntity {
/** 提货费用 */
@ApiModelProperty(name = "提货费用",notes = "")
private BigDecimal totalFee ;
/** 提货单状态 1=未开始,2=提货中,3=已完成,4=已取消 */
@ApiModelProperty(name = "提货单状态 1=未开始,2=提货中,3=已完成,4=已取消",notes = "")
/** 提货单状态 1=未开始,2=提货中,3=已完成,4=已结算 5=已取消 */
@ApiModelProperty(name = "提货单状态 1=未开始,2=提货中,3=已完成,4=已结算 5=已取消",notes = "")
private String billladingStatus ;
/** 提货开始时间 */
@ApiModelProperty(name = "提货开始时间",notes = "")

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

@ -43,5 +43,11 @@ public class TrunklineBillladingLogEntity extends TenantEntity {
/** 提货单id */
@ApiModelProperty(name = "提货单id",notes = "")
private Long billladingId ;
/** 描述内容 */
@ApiModelProperty(name = "操作后",notes = "")
private String after ;
/** 描述内容 */
@ApiModelProperty(name = "操作前",notes = "")
private String before ;
}

7
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingPackageEntity.java

@ -40,5 +40,10 @@ public class TrunklineBillladingPackageEntity extends TenantEntity {
/** 提货单id */
@ApiModelProperty(name = "提货单id",notes = "")
private Long billladingId ;
/** 创建人名称 */
@ApiModelProperty(name = "创建人名称",notes = "")
private String createUserName ;
/** 入库类型 1扫码入库 2码板打托 3直接入库 */
@ApiModelProperty(name = "入库类型 1扫码入库 2码板打托 3直接入库",notes = "")
private Integer incomingType ;
}

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

@ -32,13 +32,16 @@ public class TrunklineBillladingWaybillEntity extends TenantEntity {
private Long warehouseId ;
/** 仓库名称 */
@ApiModelProperty(name = "仓库名称",notes = "")
private Long warehouseName ;
private String warehouseName ;
/** 提货单id */
@ApiModelProperty(name = "提货单id",notes = "")
private Long billladingId ;
/** 提货单号 */
@ApiModelProperty(name = "提货单号",notes = "")
private String billadingCode ;
/** 运单id */
@ApiModelProperty(name = "运单id",notes = "")
private Long waybillId ;
/** 运单号 */
@ApiModelProperty(name = "运单号",notes = "")
private String waybillNo ;
@ -51,6 +54,9 @@ public class TrunklineBillladingWaybillEntity extends TenantEntity {
/** 提货体积 */
@ApiModelProperty(name = "提货体积",notes = "")
private BigDecimal realVolume ;
/** 提货费用 */
@ApiModelProperty(name = "提货费用",notes = "")
private BigDecimal billladingFee ;
}

53
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineWaybillOrderEntity.java

@ -0,0 +1,53 @@
package com.logpm.trunkline.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
@Data
@TableName("logpm_trunkline_waybill_order")
@ApiModel(value = "TrunklineWaybillOrder对象", description = "运单订单关联表")
@EqualsAndHashCode(callSuper = true)
public class TrunklineWaybillOrderEntity extends TenantEntity {
/** 预留1 */
@ApiModelProperty(name = "预留1",notes = "")
private String reserve1 ;
/** 预留2 */
@ApiModelProperty(name = "预留2",notes = "")
private String reserve2 ;
/** 预留3 */
@ApiModelProperty(name = "预留3",notes = "")
private String reserve3 ;
/** 预留4 */
@ApiModelProperty(name = "预留4",notes = "")
private String reserve4 ;
/** 预留5 */
@ApiModelProperty(name = "预留5",notes = "")
private String reserve5 ;
/** 仓库id */
@ApiModelProperty(name = "仓库id",notes = "")
private Long warehouseId ;
/** 仓库名称 */
@ApiModelProperty(name = "仓库名称",notes = "")
private String warehouseName ;
/** 运单id */
@ApiModelProperty(name = "运单id",notes = "")
private Long waybillId ;
/** 运单号 */
@ApiModelProperty(name = "运单号",notes = "")
private String waybillNo ;
/** 暂存单id */
@ApiModelProperty(name = "暂存单id",notes = "")
private Long advanceId ;
/** 订单号 */
@ApiModelProperty(name = "订单号",notes = "")
private String orderCode ;
/** 总件数 */
@ApiModelProperty(name = "总件数",notes = "")
private Integer totalNumber ;
}

17
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingPackageVO.java

@ -5,4 +5,21 @@ import lombok.Data;
@Data
public class TrunklineBillladingPackageVO extends TrunklineBillladingPackageEntity {
private String billladingCode;//批次号
private String driverName;//司机名称
private String driverPhone;//司机电话
private String carNumber;//车牌号
private String waybillNo;//运单号
private String orderCode;//订单号
private String destination;//到站
private Integer incomingType;//入库类型
private String trayName;//托盘名称
private String trayCode;//托盘编码
private String firstPickName;//一级品类
private String secondPickName;//二级品类
private String thirdPickName;//三级品类
private String materialName;//物料名称
private String brand;//品牌
}

6
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingVO.java

@ -4,6 +4,8 @@ import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@Data
public class TrunklineBillladingVO extends TrunklineBillladingEntity {
@ -14,4 +16,8 @@ public class TrunklineBillladingVO extends TrunklineBillladingEntity {
private BigDecimal totalWeight;
private BigDecimal totalVolume;
private List<TrunklineBillladingWaybillVO> waybillList = new ArrayList<>();
}

15
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingWaybillVO.java

@ -3,9 +3,24 @@ package com.logpm.trunkline.vo;
import com.logpm.trunkline.entity.TrunklineBillladingWaybillEntity;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class TrunklineBillladingWaybillVO extends TrunklineBillladingWaybillEntity {
private Date openOrderTime;//开单时间
private String goodsName;//货物名称
private String destination;//到站
private String destinationWarehouseName;//目的仓
private String shipperName;//发货人
private String shipperMobile;//发货人电话
private String consigneeName;//收货人
private String consigneeMobile;//收货人电话
private String consigneeAddress;//收货人地址
private String remark;//备注
private BigDecimal collectPay;//运费
}

11
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineWaybillOrderVO.java

@ -0,0 +1,11 @@
package com.logpm.trunkline.vo;
import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity;
import lombok.Data;
@Data
public class TrunklineWaybillOrderVO extends TrunklineWaybillOrderEntity {
}

10
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseWaybillEntity.java

@ -134,11 +134,21 @@ public class WarehouseWaybillEntity extends TenantEntity {
*/
@ApiModelProperty(value = "总重量")
private BigDecimal totalWeight;
/**
* 在库重量
*/
@ApiModelProperty(value = "在库重量")
private BigDecimal stockWeight;
/**
* 总体积
*/
@ApiModelProperty(value = "总体积")
private BigDecimal totalVolume;
/**
* 在库体积
*/
@ApiModelProperty(value = "在库体积")
private BigDecimal stockVolume;
/**
* 送货方式
*/

5
blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java

@ -106,4 +106,9 @@ public class BasicMaterialClient implements IBasicMaterialClient {
return basicMaterialService.getOne(queryWrapper);
}
@Override
public BasicMaterialEntity findEntityByCodeAndName(String materialCode, String materialName) {
return basicMaterialService.findEntityByCodeAndName(materialCode,materialName);
}
}

1
blade-service/logpm-basic/src/main/java/com/logpm/basic/mapper/BasicMaterialMapper.java

@ -52,4 +52,5 @@ public interface BasicMaterialMapper extends BaseMapper<BasicMaterialEntity> {
*/
List<BasicMaterialExcel> exportBasicMaterial(@Param("ew") Wrapper<BasicMaterialEntity> queryWrapper);
BasicMaterialEntity findEntityByCodeAndNameg(@Param("materialCode") String materialCode, @Param("materialName") String materialName);
}

8
blade-service/logpm-basic/src/main/java/com/logpm/basic/mapper/BasicMaterialMapper.xml

@ -43,4 +43,12 @@
SELECT * FROM logpm_basicdata_material ${ew.customSqlSegment}
</select>
<select id="findEntityByCodeAndNameg" resultType="com.logpm.basic.entity.BasicMaterialEntity">
select *
from logpm_basicdata_material
where is_deleted = 0
and product_code = #{materialCode}
and `name` = #{materialName}
</select>
</mapper>

1
blade-service/logpm-basic/src/main/java/com/logpm/basic/service/IBasicMaterialService.java

@ -59,4 +59,5 @@ public interface IBasicMaterialService extends BaseService<BasicMaterialEntity>
Boolean saveOrUpdateOwn(BasicMaterialEntity basicMaterial);
BasicMaterialEntity findEntityByCodeAndName(String materialCode, String materialName);
}

6
blade-service/logpm-basic/src/main/java/com/logpm/basic/service/impl/BasicMaterialServiceImpl.java

@ -36,7 +36,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;
@ -117,4 +116,9 @@ public class BasicMaterialServiceImpl extends BaseServiceImpl<BasicMaterialMappe
}
}
@Override
public BasicMaterialEntity findEntityByCodeAndName(String materialCode, String materialName) {
return baseMapper.findEntityByCodeAndNameg(materialCode,materialName);
}
}

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

@ -85,4 +85,9 @@ public class BasicdataClientClient implements IBasicdataClientClient {
return basicdataClientUserService.getBasicdataClientUserEntityListByUserId(userId);
}
@Override
public BasicdataClientEntity findEntityById(Long id) {
return basicdataClientService.getById(id);
}
}

6
blade-service/logpm-trunkline/pom.xml

@ -51,6 +51,12 @@
<version>3.2.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>logpm-basic-api</artifactId>
<version>3.2.0.RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>

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

@ -5,6 +5,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.trunkline.dto.BillladingDTO;
import com.logpm.trunkline.dto.BillladingWaybillDTO;
import com.logpm.trunkline.service.ITrunklineBillladingService;
import com.logpm.trunkline.vo.TrunklineBillladingVO;
import com.logpm.warehouse.feign.IWarehouseWaybillClient;
@ -162,5 +163,317 @@ public class BillladingController {
}
}
@ResponseBody
@PostMapping("/updateBilllading")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "新增提货单", notes = "传入waybillDTO")
public R updateBilllading(@RequestBody BillladingDTO billladingDTO) {
String method = "############updateBilllading: ";
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.updateBilllading(billladingDTO);
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("/updateBillladingStatus")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "更新提货单状态", notes = "传入waybillDTO")
public R updateBillladingStatus(@RequestBody BillladingDTO billladingDTO) {
String method = "############updateBillladingStatus: ";
log.info(method + "请求参数{}", billladingDTO);
//提货单状态 1=未开始,2=提货中,3=已完成,4=已结算 5=已取消
Integer type = billladingDTO.getType();
Long billladingId = billladingDTO.getId();
try{
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(403,"仓库信息为空");
}
if(Objects.isNull(type)){
log.warn(method+"更新类型不能为空 type={}",type);
return R.fail(405,"更新类型不能为空");
}
if(Objects.isNull(billladingId)){
log.warn(method+"提货单id不能为空 billladingId={}",billladingId);
return R.fail(405,"提货单id不能为空");
}
trunklineBillladingService.updateBillladingStatus(billladingId,type,myCurrentWarehouse.getId(),myCurrentWarehouse.getName());
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("/billladingDetail")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "查询提货单详情", notes = "传入waybillDTO")
public R billladingDetail(@RequestBody BillladingDTO billladingDTO) {
String method = "############billladingDetail: ";
log.info(method + "请求参数{}", billladingDTO);
Long billladingId = billladingDTO.getId();
try{
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(403,"仓库信息为空");
}
if(Objects.isNull(billladingId)){
log.warn(method+"提货单id不能为空 billladingId={}",billladingId);
return R.fail(405,"提货单id不能为空");
}
return trunklineBillladingService.billladingDetail(billladingId,myCurrentWarehouse.getId());
}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("/billladingPackageDetail")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "查询提货单包件明细", notes = "传入waybillDTO")
public R billladingPackageDetail(@RequestBody BillladingDTO billladingDTO) {
String method = "############billladingPackageDetail: ";
log.info(method + "请求参数{}", billladingDTO);
Long billladingId = billladingDTO.getId();
Integer pageNum = billladingDTO.getPageNum();
Integer pageSize = billladingDTO.getPageSize();
try{
if(Objects.isNull(pageNum)){
pageNum = 1;
}
if(Objects.isNull(pageSize)){
pageNum = 20;
}
//当前登录人选择的仓库
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(billladingId)){
log.warn(method+"提货单id不能为空 billladingId={}",billladingId);
return R.fail(405,"提货单id不能为空");
}
return trunklineBillladingService.billladingPackageDetail(billladingDTO,pageNum,pageSize);
}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("/updateBillladingWaybillNum")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "更新提货单关联运单数据", notes = "传入waybillDTO")
public R updateBillladingWaybillNum(@RequestBody BillladingDTO billladingDTO) {
String method = "############updateBillladingWaybillNum: ";
log.info(method + "请求参数{}", billladingDTO);
Long billladingId = billladingDTO.getId();
List<BillladingWaybillDTO> billladingWaybillEnterList = billladingDTO.getBillladingWaybillEnterList();
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(billladingId)){
log.warn(method+"提货单id不能为空 billladingId={}",billladingId);
return R.fail(405,"提货单id不能为空");
}
return trunklineBillladingService.updateBillladingWaybillNum(billladingId,billladingWaybillEnterList);
}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("/findWaybillListNotBillladingId")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "查询运单列表排除提货单中的运单", notes = "传入waybillDTO")
public R findWaybillListNotBillladingId(@RequestBody BillladingDTO billladingDTO) {
String method = "############findWaybillListNotBillladingId: ";
log.info(method + "请求参数{}", billladingDTO);
Long billladingId = billladingDTO.getId();
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(billladingId)){
log.warn(method+"提货单id不能为空 billladingId={}",billladingId);
return R.fail(405,"提货单id不能为空");
}
return trunklineBillladingService.findWaybillListNotBillladingId(billladingId);
}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("/addWaybillToBillladingId")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "提货单添加运单", notes = "传入waybillDTO")
public R addWaybillToBillladingId(@RequestBody BillladingDTO billladingDTO) {
String method = "############addWaybillToBillladingId: ";
log.info(method + "请求参数{}", billladingDTO);
Long billladingId = billladingDTO.getId();
String waybillNo = billladingDTO.getWaybillNo();
Integer enterNum = billladingDTO.getEnterNum();
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(enterNum) || enterNum == 0){
log.warn(method+"运单添加参数数量有误 enterNum={}",enterNum);
return R.fail(405,"运单添加参数数量有误");
}
if(Objects.isNull(billladingId)){
log.warn(method+"提货单id不能为空 billladingId={}",billladingId);
return R.fail(405,"提货单id不能为空");
}
if(StringUtil.isBlank(waybillNo)){
log.warn(method+"运单号不能为空 waybillNo={}",waybillNo);
return R.fail(405,"运单号不能为空");
}
return trunklineBillladingService.addWaybillToBillladingId(billladingDTO);
}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: 系统异常");
}
}
}

9
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingLogMapper.java

@ -0,0 +1,9 @@
package com.logpm.trunkline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.trunkline.entity.TrunklineBillladingLogEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface TrunklineBillladingLogMapper extends BaseMapper<TrunklineBillladingLogEntity> {
}

6
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingLogMapper.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.logpm.trunkline.mapper.TrunklineBillladingLogMapper">
</mapper>

6
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.java

@ -5,13 +5,19 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.trunkline.dto.BillladingDTO;
import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import com.logpm.trunkline.vo.TrunklineBillladingVO;
import com.logpm.trunkline.vo.TrunklineBillladingWaybillVO;
import com.logpm.warehouse.vo.WarehouseWaybillVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface TrunklineBillladingMapper extends BaseMapper<TrunklineBillladingEntity> {
IPage<TrunklineBillladingVO> pageList(IPage<Object> page, @Param("param") BillladingDTO billladingDTO);
IPage<TrunklineBillladingVO> pageInfoList(IPage<Object> page, @Param("param") BillladingDTO billladingDTO);
List<WarehouseWaybillVO> findWaybillListNotBillladingId(@Param("list") List<TrunklineBillladingWaybillVO> waybillInfoListByBillladingId);
}

32
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.xml

@ -45,9 +45,39 @@
<select id="pageInfoList" resultType="com.logpm.trunkline.vo.TrunklineBillladingVO">
select
select id id,
billlading_code billladingCode,
car_number carNumber,
driver_name driverName,
driver_phone driverPhone,
line_name_title lineNameTitle,
plan_num planNum,
charge_type chargeType,
billlading_status billladingStatus
from logpm_trunkline_billlading
where billlading_status = '2'
</select>
<select id="findWaybillListNotBillladingId" resultType="com.logpm.warehouse.vo.WarehouseWaybillVO">
select lww.waybill_no waybillNo,
lww.create_time createTime,
lww.goods_name goodsName,
lww.destination destination,
lww.shipper_name shipperName,
lww.shipper_mobile shipperMobile,
lww.consignee_name consigneeName,
lww.consignee_mobile consigneeMobile,
lww.remark remark
from logpm_warehouse_waybill lww
where lww.stock_count != total_count
<if test="list != null and @org.apache.commons.collections4.CollectionUtils@isNotEmpty(list)">
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item.waybillNo}
</foreach>
</if>
</select>
</mapper>

7
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingPackageMapper.java

@ -1,9 +1,16 @@
package com.logpm.trunkline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.trunkline.dto.BillladingDTO;
import com.logpm.trunkline.entity.TrunklineBillladingPackageEntity;
import com.logpm.trunkline.vo.TrunklineBillladingPackageVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface TrunklineBillladingPackageMapper extends BaseMapper<TrunklineBillladingPackageEntity> {
IPage<TrunklineBillladingPackageVO> findBillladingPackageDetail(IPage<Object> page, @Param("param") BillladingDTO billladingDTO);
}

56
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingPackageMapper.xml

@ -2,5 +2,61 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.logpm.trunkline.mapper.TrunklineBillladingPackageMapper">
<select id="findBillladingPackageDetail" resultType="com.logpm.trunkline.vo.TrunklineBillladingPackageVO">
select ltb.billlading_code billladingCode,
ltb.driver_name driverName,
ltb.driver_phone driverPhone,
ltb.car_number carNumber,
lww.waybill_no waybillNo,
ltbp.order_package_code orderPackageCode,
ldpl.order_code orderCode,
lww.destination destination,
ltbp.incoming_type incomingType,
lwt.pallet_name trayName,
lwt.pallet_code trayCode,
ldpl.firsts firstPickName,
ldpl.`second` secondPickName,
ldpl.third_product thirdPickName,
ldpl.material_name materialName,
ldpl.brand_name brand,
ltbp.warehouse_name warehouseName,
ltbp.create_user_name createUserName,
ltbp.create_time createTime
from logpm_trunkline_billlading_package ltbp
left join logpm_trunkline_billlading ltb on ltb.id = ltbp.billlading_id
left join logpm_trunkline_billlading_waybill ltbw on ltbw.billlading_id = ltb.id
left join logpm_distribution_parcel_list ldpl on ldpl.order_package_code = ltbp.order_package_code
left join logpm_warehouse_tray_goods lwtg on lwtg.association_value = ldpl.order_package_code
left join logpm_warehouse_tray lwt on lwt.id = lwtg.tray_id
left join logpm_trunkline_waybill_order ltwo on ltwo.order_code = ldpl.order_code and ltwo.waybill_id = ltbw.waybill_id
left join logpm_warehouse_waybill lww on lww.id = ltwo.waybill_id
where ltbp.billlading_id = #{param.id}
and ldpl.warehouse_id = #{param.warehouseId}
<if test="param.billladingCode != null and param.billladingCode != '' ">
and ltb.billlading_code = #{param.billladingCode}
</if>
<if test="param.driverName != null and param.driverName != '' ">
and ltb.driver_name = #{param.driverName}
</if>
<if test="param.carNumber != null and param.carNumber != '' ">
and ltb.car_number = #{param.carNumber}
</if>
<if test="param.waybillNo != null and param.waybillNo != '' ">
and lww.waybill_no = #{param.waybillNo}
</if>
<if test="param.orderPackageCode != null and param.orderPackageCode != '' ">
and ltbp.order_package_code = #{param.orderPackageCode}
</if>
<if test="param.orderCode != null and param.orderCode != '' ">
and ldpl.order_code = #{param.orderCode}
</if>
<if test="param.destination != null and param.destination != '' ">
and lww.destination = #{param.destination}
</if>
<if test="param.createUserName != null and param.createUserName != '' ">
and ltbp.create_user_name = #{param.createUserName}
</if>
</select>
</mapper>

16
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.java

@ -2,8 +2,24 @@ package com.logpm.trunkline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.trunkline.entity.TrunklineBillladingWaybillEntity;
import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity;
import com.logpm.trunkline.vo.TrunklineBillladingWaybillVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
@Mapper
public interface TrunklineBillladingWaybillMapper extends BaseMapper<TrunklineBillladingWaybillEntity> {
List<TrunklineWaybillOrderEntity> findWaybillOrderByBillladingId(@Param("billladingId") Long billladingId, @Param("advanceId") Long advanceId);
Integer getFinishNumByWaybillId(@Param("waybillId") Long waybillId);
List<TrunklineBillladingWaybillVO> findWaybillInfoListByBillladingId(@Param("billladingId") Long billladingId);
void updateDataByBillladingWaybillId(@Param("billladingWaybillId") Long billladingWaybillId, @Param("enterNum") Integer enterNum, @Param("enterWeight") BigDecimal enterWeight, @Param("enterVolume") BigDecimal enterVolume);
Integer getFinishNumByWaybillIdNotBillladingWaybillId(@Param("waybillId") Long waybillId, @Param("billladingWaybillId") Long billladingWaybillId);
}

59
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml

@ -3,4 +3,63 @@
<mapper namespace="com.logpm.trunkline.mapper.TrunklineBillladingWaybillMapper">
<select id="findWaybillOrderByBillladingId" resultType="com.logpm.trunkline.entity.TrunklineWaybillOrderEntity">
select ltwo.*
from logpm_trunkline_billlading_waybill ltbw
left join logpm_trunkline_waybill_order ltwo on ltwo.waybill_id = ltbw.waybill_id
where ltbw.is_deleted = 0
and ltbw.billlading_id = #{billladingId}
and ltwo.advance_id = #{advanceId}
and ltbw.waybill_no != '————'
</select>
<select id="getFinishNumByWaybillId" resultType="int">
select sum(ltbw.real_num)
from logpm_trunkline_billlading_waybill ltbw
where ltbw.is_deleted = 0
and ltbw.waybill_id = #{waybillId}
</select>
<select id="findWaybillInfoListByBillladingId" resultType="com.logpm.trunkline.vo.TrunklineBillladingWaybillVO">
select ltb.billlading_code billadingCode,
ltbw.waybill_id waybillId,
ltbw.waybill_no waybillNo,
lww.create_time openOrderTime,
lww.goods_name goodsName,
ltbw.real_num realNum,
ltbw.real_weight realWeight,
ltbw.real_volume realVolume,
lww.destination destination,
lww.destination_warehouse_name destinationWarehouseName,
lww.shipper_name shipperName,
lww.shipper_mobile shipperMobile,
lww.consignee_name consigneeName,
lww.consignee_mobile consigneeMobile,
lww.consignee_address consigneeAddress,
lww.remark remark,
ltbw.billlading_fee billladingFee,
lww.collect_pay collectPay
from logpm_trunkline_billlading_waybill ltbw
left join logpm_trunkline_billlading ltb on ltb.id = ltbw.billlading_id
left join logpm_warehouse_waybill lww on lww.id = ltbw.waybill_id
where ltbw.billlading_id = #{billladingId}
</select>
<update id="updateDataByBillladingWaybillId" >
update logpm_trunkline_billlading_waybill
set real_num = #{enterNum},
real_weight = #{enterWeight},
real_volume = #{enterVolume}
where id = #{billladingWaybillId}
</update>
<select id="getFinishNumByWaybillIdNotBillladingWaybillId" resultType="int">
select sum(ltbw.real_num)
from logpm_trunkline_billlading_waybill ltbw
where ltbw.is_deleted = 0
and ltbw.waybill_id = #{waybillId}
and ltbw.id != #{billladingWaybillId}
</select>
</mapper>

13
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineWaybillOrderMapper.java

@ -0,0 +1,13 @@
package com.logpm.trunkline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface TrunklineWaybillOrderMapper extends BaseMapper<TrunklineWaybillOrderEntity> {
Integer getTotalNumByWaybillId(@Param("waybillId") Long waybillId);
}

11
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineWaybillOrderMapper.xml

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.logpm.trunkline.mapper.TrunklineWaybillOrderMapper">
<select id="getTotalNumByWaybillId" resultType="int">
select sum(ltwo.total_number)
from logpm_trunkline_waybill_order ltwo
where ltwo.waybill_id = #{waybillId}
</select>
</mapper>

2
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java

@ -7,4 +7,6 @@ public interface ITrunklineAdvanceDetailService extends BaseService<TrunklineAdv
void updatePackageStatusById(String packageStatus, Long advanceDetailId);
TrunklineAdvanceDetailEntity findEntityByOrderPackageCodeAndWarehouseId(String orderPackageCode, Long warehouseId);
}

2
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingLineService.java

@ -4,4 +4,6 @@ import com.logpm.trunkline.entity.TrunklineBillladingLineEntity;
import org.springblade.core.mp.base.BaseService;
public interface ITrunklineBillladingLineService extends BaseService<TrunklineBillladingLineEntity> {
void deleteByBillladingId(Long billladingId);
}

7
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingLogService.java

@ -0,0 +1,7 @@
package com.logpm.trunkline.service;
import com.logpm.trunkline.entity.TrunklineBillladingLogEntity;
import org.springblade.core.mp.base.BaseService;
public interface ITrunklineBillladingLogService extends BaseService<TrunklineBillladingLogEntity> {
}

8
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingPackageServicie.java

@ -1,7 +1,15 @@
package com.logpm.trunkline.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.trunkline.dto.BillladingDTO;
import com.logpm.trunkline.entity.TrunklineBillladingPackageEntity;
import com.logpm.trunkline.vo.TrunklineBillladingPackageVO;
import org.springblade.core.mp.base.BaseService;
public interface ITrunklineBillladingPackageServicie extends BaseService<TrunklineBillladingPackageEntity> {
void saveEntity(String orderPackageCode, Long billladingId,Long warehouseId,Integer incomingType);
IPage<TrunklineBillladingPackageVO> findBillladingPackageDetail(IPage<Object> page, BillladingDTO billladingDTO);
}

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

@ -2,9 +2,13 @@ package com.logpm.trunkline.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.trunkline.dto.BillladingDTO;
import com.logpm.trunkline.dto.BillladingWaybillDTO;
import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import com.logpm.trunkline.vo.TrunklineBillladingVO;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import java.util.List;
public interface ITrunklineBillladingService extends BaseService<TrunklineBillladingEntity> {
@ -14,4 +18,17 @@ public interface ITrunklineBillladingService extends BaseService<TrunklineBillla
IPage<TrunklineBillladingVO> pageInfoList(BillladingDTO billladingDTO);
void updateBilllading(BillladingDTO billladingDTO);
void updateBillladingStatus(Long billladingId, Integer type,Long warehouseId,String warehouseName);
R billladingDetail(Long billladingId, Long warehouseId);
R billladingPackageDetail(BillladingDTO billladingDTO,Integer pageNum,Integer pageSize);
R updateBillladingWaybillNum(Long billladingId, List<BillladingWaybillDTO> billladingWaybillEnterList);
R findWaybillListNotBillladingId(Long billladingId);
R addWaybillToBillladingId(BillladingDTO billladingDTO);
}

24
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingWaybillService.java

@ -1,7 +1,31 @@
package com.logpm.trunkline.service;
import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import com.logpm.trunkline.entity.TrunklineBillladingWaybillEntity;
import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity;
import com.logpm.trunkline.vo.TrunklineBillladingWaybillVO;
import org.springblade.core.mp.base.BaseService;
import java.math.BigDecimal;
import java.util.List;
public interface ITrunklineBillladingWaybillService extends BaseService<TrunklineBillladingWaybillEntity> {
List<TrunklineWaybillOrderEntity> findWaybillOrderByBillladingId(Long billladingId, Long advanceId);
TrunklineBillladingWaybillEntity findEntityByWaybillIdAndBillladingId(Long waybillId, Long billladingId);
Integer getFinishNumByWaybillId(Long waybillId);
TrunklineBillladingWaybillEntity findNoWaybillNoData(Long billladingId);
void deletedByBillladingId(Long billladingId);
List<TrunklineBillladingWaybillVO> findWaybillInfoListByBillladingId(Long billladingId);
void updateBillladingFeeByBillladingId(TrunklineBillladingEntity trunklineBillladingEntity);
void updateDataByBillladingWaybillId(Long billladingWaybillId, Integer enterNum, BigDecimal enterWeight, BigDecimal enterVolume);
Integer getFinishNumByWaybillIdNotBillladingWaybillId(Long waybillId, Long billladingWaybillId);
}

11
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineWaybillOrderService.java

@ -0,0 +1,11 @@
package com.logpm.trunkline.service;
import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity;
import org.springblade.core.mp.base.BaseService;
public interface ITrunklineWaybillOrderService extends BaseService<TrunklineWaybillOrderEntity> {
Integer getTotalNumByWaybillId(Long waybillId);
}

8
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java

@ -29,6 +29,7 @@ public class InComingServiceImpl implements IInComingService {
String orderPackageCode = inComingDTO.getOrderPackageCode();//包件码
Long warehouseId = inComingDTO.getWarehouseId();//仓库id
Long billladingId = inComingDTO.getBillladingId();//提货单id
Integer incomingType = inComingDTO.getIncomingType();//入库类型
log.info("############incomingPackage: 包件入库开始 orderPackageCode={} billladingId={} warehouseId={}",orderPackageCode,billladingId,warehouseId);
//包件入库开始
@ -54,8 +55,11 @@ public class InComingServiceImpl implements IInComingService {
//2.判断包件和订单是否已经存入在库订单
advanceService.saveOrderAndPackage(advanceDetailEntity,warehouseId);
//3.根据是否有提货单id绑定提货单
if(!Objects.isNull(billladingId)){
billladingPackageServicie.saveEntity(orderPackageCode,billladingId,warehouseId,incomingType);
}
return null;
return R.success("入库成功");
}
}

10
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java

@ -1,5 +1,6 @@
package com.logpm.trunkline.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity;
import com.logpm.trunkline.mapper.TrunklineAdvanceDetailMapper;
import com.logpm.trunkline.service.ITrunklineAdvanceDetailService;
@ -16,4 +17,13 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl<Trunkline
public void updatePackageStatusById(String packageStatus, Long advanceDetailId) {
baseMapper.updatePackageStatusById(packageStatus,advanceDetailId);
}
@Override
public TrunklineAdvanceDetailEntity findEntityByOrderPackageCodeAndWarehouseId(String orderPackageCode, Long warehouseId) {
QueryWrapper<TrunklineAdvanceDetailEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_package_code",orderPackageCode)
.eq("warehouse_id",warehouseId)
.eq("is_deleted",0);
return baseMapper.selectOne(queryWrapper);
}
}

153
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java

@ -1,6 +1,10 @@
package com.logpm.trunkline.service.impl;
import com.logpm.basic.entity.BasicMaterialEntity;
import com.logpm.basic.feign.IBasicMaterialClient;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataClientClient;
import com.logpm.basicdata.feign.IBasicdataStoreBusinessClient;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionStockArticleEntity;
@ -17,6 +21,8 @@ import org.springblade.common.exception.CustomerException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@Slf4j
@ -28,6 +34,9 @@ public class TrunklineAdvanceServiceImpl extends BaseServiceImpl<TrunklineAdvanc
private final IDistributionParcelListClient parcelListClient;
private final ITrunklineAdvanceService advanceService;
private final IBasicdataWarehouseClient basicdataWarehouseClient;
private final IBasicdataClientClient basicdataClientClient;
private final IBasicdataStoreBusinessClient basicdataStoreBusinessClient;
private final IBasicMaterialClient basicMaterialClient;
@Override
@ -53,6 +62,7 @@ public class TrunklineAdvanceServiceImpl extends BaseServiceImpl<TrunklineAdvanc
//2.查询订单信息
int total = baseMapper.getAllTotalNum(orderCode);
Long orderId = null;
DistributionStockArticleEntity stockArticleEntity = stockArticleClient.findStockArticleByOrderCodeAndWarehouseId(orderCode, warehouseId);
if(Objects.isNull(stockArticleEntity)){
log.info("#############saveOrderAndPackage: 订单信息为空,同步订单信息");
@ -68,10 +78,153 @@ public class TrunklineAdvanceServiceImpl extends BaseServiceImpl<TrunklineAdvanc
stockArticleEntity.setWarehouse(warehouseEntity.getName());
stockArticleEntity.setWarehouseId(warehouseId);
stockArticleEntity.setBrand(advanceEntity.getBrand());
stockArticleEntity.setDescriptionGoods(advanceEntity.getPackName());
String dealerName = advanceEntity.getDealerName();//暂存单经销商名称
stockArticleEntity.setDealerCode(advanceEntity.getDealerCode());
stockArticleEntity.setDealerName(advanceEntity.getDealerName());
stockArticleEntity.setTypeService("1");//默认商配
// BasicdataClientEntity basicdataClientEntity = basicdataClientClient.findByName(dealerName);
// log.info("############saveOrderAndPackage: 订单同步出现的客户编号{} 匹配的客户", basicdataClientEntity);
// if (!Objects.isNull(basicdataClientEntity)) {
// String clientType = basicdataClientEntity.getClientType();
//
// if("5".equals(clientType)){
// stockArticleEntity.setStoreId(basicdataClientEntity.getId());
// stockArticleEntity.setStoreCode(basicdataClientEntity.getClientCode());
// stockArticleEntity.setStoreName(basicdataClientEntity.getClientName());
// //查询门店的父级商场
// Long pid = basicdataClientEntity.getPid();
// BasicdataClientEntity pidEntity = basicdataClientClient.findEntityById(pid);
// if(!Objects.isNull(pidEntity)){
// String pidEntityClientType = pidEntity.getClientType();
// if("2".equals(pidEntityClientType)){
// //商城
// stockArticleEntity.setMallId(pidEntity.getId());
// stockArticleEntity.setMallName(pidEntity.getClientName());
// stockArticleEntity.setMallCode(pidEntity.getClientCode());
//
// BasicdataStoreBusinessEntity basicdataStoreBusinessEntity = basicdataStoreBusinessClient.findByClientIdAndTypeService(pidEntity.getId(), 3);
// if(Objects.isNull(basicdataStoreBusinessEntity)){
// stockArticleEntity.setTypeService(basicdataStoreBusinessEntity.getMold());
// }
// }
// }
// }else if("2".equals(clientType)){
// //商城
// stockArticleEntity.setMallId(basicdataClientEntity.getId());
// stockArticleEntity.setMallName(basicdataClientEntity.getClientName());
// stockArticleEntity.setMallCode(basicdataClientEntity.getClientCode());
//
// BasicdataStoreBusinessEntity basicdataStoreBusinessEntity = basicdataStoreBusinessClient.findByClientIdAndTypeService(basicdataClientEntity.getId(), 3);
// if(Objects.isNull(basicdataStoreBusinessEntity)){
// stockArticleEntity.setTypeService(basicdataStoreBusinessEntity.getMold());
// }
// }
// }
stockArticleEntity.setCustomerName(advanceEntity.getCustomerName());
stockArticleEntity.setCustomerTelephone(advanceEntity.getCustomerPhone());
stockArticleEntity.setCustomerAddress(advanceEntity.getCustomerAddress());
stockArticleEntity.setStockupStatus("10");
stockArticleEntity.setReservationStatus("10");
stockArticleEntity.setOrderStatus("0");
stockArticleEntity.setGroundingStatus("10");
stockArticleEntity.setOrderReceiveStatus("10");
stockArticleEntity.setFreezeStatus("10");
stockArticleEntity.setNotification(2);
stockArticleEntity.setIsHaveData(2);
stockArticleEntity.setTrainNumber(advanceEntity.getTrainNumber());
stockArticleEntity.setSortingQuantity(0);
stockArticleEntity.setDeliveryQuantity(0);
stockArticleEntity.setTransferQuantity(0);
stockArticleEntity.setSigninQuantity(0);
orderId = stockArticleClient.addData(stockArticleEntity);
}else{
stockArticleEntity.setTotalNumber(total);
stockArticleClient.saveOrUpdate(stockArticleEntity);
orderId = stockArticleEntity.getId();
}
if(Objects.isNull(orderId)){
log.warn("##############saveOrderAndPackage: 订单信息有误 orderId={}",orderId);
throw new CustomerException(405,"订单信息有误");
}
log.info("#############saveOrderAndPackage: 订单信息保存成功 orderId={}",orderId);
//保存包件信息
DistributionParcelListEntity parcelList = new DistributionParcelListEntity();
parcelList.setWarehouse(warehouseEntity.getName());
parcelList.setWarehouseId(warehouseId);
parcelList.setConditions(1);
parcelList.setOrderPackageCode(advanceDetailEntity.getOrderPackageCode());
parcelList.setFirsts(advanceDetailEntity.getFirstPackName());
parcelList.setSecond(advanceDetailEntity.getSecondPackName());
parcelList.setThirdProduct(advanceDetailEntity.getThirdPackName());
parcelList.setQuantity(1);
parcelList.setStockArticleId(orderId);
parcelList.setOrderCode(orderCode);
parcelList.setServiceNumber(advanceDetailEntity.getServiceNum());
Long materialId = advanceDetailEntity.getMaterialId();
String materialCode = advanceDetailEntity.getMaterialCode();
String materialName = advanceDetailEntity.getMaterialName();
if(Objects.isNull(materialId)){
BasicMaterialEntity materialEntity = basicMaterialClient.findEntityByCodeAndName(materialCode,materialName);
if(!Objects.isNull(materialEntity)){
parcelList.setMaterialId(materialEntity.getId());
parcelList.setMaterialName(materialEntity.getName());
parcelList.setMaterialCode(materialEntity.getProductCode());
parcelList.setMaterialUnit(materialEntity.getSpecification());
}
}else{
BasicMaterialEntity materialOwnId = basicMaterialClient.getMaterialOwnId(materialId);
if(!Objects.isNull(materialOwnId)){
parcelList.setMaterialId(materialOwnId.getId());
parcelList.setMaterialName(materialOwnId.getName());
parcelList.setMaterialCode(materialOwnId.getProductCode());
parcelList.setMaterialUnit(materialOwnId.getSpecification());
}
}
parcelList.setBrandName(advanceDetailEntity.getBrand());
parcelList.setOrderPackageStatus("20");
parcelList.setOrderPackageFreezeStatus("10");
parcelList.setOrderPackageGroundingStatus("10");
parcelList.setOrderPackageStockupStatus("10");
parcelList.setOrderPackageReservationStatus("10");
parcelList.setOrderPackageLoadingStatus("10");
Date date = new Date();
parcelList.setWarehouseEntryTimeEnd(date);
parcelList.setDealerCode(stockArticleEntity.getDealerCode());
parcelList.setDealerName(stockArticleEntity.getDealerName());
Long orderPackageId = parcelListClient.addReturnId(parcelList);
if(!Objects.isNull(orderPackageId)){
log.info("################saveOrderAndPackage: 包件信息保存成功 OrderPackageCode={}",advanceDetailEntity.getOrderPackageCode());
//1.修改订单在库件数和最后入库时间和入库状态
List<DistributionParcelListEntity> parcelListEntityList = parcelListClient.findEntityListByOrderCode(orderCode, warehouseId);
int size = parcelListEntityList.size();
Integer totalNumber = stockArticleEntity.getTotalNumber();
if(size == 1){
stockArticleEntity.setWarehouseEntryTime(date);
stockArticleEntity.setWarehouseEntryTimeEnd(new Date());
stockArticleEntity.setHandQuantity(size);
}else{
stockArticleEntity.setWarehouseEntryTimeEnd(new Date());
stockArticleEntity.setHandQuantity(size);
}
if(size < totalNumber){
stockArticleEntity.setOrderStatus("10");
}else{
stockArticleEntity.setOrderStatus("20");
}
stockArticleClient.saveOrUpdate(stockArticleEntity);
}
log.info("#############saveOrderAndPackage: 订单包件信息保存完成 OrderPackageCode={}",advanceDetailEntity.getOrderPackageCode());
}
}

8
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingLineServiceImpl.java

@ -1,5 +1,6 @@
package com.logpm.trunkline.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.logpm.trunkline.entity.TrunklineBillladingLineEntity;
import com.logpm.trunkline.mapper.TrunklineBillladingLineMapper;
import com.logpm.trunkline.service.ITrunklineBillladingLineService;
@ -12,4 +13,11 @@ import org.springframework.stereotype.Service;
@AllArgsConstructor
@Service
public class TrunklineBillladingLineServiceImpl extends BaseServiceImpl<TrunklineBillladingLineMapper, TrunklineBillladingLineEntity> implements ITrunklineBillladingLineService {
@Override
public void deleteByBillladingId(Long billladingId) {
QueryWrapper<TrunklineBillladingLineEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("billlading_id",billladingId);
baseMapper.delete(queryWrapper);
}
}

15
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingLogServiceImpl.java

@ -0,0 +1,15 @@
package com.logpm.trunkline.service.impl;
import com.logpm.trunkline.entity.TrunklineBillladingLogEntity;
import com.logpm.trunkline.mapper.TrunklineBillladingLogMapper;
import com.logpm.trunkline.service.ITrunklineBillladingLogService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Slf4j
@AllArgsConstructor
@Service
public class TrunklineBillladingLogServiceImpl extends BaseServiceImpl<TrunklineBillladingLogMapper, TrunklineBillladingLogEntity> implements ITrunklineBillladingLogService {
}

132
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingPackageServiceImpl.java

@ -1,15 +1,143 @@
package com.logpm.trunkline.service.impl;
import com.logpm.trunkline.entity.TrunklineBillladingPackageEntity;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.trunkline.dto.BillladingDTO;
import com.logpm.trunkline.entity.*;
import com.logpm.trunkline.mapper.TrunklineBillladingPackageMapper;
import com.logpm.trunkline.service.ITrunklineBillladingPackageServicie;
import com.logpm.trunkline.service.*;
import com.logpm.trunkline.vo.TrunklineBillladingPackageVO;
import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.exception.CustomerException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
import java.util.Objects;
@Slf4j
@Service
@AllArgsConstructor
public class TrunklineBillladingPackageServiceImpl extends BaseServiceImpl<TrunklineBillladingPackageMapper, TrunklineBillladingPackageEntity> implements ITrunklineBillladingPackageServicie {
private final IBasicdataWarehouseClient basicdataWarehouseClient;
private final ITrunklineBillladingService trunklineBillladingService;
private final ITrunklineBillladingWaybillService trunklineBillladingWaybillService;
private final ITrunklineAdvanceDetailService trunklineAdvanceDetailService;
private final ITrunklineWaybillOrderService trunklineWaybillOrderService;
private final IWarehouseWaybillClient warehouseWaybillClient;
@Override
public void saveEntity(String orderPackageCode, Long billladingId,Long warehouseId,Integer incomingType) {
log.info("################saveEntity: 包件绑定提货单 orderPackageCode={} billladingId={}",orderPackageCode,billladingId);
BasicdataWarehouseEntity warehouseEntity = basicdataWarehouseClient.getEntityWarehouseId(warehouseId);
if(Objects.isNull(warehouseEntity)){
log.warn("############saveEntity: 仓库信息不存在warehouseId={}",warehouseId);
throw new CustomerException(405,"仓库信息不存在");
}
TrunklineBillladingEntity trunklineBillladingEntity = trunklineBillladingService.getById(billladingId);
if(Objects.isNull(trunklineBillladingEntity)){
log.warn("############saveEntity: 提货单不存在 billladingId={}",billladingId);
throw new CustomerException(405,"提货单不存在");
}
TrunklineAdvanceDetailEntity advanceDetailEntity = trunklineAdvanceDetailService.findEntityByOrderPackageCodeAndWarehouseId(orderPackageCode,warehouseId);
if(Objects.isNull(advanceDetailEntity)){
log.warn("############saveEntity: 包件信息不存在 orderPackageCode={}",orderPackageCode);
throw new CustomerException(405,"包件信息不存在");
}
// String orderCode = advanceDetailEntity.getOrderCode();
Long advanceId = advanceDetailEntity.getAdvanceId();
QueryWrapper<TrunklineBillladingPackageEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_package_code",orderPackageCode);
TrunklineBillladingPackageEntity billladingPackageEntity = baseMapper.selectOne(queryWrapper);
if(!Objects.isNull(billladingPackageEntity)){
log.warn("####################saveEntity: 包件已入库 orderPackageCode={}",orderPackageCode);
throw new CustomerException(405,"包件已入库");
}
//1.保存入库包件明细
billladingPackageEntity = new TrunklineBillladingPackageEntity();
billladingPackageEntity.setWarehouseId(warehouseId);
billladingPackageEntity.setWarehouseName(warehouseEntity.getName());
billladingPackageEntity.setOrderPackageCode(orderPackageCode);
billladingPackageEntity.setBillladingId(billladingId);
billladingPackageEntity.setCreateUserName(AuthUtil.getUserName());
billladingPackageEntity.setIncomingType(incomingType);
save(billladingPackageEntity);
//2.判断运单是否需要加上数量
List<TrunklineWaybillOrderEntity> ls = trunklineBillladingWaybillService.findWaybillOrderByBillladingId(billladingId,advanceId);
int size = ls.size();
if(size != 0){
TrunklineWaybillOrderEntity trunklineWaybillOrderEntity = ls.get(0);
Long waybillId = trunklineWaybillOrderEntity.getWaybillId();
//查询该运单对应的所有订单的一个总数量
WarehouseWaybillEntity waybillEntity = warehouseWaybillClient.findByWaybillId(waybillId);
Integer allTotalNum = waybillEntity.getTotalCount();
//查询运单已提货的数量
Integer finishNum = waybillEntity.getStockCount();
//计算数量是否正确
if(finishNum+1 > allTotalNum){
log.warn("####################saveEntity: 运单提货已完成,无法增加提货数量 finishNum={} allTotalNum={}",finishNum,allTotalNum);
throw new CustomerException(405,"运单提货已完成,无法增加提货数量");
}
TrunklineBillladingWaybillEntity billladingWaybillEntity = trunklineBillladingWaybillService.findEntityByWaybillIdAndBillladingId(waybillId,billladingId);
if(Objects.isNull(billladingWaybillEntity)){
log.warn("####################saveEntity: 提货运单信息有误 waybillId={} billladingId={}",waybillId,billladingId);
throw new CustomerException(405,"提货运单信息有误");
}
Integer realNum = billladingWaybillEntity.getRealNum();
billladingWaybillEntity.setRealNum(realNum+1);
trunklineBillladingWaybillService.updateById(billladingWaybillEntity);
waybillEntity.setStockCount(finishNum+1);
warehouseWaybillClient.updateEntity(waybillEntity);
}else{
//查询是否有一条无运单的数据
TrunklineBillladingWaybillEntity noWaybillData = trunklineBillladingWaybillService.findNoWaybillNoData(billladingId);
if(Objects.isNull(noWaybillData)){
noWaybillData = new TrunklineBillladingWaybillEntity();
noWaybillData.setWarehouseId(warehouseId);
noWaybillData.setWarehouseName(warehouseEntity.getName());
noWaybillData.setBillladingId(billladingId);
noWaybillData.setBilladingCode(trunklineBillladingEntity.getBillladingCode());
noWaybillData.setWaybillNo("————");
noWaybillData.setRealNum(1);
noWaybillData.setRealWeight(BigDecimal.ZERO);
noWaybillData.setRealVolume(BigDecimal.ZERO);
trunklineBillladingWaybillService.save(noWaybillData);
}else{
Integer realNum = noWaybillData.getRealNum();
noWaybillData.setRealNum(realNum+1);
trunklineBillladingWaybillService.updateById(noWaybillData);
}
}
int rn = trunklineBillladingEntity.getRealNum();
trunklineBillladingEntity.setRealNum(rn+1);
trunklineBillladingService.updateById(trunklineBillladingEntity);
//根据提货单id重新计算每个运单的费用
trunklineBillladingWaybillService.updateBillladingFeeByBillladingId(trunklineBillladingEntity);
}
@Override
public IPage<TrunklineBillladingPackageVO> findBillladingPackageDetail(IPage<Object> page, BillladingDTO billladingDTO) {
return baseMapper.findBillladingPackageDetail(page,billladingDTO);
}
}

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

@ -1,31 +1,43 @@
package com.logpm.trunkline.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.dto.BillladingWaybillDTO;
import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import com.logpm.trunkline.entity.TrunklineBillladingLineEntity;
import com.logpm.trunkline.entity.TrunklineBillladingLogEntity;
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.service.*;
import com.logpm.trunkline.vo.TrunklineBillladingLineVO;
import com.logpm.trunkline.vo.TrunklineBillladingPackageVO;
import com.logpm.trunkline.vo.TrunklineBillladingVO;
import com.logpm.trunkline.vo.TrunklineBillladingWaybillVO;
import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import com.logpm.warehouse.vo.WarehouseWaybillVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.exception.CustomerException;
import org.springblade.common.utils.CommonUtil;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Slf4j
@ -35,10 +47,13 @@ public class TrunklineBillladingServiceImpl extends BaseServiceImpl<TrunklineBil
private final ITrunklineBillladingLineService billladingLineService;
private final ITrunklineBillladingWaybillService billladingWaybillService;
private final ITrunklineBillladingPackageServicie trunklineBillladingPackageServicie;
private final ITrunklineWaybillOrderService trunklineWaybillOrderService;
private final IWarehouseWaybillClient warehouseWaybillClient;
private final IBasicdataWarehouseClient basicdataWarehouseClient;
private final IBasicdataCodeClient basicdataCodeClient;
private final ITrunklineBillladingLogService trunklineBillladingLogService;
@Override
public IPage<TrunklineBillladingVO> pageList(BillladingDTO billladingDTO) {
@ -100,8 +115,20 @@ public class TrunklineBillladingServiceImpl extends BaseServiceImpl<TrunklineBil
billladingWaybillEntity.setRealNum(0);
billladingWaybillEntity.setRealWeight(BigDecimal.ZERO);
billladingWaybillEntity.setRealVolume(BigDecimal.ZERO);
billladingWaybillEntity.setBillladingFee(BigDecimal.ZERO);
billladingWaybillService.save(billladingWaybillEntity);
}
TrunklineBillladingLogEntity logEntity = new TrunklineBillladingLogEntity();
logEntity.setWarehouseId(warehouseId);
logEntity.setWarehouseName(warehouseName);
logEntity.setCreateUserName(AuthUtil.getUserName());
logEntity.setContent("创建提货单 billladingCode="+billladingCode);
logEntity.setBillladingId(billladingId);
logEntity.setAfter(JSONObject.toJSONString(trunklineBillladingEntity));
trunklineBillladingLogService.save(logEntity);
}
@Override
@ -117,4 +144,342 @@ public class TrunklineBillladingServiceImpl extends BaseServiceImpl<TrunklineBil
return pageList;
}
@Override
public void updateBilllading(BillladingDTO billladingDTO) {
log.info("###############updateBilllading: billladingDTO={}",billladingDTO);
Long billladingId = billladingDTO.getId();
Long warehouseId = billladingDTO.getWarehouseId();
String warehouseName = billladingDTO.getWarehouseName();
if(Objects.isNull(billladingId)){
log.warn("##############updateBilllading: 提货单id为空 billladingId={}",billladingId);
throw new CustomerException(405,"提货单id为空");
}
TrunklineBillladingEntity billladingEntity = baseMapper.selectById(billladingId);
if(Objects.isNull(billladingEntity)){
log.warn("##############updateBilllading: 提货单信息不存在 billladingId={}",billladingId);
throw new CustomerException(405,"提货单信息不存在");
}
String billladingCode = billladingEntity.getBillladingCode();
TrunklineBillladingLogEntity logEntity = new TrunklineBillladingLogEntity();
logEntity.setWarehouseId(warehouseId);
logEntity.setWarehouseName(warehouseName);
logEntity.setCreateUserName(AuthUtil.getUserName());
logEntity.setContent("修改提货单 billladingCode="+billladingCode);
logEntity.setBillladingId(billladingId);
logEntity.setBefore(JSONObject.toJSONString(billladingEntity));
BeanUtil.copy(billladingDTO,billladingEntity);
updateById(billladingEntity);
//先删除路线节点
billladingLineService.deleteByBillladingId(billladingId);
//保存线路节点
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);
}
billladingEntity.setLineNameTitle(lineTitle);
updateById(billladingEntity);
//先删除所有对应的运单
billladingWaybillService.deletedByBillladingId(billladingId);
//保存提货运单
List<TrunklineBillladingWaybillVO> billladingWaybillList = billladingDTO.getBillladingWaybillList();
for (TrunklineBillladingWaybillVO billladingWaybillVO:billladingWaybillList){
String waybillNo = billladingWaybillVO.getWaybillNo();
//查询运单以前是否挂在当前提货单下
QueryWrapper<TrunklineBillladingWaybillEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("billlading_id",billladingId)
.eq("waybill_no",waybillNo);
TrunklineBillladingWaybillEntity one = billladingWaybillService.getOne(queryWrapper);
if(!Objects.isNull(one)){
one.setIsDeleted(0);
billladingWaybillService.updateById(one);
}else{
TrunklineBillladingWaybillEntity billladingWaybillEntity = new TrunklineBillladingWaybillEntity();
BeanUtil.copy(billladingWaybillVO,billladingWaybillEntity);
billladingWaybillEntity.setBillladingId(billladingId);
billladingWaybillEntity.setBilladingCode(billladingCode);
billladingWaybillEntity.setRealNum(0);
billladingWaybillEntity.setRealWeight(BigDecimal.ZERO);
billladingWaybillEntity.setRealVolume(BigDecimal.ZERO);
billladingWaybillEntity.setBillladingFee(BigDecimal.ZERO);
billladingWaybillService.save(billladingWaybillEntity);
}
}
logEntity.setAfter(JSONObject.toJSONString(billladingEntity));
trunklineBillladingLogService.save(logEntity);
}
@Override
public void updateBillladingStatus(Long billladingId, Integer type,Long warehouseId,String warehouseName) {
log.info("#############updateBillladingStatus: 更新提货单状态 type={}",type);
TrunklineBillladingEntity billladingEntity = baseMapper.selectById(billladingId);
if(Objects.isNull(billladingEntity)){
log.warn("##################updateBillladingStatus: 提货单不存在 billladingId={}",billladingId);
throw new CustomerException(405,"提货单不存在");
}
String billladingCode = billladingEntity.getBillladingCode();
StringBuilder stringBuffer = new StringBuilder();
TrunklineBillladingLogEntity logEntity = new TrunklineBillladingLogEntity();
logEntity.setWarehouseId(warehouseId);
logEntity.setWarehouseName(warehouseName);
logEntity.setCreateUserName(AuthUtil.getUserName());
logEntity.setBillladingId(billladingId);
logEntity.setBefore(JSONObject.toJSONString(billladingEntity));
stringBuffer.append("变更提货单状态 billladingCode=").append(billladingCode);
String billladingStatus = billladingEntity.getBillladingStatus();
//提货单状态 1=未开始,2=提货中,3=已完成,4=已结算 5=已取消
switch (type){
case 1://开始提货
if("1".equals(billladingStatus)){
billladingEntity.setBillladingStatus("2");
billladingEntity.setStartTime(new Date());
stringBuffer.append(",未开始变更为提货中");
}else{
log.warn("##################updateBillladingStatus: 提货单不能更新为提货中 billladingStatus={}",billladingStatus);
throw new CustomerException(405,"提货单不能更新为提货中");
}
break;
case 2://提货完成
if("2".equals(billladingStatus)){
billladingEntity.setBillladingStatus("3");
billladingEntity.setEndTime(new Date());
stringBuffer.append(",提货中变更为提货完成");
}else{
log.warn("##################updateBillladingStatus: 提货单不能更新为已完成 billladingStatus={}",billladingStatus);
throw new CustomerException(405,"提货单不能更新为已完成");
}
break;
case 3://取消完成
if("3".equals(billladingStatus)){
billladingEntity.setBillladingStatus("2");
billladingEntity.setEndTime(null);
stringBuffer.append(",提货完成变更为提货中");
}else{
log.warn("##################updateBillladingStatus: 提货单不能更新为提货中 billladingStatus={}",billladingStatus);
throw new CustomerException(405,"提货单不能更新为提货中");
}
break;
case 4://结算
if("3".equals(billladingStatus)){
Date date = new Date();
billladingEntity.setBillladingStatus("4");
billladingEntity.setSettlementTime(date);
billladingEntity.setSettlementId(AuthUtil.getUserId());
billladingEntity.setSettlementName(AuthUtil.getUserName());
stringBuffer.append(",提货完成变更为已结算,时间"+ CommonUtil.dateToString(date)+",变更人"+AuthUtil.getUserName());
}else{
log.warn("##################updateBillladingStatus: 提货单不能更新为已结算 billladingStatus={}",billladingStatus);
throw new CustomerException(405,"提货单不能更新为提货中");
}
break;
case 5://取消结算
if("4".equals(billladingStatus)){
billladingEntity.setBillladingStatus("3");
billladingEntity.setSettlementTime(null);
billladingEntity.setSettlementId(null);
billladingEntity.setSettlementName(null);
stringBuffer.append(",已结算变更为提货完成,时间"+ CommonUtil.dateToString(new Date())+",变更人"+AuthUtil.getUserName());
}else{
log.warn("##################updateBillladingStatus: 提货单不能更新为提货完成 billladingStatus={}",billladingStatus);
throw new CustomerException(405,"提货单不能更新为提货完成");
}
break;
case 6://取消提货
billladingEntity.setBillladingStatus("5");
stringBuffer.append(",变更为取消提货,时间"+ CommonUtil.dateToString(new Date())+",变更人"+AuthUtil.getUserName());
break;
default:
log.warn("#############updateBillladingStatus: 未知的更新操作");
throw new CustomerException(405,"未知的更新操作");
}
//更新状态
updateById(billladingEntity);
logEntity.setContent(stringBuffer.toString());
logEntity.setAfter(JSONObject.toJSONString(billladingEntity));
trunklineBillladingLogService.save(logEntity);
}
@Override
public R billladingDetail(Long billladingId, Long warehouseId) {
log.info("############billladingDetail: 查询提货单详情 billladingId={}",billladingId);
TrunklineBillladingEntity billladingEntity = baseMapper.selectById(billladingId);
if(Objects.isNull(billladingEntity)){
log.warn("#############billladingDetail: 提货单不存在 billladingId={}",billladingId);
return R.fail(405,"提货单不存在");
}
TrunklineBillladingVO trunklineBillladingVO = new TrunklineBillladingVO();
BeanUtil.copy(billladingEntity,trunklineBillladingVO);
//查询提货单关联的运单信息
List<TrunklineBillladingWaybillVO> ls = billladingWaybillService.findWaybillInfoListByBillladingId(billladingId);
trunklineBillladingVO.setWaybillList(ls);
return R.data(trunklineBillladingVO);
}
@Override
public R billladingPackageDetail(BillladingDTO billladingDTO,Integer pageNum,Integer pageSize) {
Long billladingId = billladingDTO.getId();
log.info("############billladingPackageDetail: 查询提货单包件明细 billladingId={}",billladingId);
TrunklineBillladingEntity billladingEntity = baseMapper.selectById(billladingId);
if(Objects.isNull(billladingEntity)){
log.warn("#############billladingPackageDetail: 提货单不存在 billladingId={}",billladingId);
return R.fail(405,"提货单不存在");
}
IPage<Object> page = new Page<>();
page.setCurrent(pageNum);
page.setSize(pageSize);
IPage<TrunklineBillladingPackageVO> pageList = trunklineBillladingPackageServicie.findBillladingPackageDetail(page,billladingDTO);
return R.data(pageList);
}
@Transactional(rollbackFor = Exception.class)
@Override
public R updateBillladingWaybillNum(Long billladingId, List<BillladingWaybillDTO> billladingWaybillEnterList) {
log.info("############updateBillladingWaybillNum: 更新提货单下运单数量 billladingId={}",billladingId);
TrunklineBillladingEntity billladingEntity = baseMapper.selectById(billladingId);
if(Objects.isNull(billladingEntity)){
log.warn("#############updateBillladingWaybillNum: 提货单不存在 billladingId={}",billladingId);
return R.fail(405,"提货单不存在");
}
Integer stockNum = 0;
BigDecimal stockWeight = BigDecimal.ZERO;
BigDecimal stockVolume = BigDecimal.ZERO;
for (BillladingWaybillDTO billladingWaybillDTO:billladingWaybillEnterList){
Long billladingWaybillId = billladingWaybillDTO.getBillladingWaybillId();
TrunklineBillladingWaybillEntity billladingWaybillEntity = billladingWaybillService.getById(billladingWaybillId);
Long waybillId = billladingWaybillEntity.getWaybillId();
String waybillNo = billladingWaybillEntity.getWaybillNo();
Integer tNum = billladingWaybillService.getFinishNumByWaybillIdNotBillladingWaybillId(waybillId,billladingWaybillId);
WarehouseWaybillEntity warehouseWaybillEntity = warehouseWaybillClient.findByWaybillId(waybillId);
if(Objects.isNull(warehouseWaybillEntity)){
log.warn("###############updateBillladingWaybillNum: 运单不存在 waybillId={}",waybillId);
return R.fail(405,"运单不存在");
}
Integer totalCount = warehouseWaybillEntity.getTotalCount();
Integer enterNum = billladingWaybillDTO.getEnterNum();
if(tNum+enterNum > totalCount){
log.warn("###############updateBillladingWaybillNum: 运单提货数量已经大于总数 waybillId={} totalCount={}",waybillId,totalCount);
throw new CustomerException(405,"【"+waybillNo+"】运单提货数量已经大于总数");
}
BigDecimal enterWeight = billladingWaybillDTO.getEnterWeight();
BigDecimal enterVolume = billladingWaybillDTO.getEnterVolume();
stockNum = stockNum + enterNum;
stockWeight = stockWeight.add(enterWeight);
stockVolume = stockVolume.add(enterVolume);
billladingWaybillService.updateDataByBillladingWaybillId(billladingWaybillId,enterNum,enterWeight,enterVolume);
}
billladingEntity.setRealNum(stockNum);
billladingEntity.setRealWeight(stockWeight);
billladingEntity.setRealVolume(stockVolume);
updateById(billladingEntity);
billladingWaybillService.updateBillladingFeeByBillladingId(billladingEntity);
return R.success("更新成功");
}
@Override
public R findWaybillListNotBillladingId(Long billladingId) {
TrunklineBillladingEntity trunklineBillladingEntity = baseMapper.selectById(billladingId);
if(Objects.isNull(trunklineBillladingEntity)){
log.warn("#############findWaybillListNotBillladingId: 提货单不存在 billladingId={}",billladingId);
return R.fail(405,"提货单不存在");
}
List<TrunklineBillladingWaybillVO> waybillInfoListByBillladingId = billladingWaybillService.findWaybillInfoListByBillladingId(billladingId);
List<WarehouseWaybillVO> ls = baseMapper.findWaybillListNotBillladingId(waybillInfoListByBillladingId);
return R.data(ls);
}
@Override
public R addWaybillToBillladingId(BillladingDTO billladingDTO) {
log.info("##############addWaybillToBillladingId: 添加运单");
Long billladingId = billladingDTO.getId();
Integer enterNum = billladingDTO.getEnterNum();
String waybillNo = billladingDTO.getWaybillNo();
Long warehouseId = billladingDTO.getWarehouseId();
String warehouseName = billladingDTO.getWarehouseName();
TrunklineBillladingEntity trunklineBillladingEntity = baseMapper.selectById(billladingId);
if(Objects.isNull(trunklineBillladingEntity)){
log.warn("#############addWaybillToBillladingId: 提货单不存在 billladingId={}",billladingId);
return R.fail(405,"提货单不存在");
}
WarehouseWaybillEntity warehouseWaybillEntity = warehouseWaybillClient.findByWaybillNo(waybillNo);
if(Objects.isNull(warehouseWaybillEntity)){
log.warn("#############addWaybillToBillladingId: 运单不存在 waybillNo={}",waybillNo);
return R.fail(405,"运单不存在");
}
Long waybillId = warehouseWaybillEntity.getId();
Integer totalCount = warehouseWaybillEntity.getTotalCount();
//查询运单有多少提货数量
Integer finishNum = billladingWaybillService.getFinishNumByWaybillId(waybillId);
if(finishNum+enterNum > totalCount){
log.warn("#############addWaybillToBillladingId: 总提货数大于运单总数量 totalCount={} finishNum={} enterNum={}",totalCount,finishNum,enterNum);
return R.fail(405,"总提货数大于运单总数量");
}
TrunklineBillladingWaybillEntity entity = new TrunklineBillladingWaybillEntity();
entity.setWarehouseId(warehouseId);
entity.setWarehouseName(warehouseName);
entity.setBillladingId(billladingId);
entity.setBilladingCode(trunklineBillladingEntity.getBillladingCode());
entity.setWaybillId(waybillId);
entity.setWaybillNo(waybillNo);
entity.setRealNum(enterNum);
entity.setRealWeight(BigDecimal.ZERO);
entity.setRealVolume(BigDecimal.ZERO);
entity.setBillladingFee(BigDecimal.ZERO);
billladingWaybillService.save(entity);
billladingWaybillService.updateBillladingFeeByBillladingId(trunklineBillladingEntity);
return R.success("添加成功");
}
}

101
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingWaybillServiceImpl.java

@ -1,15 +1,116 @@
package com.logpm.trunkline.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import com.logpm.trunkline.entity.TrunklineBillladingWaybillEntity;
import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity;
import com.logpm.trunkline.mapper.TrunklineBillladingWaybillMapper;
import com.logpm.trunkline.service.ITrunklineBillladingWaybillService;
import com.logpm.trunkline.vo.TrunklineBillladingWaybillVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
@Slf4j
@Service
@AllArgsConstructor
public class TrunklineBillladingWaybillServiceImpl extends BaseServiceImpl<TrunklineBillladingWaybillMapper, TrunklineBillladingWaybillEntity> implements ITrunklineBillladingWaybillService {
@Override
public List<TrunklineWaybillOrderEntity> findWaybillOrderByBillladingId(Long billladingId, Long advanceId) {
return baseMapper.findWaybillOrderByBillladingId(billladingId,advanceId);
}
@Override
public TrunklineBillladingWaybillEntity findEntityByWaybillIdAndBillladingId(Long waybillId, Long billladingId) {
QueryWrapper<TrunklineBillladingWaybillEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("billlading_id",billladingId)
.eq("waybill_id",waybillId)
.eq("is_deleted",0);
return baseMapper.selectOne(queryWrapper);
}
@Override
public Integer getFinishNumByWaybillId(Long waybillId) {
return baseMapper.getFinishNumByWaybillId(waybillId);
}
@Override
public TrunklineBillladingWaybillEntity findNoWaybillNoData(Long billladingId) {
QueryWrapper<TrunklineBillladingWaybillEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("billlading_id",billladingId)
.eq("waybill_no","————")
.eq("is_deleted",0);
return baseMapper.selectOne(queryWrapper);
}
@Override
public void deletedByBillladingId(Long billladingId) {
QueryWrapper<TrunklineBillladingWaybillEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("billlading_id",billladingId);
baseMapper.delete(queryWrapper);
}
@Override
public List<TrunklineBillladingWaybillVO> findWaybillInfoListByBillladingId(Long billladingId) {
return baseMapper.findWaybillInfoListByBillladingId(billladingId);
}
@Override
public void updateBillladingFeeByBillladingId(TrunklineBillladingEntity billladingEntity) {
log.info("################updateBillladingFeeByBillladingId: 更新提货单的成本分摊 billladingEntity={}",billladingEntity);
Long billladingId = billladingEntity.getId();//提货单id
BigDecimal totalFee = billladingEntity.getTotalFee();
String chargeType = billladingEntity.getChargeType();//计费模式 1按件 2按重量 3按体积
int realNum = billladingEntity.getRealNum();
BigDecimal realWeight = billladingEntity.getRealWeight();
BigDecimal realVolume = billladingEntity.getRealVolume();
BigDecimal price = BigDecimal.ZERO;
if("1".equals(chargeType)){
price = totalFee.divide(new BigDecimal(realNum),2,BigDecimal.ROUND_UP);
}else if ("2".equals(chargeType)){
price = totalFee.divide(realWeight,4,BigDecimal.ROUND_UP);
}else if("3".equals(chargeType)){
price = totalFee.divide(realVolume,4,BigDecimal.ROUND_UP);
}
QueryWrapper<TrunklineBillladingWaybillEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("billlading_id",billladingId);
List<TrunklineBillladingWaybillEntity> trunklineBillladingWaybillEntities = baseMapper.selectList(queryWrapper);
for (TrunklineBillladingWaybillEntity billladingWaybillEntity:trunklineBillladingWaybillEntities){
Integer rn = billladingWaybillEntity.getRealNum();
BigDecimal rw = billladingWaybillEntity.getRealWeight();
BigDecimal rv = billladingWaybillEntity.getRealVolume();
BigDecimal fee = BigDecimal.ZERO;
if("1".equals(chargeType)){
fee = price.multiply(new BigDecimal(rn));
}else if ("2".equals(chargeType)){
fee = price.multiply(rw);
}else if("3".equals(chargeType)){
fee = price.multiply(rv);
}
billladingWaybillEntity.setBillladingFee(fee);
updateById(billladingWaybillEntity);
}
}
@Override
public void updateDataByBillladingWaybillId(Long billladingWaybillId, Integer enterNum, BigDecimal enterWeight, BigDecimal enterVolume) {
baseMapper.updateDataByBillladingWaybillId(billladingWaybillId,enterNum,enterWeight,enterVolume);
}
@Override
public Integer getFinishNumByWaybillIdNotBillladingWaybillId(Long waybillId, Long billladingWaybillId) {
return baseMapper.getFinishNumByWaybillIdNotBillladingWaybillId(waybillId,billladingWaybillId);
}
}

19
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineWaybillOrderServiceImpl.java

@ -0,0 +1,19 @@
package com.logpm.trunkline.service.impl;
import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity;
import com.logpm.trunkline.mapper.TrunklineWaybillOrderMapper;
import com.logpm.trunkline.service.ITrunklineWaybillOrderService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@AllArgsConstructor
public class TrunklineWaybillOrderServiceImpl extends BaseServiceImpl<TrunklineWaybillOrderMapper, TrunklineWaybillOrderEntity> implements ITrunklineWaybillOrderService {
@Override
public Integer getTotalNumByWaybillId(Long waybillId) {
return baseMapper.getTotalNumByWaybillId(waybillId);
}
}
Loading…
Cancel
Save