Commit 722ddaf6 authored by lanbaoming's avatar lanbaoming

2024-05-23-4提交

parent f0c3f018
package cn.iocoder.yudao.framework.apollo.core.event.export;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/*
lanbm 2024-05-25 lanbm add
*/
@Data
public class ShipmentReceivableExcelExportPushEvent2 {
/**
* 操作用户
*/
private Long userId;
/**
* 端口
*/
private Integer userType;
/**
* 请求参数
*/
private String requestParams;
/**
* 国际化语言值,默认0中文, 具体取值I18nMessage.getLang()
*/
private Integer lang = 0;
/**
* 文件名称
*/
private String fileName;
/**
* 文件路径
*/
private String path;
/**
* 下载地址
*/
private String url;
/**
* 执行结果
*/
private String result;
@ApiModelProperty(value = "文件ID")
private Long fileId;
}
...@@ -18,8 +18,12 @@ public class BpmTaskApproveReqVO { ...@@ -18,8 +18,12 @@ public class BpmTaskApproveReqVO {
@NotEmpty(message = "任务编号不能为空") @NotEmpty(message = "任务编号不能为空")
private String id; private String id;
@ApiModelProperty(value = "审批意见", required = true, example = "不错不错!") /*
@NotEmpty(message = "审批意见不能为空") lanbm 2024-05-24 修改为审批意见可以为空,
客户要求部分审批流程不用写审批意见
*/
@ApiModelProperty(value = "审批意见", required = false, example = "不错不错!")
//@NotEmpty(message = "审批意见不能为空")
private String comment; private String comment;
@ApiModelProperty("抄送用户Id") @ApiModelProperty("抄送用户Id")
......
...@@ -270,6 +270,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { ...@@ -270,6 +270,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
taskService.addComment(task.getId(), taskService.addComment(task.getId(),
task.getProcessInstanceId(), task.getProcessInstanceId(),
BpmProcessInstanceResultEnum.APPROVE.getDesc(), reqVO.getComment()); BpmProcessInstanceResultEnum.APPROVE.getDesc(), reqVO.getComment());
taskService.complete(task.getId(), instance.getProcessVariables()); taskService.complete(task.getId(), instance.getProcessVariables());
// 是否有抄送 // 是否有抄送
......
...@@ -34,9 +34,10 @@ import java.util.List; ...@@ -34,9 +34,10 @@ import java.util.List;
/** /**
* V值转换配置参数(EcwVz)表控制层 * V值转换配置参数(EcwVz)表控制层
* * https://ft0n6y6ben.feishu.cn/sheets/Y7PosKYx5h2O2btS6Gcc0TS7nZe?from=from_copylink
* @author lanbm * @author lanbm
* @since 2024-04-02 * @since 2024-04-02
* CNG244324 测试提单号
*/ */
@RestController @RestController
@RequestMapping("/ecwVz/vz") @RequestMapping("/ecwVz/vz")
......
...@@ -6,7 +6,7 @@ import cn.hutool.core.date.DateTime; ...@@ -6,7 +6,7 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.apollo.core.event.BoxCheckOrderSchedulingEvent; import cn.iocoder.yudao.framework.apollo.core.event.BoxCheckOrderSchedulingEvent;
//import cn.iocoder.yudao.framework.apollo.core.event.Order.CalculateOrderVValueEvent; import cn.iocoder.yudao.framework.apollo.core.event.Order.CalculateOrderVValueEvent;
import cn.iocoder.yudao.framework.apollo.core.event.QueryChannelInfoEvent; import cn.iocoder.yudao.framework.apollo.core.event.QueryChannelInfoEvent;
import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
...@@ -1173,11 +1173,12 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI ...@@ -1173,11 +1173,12 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI
// 自定义体积 // 自定义体积
// orderDO.setCustomSumVolume(finishReqVO.getSumVolume()); // orderDO.setCustomSumVolume(finishReqVO.getSumVolume());
// 自定义重量 // 自定义重量
// orderDO.setCustomSumWeight(finishReqVO.getSumWeight()); // orderDO.setCustomSumWeight(finishReqVO.getSumWeight());
// 20230115 拆单子订单入仓不需要产生除转异外的其他异常,同时也不需要重新计算价格; 退场入仓也不需要产生异常 // 20230115 拆单子订单入仓不需要产生除转异外的其他异常,
// 同时也不需要重新计算价格; 退场入仓也不需要产生异常
if (!isSplitOrderChildren && isNotRollbackIn) { if (!isSplitOrderChildren && isNotRollbackIn) {
//处理重泡货异常 //处理重泡货异常
...@@ -1201,7 +1202,8 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI ...@@ -1201,7 +1202,8 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI
// 处理发货人异常 // 处理发货人异常
processConsignorException(finishReqVO, orderId, orderDO); processConsignorException(finishReqVO, orderId, orderDO);
// 重新调用计算订单价格, 订单信息和订单项信息需要重新查询,可能创建异常和修改订单已经对订单信息造成改变 // 重新调用计算订单价格, 订单信息和订单项信息需要重新查询,
// 可能创建异常和修改订单已经对订单信息造成改变
boolean firstRucang = orderDO.getRucangTime() == null; boolean firstRucang = orderDO.getRucangTime() == null;
if (firstRucang) { if (firstRucang) {
...@@ -1225,7 +1227,9 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI ...@@ -1225,7 +1227,9 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI
processOrderPayException(orderId, orderDO, result); processOrderPayException(orderId, orderDO, result);
} }
int numSum2 = orderWarehouseInDOList.stream().filter(t -> t.getCartonsNum() != null).mapToInt(OrderWarehouseInDO::getCartonsNum).sum(); int numSum2 = orderWarehouseInDOList.stream().
filter(t -> t.getCartonsNum() != null).
mapToInt(OrderWarehouseInDO::getCartonsNum).sum();
// 保存箱号 // 保存箱号
if (finishReqVO.getUpdateLabel()) { if (finishReqVO.getUpdateLabel()) {
...@@ -1311,7 +1315,8 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI ...@@ -1311,7 +1315,8 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI
CustomerDO consignorCustomer = customerService.getById(orderConsignorDO2.getCustomerId()) ; CustomerDO consignorCustomer = customerService.getById(orderConsignorDO2.getCustomerId()) ;
//获取收货人客户经理 //获取收货人客户经理
CustomerDO consigneeCustomer = customerService.getById(orderConsigneeDO2.getCustomerId()) ; CustomerDO consigneeCustomer = customerService.getById(orderConsigneeDO2.getCustomerId()) ;
//订单的发货人、收货人同属一个客户经理,则两个客户经理都延期,否则只延期订单中业绩归属方客户 //订单的发货人、收货人同属一个客户经理,则两个客户经理都延期,
// 否则只延期订单中业绩归属方客户
if (consignorCustomer != null && consigneeCustomer != null && if (consignorCustomer != null && consigneeCustomer != null &&
Objects.nonNull(consignorCustomer.getCustomerService()) && Objects.nonNull(consignorCustomer.getCustomerService()) &&
Objects.nonNull(consigneeCustomer.getCustomerService()) && Objects.nonNull(consigneeCustomer.getCustomerService()) &&
...@@ -1343,10 +1348,9 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI ...@@ -1343,10 +1348,9 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI
} }
//入仓完成,计算V值 lanbm 2024-05-13 add //入仓完成,计算V值 lanbm 2024-05-13 add
/*
CalculateOrderVValueEvent event=new CalculateOrderVValueEvent(); CalculateOrderVValueEvent event=new CalculateOrderVValueEvent();
event.setOrderId(orderId); event.setOrderId(orderId);
applicationContext.publishEvent(event);*/ applicationContext.publishEvent(event);
//end 入仓完成,计算V值 lanbm 2024-05-13 add //end 入仓完成,计算V值 lanbm 2024-05-13 add
// 返回是否包含异常 // 返回是否包含异常
......
...@@ -495,6 +495,7 @@ public class OrderBackPageVO { ...@@ -495,6 +495,7 @@ public class OrderBackPageVO {
this.inWarehouseState = inWarehouseState; this.inWarehouseState = inWarehouseState;
this.getOrderDesc(); this.getOrderDesc();
} }
public void setAirShipment(Integer airShipment) { public void setAirShipment(Integer airShipment) {
this.airShipment = airShipment; this.airShipment = airShipment;
this.getOrderDesc(); this.getOrderDesc();
...@@ -556,7 +557,8 @@ public class OrderBackPageVO { ...@@ -556,7 +557,8 @@ public class OrderBackPageVO {
this.statusMsg = lang == 0 ? I18nMessage.getZhMessage(auditResult) : I18nMessage.getEnMessage(auditResult); this.statusMsg = lang == 0 ? I18nMessage.getZhMessage(auditResult) : I18nMessage.getEnMessage(auditResult);
} else if (CollectionUtil.isNotEmpty(this.remindExceptionDtoList) && this.remindExceptionDtoList.size() > 0) { } else if (CollectionUtil.isNotEmpty(this.remindExceptionDtoList) && this.remindExceptionDtoList.size() > 0) {
this.statusMsg = remindExceptionDtoList.get(0).getReason(); this.statusMsg = remindExceptionDtoList.get(0).getReason();
} else if (null != this.status && this.status == 5 && CollectionUtil.isNotEmpty(this.guanLianOrderStatusVOList)) { } else if (null != this.status && this.status == 5
&& CollectionUtil.isNotEmpty(this.guanLianOrderStatusVOList)) {
// 已入仓的订单才展示关联异常信息 // 已入仓的订单才展示关联异常信息
// 如果查询返回了关联订单状态,表示需要显示关联订单状态,关联订单状态冗余的是国际化key值 // 如果查询返回了关联订单状态,表示需要显示关联订单状态,关联订单状态冗余的是国际化key值
// 排序 // 排序
...@@ -581,8 +583,14 @@ public class OrderBackPageVO { ...@@ -581,8 +583,14 @@ public class OrderBackPageVO {
default: default:
this.statusMsg = lang == 0 ? I18nMessage.getZhMessage(guanlianOrderStatusVO.getStatusMsg()) : I18nMessage.getEnMessage(guanlianOrderStatusVO.getStatusMsg()); this.statusMsg = lang == 0 ? I18nMessage.getZhMessage(guanlianOrderStatusVO.getStatusMsg()) : I18nMessage.getEnMessage(guanlianOrderStatusVO.getStatusMsg());
} }
} else if (null != this.status && null != this.inWarehouseState && null != this.shipmentState && null != this.airShipment && null != this.transportId) { } else if (null != this.status && null != this.inWarehouseState &&
this.statusMsg = OrderStatusMsgEnum.getMsg(this.status, this.inWarehouseState, this.shipmentState, this.airShipment, this.transportId, this.userType, lang); null != this.shipmentState && null != this.airShipment &&
null != this.transportId) {
this.statusMsg = OrderStatusMsgEnum.getMsg(this.status,
this.inWarehouseState, this.shipmentState,
this.airShipment, this.transportId,
this.userType, lang);
// this.statusKey = OrderStatusMsgEnum.getStatusKey(this.status, this.inWarehouseState, this.shipmentState); // this.statusKey = OrderStatusMsgEnum.getStatusKey(this.status, this.inWarehouseState, this.shipmentState);
} }
} }
......
...@@ -124,6 +124,7 @@ public class OrderWarehouseInController { ...@@ -124,6 +124,7 @@ public class OrderWarehouseInController {
@ApiOperation("入仓完成/转异") @ApiOperation("入仓完成/转异")
@Idempotent(timeout = 5) @Idempotent(timeout = 5)
public CommonResult<Boolean> finishWarehouseIn(@Valid @RequestBody OrderWarehouseInFinishReqVO finishReqVO) { public CommonResult<Boolean> finishWarehouseIn(@Valid @RequestBody OrderWarehouseInFinishReqVO finishReqVO) {
//lanbm 2024-05-26 在此处添加注释
String redisKey = MessageFormat.format(ORDER_FINISH_WAREHOUSE_IN_KEY, finishReqVO.getOrderId().toString()); String redisKey = MessageFormat.format(ORDER_FINISH_WAREHOUSE_IN_KEY, finishReqVO.getOrderId().toString());
Long count = redisHelper.incrBy(redisKey, 1); Long count = redisHelper.incrBy(redisKey, 1);
if (count > 1) { if (count > 1) {
......
...@@ -2370,13 +2370,17 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper, ...@@ -2370,13 +2370,17 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper,
} }
@Override @Override
public void batchAddPrice(ProductPriceBatchAddPriceReqVo batchAddPriceReqVo, ProductPriceCheckAO productPriceCheckAO) { public void batchAddPrice(ProductPriceBatchAddPriceReqVo batchAddPriceReqVo,
ProductPriceCheckAO productPriceCheckAO) {
String json = JSON.toJSONString(batchAddPriceReqVo); String json = JSON.toJSONString(batchAddPriceReqVo);
List<ProductDO> productList = productPriceCheckAO.getProductList(); List<ProductDO> productList = productPriceCheckAO.getProductList();
List<LineChannelVo> lineChannelList = batchAddPriceReqVo.getLineChannelList(); List<LineChannelVo> lineChannelList =
batchAddPriceReqVo.getLineChannelList();
logAndDelKey(json, productList, lineChannelList); logAndDelKey(json, productList, lineChannelList);
List<WarehouseLineDO> warehouseLineList = productPriceCheckAO.getWarehouseLineList(); List<WarehouseLineDO> warehouseLineList =
productPriceCheckAO.getWarehouseLineList();
String content = productPriceCheckAO.getContent(); String content = productPriceCheckAO.getContent();
int countBatch = (int) Math.ceil((double) productList.size() / DATA_THRESHOLD); int countBatch = (int) Math.ceil((double) productList.size() / DATA_THRESHOLD);
...@@ -2385,23 +2389,30 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper, ...@@ -2385,23 +2389,30 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper,
.parallel() .parallel()
.map(a -> productList.stream().skip(a * DATA_THRESHOLD).limit(DATA_THRESHOLD).parallel().collect(toList()) .map(a -> productList.stream().skip(a * DATA_THRESHOLD).limit(DATA_THRESHOLD).parallel().collect(toList())
).collect(toList()); ).collect(toList());
//ecw_product 首先遍历产品
for (List<ProductDO> itemList : splitList) { for (List<ProductDO> itemList : splitList) {
ProductPriceCreateReqVO createReqVO = new ProductPriceCreateReqVO(); ProductPriceCreateReqVO createReqVO = new ProductPriceCreateReqVO();
BeanUtils.copyProperties(batchAddPriceReqVo, createReqVO); BeanUtils.copyProperties(batchAddPriceReqVo, createReqVO);
batchAddPrice(createReqVO, warehouseLineList, itemList); batchAddPrice(createReqVO, warehouseLineList, itemList);
} }
//发送站内信 //发送站内信
sendMessage(content); sendMessage(content);
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void batchAddPrice(ProductPriceCreateReqVO batchAddPriceReqVo, List<WarehouseLineDO> warehouseLineList, List<ProductDO> productList) { public void batchAddPrice(ProductPriceCreateReqVO batchAddPriceReqVo,
List<WarehouseLineDO> warehouseLineList,
List<ProductDO> productList) {
long t1 = System.currentTimeMillis(); long t1 = System.currentTimeMillis();
Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
ProductPriceDO productPrice = ProductPriceConvert.INSTANCE.convert(batchAddPriceReqVo); ProductPriceDO productPrice =
ProductPriceConvert.INSTANCE.convert(batchAddPriceReqVo);
List<LineChannelVo> lineChannelList = batchAddPriceReqVo.getLineChannelList(); List<LineChannelVo> lineChannelList =
batchAddPriceReqVo.getLineChannelList();
Set<Long> lineIdList = lineChannelList.stream() Set<Long> lineIdList = lineChannelList.stream()
.map(LineChannelVo::getLineId) .map(LineChannelVo::getLineId)
.collect(Collectors.toSet()); .collect(Collectors.toSet());
...@@ -2424,6 +2435,7 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper, ...@@ -2424,6 +2435,7 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper,
Map<String, ProductPriceDO> productLineChannelMap = dbPriceList.stream() Map<String, ProductPriceDO> productLineChannelMap = dbPriceList.stream()
.collect(Collectors.toMap(t -> t.getProductId() + "-" + t.getWarehouseLineId() + "-" + t.getShippingChannelId(), v -> v, (v1, v2) -> v2)); .collect(Collectors.toMap(t -> t.getProductId() + "-" + t.getWarehouseLineId() + "-" + t.getShippingChannelId(), v -> v, (v1, v2) -> v2));
//ecw_product_price 产品价格
List<ProductPriceDO> priceList = new ArrayList<>(); List<ProductPriceDO> priceList = new ArrayList<>();
List<ProductPriceDO> updateList = new ArrayList<>(); List<ProductPriceDO> updateList = new ArrayList<>();
...@@ -2468,9 +2480,12 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper, ...@@ -2468,9 +2480,12 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper,
} }
Map<Long, String> priceTransportTypeMap = new HashMap<>(); Map<Long, String> priceTransportTypeMap = new HashMap<>();
priceList.forEach(t -> priceTransportTypeMap.put(t.getId(), lineTransportTypeMap.get(t.getWarehouseLineId()))); priceList.forEach(t -> priceTransportTypeMap.put(t.getId(),
lineTransportTypeMap.get(t.getWarehouseLineId())));
if (null != batchAddPriceReqVo.getStepPrice() &&
batchAddPriceReqVo.getStepPrice() == 1) {
if (null != batchAddPriceReqVo.getStepPrice() && batchAddPriceReqVo.getStepPrice() == 1) {
snapshotList = new ArrayList<>(); snapshotList = new ArrayList<>();
updateList = new ArrayList<>(); updateList = new ArrayList<>();
...@@ -2506,13 +2521,16 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper, ...@@ -2506,13 +2521,16 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper,
} else { } else {
if (CollectionUtil.isNotEmpty(updateList)) { if (CollectionUtil.isNotEmpty(updateList)) {
productPriceMapper.updateBatch(updateList); productPriceMapper.updateBatch(updateList);
//添加修改日志,需要查询特需和阶梯,所以需要在修改之前执行 //添加修改日志,需要查询特需和阶梯,所以需要在修改之前执行
batchAddSnapshot(snapshotList); batchAddSnapshot(snapshotList);
//价格特需 //价格特需
specialListAddPrice(updateList, batchAddPriceReqVo.getSpecialList(), priceTransportTypeMap); specialListAddPrice(updateList,
batchAddPriceReqVo.getSpecialList(),
priceTransportTypeMap);
//价格包装单位 //价格包装单位
List<ProductPricePackagingDO> allPackagingList = buildAllPackageList(batchAddPriceReqVo); List<ProductPricePackagingDO> allPackagingList = buildAllPackageList(batchAddPriceReqVo);
...@@ -2595,7 +2613,9 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper, ...@@ -2595,7 +2613,9 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper,
return update; return update;
} }
private void specialListAddPrice(List<ProductPriceDO> productPriceList, List<ProductPriceSpecialDO> specialList, Map<Long, String> priceTransportTypeMap) { private void specialListAddPrice(List<ProductPriceDO> productPriceList,
List<ProductPriceSpecialDO> specialList,
Map<Long, String> priceTransportTypeMap) {
if (specialList == null) return; if (specialList == null) return;
specialList = specialList.stream() specialList = specialList.stream()
...@@ -2612,7 +2632,9 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper, ...@@ -2612,7 +2632,9 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper,
List<Long> idList = priceItemList.stream() List<Long> idList = priceItemList.stream()
.map(ProductPriceDO::getId) .map(ProductPriceDO::getId)
.collect(toList()); .collect(toList());
List<ProductPriceSpecialDO> itemSpecialList = productPriceSpecialService.selectList(new LambdaQueryWrapper<ProductPriceSpecialDO>() List<ProductPriceSpecialDO> itemSpecialList =
productPriceSpecialService.selectList(
new LambdaQueryWrapper<ProductPriceSpecialDO>()
.in(ProductPriceSpecialDO::getProductPriceId, idList) .in(ProductPriceSpecialDO::getProductPriceId, idList)
); );
allSpecialList.addAll(itemSpecialList); allSpecialList.addAll(itemSpecialList);
...@@ -2627,7 +2649,8 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper, ...@@ -2627,7 +2649,8 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper,
for (ProductPriceDO productPriceDO : productPriceList) { for (ProductPriceDO productPriceDO : productPriceList) {
Long productPriceId = productPriceDO.getId(); Long productPriceId = productPriceDO.getId();
List<ProductPriceSpecialDO> productSpecialList = priceSpecialMap.get(productPriceId); List<ProductPriceSpecialDO> productSpecialList =
priceSpecialMap.get(productPriceId);
//价格没有特需则跳过 //价格没有特需则跳过
if (CollectionUtil.isEmpty(productSpecialList)) continue; if (CollectionUtil.isEmpty(productSpecialList)) continue;
......
...@@ -125,8 +125,11 @@ public class ProductPriceController { ...@@ -125,8 +125,11 @@ public class ProductPriceController {
@ApiOperation("批量加价") @ApiOperation("批量加价")
@PreAuthorize("@ss.hasPermission('ecw:product-price:update')") @PreAuthorize("@ss.hasPermission('ecw:product-price:update')")
public CommonResult<Boolean> batchAddPrice(@RequestBody ProductPriceBatchAddPriceReqVo updateReqVO) { public CommonResult<Boolean> batchAddPrice(@RequestBody ProductPriceBatchAddPriceReqVo updateReqVO) {
//批量修改价格 lanbm 2024-05-23 添加注释
updateReqVO.setCheckStepPrice(false); updateReqVO.setCheckStepPrice(false);
ProductPriceCheckAO productPriceCheckAO = productPriceService.check(updateReqVO); ProductPriceCheckAO productPriceCheckAO =
productPriceService.check(updateReqVO);
routerService.batchAddPrice(updateReqVO, productPriceCheckAO); routerService.batchAddPrice(updateReqVO, productPriceCheckAO);
return success(true); return success(true);
} }
......
...@@ -62,6 +62,10 @@ import java.util.stream.Collectors; ...@@ -62,6 +62,10 @@ import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.excel.constant.ExportConstant.DATA_FORMAT; import static cn.iocoder.yudao.framework.excel.constant.ExportConstant.DATA_FORMAT;
import static cn.iocoder.yudao.module.shipment.enums.ErrorCodeConstants.HAVE_NOT_PRELOAD_GOODS; import static cn.iocoder.yudao.module.shipment.enums.ErrorCodeConstants.HAVE_NOT_PRELOAD_GOODS;
/*
空运应收款汇总下载
lanbm 2024-05-25 添加注释
*/
@Component("AirBillReceivableExcelExportListener") @Component("AirBillReceivableExcelExportListener")
@AllArgsConstructor @AllArgsConstructor
@Slf4j @Slf4j
...@@ -113,21 +117,42 @@ public class AirBillReceivableExcelExportListener { ...@@ -113,21 +117,42 @@ public class AirBillReceivableExcelExportListener {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DATA_FORMAT); DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DATA_FORMAT);
String nowTime = formatter.format(LocalDateTime.now()); String nowTime = formatter.format(LocalDateTime.now());
String dir = ueProperties.getTempDir().concat("/airReceivable/excel/"); String dir = ueProperties.getTempDir().concat("/airReceivable/excel/");
String fileName = event.getUserId().toString().concat(StrUtil.DASHED).concat(event.getUserType().toString()).concat(StrUtil.DASHED).concat(nowTime).concat("air_receivable_notMerge.xlsx"); String fileName = event.getUserId().toString().
String fileNameMerge = event.getUserId().toString().concat(StrUtil.DASHED).concat(event.getUserType().toString()).concat(StrUtil.DASHED).concat(nowTime).concat("air_receivable_Merge.xlsx"); concat(StrUtil.DASHED).concat(event.getUserType().toString()).
concat(StrUtil.DASHED).concat(nowTime).
concat("air_receivable_notMerge.xlsx");
String fileNameMerge = event.getUserId().toString().
concat(StrUtil.DASHED).concat(event.getUserType().toString()).
concat(StrUtil.DASHED).concat(nowTime).
concat("air_receivable_Merge.xlsx");
List<CurrencyDO> currencyList = currencyService.getCurrencyList(); List<CurrencyDO> currencyList = currencyService.getCurrencyList();
Map<Integer, String> currencyMap = currencyList.stream().collect(Collectors.toMap(CurrencyDO::getId, CurrencyDO::getTitleEn, (key1, key2) -> key2)); Map<Integer, String> currencyMap =
Map<Integer, String> currencyFuhaoMap = currencyList.stream().collect(Collectors.toMap(CurrencyDO::getId, CurrencyDO::getFuhao, (key1, key2) -> key2)); currencyList.stream().
collect(Collectors.toMap(CurrencyDO::getId,
CurrencyDO::getTitleEn, (key1, key2) -> key2));
Map<Integer, String> currencyFuhaoMap =
currencyList.stream().
collect(Collectors.toMap(CurrencyDO::getId,
CurrencyDO::getFuhao, (key1, key2) -> key2));
InputStream inputStream = null; InputStream inputStream = null;
JSONObject jsonObject = JSONObject.parseObject(event.getRequestParams()); JSONObject jsonObject =
JSONObject.parseObject(event.getRequestParams());
Long shipmentId = jsonObject.getLong("shipmentId"); Long shipmentId = jsonObject.getLong("shipmentId");
inputStream = getClass().getClassLoader().getResourceAsStream(ueProperties.getTemplatesUrl() + "/airBillTemplate.xlsx"); inputStream = getClass().getClassLoader().
getResourceAsStream(ueProperties.getTemplatesUrl()
+ "/airBillTemplate.xlsx");
BoxDO box = boxService.getBox(shipmentId); BoxDO box = boxService.getBox(shipmentId);
WarehouseDO startWarehouse = warehouseService.getWarehouse(box.getStartWarehouseId()); WarehouseDO startWarehouse = warehouseService.getWarehouse(box.getStartWarehouseId());
WarehouseDO destWarehouse = warehouseService.getWarehouse(box.getDestWarehouseId()); WarehouseDO destWarehouse = warehouseService.getWarehouse(box.getDestWarehouseId());
RegionDO startRegion = regionService.getRegion(startWarehouse.getGuojia()); RegionDO startRegion = regionService.getRegion(startWarehouse.getGuojia());
RegionDO destRegion = regionService.getRegion(destWarehouse.getGuojia()); RegionDO destRegion = regionService.getRegion(destWarehouse.getGuojia());
WarehouseLineDO warehouseLineDO = warehouseLineMapper.findOne(box.getStartWarehouseId(), box.getDestWarehouseId(), box.getTransportType()); WarehouseLineDO warehouseLineDO = warehouseLineMapper.findOne(
box.getStartWarehouseId(), box.getDestWarehouseId(),
box.getTransportType());
if (StringUtils.isNotBlank(warehouseLineDO.getRecipientInfo())) { if (StringUtils.isNotBlank(warehouseLineDO.getRecipientInfo())) {
recipientInfo = JSONObject.parseObject(warehouseLineDO.getRecipientInfo(), ContactInfoDTO.class); recipientInfo = JSONObject.parseObject(warehouseLineDO.getRecipientInfo(), ContactInfoDTO.class);
} }
...@@ -191,7 +216,12 @@ public class AirBillReceivableExcelExportListener { ...@@ -191,7 +216,12 @@ public class AirBillReceivableExcelExportListener {
Integer sum14 = 0; Integer sum14 = 0;
BigDecimal sum15 = BigDecimal.ZERO; BigDecimal sum15 = BigDecimal.ZERO;
BigDecimal sum16 = BigDecimal.ZERO; BigDecimal sum16 = BigDecimal.ZERO;
List<BoxMergePkgDO> boxMergePkgDOS = boxMergePkgService.selectList(new LambdaQueryWrapperX<BoxMergePkgDO>().eq(BoxMergePkgDO::getShipmentId, shipmentId).orderByDesc(BoxMergePkgDO::getId)); List<BoxMergePkgDO> boxMergePkgDOS =
boxMergePkgService.selectList(
new LambdaQueryWrapperX<BoxMergePkgDO>().
eq(BoxMergePkgDO::getShipmentId,
shipmentId).orderByDesc(BoxMergePkgDO::getId));
for (Map.Entry<Long, List<BoxPreloadGoodsBackVO>> entry : orderMap.entrySet()) { for (Map.Entry<Long, List<BoxPreloadGoodsBackVO>> entry : orderMap.entrySet()) {
Long orderId = entry.getKey(); Long orderId = entry.getKey();
OrderBackInfoDto orderInfo = orderQueryService.info(orderId); OrderBackInfoDto orderInfo = orderQueryService.info(orderId);
...@@ -376,6 +406,7 @@ public class AirBillReceivableExcelExportListener { ...@@ -376,6 +406,7 @@ public class AirBillReceivableExcelExportListener {
map.put("objectiveName", orderInfo.getLogisticsInfoDto().getDestTitleEn()); map.put("objectiveName", orderInfo.getLogisticsInfoDto().getDestTitleEn());
map.put("consignorPhone", orderInfo.getConsignorVO().getPhone()); map.put("consignorPhone", orderInfo.getConsignorVO().getPhone());
map.put("consignorName", orderInfo.getConsignorVO().getName()); map.put("consignorName", orderInfo.getConsignorVO().getName());
if (CollectionUtil.isNotEmpty(entry.getValue())) { if (CollectionUtil.isNotEmpty(entry.getValue())) {
Long pkgId = entry.getValue().get(0).getPkgId(); Long pkgId = entry.getValue().get(0).getPkgId();
if (pkgId != null && pkgId > 0L) { if (pkgId != null && pkgId > 0L) {
...@@ -383,8 +414,10 @@ public class AirBillReceivableExcelExportListener { ...@@ -383,8 +414,10 @@ public class AirBillReceivableExcelExportListener {
map.put("remark",boxMergePkgDO.getPkgNum()); map.put("remark",boxMergePkgDO.getPkgNum());
} }
} }
if (orderInfo.getSalesmanId() !=null && orderInfo.getSalesmanId().longValue() > 0L) { if (orderInfo.getSalesmanId() !=null &&
map.put("accountManager",getUserName(String.valueOf(orderInfo.getSalesmanId()))); orderInfo.getSalesmanId().longValue() > 0L) {
map.put("accountManager",
getUserName(String.valueOf(orderInfo.getSalesmanId())));
} }
list.add(map); list.add(map);
} }
...@@ -457,7 +490,8 @@ public class AirBillReceivableExcelExportListener { ...@@ -457,7 +490,8 @@ public class AirBillReceivableExcelExportListener {
} }
} }
FileOutputStream fileOutputStream = new FileOutputStream(new File(dir+fileNameMerge)); FileOutputStream fileOutputStream =
new FileOutputStream(new File(dir+fileNameMerge));
workbook.write(fileOutputStream); workbook.write(fileOutputStream);
fileOutputStream.close(); fileOutputStream.close();
......
...@@ -261,7 +261,6 @@ public class ShipmentReceivableExcelExportListener { ...@@ -261,7 +261,6 @@ public class ShipmentReceivableExcelExportListener {
event.setUrl(fileDO.getUrl()); event.setUrl(fileDO.getUrl());
event.setFileId(fileDO.getId()); event.setFileId(fileDO.getId());
} catch (Exception e) { } catch (Exception e) {
// TODO 测试阶段打印堆栈错误信息,便于分析原因
e.printStackTrace(); e.printStackTrace();
event.setResult(e.getMessage()); event.setResult(e.getMessage());
} }
......
...@@ -1456,7 +1456,7 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements ...@@ -1456,7 +1456,7 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements
if (CollectionUtil.isNotEmpty(boxMergePkgDOS)) { if (CollectionUtil.isNotEmpty(boxMergePkgDOS)) {
List<Long> pkgIds = boxMergePkgDOS.stream(). List<Long> pkgIds = boxMergePkgDOS.stream().
map(BoxMergePkgDO::getId).collect(Collectors.toList()); map(BoxMergePkgDO::getId).collect(Collectors.toList());
List<BoxPkgOrderDO> boxPkgOrderDOS = List<BoxPkgOrderDO> boxPkgOrderDOS =
boxPkgOrderService.selectList(BoxPkgOrderDO::getPkgId, pkgIds); boxPkgOrderService.selectList(BoxPkgOrderDO::getPkgId, pkgIds);
...@@ -2504,8 +2504,9 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements ...@@ -2504,8 +2504,9 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements
public PageResult<BoxBackVO> getBoxExitPageAir(MyBoxExitQueryVO query) { public PageResult<BoxBackVO> getBoxExitPageAir(MyBoxExitQueryVO query) {
Set<Long> warehouseIdSet = getDepartWarehouseId(); Set<Long> warehouseIdSet = getDepartWarehouseId();
PageResult<BoxDO> pageResult = selectPage(query, new LambdaQuery<BoxDO>() PageResult<BoxDO> pageResult = selectPage(query, new LambdaQuery<BoxDO>()
.likeIfPresent(BoxDO::getSelfNo, query.getSelfNo()) .likeIfPresent(BoxDO::getSelfNo,
//已出仓 query.getSelfNo())
//已出仓 222
.eq(BoxDO::getCheckoutStatus, AirCheckoutStatusEnum.CHECKOUT.getStatus()) .eq(BoxDO::getCheckoutStatus, AirCheckoutStatusEnum.CHECKOUT.getStatus())
.and( .and(
i -> i.and(t -> i -> i.and(t ->
...@@ -2519,7 +2520,6 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements ...@@ -2519,7 +2520,6 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements
.eq(BoxDO::getOverMachineExamineStatus, BpmProcessInstanceResultEnum.APPROVE.getResult()) .eq(BoxDO::getOverMachineExamineStatus, BpmProcessInstanceResultEnum.APPROVE.getResult())
) )
) )
.and( .and(
i -> i ->
i.in(BoxDO::getStartWarehouseId, warehouseIdSet) i.in(BoxDO::getStartWarehouseId, warehouseIdSet)
......
...@@ -895,7 +895,10 @@ public class BoxApprovalServiceImpl extends AbstractService<BoxApprovalMapper, B ...@@ -895,7 +895,10 @@ public class BoxApprovalServiceImpl extends AbstractService<BoxApprovalMapper, B
case SHIPMENT_CUSTOMS_DECLARE_REMOVE_SPLIT: case SHIPMENT_CUSTOMS_DECLARE_REMOVE_SPLIT:
// 删单退场拆单业务(主要操作流程与部分退场拆单一致) // 删单退场拆单业务(主要操作流程与部分退场拆单一致)
if (result == BpmProcessInstanceResultEnum.APPROVE.getResult()) { if (result == BpmProcessInstanceResultEnum.APPROVE.getResult()) {
OrderSplitApplyDetailDto orderSplitApplyDetailDto = JSON.parseObject(boxApprovalDO.getDetails(), OrderSplitApplyDetailDto.class); OrderSplitApplyDetailDto orderSplitApplyDetailDto =
JSON.parseObject(boxApprovalDO.getDetails(),
OrderSplitApplyDetailDto.class);
OrderDO oldOrder = boxService.getOrder(orderId); OrderDO oldOrder = boxService.getOrder(orderId);
orderSplitApplyDetailDto.setBoxSplitOrder(true);// 标识为出货拆单,需要保持主拆单原状态、原单价等数据 orderSplitApplyDetailDto.setBoxSplitOrder(true);// 标识为出货拆单,需要保持主拆单原状态、原单价等数据
orderSplitApplyDetailDto.setPartRefundSplit(true);// 标识为部分退场拆单,需要将子状态也保持原有状态(注:删单退场拆单逻辑一致,拆单后状态与母订单一致,等操作退场提交审批后才会修改状态) orderSplitApplyDetailDto.setPartRefundSplit(true);// 标识为部分退场拆单,需要将子状态也保持原有状态(注:删单退场拆单逻辑一致,拆单后状态与母订单一致,等操作退场提交审批后才会修改状态)
...@@ -1146,15 +1149,25 @@ public class BoxApprovalServiceImpl extends AbstractService<BoxApprovalMapper, B ...@@ -1146,15 +1149,25 @@ public class BoxApprovalServiceImpl extends AbstractService<BoxApprovalMapper, B
//==============删单退场============================= //==============删单退场=============================
case SHIPMENT_CUSTOMS_DECLARE_REMOVE: case SHIPMENT_CUSTOMS_DECLARE_REMOVE:
//解析审核详情 //解析审核详情
CustomsExitType customsExitType = JSON.parseObject(boxApprovalDO.getDetails(), CustomsExitType.class); //出货审批-报关删单退场审核 lanbm 2024-05-25
CustomsExitType customsExitType =
JSON.parseObject(boxApprovalDO.getDetails(),
CustomsExitType.class);
if(customsExitType.getDeleteExitType() == 2) { if(customsExitType.getDeleteExitType() == 2) {
opStatus = Integer.parseInt(DcStatueEnum.CUSTOMING.getDcStatus() + "3" + result); opStatus = Integer.parseInt(DcStatueEnum.CUSTOMING.getDcStatus()
+ "3" + result);
if (result == BpmProcessInstanceResultEnum.APPROVE.getResult()) { if (result == BpmProcessInstanceResultEnum.APPROVE.getResult()) {
//如果审核通过,重新修改状态为未处理 //如果审核通过,重新修改状态为未处理
boxDO.setCheckDealStatus(0); boxDO.setCheckDealStatus(0);
boxOpLogService.createBoxOpLog(boxDO.getId(), opStatus, "报关删单退场审核成功", "delete return of customs declaration under review success", boxApprovalDO.getId()); boxOpLogService.createBoxOpLog(boxDO.getId(),
opStatus, "报关删单退场审核成功",
"delete return of customs declaration under review success",
boxApprovalDO.getId());
} else if(result == BpmProcessInstanceResultEnum.REJECT.getResult()) { } else if(result == BpmProcessInstanceResultEnum.REJECT.getResult()) {
boxOpLogService.createBoxOpLog(boxDO.getId(), opStatus, "报关删单审核失败", "delete return of customs declaration under review fail", boxApprovalDO.getId()); boxOpLogService.createBoxOpLog(boxDO.getId(), opStatus,
"报关删单审核失败",
"delete return of customs declaration under review fail",
boxApprovalDO.getId());
} }
} }
boxService.updateOrderStatusByShipmentId(shipmentId, null, null, boxService.updateOrderStatusByShipmentId(shipmentId, null, null,
......
...@@ -188,7 +188,8 @@ public class MakeBillOfLadingServiceImpl extends AbstractService<MakeBillOfLadin ...@@ -188,7 +188,8 @@ public class MakeBillOfLadingServiceImpl extends AbstractService<MakeBillOfLadin
} }
// 插入 // 插入
MakeBillOfLadingDO makeBillOfLading = MakeBillOfLadingConvert.INSTANCE.convert(createReqVO); MakeBillOfLadingDO makeBillOfLading =
MakeBillOfLadingConvert.INSTANCE.convert(createReqVO);
//查询shipmentId //查询shipmentId
List<BoxPreloadGoodsDO> preloadGoodsDOList = boxPreloadGoodsService.list(new LambdaQueryWrapper<BoxPreloadGoodsDO>() List<BoxPreloadGoodsDO> preloadGoodsDOList = boxPreloadGoodsService.list(new LambdaQueryWrapper<BoxPreloadGoodsDO>()
...@@ -251,11 +252,31 @@ public class MakeBillOfLadingServiceImpl extends AbstractService<MakeBillOfLadin ...@@ -251,11 +252,31 @@ public class MakeBillOfLadingServiceImpl extends AbstractService<MakeBillOfLadin
makeBillOfLadingMapper.insert(makeBillOfLading); makeBillOfLadingMapper.insert(makeBillOfLading);
// 返回 // 返回
OrderDO orderDO = orderService.selectOne(OrderDO::getOrderId, createReqVO.getOrderId()); OrderDO orderDO =
String bpmProcessId = bpmCreateServiceFactory.createBmp(SecurityFrameworkUtils.getLoginUserId(), makeBillOfLading.getId(), WorkFlowEmus.SHIPMENT_BILL_LADING.getKey(), orderDO.getOrderNo(), createReqVO.getCopyUserId()); orderService.selectOne(OrderDO::getOrderId,
createReqVO.getOrderId());
String bpmProcessId =
bpmCreateServiceFactory.createBmp(
SecurityFrameworkUtils.getLoginUserId(),
makeBillOfLading.getId(),
WorkFlowEmus.SHIPMENT_BILL_LADING.getKey(),
orderDO.getOrderNo(),
createReqVO.getCopyUserId());
makeBillOfLading.setBpmProcessId(bpmProcessId); makeBillOfLading.setBpmProcessId(bpmProcessId);
//lanbm 2024-05-24 修改为自动审批通过
//ecw_make_bill_of_lading
/*
PROCESS(1, "处理中"),
APPROVE(2, "通过"),
REJECT(3, "不通过"),
CANCEL(4, "已取消"),*/
makeBillOfLading.setStatus(2);
makeBillOfLadingMapper.updateById(makeBillOfLading); makeBillOfLadingMapper.updateById(makeBillOfLading);
orderBusinessService.addOrderOperateLog(Long.valueOf(createReqVO.getOrderId()), "出货操作", "提交提单制作审核", ""); //提交提单制作审核
orderBusinessService.addOrderOperateLog(
Long.valueOf(createReqVO.getOrderId()), "出货操作",
"提交提单制作审批通过", "");
return makeBillOfLading.getId(); return makeBillOfLading.getId();
} }
...@@ -264,10 +285,18 @@ public class MakeBillOfLadingServiceImpl extends AbstractService<MakeBillOfLadin ...@@ -264,10 +285,18 @@ public class MakeBillOfLadingServiceImpl extends AbstractService<MakeBillOfLadin
// 校验存在 // 校验存在
this.validateMakeBillOfLadingExists(updateReqVO.getId()); this.validateMakeBillOfLadingExists(updateReqVO.getId());
// 更新 // 更新
MakeBillOfLadingDO updateObj = MakeBillOfLadingConvert.INSTANCE.convert(updateReqVO); MakeBillOfLadingDO updateObj =
MakeBillOfLadingConvert.INSTANCE.convert(updateReqVO);
//lanbm 2024-05-24 提单直接审批通过
updateObj.setStatus(2);
//end lanbm 2024-05-24 提单直接审批通过
makeBillOfLadingMapper.updateById(updateObj); makeBillOfLadingMapper.updateById(updateObj);
OrderBackVO order = orderQueryService.getOrder(Long.valueOf(makeBillOfLadingMapper.selectById(updateReqVO.getId()).getOrderId())); OrderBackVO order = orderQueryService.getOrder(Long.valueOf(makeBillOfLadingMapper.selectById(updateReqVO.getId()).getOrderId()));
String bpmProcessId = bpmCreateServiceFactory.createBmp(SecurityFrameworkUtils.getLoginUserId(), updateReqVO.getId(), WorkFlowEmus.SHIPMENT_BILL_LADING.getKey(), order.getOrderNo(), updateReqVO.getCopyUserId()); String bpmProcessId =
bpmCreateServiceFactory.createBmp(SecurityFrameworkUtils.getLoginUserId(), updateReqVO.getId(), WorkFlowEmus.SHIPMENT_BILL_LADING.getKey(), order.getOrderNo(),
updateReqVO.getCopyUserId());
updateObj.setBpmProcessId(bpmProcessId); updateObj.setBpmProcessId(bpmProcessId);
makeBillOfLadingMapper.updateById(updateObj); makeBillOfLadingMapper.updateById(updateObj);
} }
...@@ -637,13 +666,21 @@ public class MakeBillOfLadingServiceImpl extends AbstractService<MakeBillOfLadin ...@@ -637,13 +666,21 @@ public class MakeBillOfLadingServiceImpl extends AbstractService<MakeBillOfLadin
return stringBuffer.toString(); return stringBuffer.toString();
} }
/* lanbm 2024-05-24 添加注释
PROCESS(1, "处理中"),
APPROVE(2, "通过"),
REJECT(3, "不通过"),
CANCEL(4, "已取消"),
*/
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updateBillOfLadingResult(String id, int result) { public void updateBillOfLadingResult(String id, int result) {
MakeBillOfLadingDO makeBillOfLadingDO = new MakeBillOfLadingDO(); MakeBillOfLadingDO makeBillOfLadingDO = new MakeBillOfLadingDO();
makeBillOfLadingDO.setId(Long.valueOf(id)); makeBillOfLadingDO.setId(Long.valueOf(id));
makeBillOfLadingDO.setStatus(result); makeBillOfLadingDO.setStatus(result);
MakeBillOfLadingDO makeBillOfLadingDO1 = makeBillOfLadingMapper.selectById(id); MakeBillOfLadingDO makeBillOfLadingDO1 =
makeBillOfLadingMapper.selectById(id);
if (result == 4) { if (result == 4) {
makeBillOfLadingMapper.updateById(makeBillOfLadingDO); makeBillOfLadingMapper.updateById(makeBillOfLadingDO);
makeBillOfLadingMapper.deleteById(Long.valueOf(id)); makeBillOfLadingMapper.deleteById(Long.valueOf(id));
...@@ -699,8 +736,9 @@ public class MakeBillOfLadingServiceImpl extends AbstractService<MakeBillOfLadin ...@@ -699,8 +736,9 @@ public class MakeBillOfLadingServiceImpl extends AbstractService<MakeBillOfLadin
} }
makeBillOfLadingMapper.updateById(makeBillOfLadingDO); makeBillOfLadingMapper.updateById(makeBillOfLadingDO);
if (makeBillOfLadingDO1 != null) { if (makeBillOfLadingDO1 != null) {
orderBusinessService.addOrderOperateLog(
orderBusinessService.addOrderOperateLog(Long.valueOf(makeBillOfLadingDO1.getOrderId()), "出货操作", "提单制作审核通过", ""); Long.valueOf(makeBillOfLadingDO1.getOrderId()),
"出货操作", "提单制作审核通过", "");
} }
} }
// if (result == 2) { // if (result == 2) {
......
...@@ -355,6 +355,7 @@ public class BoxPreloadGoodsController { ...@@ -355,6 +355,7 @@ public class BoxPreloadGoodsController {
@ApiOperation("下载应收汇总") @ApiOperation("下载应收汇总")
@ApiImplicitParam(name = "shipmentId", value = "出货单ID", required = true, example = "20", dataTypeClass = Long.class) @ApiImplicitParam(name = "shipmentId", value = "出货单ID", required = true, example = "20", dataTypeClass = Long.class)
public CommonResult downloadReceivableList(@RequestParam("shipmentId") Long shipmentId, HttpServletResponse response) throws Exception { public CommonResult downloadReceivableList(@RequestParam("shipmentId") Long shipmentId, HttpServletResponse response) throws Exception {
//下载应收汇总表 ,修改模板样式 lanbm 2024-04-24 添加注释
BoxDO box = boxService.getBox(shipmentId); BoxDO box = boxService.getBox(shipmentId);
FileMakeReqDTO reqDTO = new FileMakeReqDTO(); FileMakeReqDTO reqDTO = new FileMakeReqDTO();
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
...@@ -374,6 +375,7 @@ public class BoxPreloadGoodsController { ...@@ -374,6 +375,7 @@ public class BoxPreloadGoodsController {
@ApiOperation("下载空运应收汇总") @ApiOperation("下载空运应收汇总")
@ApiImplicitParam(name = "shipmentId", value = "出货单ID", required = true, example = "20", dataTypeClass = Long.class) @ApiImplicitParam(name = "shipmentId", value = "出货单ID", required = true, example = "20", dataTypeClass = Long.class)
public CommonResult downloadAirBillReceivable(@RequestParam("shipmentId") Long shipmentId, HttpServletResponse response) throws Exception { public CommonResult downloadAirBillReceivable(@RequestParam("shipmentId") Long shipmentId, HttpServletResponse response) throws Exception {
//下载空运应收款汇总单 lanbm 2024-05-25 添加注释
BoxDO box = boxService.getBox(shipmentId); BoxDO box = boxService.getBox(shipmentId);
FileMakeReqDTO reqDTO = new FileMakeReqDTO(); FileMakeReqDTO reqDTO = new FileMakeReqDTO();
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
......
...@@ -85,13 +85,16 @@ public class MakeBillOfLadingController { ...@@ -85,13 +85,16 @@ public class MakeBillOfLadingController {
@Idempotent(timeout = 10) @Idempotent(timeout = 10)
//@PreAuthorize("@ss.hasPermission('shipment:make-bill-of-lading:create')") //@PreAuthorize("@ss.hasPermission('shipment:make-bill-of-lading:create')")
public CommonResult<Long> createMakeBillOfLading(@Valid @RequestBody MakeBillOfLadingCreateReqVO createReqVO) { public CommonResult<Long> createMakeBillOfLading(@Valid @RequestBody MakeBillOfLadingCreateReqVO createReqVO) {
//lanbm 2024-05-24 修改此函数,取消审批流程
//ecw_make_bill_of_lading 提单
String redisKey = MessageFormat.format(BOX_MAKE_LADING_KEY, createReqVO.getOrderId().toString()); String redisKey = MessageFormat.format(BOX_MAKE_LADING_KEY, createReqVO.getOrderId().toString());
Long count = redisHelper.incrBy(redisKey, 1); Long count = redisHelper.incrBy(redisKey, 1);
if (count > 1){ if (count > 1){
return error(BOX_MAKE_LADING_REPEAT_COMMIT); return error(BOX_MAKE_LADING_REPEAT_COMMIT);
} }
redisHelper.expire(redisKey, 1, TimeUnit.MINUTES); redisHelper.expire(redisKey, 1, TimeUnit.MINUTES);
Long makeBillOfLading = makeBillOfLadingService.createMakeBillOfLading(createReqVO); Long makeBillOfLading =
makeBillOfLadingService.createMakeBillOfLading(createReqVO);
redisHelper.delete(redisKey); redisHelper.delete(redisKey);
return success(makeBillOfLading); return success(makeBillOfLading);
} }
......
...@@ -284,9 +284,11 @@ public class DownloadLogServiceImpl extends AbstractService<DownloadLogMapper, D ...@@ -284,9 +284,11 @@ public class DownloadLogServiceImpl extends AbstractService<DownloadLogMapper, D
case SHIPMENT_LOAD_EXCEL_EXPORT: case SHIPMENT_LOAD_EXCEL_EXPORT:
shipmentLoadExcelExportPushEvent(downloadLog); shipmentLoadExcelExportPushEvent(downloadLog);
break; break;
//应收汇总导出 //应收汇总导出 lanbm 2024-05-24 修改导出Excel样式
case SHIPMENT_RECEIVABLE_EXCEL_EXPORT: case SHIPMENT_RECEIVABLE_EXCEL_EXPORT:
shipmentReceivableExcelExportPushEvent(downloadLog); //老模板导出方式
//shipmentReceivableExcelExportPushEvent(downloadLog);
shipmentReceivableExcelExportPushEvent2(downloadLog);
break; break;
//提单打包导出 //提单打包导出
case SHIPMENT_BILLING_ZIP_EXPORT: case SHIPMENT_BILLING_ZIP_EXPORT:
...@@ -628,6 +630,25 @@ public class DownloadLogServiceImpl extends AbstractService<DownloadLogMapper, D ...@@ -628,6 +630,25 @@ public class DownloadLogServiceImpl extends AbstractService<DownloadLogMapper, D
downloadLog.setFileId(event.getFileId()); downloadLog.setFileId(event.getFileId());
} }
/*
lanbm 2024-05-25 add
*/
private void shipmentReceivableExcelExportPushEvent2(DownloadLogDO downloadLog) {
ShipmentReceivableExcelExportPushEvent2 event =
new ShipmentReceivableExcelExportPushEvent2();
event.setUserId(downloadLog.getUserId());
event.setUserType(downloadLog.getUserType());
event.setLang(downloadLog.getLang());
event.setRequestParams(downloadLog.getRequestParams());
applicationContext.publishEvent(event);
downloadLog.setFileName(event.getFileName());
downloadLog.setPath(event.getPath());
downloadLog.setDownloadUrl(event.getUrl());
downloadLog.setResult(event.getResult());
downloadLog.setFileId(event.getFileId());
}
private void shipmentLoadExcelExportPushEvent(DownloadLogDO downloadLog) { private void shipmentLoadExcelExportPushEvent(DownloadLogDO downloadLog) {
ShipmentLoadExcelExportPushEvent event = new ShipmentLoadExcelExportPushEvent(); ShipmentLoadExcelExportPushEvent event = new ShipmentLoadExcelExportPushEvent();
event.setUserId(downloadLog.getUserId()); event.setUserId(downloadLog.getUserId());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment