Browse Source

Merge branch 'pre-production'

master
pref_mail@163.com 6 months ago
parent
commit
6038152c3d
  1. 21
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineCarsLoadScanEntity.java
  2. 4
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseWaybillDetailClient.java
  3. 61
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/ExportWarehouseWaybillVO.java
  4. 24
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WaybillOrderTotalWeightAndVolumeVO.java
  5. 14
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataVehicleController.java
  6. 8
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataVehicleServiceImpl.java
  7. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  8. 3
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/controller/OrderController.java
  9. 48
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/entity/CustomPushEntity.java
  10. 62
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/job/AuthPushJob.java
  11. 16
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mapper/CustomPushMapper.java
  12. 5
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mapper/CustomPushMapper.xml
  13. 5
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mq/NodeDataPushListener.java
  14. 14
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/service/CustomPushService.java
  15. 22
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/service/impl/CustomPushServiceImpl.java
  16. 1
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/service/impl/DeliveryNoteServiceImpl.java
  17. 2
      blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/controller/OrderController.java
  18. 2
      blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/impl/DeliveryNoteServiceImpl.java
  19. 3
      blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/service/impl/ReceiptServiceImpl.java
  20. 24
      blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java
  21. 9
      blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java
  22. 2
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml
  23. 43
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java
  24. 110
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java
  25. 4
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineWaybillOrderServiceImpl.java
  26. 10
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillDetailClient.java
  27. 4
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWayBillDetailMapper.java
  28. 10
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillDetailMapper.xml
  29. 178
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml
  30. 13
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWayBillDetailService.java
  31. 7
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWayBillDetailServiceImpl.java

21
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineCarsLoadScanEntity.java

@ -154,4 +154,25 @@ public class TrunklineCarsLoadScanEntity extends TenantEntity {
@ApiModelProperty(name = "顾客地址",notes = "")
private String customerAddress;
/** 一级品类 */
@ApiModelProperty(name = "一级品类",notes = "")
private String firsts;
/** 二级品类 */
@ApiModelProperty(name = "二级品类",notes = "")
private String senconds;
/** 三级品类 */
@ApiModelProperty(name = "三级品类",notes = "")
private String thirds;
/** 物料编码 */
@ApiModelProperty(name = "物料编码",notes = "")
private String materialCode;
/** 物料名称 */
@ApiModelProperty(name = "物料名称",notes = "")
private String materialName;
}

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

@ -17,6 +17,7 @@
package com.logpm.warehouse.feign;
import com.logpm.warehouse.entity.WarehouseWayBillDetail;
import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO;
import org.springblade.common.constant.ModuleNameConstant;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
@ -25,6 +26,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;
/**
* 运单表 Feign接口类
@ -76,4 +78,6 @@ public interface IWarehouseWaybillDetailClient {
@GetMapping(API_PREFIX+"/findENtityByCodeAndName")
WarehouseWayBillDetail findENtityByCodeAndName(@RequestParam String orderCode, @RequestParam String category);
@PostMapping(API_PREFIX+"/findWaybillOrderTotalWeightAndVolumeByWaybillNoList")
List<WaybillOrderTotalWeightAndVolumeVO> findWaybillOrderTotalWeightAndVolumeByWaybillNoList(@RequestBody List<String> waybillNoList);
}

61
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/ExportWarehouseWaybillVO.java

@ -18,6 +18,9 @@ public class ExportWarehouseWaybillVO implements Serializable {
@ExcelProperty(value = "订单号")
private String orderNo;
@ExcelProperty(value = "备注")
private String remark;
@ExcelProperty(value = "发站仓")
private String departureWarehouseName;
@ -64,6 +67,12 @@ public class ExportWarehouseWaybillVO implements Serializable {
@ExcelProperty(value = "货物名称")
private String goodsName;
@ExcelProperty(value = "货物名称明细")
private String productNum;
@ExcelProperty(value = "干线品类单价")
private String productPrice;
@ExcelProperty(value = "按件分摊")
private BigDecimal costPiece;
@ -76,6 +85,9 @@ public class ExportWarehouseWaybillVO implements Serializable {
@ExcelProperty(value = "总件数")
private Integer totalCount;
@ExcelProperty(value = "签收数量")
private Integer signNum;
@ExcelProperty(value = "总重量")
private BigDecimal totalWeight;
@ -142,13 +154,6 @@ public class ExportWarehouseWaybillVO implements Serializable {
@ExcelProperty(value = "经办人")
private String agent;
@ExcelProperty(value = "创建时间")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ExcelProperty(value = "制单时间")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date documentMakingTime;
@ExcelIgnore
private Integer pickupCompleteOrNot;
@ -176,8 +181,40 @@ public class ExportWarehouseWaybillVO implements Serializable {
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date freezeTime;
@ExcelProperty(value = "审核人")
private String checkUserName;
@ExcelProperty(value = "审核原因")
private String checkReson;
@ExcelProperty(value = "审核备注")
private String checkRemark;
@ExcelProperty(value = "审核时间")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date checkTime;
@ExcelProperty(value = "签收人")
private String signUserName;
@ExcelProperty(value = "复核人")
private String signCheckUserName;
@ExcelProperty(value = "签收时间")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date signTime;
@ExcelProperty(value = "复核时间")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date signCheckTime;
@ExcelIgnore
private Integer abolishStatus;
@ExcelProperty(value = "是否作废")
private String abolishStatusStr;
@ -188,4 +225,14 @@ public class ExportWarehouseWaybillVO implements Serializable {
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date abolishTime;
@ExcelProperty(value = "创建时间")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ExcelProperty(value = "制单时间")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date documentMakingTime;
}

24
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WaybillOrderTotalWeightAndVolumeVO.java

@ -0,0 +1,24 @@
package com.logpm.warehouse.vo;
import lombok.Data;
@Data
public class WaybillOrderTotalWeightAndVolumeVO {
/**
* 运单号
*/
private String waybillNo;
/**
* 总体积
*/
private String sumVolume;
/**
* 总总量
*/
private String sumWeight;
}

14
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataVehicleController.java

