Merge remote-tracking branch 'origin/master'

This commit is contained in:
GYJ
2025-04-06 18:06:14 +08:00
30 changed files with 824 additions and 62 deletions

View File

@@ -41,4 +41,6 @@ public class ShopStaffPagePermission implements Serializable {
*/
private Long pagePathId;
private Integer isUse;
}

View File

@@ -3,6 +3,8 @@ package com.czg.account.service;
import com.mybatisflex.core.service.IService;
import com.czg.account.entity.ShopPagePath;
import java.util.List;
/**
* 服务层。
*
@@ -11,4 +13,5 @@ import com.czg.account.entity.ShopPagePath;
*/
public interface ShopPagePathService extends IService<ShopPagePath> {
List<ShopPagePath> detail(Long staffId);
}

View File

@@ -0,0 +1,70 @@
package com.czg.product.dto;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.alibaba.fastjson2.annotation.JSONField;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 耗材付款记录 实体类。
*
* @author zs
* @since 2025-04-03
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ConsPayRecordDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
private Long id;
/**
* 店铺id
*/
private Long shopId;
/**
* 供应商id
*/
private Long vendorId;
/**
* 出入库id
*/
private Long flowId;
/**
* 付款金额
*/
private BigDecimal amount;
/**
* 付款方式 支付宝 微信 银行卡 现金
*/
private String type;
/**
* 付款备注
*/
private String remark;
/**
* 操作员工id
*/
private Long userId;
/**
* 创建时间
*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,40 @@
package com.czg.product.dto;
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
* 供应商
*
* @author Tankaikai tankaikai@aliyun.com
* @since 1.0 2025-02-20
*/
@Data
public class ShopVendorBillPayDTO {
/**
* 账单记录id
*/
@NotEmpty(message = "账单记录id不能为空")
private List<Long> flowIdList;
/**
* 付款金额
*/
@DecimalMin(value = "0.01", message = "付款金额不能小于0.01")
private BigDecimal amount;
/**
* 付款类型
*/
@NotBlank(message = "付款类型不能为空")
private String type;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,80 @@
package com.czg.product.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 耗材付款记录 实体类。
*
* @author zs
* @since 2025-04-03
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_cons_pay_record")
@Accessors(chain = true)
public class ConsPayRecord implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Id(keyType = KeyType.Auto)
private Long id;
/**
* 店铺id
*/
private Long shopId;
/**
* 供应商id
*/
private Long vendorId;
/**
* 出入库id
*/
private Long flowId;
/**
* 付款金额
*/
private BigDecimal amount;
/**
* 付款方式 支付宝 微信 银行卡 现金
*/
private String type;
/**
* 付款备注
*/
private String remark;
/**
* 操作员工id
*/
private Long userId;
/**
* 创建时间
*/
@Column(onInsertValue = "now()")
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,17 @@
package com.czg.product.service;
import com.czg.product.vo.ShopVendorBillPayRecordVO;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.czg.product.entity.ConsPayRecord;
/**
* 耗材付款记录 服务层。
*
* @author zs
* @since 2025-04-03
*/
public interface ConsPayRecordService extends IService<ConsPayRecord> {
Page<ShopVendorBillPayRecordVO> getByFlowId(Long shopId, Long flowId);
}

View File

@@ -1,7 +1,12 @@
package com.czg.product.service;
import com.czg.product.dto.ShopVendorBillPayDTO;
import com.czg.product.dto.ShopVendorDTO;
import com.czg.product.entity.ShopVendor;
import com.czg.product.vo.ShopVendorBillPayRecordVO;
import com.czg.product.vo.ShopVendorBillRecordVO;
import com.czg.product.vo.ShopVendorBillVO;
import com.czg.product.vo.ShopVendorSummaryVO;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
@@ -57,4 +62,33 @@ public interface ShopVendorService extends IService<ShopVendor> {
*/
void deleteShopVendor(Long id);
}
ShopVendorSummaryVO summary(Long shopId);
/**
* 账单列表
*
* @param shopId 店铺id
* @return 账单
*/
Page<ShopVendorBillVO> billList(Long shopId);
/**
* 账单记录明细
*
* @param shopId 店铺id
* @param vendorId 供应商id
* @return 分页
*/
Page<ShopVendorBillRecordVO> billRecord(Long shopId, Integer vendorId);
/**
* 账单付款
* @param shopId 店铺id
* @param payDTO 数据
* @return 是否成功
*/
Boolean pay(Long shopId, ShopVendorBillPayDTO payDTO);
Page<ShopVendorBillPayRecordVO> payRecord(Long shopId, Long flowId);
}

View File

@@ -0,0 +1,55 @@
package com.czg.product.vo;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @author Administrator
*/
@Data
public class ShopVendorBillPayRecordVO {
/**
* 付款id
*/
private Long id;
/**
* 耗材名称
*/
private String conName;
/**
* 单价
*/
private BigDecimal purchasePrice;
/**
* 数量
*/
private BigDecimal inOutNumber;
/**
* 付款金额
*/
private BigDecimal amount;
/**
* 付款方式
*/
private String type;
/**
* 备注
*/
private String remark;
/**
* 操作账号
*/
private String account;
/**
* 账号昵称
*/
private String nickname;
/**
* 编码
*/
private String code;
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,50 @@
package com.czg.product.vo;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @author Administrator
*/
@Data
public class ShopVendorBillRecordVO {
/**
* 记录id
*/
private Long id;
/**
* 耗材名称
*/
private String conName;
/**
* 单价
*/
private BigDecimal purchasePrice;
/**
* 数量
*/
private BigDecimal inOutNumber;
/**
* 应付
*/
private BigDecimal amountPayable;
/**
* 已付
*/
private BigDecimal actualPaymentAmount;
/**
* 待付
*/
private BigDecimal unPaidAmount;
/**
* 备注
*/
private String remark;
/**
* 创建时间
*/
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,37 @@
package com.czg.product.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author Administrator
*/
@Data
public class ShopVendorBillVO {
/**
* 供应商名称
*/
private String name;
/**
* 供应商id
*/
private Long vendorId;
/**
* 账单金额
*/
private BigDecimal amountPayable;
/**
* 已付款金额
*/
private BigDecimal actualPaymentAmount;
/**
* 未付款金额
*/
private BigDecimal unPaidAmount;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,38 @@
package com.czg.product.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author Administrator
*/
@Data
public class ShopVendorSummaryVO {
/**
* 全部总金额
*/
private BigDecimal amountPayable = BigDecimal.ZERO;
/**
* 当月总金额
*/
private BigDecimal mouthAmountPayable = BigDecimal.ZERO;
/**
* 全部支付金额
*/
private BigDecimal actualPaymentAmount = BigDecimal.ZERO;
/**
* 当月支付金额
*/
private BigDecimal mouthActualPaymentAmount = BigDecimal.ZERO;
/**
* 待支付金额
*/
private BigDecimal unPaidAmount = BigDecimal.ZERO;
/**
* 本月待支付金额
*/
private BigDecimal mouthUnPaidAmount = BigDecimal.ZERO;
}

View File

@@ -147,6 +147,11 @@ public class JoinQueryWrapper extends QueryWrapper {
return this;
}
@Override
public <T> QueryWrapper groupBy(LambdaGetter<T> column) {
return super.groupBy(getColum(column));
}
@Override
public <T> JoinQueryWrapper like(LambdaGetter<T> column, Object value) {
like(getColum(column), value);