diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/CustomerSettlementController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/CustomerSettlementController.java index c3225dca..c02383c1 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/CustomerSettlementController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/CustomerSettlementController.java @@ -9,10 +9,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; import cn.iocoder.yudao.module.smartfactory.api.factoryInfo.FactoryInfoApi; import cn.iocoder.yudao.module.smartfactory.api.factoryInfo.dto.FactoryInfoDTO; -import cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo.CustomerSettlementPageReqVO; -import cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo.CustomerSettlementRespVO; -import cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo.CustomerSettlementSaveReqVO; -import cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo.SettlementItemVO; +import cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo.*; import cn.iocoder.yudao.module.system.dal.dataobject.customersettlement.CustomerSettlementDO; import cn.iocoder.yudao.module.system.dal.dataobject.customersettlement.SettlementItemDO; import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; @@ -136,7 +133,7 @@ public class CustomerSettlementController { item.setSettlementItems(BeanUtils.toBean(itemMap.get(item.getId()), SettlementItemVO.class)); } // 设置工厂名称 - item.setCustomerName(factoryMap.get(item.getCustomerId()).getName()); + item.setCustomerName(factoryMap.get(item.getCustomerId()).getShortName()); // 设置创建人名称 item.setCreatorName(userMap.get(item.getCreator()) == null ? "" : userMap.get(item.getCreator()).getNickname()); }); @@ -145,6 +142,14 @@ public class CustomerSettlementController { return success(respVO); } + @GetMapping("/total") + @Operation(summary = "获得结算统计信息") + @PreAuthorize("@ss.hasPermission('system:customer-settlement:query')") + public CommonResult getCustomerSettlementTotal(@Valid CustomerSettlementPageReqVO pageReqVO) { + + return success(customerSettlementService.getCustomerSettlementTotal(pageReqVO)); + } + @GetMapping("/export-excel") @Operation(summary = "导出客户结算信息 Excel") @PreAuthorize("@ss.hasPermission('system:customer-settlement:export')") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/CustomerSettlementPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/CustomerSettlementPageReqVO.java index 44e74abe..ed2aaef7 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/CustomerSettlementPageReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/CustomerSettlementPageReqVO.java @@ -19,7 +19,7 @@ public class CustomerSettlementPageReqVO extends PageParam { private Integer businessType; @Schema(description = "结算月份") - private String settlementMonth; + private String[] settlementMonth; @Schema(description = "结算公司id", example = "3044") private Long companyId; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/CustomerSettlementRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/CustomerSettlementRespVO.java index 494b30b0..34cd0e22 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/CustomerSettlementRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/CustomerSettlementRespVO.java @@ -6,6 +6,7 @@ import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; @@ -35,6 +36,9 @@ public class CustomerSettlementRespVO { @Schema(description = "收款明细") private List paymentItem; + @Schema(description = "收款金额") + private BigDecimal paymentAmount; + @Schema(description = "备注") private String notes; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/CustomerSettlementSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/CustomerSettlementSaveReqVO.java index 776701ac..a8d5636e 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/CustomerSettlementSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/CustomerSettlementSaveReqVO.java @@ -6,6 +6,7 @@ import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import java.math.BigDecimal; import java.util.List; @Schema(description = "管理后台 - 客户结算信息新增/修改 Request VO") @@ -29,6 +30,9 @@ public class CustomerSettlementSaveReqVO { @Schema(description = "收款明细") private List paymentItem; + @Schema(description = "收款金额") + private BigDecimal paymentAmount; + @Schema(description = "备注") private String notes; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/SettlementItemVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/SettlementItemVO.java index 3bd61763..1ef0bf1e 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/SettlementItemVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/SettlementItemVO.java @@ -27,6 +27,12 @@ public class SettlementItemVO { @Schema(description = "扣款明细") private List deductionItems; + @Schema(description = "扣款金额") + private BigDecimal deductionAmount; + @Schema(description = "结算金额") private BigDecimal settlementAmount; + + @Schema(description = "已收款金额") + private BigDecimal receivedTotal; } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/StatisticsVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/StatisticsVO.java new file mode 100644 index 00000000..65c55b93 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/customersettlement/vo/StatisticsVO.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 客户结算信息统计 Response VO") +@Data +public class StatisticsVO { + + @Schema(description = "预结算金额") + private BigDecimal preSettlementTotal; + + @Schema(description = "应结算金额") + private BigDecimal shouldSettlementTotal; + + @Schema(description = "扣款金额") + private BigDecimal deductionTotal; + + @Schema(description = "结算金额") + private BigDecimal settlementTotal; + + @Schema(description = "已收款金额") + private BigDecimal receivedTotal; +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/loan/vo/LoanPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/loan/vo/LoanPageReqVO.java index 47dd2fce..4d8d8cfc 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/loan/vo/LoanPageReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/loan/vo/LoanPageReqVO.java @@ -23,8 +23,10 @@ public class LoanPageReqVO extends PageParam { @Schema(description = "借支用户部门编号", example = "128") private Long deptId; - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; + @Schema(description = "借支类型") + private Integer loanType; + + @Schema(description = "查询方式 | 是否查询全部借支 0否 1是 为0时查询 剩余金额不为0的借支") + private Integer model = 0; } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/customersettlement/CustomerSettlementDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/customersettlement/CustomerSettlementDO.java index 0eb8d2a6..bfea20b7 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/customersettlement/CustomerSettlementDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/customersettlement/CustomerSettlementDO.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import lombok.*; +import java.math.BigDecimal; import java.util.List; /** @@ -48,6 +49,11 @@ public class CustomerSettlementDO extends BaseDO { @TableField(typeHandler = JacksonTypeHandler.class) private List paymentItem; + /** + * 收款金额 + */ + private BigDecimal paymentAmount; + /** * 备注 */ diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/customersettlement/SettlementItemDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/customersettlement/SettlementItemDO.java index 8b0b9409..01030fe1 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/customersettlement/SettlementItemDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/customersettlement/SettlementItemDO.java @@ -57,6 +57,11 @@ public class SettlementItemDO extends BaseDO { @TableField(typeHandler = JacksonTypeHandler.class) private List deductionItems; + /** + * 扣款金额 + */ + private BigDecimal deductionAmount; + /** * 结算金额 */ diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/customersettlement/CustomerSettlementMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/customersettlement/CustomerSettlementMapper.java index aa4182ba..1aa94d77 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/customersettlement/CustomerSettlementMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/customersettlement/CustomerSettlementMapper.java @@ -4,8 +4,10 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo.CustomerSettlementPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo.StatisticsVO; import cn.iocoder.yudao.module.system.dal.dataobject.customersettlement.CustomerSettlementDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 客户结算信息 Mapper @@ -18,8 +20,9 @@ public interface CustomerSettlementMapper extends BaseMapperX selectPage(CustomerSettlementPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(CustomerSettlementDO::getCustomerId, reqVO.getCustomerId()) - .eqIfPresent(CustomerSettlementDO::getSettlementMonth, reqVO.getSettlementMonth()) + .betweenIfPresent(CustomerSettlementDO::getSettlementMonth, reqVO.getSettlementMonth()) .orderByDesc(CustomerSettlementDO::getId)); } + StatisticsVO selectTotal(@Param("reqVO") CustomerSettlementPageReqVO pageReqVO); } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/loan/LoanMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/loan/LoanMapper.java index bada070d..b22a175d 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/loan/LoanMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/loan/LoanMapper.java @@ -23,7 +23,9 @@ public interface LoanMapper extends BaseMapperX { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(LoanDO::getUserId, reqVO.getUserId()) .eqIfPresent(LoanDO::getDeptId, reqVO.getDeptId()) - .betweenIfPresent(LoanDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(LoanDO::getLoanType, reqVO.getLoanType()) + .ne(reqVO.getModel() == 0, LoanDO::getRemainingAmount, 0) + .orderByDesc(LoanDO::getRemainingAmount) .orderByDesc(LoanDO::getUserId)); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/customersettlement/CustomerSettlementService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/customersettlement/CustomerSettlementService.java index ffa7f6a9..a448dee3 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/customersettlement/CustomerSettlementService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/customersettlement/CustomerSettlementService.java @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.system.service.customersettlement; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo.CustomerSettlementPageReqVO; import cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo.CustomerSettlementSaveReqVO; +import cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo.StatisticsVO; import cn.iocoder.yudao.module.system.dal.dataobject.customersettlement.CustomerSettlementDO; import cn.iocoder.yudao.module.system.dal.dataobject.customersettlement.SettlementItemDO; @@ -67,7 +68,14 @@ public interface CustomerSettlementService { * 更新结算信息确认状态 * * @param id 编号 - * @param status + * @param status 状态 */ void updateConfirm(Long id, Integer status); + + /** + * 获得结算统计信息 + * @param pageReqVO 查询信息 + * @return 统计信息 + */ + StatisticsVO getCustomerSettlementTotal(CustomerSettlementPageReqVO pageReqVO); } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/customersettlement/CustomerSettlementServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/customersettlement/CustomerSettlementServiceImpl.java index abbebddb..24f9c51b 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/customersettlement/CustomerSettlementServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/customersettlement/CustomerSettlementServiceImpl.java @@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.infra.api.file.FileApi; import cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo.CustomerSettlementPageReqVO; import cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo.CustomerSettlementSaveReqVO; +import cn.iocoder.yudao.module.system.controller.admin.customersettlement.vo.StatisticsVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.upload.UploadUserFile; import cn.iocoder.yudao.module.system.dal.dataobject.customersettlement.CustomerSettlementDO; import cn.iocoder.yudao.module.system.dal.dataobject.customersettlement.SettlementItemDO; @@ -162,4 +163,10 @@ public class CustomerSettlementServiceImpl implements CustomerSettlementService .setId(id) .setStatus(status)); } + + @Override + public StatisticsVO getCustomerSettlementTotal(CustomerSettlementPageReqVO pageReqVO) { + + return customerSettlementMapper.selectTotal(pageReqVO); + } } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/customerSettlement/CustomerSettlementMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/customerSettlement/CustomerSettlementMapper.xml new file mode 100644 index 00000000..7339a9d7 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/customerSettlement/CustomerSettlementMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/mapper/linefixedassetstemporarytable/LineFixedAssetsTemporaryTableMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/mapper/linefixedassetstemporarytable/LineFixedAssetsTemporaryTableMapper.xml deleted file mode 100644 index 1b69ab4f..00000000 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/mapper/linefixedassetstemporarytable/LineFixedAssetsTemporaryTableMapper.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - \ No newline at end of file