diff --git "a/sql/v2.2\350\264\242\345\212\241/20250106.sql" "b/sql/v2.2\350\264\242\345\212\241/20250106.sql" index 81cd0273727bde51f557f693fd105f0123cce05f..c8c19ad1bd56693fe66f3202ebbc50f677f537a7 100644 --- "a/sql/v2.2\350\264\242\345\212\241/20250106.sql" +++ "b/sql/v2.2\350\264\242\345\212\241/20250106.sql" @@ -36,6 +36,8 @@ ALTER TABLE `ecw_receipt` ADD COLUMN `invoice_id` bigint NULL DEFAULT NULL COMME ALTER TABLE `ecw_receipt` ADD COLUMN `generate_path` int NULL DEFAULT 0 COMMENT '生æˆè·¯å¾„' AFTER `invoice_id`; +ALTER TABLE `ecw_receipt` ADD COLUMN `write_off_diff_main_currency` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'æ ¸é”€è¯¯å·®å…‘é¢å¤–费用主å¸ç§é‡‘é¢' AFTER `generate_path`; + CREATE TABLE `ecw_receipt_bank_writeoff_range` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `write_off_down` int NOT NULL DEFAULT 10000 COMMENT 'æ ¸é”€æ¯”ä¾‹ä¸‹ç•Œï¼ˆé™¤ä»¥100)', diff --git a/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderQueryServiceImpl.java b/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderQueryServiceImpl.java index d05cfcf4a5b29b3f61e3065b0b1164d08a592ba6..d6922e3a25f00bfcd5e8838852d78bccb84920af 100644 --- a/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderQueryServiceImpl.java +++ b/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderQueryServiceImpl.java @@ -4,11 +4,11 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.apollo.core.event.Order.OrderApprovalTypeCheckEvent; -import cn.iocoder.yudao.framework.common.util.spring.enums.UserTypeEnum; import cn.iocoder.yudao.framework.common.exception.ServiceException; import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.spring.enums.UserTypeEnum; import cn.iocoder.yudao.framework.excel.handler.WaterMarkHandler; import cn.iocoder.yudao.framework.i18n.core.I18nMessage; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; @@ -17,7 +17,6 @@ import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.customer.dal.dataobject.customer.CustomerDO; -import cn.iocoder.yudao.module.customer.dal.dataobject.customerContacts.CustomerContactsDO; import cn.iocoder.yudao.module.customer.service.customer.CustomerService; import cn.iocoder.yudao.module.customer.service.customerContacts.CustomerContactsService; import cn.iocoder.yudao.module.customer.service.zhongPao.ZhongPaoService; @@ -60,7 +59,6 @@ import cn.iocoder.yudao.module.order.dal.dataobject.orderWarehousePicture.OrderW import cn.iocoder.yudao.module.order.dal.mysql.approval.OrderApprovalMapper; import cn.iocoder.yudao.module.order.dal.mysql.order.OrderMapper; import cn.iocoder.yudao.module.order.dal.mysql.orderItem.OrderItemMapper; -import cn.iocoder.yudao.module.order.dal.mysql.orderItemPackLog.OrderItemPackLogMapper; import cn.iocoder.yudao.module.order.dal.mysql.orderTime.OrderTimeMapper; import cn.iocoder.yudao.module.order.dal.mysql.orderWarehouseIn.OrderWarehouseInMapper; import cn.iocoder.yudao.module.order.dto.*; @@ -99,10 +97,8 @@ import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; @@ -127,7 +123,6 @@ import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionU import static cn.iocoder.yudao.framework.excel.constant.ExportConstant.*; import static cn.iocoder.yudao.module.order.enums.ErrorCodeConstants.*; import static cn.iocoder.yudao.module.order.enums.OrderApprovalTypeEnum.ORDER_UPDATE; -import static cn.iocoder.yudao.module.order.enums.OrderApprovalTypeEnum.merge_order; import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.NOT_FIND_CURRENCY; /** @@ -3132,7 +3127,7 @@ public class OrderQueryServiceImpl implements OrderQueryService { writeOffTotalFeeGroupDtoMap.put(receivableDO.getCurrencyId(), writeOffAmountActual); } // 计算未收 - if (notWriteOffAmount.compareTo(BigDecimal.ZERO) > 0) { + if (notWriteOffAmount.compareTo(BigDecimal.ZERO) >= 0) { if (notWriteOffTotalFeeGroupDtoMap.containsKey(receivableDO.getCurrencyId())) { notWriteOffTotalFeeGroupDtoMap.put(receivableDO.getCurrencyId(), notWriteOffAmount.add(notWriteOffTotalFeeGroupDtoMap.get(receivableDO.getCurrencyId()))); } else { @@ -3226,7 +3221,7 @@ public class OrderQueryServiceImpl implements OrderQueryService { writeOffFreightFeeGroupDtoMap.put(receivableDO.getCurrencyId(), writeOffAmountActual); } // 计算未收 - if (notWriteOffAmount.compareTo(BigDecimal.ZERO) > 0) { + if (notWriteOffAmount.compareTo(BigDecimal.ZERO) >= 0) { if (notWriteOffFreightFeeGroupDtoMap.containsKey(receivableDO.getCurrencyId())) { notWriteOffFreightFeeGroupDtoMap.put(receivableDO.getCurrencyId(), notWriteOffAmount.add(notWriteOffFreightFeeGroupDtoMap.get(receivableDO.getCurrencyId()))); } else { @@ -3271,7 +3266,7 @@ public class OrderQueryServiceImpl implements OrderQueryService { writeOffClearanceFeeGroupDtoMap.put(receivableDO.getCurrencyId(), writeOffAmountActual); } // 计算未收 - if (notWriteOffAmount.compareTo(BigDecimal.ZERO) > 0) { + if (notWriteOffAmount.compareTo(BigDecimal.ZERO) >= 0) { if (notWriteOffClearanceFeeGroupDtoMap.containsKey(receivableDO.getCurrencyId())) { notWriteOffClearanceFeeGroupDtoMap.put(receivableDO.getCurrencyId(), notWriteOffAmount.add(notWriteOffClearanceFeeGroupDtoMap.get(receivableDO.getCurrencyId()))); } else { @@ -3328,7 +3323,7 @@ public class OrderQueryServiceImpl implements OrderQueryService { writeOffOtherFeeGroupDtoMap.put(receivableDO.getCurrencyId(), writeOffAmountActual); } // 计算未收 - if (notWriteOffAmount.compareTo(BigDecimal.ZERO) > 0) { + if (notWriteOffAmount.compareTo(BigDecimal.ZERO) >= 0) { if (notWriteOffOtherFeeGroupDtoMap.containsKey(receivableDO.getCurrencyId())) { notWriteOffOtherFeeGroupDtoMap.put(receivableDO.getCurrencyId(), notWriteOffAmount.add(notWriteOffOtherFeeGroupDtoMap.get(receivableDO.getCurrencyId()))); } else { @@ -3570,8 +3565,12 @@ public class OrderQueryServiceImpl implements OrderQueryService { private void convertFeeGroup(Map<Integer, CurrencyRespDTO> currencyRespDTOMap, Map<Long, BigDecimal> feeGroupDtoMap, List<FeeGroupDto> feeGroupDtoList, StringBuilder sb) { for (Map.Entry<Long, BigDecimal> entry : feeGroupDtoMap.entrySet()) { + int currencyId = entry.getKey().intValue(); + if (currencyRespDTOMap.get(currencyId) == null) { + continue; + } FeeGroupDto feeGroupDto = new FeeGroupDto(); - CurrencyRespDTO currencyRespDTO = currencyRespDTOMap.get(entry.getKey().intValue()); + CurrencyRespDTO currencyRespDTO = currencyRespDTOMap.get(currencyId); feeGroupDto.setCurrencyId(entry.getKey()); feeGroupDto.setAmount(entry.getValue().setScale(0, RoundingMode.HALF_UP)); if (Objects.nonNull(currencyRespDTO)) { @@ -3589,6 +3588,10 @@ public class OrderQueryServiceImpl implements OrderQueryService { private void convertFeeGroup(Map<Integer, CurrencyRespDTO> currencyRespDTOMap, Map<Long, BigDecimal> feeGroupDtoMap1, Map<Long, BigDecimal> feeGroupDtoMap2, List<FeeGroupDto> feeGroupDtoList, StringBuilder sb) { for (Map.Entry<Long, BigDecimal> entry : feeGroupDtoMap1.entrySet()) { + int currencyId = entry.getKey().intValue(); + if (currencyRespDTOMap.get(currencyId) == null) { + continue; + } FeeGroupDto feeGroupDto = new FeeGroupDto(); CurrencyRespDTO currencyRespDTO = currencyRespDTOMap.get(entry.getKey().intValue()); feeGroupDto.setCurrencyId(entry.getKey()); @@ -3857,10 +3860,10 @@ public class OrderQueryServiceImpl implements OrderQueryService { query.setLang(I18nMessage.getLang()); } ArrayList<Integer> orderType = new ArrayList<>(); - if (query.getIsHeavyCargo() != null && query.getIsHeavyCargo()) { + if (query.getIsHeavyCargo() != null && query.getIsHeavyCargo() == 1) { orderType.add(2); } - if (query.getIsPaoCargo() != null && query.getIsPaoCargo()) { + if (query.getIsPaoCargo() != null && query.getIsPaoCargo() == 1) { orderType.add(3); } query.setOrderType(orderType); diff --git a/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/vo/order/ContainerReportOrderQueryVO.java b/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/vo/order/ContainerReportOrderQueryVO.java index bdc5b5b3b044ed67fa1d991970a22af4f6bd7987..93f13ee640df1fc2dcf752cf9aa4b8500f6432cb 100644 --- a/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/vo/order/ContainerReportOrderQueryVO.java +++ b/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/vo/order/ContainerReportOrderQueryVO.java @@ -40,9 +40,9 @@ public class ContainerReportOrderQueryVO { @ApiModelProperty(value = "订å•çŠ¶æ€è¯¦æƒ…è§å—典:order_status") private Integer status; @ApiModelProperty(value = "是å¦é‡è´§") - private Boolean isHeavyCargo; + private Integer isHeavyCargo; @ApiModelProperty(value = "是å¦æ³¡è´§") - private Boolean isPaoCargo; + private Integer isPaoCargo; @ApiModelProperty(value = "订å•ç±»åž‹") private List<Integer> orderType; @ApiModelProperty(value = "是å¦æŽ§è´§") diff --git a/yudao-module-order/yudao-module-order-core/src/main/resources/mapper/order/OrderMapper.xml b/yudao-module-order/yudao-module-order-core/src/main/resources/mapper/order/OrderMapper.xml index afdb4749e28495cb5e67efa8c7fc6f7483070cd7..5a8fec24b3ff7f67f0380dac4744ad5d55de0b2a 100644 --- a/yudao-module-order/yudao-module-order-core/src/main/resources/mapper/order/OrderMapper.xml +++ b/yudao-module-order/yudao-module-order-core/src/main/resources/mapper/order/OrderMapper.xml @@ -7634,6 +7634,7 @@ LEFT JOIN ecw_customer norc on norc.id = nor.customer_id LEFT JOIN ecw_customer neeo on neeo.id = nee.customer_id WHERE o.`container_number` = #{query.containerNumber} + <include refid="containerOrderSummaryQuery"/> </select> <sql id="containerOrderSummaryQuery"> <if test="query.orderNo != null and query.orderNo != '' "> diff --git a/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receipt/ReceiptServiceImpl.java b/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receipt/ReceiptServiceImpl.java index 2d46d653c19dcc4141478d8ab031a022aaef8e06..545860b8c4eda87fd8f428929a43b449cda57337 100644 --- a/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receipt/ReceiptServiceImpl.java +++ b/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receipt/ReceiptServiceImpl.java @@ -648,7 +648,7 @@ public class ReceiptServiceImpl extends AbstractService<ReceiptMapper, ReceiptDO } //å·²æ ¸é”€çŠ¶æ€è®°å½• - List<ReceiptItemDO> list = listItemList.stream().filter(i -> i.getReceiptId() == ReceiptId && i.getStatus() != 0).collect(Collectors.toList()); + List<ReceiptItemDO> list = listItemList.stream().filter(i -> i.getReceiptId() == ReceiptId && (i.getStatus() == 1 || i.getStatus() == 3)).collect(Collectors.toList()); if (CollectionUtil.isEmpty(list)) { //æ ¸é”€é‡‘é¢ä¸º0 æ ¸é”€æ¯”ä¾‹ä¸ºç©º return sR; @@ -921,15 +921,18 @@ public class ReceiptServiceImpl extends AbstractService<ReceiptMapper, ReceiptDO update.setBmpId(bpmId); update.setFinanceRemark(financeRemark); // æ›´æ–°æ ¸é”€è¯¯å·®å…‘é¢å¤–费用主å¸ç§é‡‘é¢ + if (null == diff) { + diff = totalAmount.subtract(receiptDO.getReceivableTotalAmount()); + } List<ReceiptRelationOrderInfoVO> relationOrder = receiptMapper.getOrderInfoByReceiptId(receiptDO.getId()); OrderVO orderVO = receiptMapper.getContainerNumberByOrderId(relationOrder.get(0).getOrderId()); if (null != orderVO) { RegionDTO region = regionApi.getRegionById(Long.parseLong(orderVO.getCountry())); Long importCurrency3 = Long.parseLong(region.getImportCurrency3()); if (!currencyId.equals(importCurrency3)) { - diff = diff == null ? null : diff.multiply(currencyApi.getCurrencyRate(currencyId, importCurrency3).getCurrencyRate()); + diff = diff.multiply(currencyApi.getCurrencyRate(currencyId, importCurrency3).getCurrencyRate()); } - update.setWriteOffDiffMainCurrency(diff == null ? "0" : diff.setScale(2, RoundingMode.HALF_UP).toString()); + update.setWriteOffDiffMainCurrency(diff.setScale(2, RoundingMode.HALF_UP) + " " + currencyApi.getAllCurrency().get(importCurrency3.intValue()).getFuhao()); } receiptMapper.updateById(update); } @@ -1148,6 +1151,9 @@ public class ReceiptServiceImpl extends AbstractService<ReceiptMapper, ReceiptDO backVO.setInvoiceVO(invoiceInReceiptRespVO); } } + if (receiptDO.getOpenInvoice() != null && receiptDO.getOpenInvoice() == 0) { + backVO.setInvoiceId(null); + } backVO.setCreator(adminUserApi.getUserName(receiptDO.getCreator())); backVO.setUpdater(adminUserApi.getUserName(receiptDO.getUpdater())); return backVO; @@ -1173,31 +1179,38 @@ public class ReceiptServiceImpl extends AbstractService<ReceiptMapper, ReceiptDO @Override public void updateReceiptItemStatus(Long receiptId) { List<ReceiptItemDO> listItem = receiptItemMapper.selectList(ReceiptItemDO::getReceiptId, receiptId); - ReceiptItemStatusInReceiptEnum receiptItemStatus = null; - int countItem = listItem.size(); - if (countItem == 0) { - receiptItemStatus = ReceiptItemStatusInReceiptEnum.NO_INPUT; - } else { - long draft = listItem.stream().filter(i -> Objects.equals(i.getStatus(), DRAFT.getValue()) || Objects.equals(i.getStatus(), WRITE_OFF_APPROVE_REJECT.getValue())).count(); - long writeOff = listItem.stream().filter(i -> Objects.equals(i.getStatus(), WRITE_OFF.getValue())).count(); - long writeOffApproving = listItem.stream().filter(i -> Objects.equals(i.getStatus(), WRITE_OFF_APPROVE_ING.getValue())).count(); - long writeOffNoApproving = listItem.stream().filter(i -> Objects.equals(i.getStatus(), WRITE_OFF_NO_APPROVE_ING.getValue())).count(); - if (draft == countItem) { - receiptItemStatus = ReceiptItemStatusInReceiptEnum.UN_SUBMITTED; - } else if (draft > 0 && draft < countItem) { - receiptItemStatus = ReceiptItemStatusInReceiptEnum.PART_SUBMITTED; - } else if (writeOffApproving == countItem) { - receiptItemStatus = ReceiptItemStatusInReceiptEnum.UN_APPROVED; - } else if (writeOff == countItem) { - receiptItemStatus = ReceiptItemStatusInReceiptEnum.ALL_APPROVED; - } else if ((writeOffApproving + writeOffNoApproving) == countItem || (writeOff + writeOffNoApproving) == countItem || (writeOffApproving + writeOff) == countItem) { - receiptItemStatus = ReceiptItemStatusInReceiptEnum.PART_APPROVED; - } - } - if (receiptItemStatus != null) { + //ReceiptItemStatusInReceiptEnum receiptItemStatus = null; + //int countItem = listItem.size(); + //if (countItem == 0) { + // receiptItemStatus = ReceiptItemStatusInReceiptEnum.NO_INPUT; + //} else { + // long draft = listItem.stream().filter(i -> Objects.equals(i.getStatus(), DRAFT.getValue()) || Objects.equals(i.getStatus(), WRITE_OFF_APPROVE_REJECT.getValue())).count(); + // long writeOff = listItem.stream().filter(i -> Objects.equals(i.getStatus(), WRITE_OFF.getValue())).count(); + // long writeOffApproving = listItem.stream().filter(i -> Objects.equals(i.getStatus(), WRITE_OFF_APPROVE_ING.getValue())).count(); + // long writeOffNoApproving = listItem.stream().filter(i -> Objects.equals(i.getStatus(), WRITE_OFF_NO_APPROVE_ING.getValue())).count(); + // if (draft == countItem) { + // receiptItemStatus = ReceiptItemStatusInReceiptEnum.UN_SUBMITTED; + // } else if (draft > 0 && draft < countItem) { + // receiptItemStatus = ReceiptItemStatusInReceiptEnum.PART_SUBMITTED; + // } else if (writeOffApproving == countItem) { + // receiptItemStatus = ReceiptItemStatusInReceiptEnum.UN_APPROVED; + // } else if (writeOff == countItem) { + // receiptItemStatus = ReceiptItemStatusInReceiptEnum.ALL_APPROVED; + // } else if ((writeOffApproving + writeOffNoApproving) == countItem || (writeOff + writeOffNoApproving) == countItem || (writeOffApproving + writeOff) == countItem) { + // receiptItemStatus = ReceiptItemStatusInReceiptEnum.PART_APPROVED; + // } + //} + //if (receiptItemStatus != null) { + // ReceiptDO receiptDO = new ReceiptDO(); + // receiptDO.setId(receiptId); + // receiptDO.setReceiptItemStatus(receiptItemStatus.getValue()); + // receiptMapper.updateById(receiptDO); + //} + ReceiptItemStatusInReceiptEnum receiptMxStatus = getReceiptMxStatus(listItem, receiptId); + if (receiptMxStatus != null) { ReceiptDO receiptDO = new ReceiptDO(); receiptDO.setId(receiptId); - receiptDO.setReceiptItemStatus(receiptItemStatus.getValue()); + receiptDO.setReceiptItemStatus(receiptMxStatus.getValue()); receiptMapper.updateById(receiptDO); } } diff --git a/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receiptItem/ReceiptItemServiceImpl.java b/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receiptItem/ReceiptItemServiceImpl.java index 4f4ec6a0cb213648d9dbcfdec541d41f02e53840..2d245dfcff2e53fa5036eb8a6beb7f4725472636 100644 --- a/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receiptItem/ReceiptItemServiceImpl.java +++ b/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receiptItem/ReceiptItemServiceImpl.java @@ -595,7 +595,7 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R if (writeOffRate.compareTo(writeOffDown) < 0 || writeOffRate.compareTo(writeOffUp) > 0) { return false; } - String remark = "æ ¸é”€æ¯”ä¾‹ä¸º: " + writeOffRate + "%, " + "符åˆæ ¸é”€æ¯”例" + writeOffDown + "%-" + writeOffUp + "%"; + String remark = "æ ¸é”€æ¯”ä¾‹ä¸º: " + writeOffRate.divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP) + "%, " + "符åˆæ ¸é”€æ¯”例" + writeOffDown.divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP) + "%-" + writeOffUp.divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP) + "%"; receiptService.recordLog(receiptItemDO.getReceiptId(), ReceiptLinkEnum.APPROVE_BANK_RECEIPT, remark, WorkFlowEmus.FINANCE_RECEIPT_ITEM_WRITE_OFF.getValue()); return true; } @@ -996,9 +996,9 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R createReqVO.setAccountId(account.getId()); createReqVO.setAccountName(account.getBaAccountName()); createReqVO.setAccountBankName(account.getBaBankName()); - if (account.getBaCurrency() != null && !allCurrency.get(account.getBaCurrency()).getFuhao().equals(createReqVO.getPayCurrency())) { - return new ReceiptItemBatchRespVO(createReqVO.getOrderNo(), createReqVO.getPayer(), 0, "收款账å·å¸ç§ä¸Žå®žæ”¶é‡‘é¢å¸ç§ä¸ä¸€è‡´"); - } + //if (account.getBaCurrency() != null && !allCurrency.get(account.getBaCurrency()).getFuhao().equals(createReqVO.getPayCurrency())) { + // return new ReceiptItemBatchRespVO(createReqVO.getOrderNo(), createReqVO.getPayer(), 0, "收款账å·å¸ç§ä¸Žå®žæ”¶é‡‘é¢å¸ç§ä¸ä¸€è‡´"); + //} return null; } } diff --git a/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receivable/ReceivableServiceImpl.java b/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receivable/ReceivableServiceImpl.java index ccff7a4332af45905efc5f2cf7847fad8944dd8d..505ed6d4d1bfa2ab4198b524d3c6a8fdcfc3bce0 100644 --- a/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receivable/ReceivableServiceImpl.java +++ b/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receivable/ReceivableServiceImpl.java @@ -534,6 +534,7 @@ public class ReceivableServiceImpl extends AbstractService<ReceivableMapper, Rec if (CollectionUtil.isNotEmpty(records)) { records.forEach(vo -> { + vo.setUpdater(vo.getUpdaterName()); vo.setCurrencySymbol(allCurrency.get(vo.getCurrencyId()).getFuhao()); vo.setNotIncludedTaxAmount(vo.getTotalAmount()); if (vo.getDiscountTotal() == null) { diff --git a/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/vo/receivable/CostDetailPageVO.java b/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/vo/receivable/CostDetailPageVO.java index 0a16d1d6cafaba6ac2060cb163b304907ebaf05b..f7e949c36b186322a547297c6443cef68b652dab 100644 --- a/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/vo/receivable/CostDetailPageVO.java +++ b/yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/vo/receivable/CostDetailPageVO.java @@ -174,6 +174,8 @@ public class CostDetailPageVO { @ApiModelProperty(value = "更新人") private String updater; + @ApiModelProperty(value = "更新人") + private String updaterName; @ApiModelProperty(value = "创建时间") @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY) private Date createTime; diff --git a/yudao-module-wealth/yudao-module-wealth-rest/src/main/resources/mapper/receivable/ReceivableMapper.xml b/yudao-module-wealth/yudao-module-wealth-rest/src/main/resources/mapper/receivable/ReceivableMapper.xml index d299e899359d215a3f6ef702a3fadc4bd5b8753b..5c0112d1584edbcb0a7c84586a7b928da385512b 100644 --- a/yudao-module-wealth/yudao-module-wealth-rest/src/main/resources/mapper/receivable/ReceivableMapper.xml +++ b/yudao-module-wealth/yudao-module-wealth-rest/src/main/resources/mapper/receivable/ReceivableMapper.xml @@ -4,7 +4,6 @@ <select id="getCostDetailPage" resultType="cn.iocoder.yudao.module.wealth.vo.receivable.CostDetailPageVO"> SELECT - o.order_no, o.transport_id, o.channel_id, o.status, @@ -16,23 +15,23 @@ obw.title_en objective_warehouse_en, obw.guojia destination_country, obw.shi destination_city, - usu.username AS updater, + usu.username AS updaterName, asu.username AS approver, ra.update_time AS approverTime, r.* FROM ecw_receivable r - LEFT JOIN ecw_order o ON o.order_id = r.order_id - LEFT JOIN ecw_order_departure de ON de.order_id = o.order_id - LEFT JOIN ecw_order_objective ob ON ob.order_id = o.order_id - LEFT JOIN ecw_warehouse dew ON de.departure_warehouse_id = dew.id - LEFT JOIN ecw_warehouse obw ON ob.objective_warehouse_id = obw.id - LEFT JOIN ecw_receipt_approval ra ON ra.receipt_id = r.receipt_id + LEFT JOIN ecw_order o ON o.order_id = r.order_id AND r.deleted = 0 + LEFT JOIN ecw_order_departure de ON de.order_id = o.order_id AND de.deleted = 0 + LEFT JOIN ecw_order_objective ob ON ob.order_id = o.order_id AND ob.deleted = 0 + LEFT JOIN ecw_warehouse dew ON de.departure_warehouse_id = dew.id AND dew.deleted = 0 + LEFT JOIN ecw_warehouse obw ON ob.objective_warehouse_id = obw.id AND obw.deleted = 0 + LEFT JOIN ecw_receipt_approval ra ON ra.receipt_id = r.receipt_id AND ra.deleted = 0 LEFT JOIN system_user usu ON usu.id = r.updater LEFT JOIN system_user asu ON asu.id = ra.updater WHERE r.deleted = 0 <include refid="costDetailPageCondition"/> - ORDER BY r.create_time + GROUP BY r.id </select> <select id="costDetailSearchAmount" resultType="cn.iocoder.yudao.module.wealth.vo.receivable.WealthMoneyAmountVO"> SELECT @@ -46,10 +45,10 @@ LEFT JOIN ecw_order o ON o.order_id = r.order_id </if> <if test="query.departureWareHouseId != null"> - LEFT JOIN ecw_order_departure de ON de.order_id = r.order_id + LEFT JOIN ecw_order_departure de ON de.order_id = r.order_id AND de.deleted = 0 </if> <if test="query.destCountry != null or query.destCity != null or query.objectiveWareHouseId != null"> - LEFT JOIN ecw_order_objective ob ON ob.order_id = r.order_id + LEFT JOIN ecw_order_objective ob ON ob.order_id = r.order_id AND ob.deleted = 0 </if> WHERE r.deleted = 0