@ -35,6 +35,7 @@ import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.springblade.common.exception.CustomerException;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
@ -150,10 +151,15 @@ public class BasicdataVehicleController extends BladeController {
@ApiOperationSupport(order = 4)
@ApiOperation(value = "新增", notes = "传入basicdataVehicle")
public R save(@Valid @RequestBody BasicdataVehicleDTO basicdataVehicle) {
boolean save = basicdataVehicleService.saveVehicle(basicdataVehicle);
//加入关联表
if (null !=basicdataVehicle.getVehicleOwners() && save){
Integer b = basicdataVehicleService.updateOwners(basicdataVehicle);
boolean save = false;
try {
save = basicdataVehicleService.saveVehicle(basicdataVehicle);
//加入关联表
if (null !=basicdataVehicle.getVehicleOwners() && save){
Integer b = basicdataVehicleService.updateOwners(basicdataVehicle);
}
} catch (CustomerException e) {
throw new CustomerException(e.getMessage());
}
return R.status(save);
}

8
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataVehicleServiceImpl.java

@ -168,8 +168,16 @@ public class BasicdataVehicleServiceImpl extends BaseServiceImpl<BasicdataVehicl
if (Func.isNotEmpty(carrierEntity)) {
basicdataVehicle.setCarrierName(carrierEntity.getCarrierName());
}
}
// 验证车牌号码 是否在系统已存在
List<BasicdataVehicleEntity> list = this.list();
// 验证车牌号码是否在系统已存在
if (list.stream().anyMatch(e -> e.getVehicleNub().equals(basicdataVehicle.getVehicleNub()))) {
throw new CustomerException("车牌号已存在,请重新输入");
}
return this.save(basicdataVehicle);
}

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java

@ -1570,6 +1570,7 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
@Override
public List<DistributionParcelListEntity> findListByOrderPackageCodes(List<String> orderPackageCodes) {
log.info(">>>>>>>>>>>>>>>> orderPackageCodes :{}",orderPackageCodes);
return baseMapper.findListByOrderPackageCodes(orderPackageCodes);
}

3
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/controller/OrderController.java

@ -1,7 +1,6 @@
package com.logpm.factorydata.jinpai.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.factorydata.jinpai.service.DeliveryNoteService;
@ -37,6 +36,8 @@ public class OrderController {
private final DeliveryNoteService service;
@ResponseBody
@PostMapping
@ApiOperationSupport(order = 1)

48
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/entity/CustomPushEntity.java

@ -0,0 +1,48 @@
package com.logpm.factorydata.jinpai.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.mp.base.BaseEntity;
/**
* 金牌自定义回传 实体类
*
* @author zhaoqiaobo
* @create 2024-04-26
*/
@Data
@TableName("jp_custom_push")
@ApiModel(value = "金牌自定义回传", description = "金牌自定义回传")
@EqualsAndHashCode(callSuper = true)
public class CustomPushEntity extends BaseEntity {
@ApiModelProperty(name = "订单号", notes = "")
private String orderCode;
@ApiModelProperty(name = "节点 到站:1030100 入库:105040", notes = "")
private String nodeCode;
@ApiModelProperty(name = "包件码", notes = "")
private String packageCode;
@ApiModelProperty(name = "状态 1已发送 0未发送", notes = "")
private Integer sendStatus;
@ApiModelProperty(name = "内容", notes = "")
private String content;
@ApiModelProperty(name = "预留1", notes = "")
private String reserve1;
@ApiModelProperty(name = "预留2", notes = "")
private String reserve2;
@ApiModelProperty(name = "预留3", notes = "")
private String reserve3;
@ApiModelProperty(name = "预留4", notes = "")
private String reserve4;
@ApiModelProperty(name = "预留5", notes = "")
private String reserve5;
}

62
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/job/AuthPushJob.java

@ -0,0 +1,62 @@
package com.logpm.factorydata.jinpai.job;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.factorydata.jinpai.entity.CustomPushEntity;
import com.logpm.factorydata.jinpai.service.CustomPushService;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.factorydata.FactoryDataConstants;
import org.springblade.common.enums.BooleanZeroOneEnums;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 自动回推金牌工厂
*
* @author zhaoqiaobo
* @create 2024-04-02
*/
@AllArgsConstructor
@Component
@Slf4j
public class AuthPushJob {
private final CustomPushService customPushService;
private final RabbitTemplate rabbitTemplate;
/**
* 自定义回传工厂节点作业数据
*
* @param param
* @return
* @throws Exception
*/
@XxlJob("customPushFactoryData")
public ReturnT<String> customPushFactoryData(String param) throws Exception {
// 查出数据,回推工厂
List<CustomPushEntity> list = customPushService.list(Wrappers.<CustomPushEntity>lambdaQuery()
.select(CustomPushEntity::getId, CustomPushEntity::getContent)
.eq(CustomPushEntity::getSendStatus, 0)
.orderByAsc(CustomPushEntity::getNodeCode)
.last("limit 1"));
if (CollUtil.isNotEmpty(list)) {
CustomPushEntity customPushEntity = list.get(0);
if (StrUtil.isNotEmpty(customPushEntity.getContent())) {
rabbitTemplate.convertAndSend(FactoryDataConstants.Mq.Exchanges.NODE_DATA_PUSH,
FactoryDataConstants.Mq.RoutingKeys.JP_NODE_DATA_PUSH, customPushEntity.getContent());
CustomPushEntity updateEntity = new CustomPushEntity();
updateEntity.setId(customPushEntity.getId());
updateEntity.setSendStatus(BooleanZeroOneEnums.YES.getCode());
customPushService.updateById(updateEntity);
}
}
return ReturnT.SUCCESS;
}
}

16
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mapper/CustomPushMapper.java

@ -0,0 +1,16 @@
package com.logpm.factorydata.jinpai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.factorydata.jinpai.entity.CustomPushEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 金牌自定义回传 mapper
*
* @author zqb
* @since 2024-03-26
*/
@Mapper
public interface CustomPushMapper extends BaseMapper<CustomPushEntity> {
}

5
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mapper/CustomPushMapper.xml

@ -0,0 +1,5 @@
<?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.factorydata.jinpai.mapper.CustomPushMapper">
</mapper>

5
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mq/NodeDataPushListener.java

@ -125,7 +125,7 @@ public class NodeDataPushListener {
Map<String, FactoryNodePushEntity> pushEntityMap = new HashMap<>();
if (CollUtil.isNotEmpty(pushEntities)) {
pushEntityMap = pushEntities.stream().filter(pushEntity -> {
return pushEntity.getNode().equals(FactoryNodeEnums.FINAL_NET_ARRIVE_CAR.getCode());
return StrUtil.equals(pushEntity.getNode(),FactoryNodeEnums.FINAL_NET_ARRIVE_CAR.getCode().toString());
}).collect(Collectors.toMap(FactoryNodePushEntity::getOrderCode, v -> v));
}
JSONObject mainJson = JSONUtil.parseObj(main);
@ -191,7 +191,7 @@ public class NodeDataPushListener {
Map<String, FactoryNodePushEntity> pushEntityMap = new HashMap<>();
if (CollUtil.isNotEmpty(pushEntities)) {
pushEntityMap = pushEntities.stream().filter(pushEntity -> {
return pushEntity.getNode().equals(FactoryNodeEnums.END_WAREHOUSE_UNLOADING.getCode());
return StrUtil.equals(pushEntity.getNode(),FactoryNodeEnums.END_WAREHOUSE_UNLOADING.getCode().toString());
}).collect(Collectors.toMap(FactoryNodePushEntity::getPackageCode, v -> v));
}
for (PushData pushData : content) {
@ -219,6 +219,7 @@ public class NodeDataPushListener {
.orderCode(pushData.getOrderCode())
.node(FactoryNodeEnums.END_WAREHOUSE_UNLOADING.getCode().toString())
.content(JSONUtil.toJsonStr(js))
.packageCode(pushData.getPackageCode())
.resultContent(result)
.build());
}

14
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/service/CustomPushService.java

@ -0,0 +1,14 @@
package com.logpm.factorydata.jinpai.service;
import com.logpm.factorydata.jinpai.entity.CustomPushEntity;
import org.springblade.core.mp.base.BaseService;
/**
* 金牌自定义回传 服务类
*
* @Author zqb
* @Date 2024/4/26
**/
public interface CustomPushService extends BaseService<CustomPushEntity> {
}

22
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/service/impl/CustomPushServiceImpl.java

@ -0,0 +1,22 @@
package com.logpm.factorydata.jinpai.service.impl;
import com.logpm.factorydata.jinpai.entity.CustomPushEntity;
import com.logpm.factorydata.jinpai.mapper.CustomPushMapper;
import com.logpm.factorydata.jinpai.service.CustomPushService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
/**
* 金牌自定义回传 业务实现类
*
* @Author zqb
* @Date 2024/4/26
**/
@Slf4j
@Service
@AllArgsConstructor
public class CustomPushServiceImpl extends BaseServiceImpl<CustomPushMapper, CustomPushEntity> implements CustomPushService {
}

1
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/service/impl/DeliveryNoteServiceImpl.java

@ -392,6 +392,7 @@ public class DeliveryNoteServiceImpl extends BaseServiceImpl<DeliveryNoteMapper,
advanceEntity.setTotalNum(CollUtil.isNotEmpty(value) ? value.size() : 0);
advanceEntity.setPackName("");
advanceEntity.setPackCode("");
advanceEntity.setCreateUserName("数据同步");
advanceEntity.setWarehouseId(warehouseId);
advanceEntity.setWarehouseName(warehouseName);

2
blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/controller/OrderController.java

@ -45,7 +45,7 @@ public class OrderController {
public R order(@RequestBody Map param) {
log.info("推送节点数据:{} ", JSONUtil.toJsonStr(param));
String msg = JSONUtil.toJsonStr(param);
rabbitTemplate.convertAndSend(FactoryDataConstants.Mq.RoutingKeys.OLO_NODE_DATA_PUSH,
rabbitTemplate.convertAndSend(FactoryDataConstants.Mq.Exchanges.NODE_DATA_PUSH,
FactoryDataConstants.Mq.RoutingKeys.OLO_NODE_DATA_PUSH, msg);
return R.success("推送成功");
}

2
blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/impl/DeliveryNoteServiceImpl.java

@ -98,7 +98,7 @@ public class DeliveryNoteServiceImpl extends BaseServiceImpl<DeliveryNoteMapper,
if (CollUtil.isEmpty(details)) {
return;
}
R<FactoryWarehouseBindVO> warehouseByBrandAndSiteName = baseClient.getWarehouseByBrandAndSiteName(BrandEnums.SFY.getValue(), BrandEnums.SFY.getValue());
R<FactoryWarehouseBindVO> warehouseByBrandAndSiteName = baseClient.getWarehouseByBrandAndSiteName(BrandEnums.SFY.getValue(), vo.getCarrierNo());
if (ObjectUtil.equal(HttpConstants.HTTP.HTTP_RESOURCE_CODE.SUCCESS_CODE, warehouseByBrandAndSiteName.getCode())) {
FactoryWarehouseBindVO data = warehouseByBrandAndSiteName.getData();
if (ObjectUtil.isNotNull(data)) {

3
blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/service/impl/ReceiptServiceImpl.java

@ -221,6 +221,9 @@ public class ReceiptServiceImpl extends BaseServiceImpl<ReceiptMapper, ZbReceipt
detailProductEntity.setWarehouseId(startWarehouseId);
detailProductEntity.setWarehouseName(startWarehouseName);
detailProductEntity.setUnitNo(orderPackageDTO.getPackageCode());
// 物料名称 物料编码
advanceDetailEntity.setMaterialCode(item.getItemCode());
advanceDetailEntity.setMaterialName(item.getItemName());
detailProductEntity.setProductCode(item.getItemCode());
detailProductEntity.setProductName(item.getItemName());
detailProductEntity.setQuantity(item.getPlanQty());

24
blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java

@ -1,5 +1,6 @@
package com.logpm.factory;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
@ -1114,9 +1115,28 @@ public class TestService {
}
public static void main(String[] args) throws IOException, InterruptedException {
Integer a = new Integer("22222");
List<String> strings = new ArrayList<>();
System.out.println(22222==a);
strings.add("11");
strings.add("11");
strings.add("14");
strings.add("11");
strings.add("11");
strings.add("13");
strings.add("11");
strings.add("11");
for (int a=0 ;a< 1200;a++){
strings.add(a+100+"");
}
List<List<String>> split = CollUtil.split(strings, 500);
split.forEach(s -> {
System.out.println(s);
});
// Date data1 = DateUtil.parse("2024-07-23 17:07:23.123","yyyy-MM-dd hh:mm:ss.SSS");
// Date data2 = DateUtil.parse("2024-07-24 17:07:23.123","yyyy-MM-dd hh:mm:ss.SSS");

9
blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java

@ -1004,11 +1004,10 @@ public class SyncOrderInfoToPlatform {
//查询所有装车明细
List<TrunklineCarsLoadScanEntity> carsLoadScanEntities = carsLoadScanClient.findAllListByLoadId(loadId);
List<Long> scanloadIdList = carsLoadScanEntities.stream().map(TrunklineCarsLoadScanEntity::getId).collect(Collectors.toList());
List<Long> scanloadIdList = new ArrayList<>();
//把carsLoadScanEntities通过unloadNodeId分组
Map<Long, List<TrunklineCarsLoadScanEntity>> collect = carsLoadScanEntities.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getUnloadNodeId));
Map<Long, List<TrunklineCarsLoadScanEntity>> collect = carsLoadScanEntities.stream().filter(s -> !Objects.isNull(s.getUnloadNodeId())).collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getUnloadNodeId));
collect.keySet().forEach(unloadNodeId -> {
List<TrunklineCarsLoadScanEntity> trunklineCarsLoadScanEntities = collect.get(unloadNodeId);
@ -1028,7 +1027,9 @@ public class SyncOrderInfoToPlatform {
});
});
carsLoadScanClient.removeLoadScanByIds(scanloadIdList);
if(CollUtil.isNotEmpty(scanloadIdList)){
carsLoadScanClient.removeLoadScanByIds(scanloadIdList);
}
carsLoadClient.updateCardLoadNum(loadId);

2
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml

@ -182,6 +182,7 @@
select *
from logpm_trunkline_cars_load_scan
where is_deleted = 0
and is_supple = 0
<if test="param.loadId != null ">
and load_id = #{param.loadId}
</if>
@ -846,7 +847,6 @@
from logpm_trunkline_cars_load_scan ltcls
left join logpm_trunkline_cars_order ltco on ltco.waybill_id = ltcls.waybill_id and ltco.order_code = ltcls.order_code
where ltcls.load_id = #{loadId}
and ltco.id is null
GROUP BY IFNULL(ltcls.waybill_no,'--'),
ltcls.order_code
order by IFNULL(ltcls.waybill_no,'--') desc, ltcls.order_code desc

43
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java

@ -477,6 +477,12 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
// while(!Objects.isNull(warehouseWaybillEntity)){
// waybillNo = basicdataCodeClient.getCodeByType(CodeNumConstant.WAYBILL, warehouseCode, "");
// }
}else{
WarehouseWaybillEntity warehouseWaybillEntity = warehouseWaybillClient.findByWaybillNo(waybillNo);
if(!Objects.isNull(warehouseWaybillEntity)){
log.warn("#############openWaybill: 运单号已存在 waybillNo={}", waybillNo);
return R.fail(405, "运单号已存在");
}
}
Long departureWarehouseId = openOrderDTO.getDepartureWarehouseId();
Long destinationWarehouseId = openOrderDTO.getDestinationWarehouseId();
@ -705,6 +711,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
List<List<String>> orderPackageCodeList = CollUtil.split(orderPackageCodes, 500);
List<DistributionParcelListEntity> parcelListEntities = new ArrayList<>();
orderPackageCodeList.forEach(orderPackageCodeList1 -> {
log.info("###############openWaybill: 分组查询订单包裹信息, {}",orderPackageCodeList1);
parcelListEntities.addAll(distributionParcelListClient.findListByOrderPackageCodes(orderPackageCodeList1));
});
@ -822,6 +829,12 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
//如果运单号为空则自动生成运单号
if (StringUtil.isBlank(waybillNo)) {
waybillNo = basicdataCodeClient.getCodeByType(CodeNumConstant.WAYBILL, warehouseCode, "");
}else{
WarehouseWaybillEntity warehouseWaybillEntity = warehouseWaybillClient.findByWaybillNo(waybillNo);
if(!Objects.isNull(warehouseWaybillEntity)){
log.warn("#############openZeroWaybill: 运单号已存在 waybillNo={}", waybillNo);
return R.fail(405, "运单号已存在");
}
}
WarehouseWaybillEntity waybillEntity = new WarehouseWaybillEntity();
@ -1757,6 +1770,14 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
long start = System.currentTimeMillis();
List<ImportCustomizedOuPaiDTO> importCustomizedOuPaiDTOS = EasyExcel.read(inputStream).head(ImportCustomizedOuPaiDTO.class).sheet(0).headRowNumber(1).doReadSync();
//判断importCustomizedOuPaiDTOS中firstsName有值的数量
long countWithMaterialName = importCustomizedOuPaiDTOS.stream()
.filter(dto -> StringUtil.isNotBlank(dto.getFirstsName()))
.count();
if(NumberUtil.equals(countWithMaterialName,0)){
log.warn("#################: 请使用定制品模版");
return R.fail(405,"请使用定制品模版");
}
//排除pacakgeDetailExcelDTOS中的orderPackageCode为空的元素
importCustomizedOuPaiDTOS = importCustomizedOuPaiDTOS.stream().filter(item -> StringUtil.isNotBlank(item.getOrderPackageCode())).collect(Collectors.toList());
@ -2094,8 +2115,18 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
InputStream inputStream = file.getInputStream();
//读取inputStream中Excel的表头数据
List<ImportStandardOuPaiDTO> importStandardOuPaiDTOS = EasyExcel.read(inputStream).head(ImportStandardOuPaiDTO.class).sheet(0).headRowNumber(1).doReadSync();
//判断importStandardOuPaiDTOS中materialName有值的数量
long countWithMaterialName = importStandardOuPaiDTOS.stream()
.filter(dto -> StringUtil.isNotBlank(dto.getMaterialName()))
.count();
if(NumberUtil.equals(countWithMaterialName,0)){
log.warn("#################: 请使用标准品模版");
return R.fail(405,"请使用标准品模版");
}
//排除importStandardOuPaiDTOS中的orderPackageCode为空的元素
importStandardOuPaiDTOS = importStandardOuPaiDTOS.stream().filter(item -> StringUtil.isNotBlank(item.getOrderPackageCode())).collect(Collectors.toList());
@ -2406,8 +2437,16 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
advanceDetailModel.setMaterialId(basicMaterialEntity.getId());
advanceDetailModel.setMaterialCode(materialCode);
advanceDetailModel.setMaterialName(materialName);
advanceDetailModel.setWeight(new BigDecimal(basicMaterialEntity.getWeight()));
advanceDetailModel.setVolume(new BigDecimal(basicMaterialEntity.getVolume()));
String weight = basicMaterialEntity.getWeight();
if(StringUtil.isBlank(weight)){
weight = "0";
}
String volume1 = basicMaterialEntity.getVolume();
if(StringUtil.isBlank(volume1)){
volume1 = "0";
}
advanceDetailModel.setWeight(new BigDecimal(weight));
advanceDetailModel.setVolume(new BigDecimal(volume1));
}
// if (StringUtil.isNotBlank(materialCode) && StringUtil.isNotBlank(materialName)) {

110
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

@ -54,6 +54,7 @@ import com.logpm.warehouse.feign.IWarehouseTrayTypeClient;
import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient;
import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import com.logpm.warehouse.feign.IWarehouseWaybillDetailClient;
import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringEscapeUtils;
@ -3646,6 +3647,12 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
carsLoadScanEntity.setCustomerTelephone(stockArticleEntity.getCustomerTelephone());
carsLoadScanEntity.setCustomerAddress(stockArticleEntity.getCustomerAddress());
carsLoadScanEntity.setFirsts(otherParcelListEntity.getFirsts());
carsLoadScanEntity.setSenconds(otherParcelListEntity.getSecond());
carsLoadScanEntity.setThirds(otherParcelListEntity.getThirdProduct());
carsLoadScanEntity.setMaterialCode(otherParcelListEntity.getMaterialCode());
carsLoadScanEntity.setMaterialName(otherParcelListEntity.getMaterialName());
remark = "有数据,不在当前仓,异常装车";
audio = "包件未入库";
if(StringUtils.isNotBlank(orderPackageCode)){
@ -3744,6 +3751,11 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
carsLoadScanEntity.setCustomerName(stockArticleEntity.getCustomerName());
carsLoadScanEntity.setCustomerTelephone(stockArticleEntity.getCustomerTelephone());
carsLoadScanEntity.setCustomerAddress(stockArticleEntity.getCustomerAddress());
carsLoadScanEntity.setFirsts(parcelListEntity.getFirsts());
carsLoadScanEntity.setSenconds(parcelListEntity.getSecond());
carsLoadScanEntity.setThirds(parcelListEntity.getThirdProduct());
carsLoadScanEntity.setMaterialCode(parcelListEntity.getMaterialCode());
carsLoadScanEntity.setMaterialName(parcelListEntity.getMaterialName());
}
carsLoadScanEntity.setLoadingUserName(AuthUtil.getNickName());
@ -3991,6 +4003,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
carsLoadScanEntity.setCustomerName(stockArticleEntity.getCustomerName());
carsLoadScanEntity.setCustomerTelephone(stockArticleEntity.getCustomerTelephone());
carsLoadScanEntity.setCustomerAddress(stockArticleEntity.getCustomerAddress());
trunklineCarsLoadScanService.save(carsLoadScanEntity);
loadScanId = carsLoadScanEntity.getId();
List<TrunklineScanZeroDetailEntity> zeroDetailList = new ArrayList<>();
@ -4516,41 +4529,69 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
trunklineCarsLoadVO.setCarsLoadLineList(loadLineList);
List<CarsLoadWaybillInfoVO> carsLoadWaybillInfoList = trunklineCarsOrderService.findWaybillOrderByloadId(loadId);
// 得到集合中的运单号集合
// List<String> waybillNoList = carsLoadWaybillInfoList.stream().map(CarsLoadWaybillInfoVO::getWaybillNo).collect(Collectors.toList());
// 查询运单号的总量、体积
// List<WaybillOrderTotalWeightAndVolumeVO> waybillOrderTotalList = warehouseWaybillDetailClient.findWaybillOrderTotalWeightAndVolumeByWaybillNoList(waybillNoList);
for (CarsLoadWaybillInfoVO carsLoadWaybillInfoVO : carsLoadWaybillInfoList) {
String waybillNo = carsLoadWaybillInfoVO.getWaybillNo();
List<WarehouseWayBillDetail> wayBillDetails = warehouseWaybillDetailClient.findListByWaybillNo(waybillNo);
// 获取运单对应的总体积和总重量
// WaybillOrderTotalWeightAndVolumeVO waybillOrderTotalWeightAndVolumeVO = getWaybillOrderTotalWeighAndVolume(carsLoadWaybillInfoVO, waybillOrderTotalList);
String waybillNo = carsLoadWaybillInfoVO.getWaybillNo();
// 查询 明细上的总量和体积
String openPrice = null;
String productNames = null;
for (WarehouseWayBillDetail wayBillDetail : wayBillDetails) {
String productName = wayBillDetail.getProductName();
Integer num = wayBillDetail.getNum();
BigDecimal price = wayBillDetail.getPrice();
if (StringUtil.isBlank(openPrice)) {
openPrice = price.toPlainString();
} else {
openPrice = openPrice + "," + price.toPlainString();
}
if (StringUtil.isBlank(productNames)) {
productNames = productName + "(" + num + ")";
} else {
productNames = productNames + "," + productName + "(" + num + ")";
BigDecimal oneWeight = BigDecimal.ZERO;
BigDecimal oneVolume = BigDecimal.ZERO;
if(!StringUtil.isBlank(waybillNo)){
List<WarehouseWayBillDetail> wayBillDetails = warehouseWaybillDetailClient.findListByWaybillNo(waybillNo);
for (WarehouseWayBillDetail wayBillDetail : wayBillDetails) {
String productName = wayBillDetail.getProductName();
Integer num = wayBillDetail.getNum();
BigDecimal volume = wayBillDetail.getVolume();
BigDecimal weight = wayBillDetail.getWeight();
BigDecimal price = wayBillDetail.getPrice();
if (StringUtil.isBlank(openPrice)) {
openPrice = price.toPlainString();
} else {
openPrice = openPrice + "," + price.toPlainString();
}
if (StringUtil.isBlank(productNames)) {
productNames = productName + "(" + num + ")";
} else {
productNames = productNames + "," + productName + "(" + num + ")";
}
}
List<CarsLoadOrderInfoVO> carsLoadOrderInfoListPlan = trunklineCarsOrderService.findCarsLoadOrderInfoListPlan(loadId, waybillNo);
carsLoadOrderInfoListPlan.forEach(carsLoadOrderInfoVO -> {
carsLoadOrderInfoVO.setUnloadIncome(carsLoadOrderInfoVO.getUnloadIncome().setScale(2, BigDecimal.ROUND_HALF_UP));
carsLoadOrderInfoVO.setOrderFreight(carsLoadOrderInfoVO.getOrderFreight().setScale(2, BigDecimal.ROUND_HALF_UP));
});
carsLoadWaybillInfoVO.setCarsLoadOrderInfoList(carsLoadOrderInfoListPlan);
}
carsLoadWaybillInfoVO.setOpenPrice(openPrice);
carsLoadWaybillInfoVO.setGoodsName(productNames);
// List<CarsLoadOrderInfoVO> carsLoadOrderInfoList = trunklineCarsOrderService.findCarsLoadOrderInfoList(loadId, waybillNo);
List<CarsLoadOrderInfoVO> carsLoadOrderInfoListPlan = trunklineCarsOrderService.findCarsLoadOrderInfoListPlan(loadId, waybillNo);
if(!StringUtil.isBlank(waybillNo)){
}
carsLoadOrderInfoListPlan.forEach(carsLoadOrderInfoVO -> {
carsLoadOrderInfoVO.setUnloadIncome(carsLoadOrderInfoVO.getUnloadIncome().setScale(2, BigDecimal.ROUND_HALF_UP));
carsLoadOrderInfoVO.setOrderFreight(carsLoadOrderInfoVO.getOrderFreight().setScale(2, BigDecimal.ROUND_HALF_UP));
});
carsLoadWaybillInfoVO.setCarsLoadOrderInfoList(carsLoadOrderInfoListPlan);
// carsLoadWaybillInfoVO.setCarsLoadOrderInfoListPlan(carsLoadOrderInfoListPlan);
TrunklineCostShareRecordEntity costShareRecordEntity = trunklineCostShareRecordService.findTotalUnloadNumByLoadAndWaybillNo(loadId, waybillNo);
@ -4660,6 +4701,16 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
return R.data(trunklineCarsLoadVO);
}
private WaybillOrderTotalWeightAndVolumeVO getWaybillOrderTotalWeighAndVolume(CarsLoadWaybillInfoVO carsLoadWaybillInfoVO, List<WaybillOrderTotalWeightAndVolumeVO> waybillOrderTotalList) {
for (WaybillOrderTotalWeightAndVolumeVO waybillOrderTotalWeightAndVolumeVO : waybillOrderTotalList) {
String waybillNo = waybillOrderTotalWeightAndVolumeVO.getWaybillNo();
if (waybillNo.equals(carsLoadWaybillInfoVO.getWaybillNo())) {
return waybillOrderTotalWeightAndVolumeVO;
}
}
return null;
}
@Override
public R zeroSuppleList(LoadCarsDTO loadCarsDTO) {
@ -5613,6 +5664,17 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
List<TrunklineCarsLoadScanEntity> loadScanEntityListHasData = loadScanEntityList.stream().filter(e -> e.getIsData() == 1).collect(Collectors.toList());
//把loadScanEntityListHasData中所有元素的scanCode放入一个List
List<String> scanCodeList = loadScanEntityListHasData.stream().map(TrunklineCarsLoadScanEntity::getScanCode).collect(Collectors.toList());
FindParamterDTO findParamterDTO = new FindParamterDTO();
findParamterDTO.setOrderPackageCodeList(scanCodeList);
findParamterDTO.setWarehouseId(warehouseId);
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListClient.findListByOrderPackageCodeList(findParamterDTO);
//把parcelListEntityList中所有的orderPackageCode放入一个List
List<String> orderPackageCodeList = parcelListEntityList.stream().map(DistributionParcelListEntity::getOrderPackageCode).collect(Collectors.toList());
//把loadScanEntityListHasData中的元素通过orderPackageCodeList存在及过滤掉
loadScanEntityListHasData = loadScanEntityListHasData.stream().filter(e -> !orderPackageCodeList.contains(e.getScanCode())).collect(Collectors.toList());
//把loadScanEntityListHasData通过tray_code is null和tray_code is not null 分成两个新的list
List<TrunklineCarsLoadScanEntity> loadScanEntityListHasDataNoTray = loadScanEntityListHasData.stream().filter(e -> StringUtil.isBlank(e.getTrayCode())).collect(Collectors.toList());
//把loadScanEntityListHasDataNoTray通过orderCode进行分组
@ -7131,6 +7193,11 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
carsLoadScanEntity.setSignOrderId(signOrderId);
carsLoadScanEntity.setIsSupple(0);
carsLoadScanEntity.setLoadingUserName(AuthUtil.getNickName());
carsLoadScanEntity.setFirsts(parcelListEntity.getFirsts());
carsLoadScanEntity.setSenconds(parcelListEntity.getSecond());
carsLoadScanEntity.setThirds(parcelListEntity.getThirdProduct());
carsLoadScanEntity.setMaterialCode(parcelListEntity.getMaterialCode());
carsLoadScanEntity.setMaterialName(parcelListEntity.getMaterialName());
if(!Objects.isNull(stockArticle)){
carsLoadScanEntity.setCustomerName(stockArticle.getCustomerName());
carsLoadScanEntity.setCustomerTelephone(stockArticle.getCustomerTelephone());
@ -8790,6 +8857,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
QueryWrapper<TrunklineCarsLoadScanEntity> neloadScanQueryWrapper = new QueryWrapper<>();
neloadScanQueryWrapper.eq("load_id", loadId)
.eq("scan_code", orderPackageCode)
.eq("unload_node_id", warehouseId)
.ne("scan_status", "1");
TrunklineCarsLoadScanEntity scanEntity = trunklineCarsLoadScanService.getOne(neloadScanQueryWrapper);

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

@ -29,6 +29,10 @@ public class TrunklineWaybillOrderServiceImpl extends BaseServiceImpl<TrunklineW
@Override
public List<TrunklineAdvanceEntity> findListByWaybillId(Long waybillId) {
// 查询运单
return baseMapper.findListByWaybillId(waybillId);
}

10
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillDetailClient.java

@ -5,11 +5,13 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.warehouse.entity.WarehouseWayBillDetail;
import com.logpm.warehouse.service.IWarehouseWayBillDetailService;
import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.util.Map;
@ApiIgnore
@RestController
@ -86,4 +88,12 @@ public class WarehouseWaybillDetailClient implements IWarehouseWaybillDetailClie
}
return null;
}
@Override
public List<WaybillOrderTotalWeightAndVolumeVO> findWaybillOrderTotalWeightAndVolumeByWaybillNoList(List<String> waybillNoList) {
List<WaybillOrderTotalWeightAndVolumeVO> data=warehouseWayBillDetailService.findWaybillOrderTotalWeightAndVolumeByWaybillNoList(waybillNoList);
return data;
}
}

4
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWayBillDetailMapper.java

@ -2,14 +2,18 @@ package com.logpm.warehouse.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.warehouse.entity.WarehouseWayBillDetail;
import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface WarehouseWayBillDetailMapper extends BaseMapper<WarehouseWayBillDetail> {
List<WarehouseWayBillDetail> findByWaybillIds(List<Long> ids);
void deleteByWaybillNo(@Param("waybillNo") String waybillNo);
List<WaybillOrderTotalWeightAndVolumeVO> findWaybillOrderTotalWeightAndVolumeByWaybillNoList(@Param("waybillNoList") List<String> waybillNoList);
}

10
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillDetailMapper.xml

@ -16,5 +16,15 @@
</foreach>
and is_deleted = 0
</select>
<select id="findWaybillOrderTotalWeightAndVolumeByWaybillNoList" resultType="com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO">
SELECT waybill_no as waybillNo, IF(SUM(volume) is null,0.00,SUM(volume)) as sumVolume,IF(SUM(weight) is null,0.00,SUM(weight)) as sumWeight
from logpm_warehouse_waybill_detail
where
waybill_no in
<foreach collection="waybillNoList" item="item" separator="," open="(" close=")">
#{item}
</foreach>
GROUP BY waybill_no
</select>
</mapper>

178
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml

@ -146,14 +146,84 @@
<select id="pageList" resultType="com.logpm.warehouse.vo.WarehouseWaybillVO">
select lww.*,
select lww.id id,
lww.brand brand,
lww.waybill_no waybillNo,
lww.order_no orderNo,
lww.consignee consignee,
lww.consignee_name consigneeName,
lww.consignee_mobile consigneeMobile,
lww.consignee_address consigneeAddress,
lww.shipper shipper,
lww.shipper_name shipperName,
lww.shipper_mobile shipperMobile,
lww.shipper_address shipperAddress,
lww.destination destination,
lww.departure departure,
lww.departure_warehouse_name departureWarehouseName,
lww.destination_warehouse_name destinationWarehouseName,
lww.delivery_way deliveryWay,
lww.customer_train customerTrain,
IFNULL(lww.return_status,0) returnStatus,
lww.remark remark,
lww.pay_type payType,
lww.pay_way payWay,
lww.x_pay xPay,
lww.d_pay dPay,
lww.h_pay hPay,
lww.y_pay yPay,
lww.service_type serviceType,
IFNULL(lww.update_status,0) updateStatus,
IFNULL(lww.check_status,0) checkStatus,
lww.check_reson checkReson,
lww.check_remark checkRemark,
lww.check_user_name checkUserName,
lww.check_time checkTime,
lww.cancle_check_remark cancleCheckRemark,
lww.cancle_check_user_name cancleCheckUserName,
lww.cancle_check_time cancleCheckTime,
lww.waybill_status waybillStatus,
lww.waybill_type waybillType,
lww.document_making_time openTime,
GROUP_CONCAT(lwwd.product_name) goodsName,
lww.total_count totalCount,
sum(lwwd.weight) totalWeight,
sum(lwwd.volume) totalVolume,
lww.x_pay+lww.d_pay+lww.h_pay+lww.y_pay totalFee,
sum(IFNULL(lwwd.freight_price,0)*lwwd.num+IFNULL(lwwd.pickup_price,0)*lwwd.num+IFNULL(lwwd.delivery_price,0)*lwwd.num) systemTotalFee,
lww.pickup_fee pickupFee,
lww.total_freight totalFreight,
lww.storage_fee+lww.warehouse_management_fee warehouseServiceFee,
lww.storage_fee storageFee,
lww.warehouse_management_fee warehouseManagementFee,
0.00 warehouseSortingFee,
0.00 warehouseOprationFee,
lww.delivery_fee+lww.handling_fee deliveryServiceFee,
lww.delivery_fee deliveryFee,
lww.handling_fee handlingFee,
0.00 deliverySortingFee,
0.00 deliveryUpfloorFee,
0.00 deliveryMoveFee,
0.00 deliveryLine,
0.00 deliveryLineFee,
lww.other_fee otherFee,
lww.install_fee installFee,
lww.insurance_fee insuranceFee,
lww.claiming_value claimingValue,
lww.third_operation_fee thirdOperationFee,
lww.sign_num signNum,
lww.sign_user_name signUserName,
lww.sign_time signTime,
lww.sign_check_user_name signCheckUserName,
lww.sign_check_time signCheckTime,
lww.rebate rebate,
GROUP_CONCAT(CONCAT(lwwd.product_name,'(',lwwd.num,')')) productNum,
GROUP_CONCAT(CONCAT(lwwd.product_name,'(',lwwd.price,')')) productPrice
from logpm_warehouse_waybill lww
left join logpm_warehouse_waybill_detail lwwd on lwwd.waybill_id = lww.id
left join logpm_warehouse_waybill_detail lwwd on lwwd.waybill_id = lww.id and lwwd.is_deleted = 0
where lww.is_deleted = 0
<if test="param.waybillNoList != null">
and lww.waybill_no not in
and lww.waybill_no in
<foreach collection="param.waybillNoList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
@ -372,7 +442,7 @@
lww.d_pay dPay,
lww.h_pay hPay,
lww.y_pay yPay,
lww.service_type serviceType,
lbc.type_service serviceType,
IFNULL(lww.update_status,0) updateStatus,
IFNULL(lww.check_status,0) checkStatus,
lww.check_reson checkReson,
@ -387,8 +457,8 @@
lww.document_making_time openTime,
lww.goods_name goodsName,
lww.total_count totalCount,
lww.total_weight totalWeight,
lww.total_volume totalVolume,
sum(lwwd.weight) totalWeight,
sum(lwwd.volume) totalVolume,
lww.x_pay+lww.d_pay+lww.h_pay+lww.y_pay totalFee,
sum(IFNULL(lwwd.freight_price,0)*lwwd.num+IFNULL(lwwd.pickup_price,0)*lwwd.num+IFNULL(lwwd.delivery_price,0)*lwwd.num) systemTotalFee,
lww.pickup_fee pickupFee,
@ -420,10 +490,10 @@
count(lwwd.id) goodsTypeCount
from logpm_warehouse_waybill lww
left join logpm_basicdata_client lbc on lbc.id = lww.consignee_id
left join logpm_warehouse_waybill_detail lwwd on lwwd.waybill_id = lww.id
left join logpm_warehouse_waybill_detail lwwd on lwwd.waybill_id = lww.id and lwwd.is_deleted = 0
where lww.is_deleted = 0
<if test="param.waybillNoList != null">
and lww.waybill_no not in
and lww.waybill_no in
<foreach collection="param.waybillNoList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
@ -620,10 +690,10 @@
lww.d_pay dPay,
lww.h_pay hPay,
lww.y_pay yPay,
case when lww.service_type='1' then '商配'
when lww.service_type='2' then '市配'
when lww.service_type='3' then '自提'
when lww.service_type='4' then '三方中转'
case when lbc.type_service='1' then '商配'
when lbc.type_service='2' then '市配'
when lbc.type_service='3' then '自提'
when lbc.type_service='4' then '三方中转'
else '未知' end serviceType,
CASE WHEN IFNULL(lww.update_status,0)=0 THEN '未改单'
WHEN IFNULL(lww.update_status,0)=1 THEN '已改单'
@ -652,8 +722,8 @@
lww.document_making_time openTime,
lww.goods_name goodsName,
lww.total_count totalCount,
lww.total_weight totalWeight,
lww.total_volume totalVolume,
sum(lwwd.weight) totalWeight,
sum(lwwd.volume) totalVolume,
lww.x_pay+lww.d_pay+lww.h_pay+lww.y_pay totalFee,
sum(IFNULL(lwwd.freight_price,0)*lwwd.num+IFNULL(lwwd.pickup_price,0)*lwwd.num+IFNULL(lwwd.delivery_price,0)*lwwd.num) systemTotalFee,
lww.pickup_fee pickupFee,
@ -685,10 +755,10 @@
count(lwwd.id) goodsTypeCount
from logpm_warehouse_waybill lww
left join logpm_basicdata_client lbc on lbc.id = lww.consignee_id
left join logpm_warehouse_waybill_detail lwwd on lwwd.waybill_id = lww.id
left join logpm_warehouse_waybill_detail lwwd on lwwd.waybill_id = lww.id and lwwd.is_deleted = 0
where lww.is_deleted = 0
<if test="param.waybillNoList != null">
and lww.waybill_no not in
and lww.waybill_no in
<foreach collection="param.waybillNoList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
@ -847,14 +917,84 @@
</select>
<select id="exportWaybillList" resultType="com.logpm.warehouse.vo.ExportWarehouseWaybillVO">
select lww.*,
select lww.id id,
lww.brand brand,
lww.waybill_no waybillNo,
lww.order_no orderNo,
lww.consignee consignee,
lww.consignee_name consigneeName,
lww.consignee_mobile consigneeMobile,
lww.consignee_address consigneeAddress,
lww.shipper shipper,
lww.shipper_name shipperName,
lww.shipper_mobile shipperMobile,
lww.shipper_address shipperAddress,
lww.destination destination,
lww.departure departure,
lww.departure_warehouse_name departureWarehouseName,
lww.destination_warehouse_name destinationWarehouseName,
lww.delivery_way deliveryWay,
lww.customer_train customerTrain,
IFNULL(lww.return_status,0) returnStatus,
lww.remark remark,
lww.pay_type payType,
lww.pay_way payWay,
lww.x_pay xPay,
lww.d_pay dPay,
lww.h_pay hPay,
lww.y_pay yPay,
lww.service_type serviceType,
IFNULL(lww.update_status,0) updateStatus,
IFNULL(lww.check_status,0) checkStatus,
lww.check_reson checkReson,
lww.check_remark checkRemark,
lww.check_user_name checkUserName,
lww.check_time checkTime,
lww.cancle_check_remark cancleCheckRemark,
lww.cancle_check_user_name cancleCheckUserName,
lww.cancle_check_time cancleCheckTime,
lww.waybill_status waybillStatus,
lww.waybill_type waybillType,
lww.document_making_time openTime,
GROUP_CONCAT(lwwd.product_name) goodsName,
lww.total_count totalCount,
sum(lwwd.weight) totalWeight,
sum(lwwd.volume) totalVolume,
lww.x_pay+lww.d_pay+lww.h_pay+lww.y_pay totalFee,
sum(IFNULL(lwwd.freight_price,0)*lwwd.num+IFNULL(lwwd.pickup_price,0)*lwwd.num+IFNULL(lwwd.delivery_price,0)*lwwd.num) systemTotalFee,
lww.pickup_fee pickupFee,
lww.total_freight totalFreight,
lww.storage_fee+lww.warehouse_management_fee warehouseServiceFee,
lww.storage_fee storageFee,
lww.warehouse_management_fee warehouseManagementFee,
0.00 warehouseSortingFee,
0.00 warehouseOprationFee,
lww.delivery_fee+lww.handling_fee deliveryServiceFee,
lww.delivery_fee deliveryFee,
lww.handling_fee handlingFee,
0.00 deliverySortingFee,
0.00 deliveryUpfloorFee,
0.00 deliveryMoveFee,
0.00 deliveryLine,
0.00 deliveryLineFee,
lww.other_fee otherFee,
lww.install_fee installFee,
lww.insurance_fee insuranceFee,
lww.claiming_value claimingValue,
lww.third_operation_fee thirdOperationFee,
lww.sign_num signNum,
lww.sign_user_name signUserName,
lww.sign_time signTime,
lww.sign_check_user_name signCheckUserName,
lww.sign_check_time signCheckTime,
lww.rebate rebate,
GROUP_CONCAT(CONCAT(lwwd.product_name,'(',lwwd.num,')')) productNum,
GROUP_CONCAT(CONCAT(lwwd.product_name,'(',lwwd.price,')')) productPrice
from logpm_warehouse_waybill lww
left join logpm_warehouse_waybill_detail lwwd on lwwd.waybill_id = lww.id
left join logpm_warehouse_waybill_detail lwwd on lwwd.waybill_id = lww.id and lwwd.is_deleted = 0
where lww.is_deleted = 0
<if test="param.waybillNoList != null">
and lww.waybill_no not in
and lww.waybill_no in
<foreach collection="param.waybillNoList" item="item" open="(" separator="," close=")">
#{item}
</foreach>

13
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWayBillDetailService.java

@ -1,9 +1,11 @@
package com.logpm.warehouse.service;
import com.logpm.warehouse.entity.WarehouseWayBillDetail;
import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
import java.util.Map;
public interface IWarehouseWayBillDetailService extends BaseService<WarehouseWayBillDetail> {
WarehouseWayBillDetail findByProductName(String productName);
@ -23,4 +25,15 @@ public interface IWarehouseWayBillDetailService extends BaseService<WarehouseWay
List<WarehouseWayBillDetail> findByWaybillIds(List<Long> ids);
void deleteByWaybillNo(String waybillNo);
/**
* 通过运单单号集合查询运单的 体积和重量
* map中包含
* <li>waybillNo : 运单号<li/>
* <li>sumVolume : 运单总体积<li/>
* <li>sumWeight : 运单总总量<li/>
* @param waybillNoList
* @return
*/
List<WaybillOrderTotalWeightAndVolumeVO> findWaybillOrderTotalWeightAndVolumeByWaybillNoList(List<String> waybillNoList);
}

7
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWayBillDetailServiceImpl.java

@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.logpm.warehouse.entity.WarehouseWayBillDetail;
import com.logpm.warehouse.mapper.WarehouseWayBillDetailMapper;
import com.logpm.warehouse.service.IWarehouseWayBillDetailService;
import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Slf4j
@AllArgsConstructor
@ -70,4 +72,9 @@ public class WarehouseWayBillDetailServiceImpl extends BaseServiceImpl<Warehouse
public void deleteByWaybillNo(String waybillNo) {
baseMapper.deleteByWaybillNo(waybillNo);
}
@Override
public List<WaybillOrderTotalWeightAndVolumeVO> findWaybillOrderTotalWeightAndVolumeByWaybillNoList(List<String> waybillNoList) {
return baseMapper.findWaybillOrderTotalWeightAndVolumeByWaybillNoList(waybillNoList);
}
}

Loading…
Cancel
Save