Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks
# Conflicts: # pom.xml
This commit is contained in:
@@ -17,13 +17,6 @@
|
||||
|
||||
<dependencies>
|
||||
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>cn.hutool</groupId>-->
|
||||
<!-- <artifactId>hutool-all</artifactId>-->
|
||||
<!-- <version>5.5.8</version>-->
|
||||
<!-- </dependency>-->
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-nacos</artifactId>
|
||||
|
@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.dromara.property.domain.bo.CostChargeReturnFeeBo;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
@@ -80,6 +81,15 @@ public class CostCarChargeController extends BaseController {
|
||||
return toAjax(costCarChargeService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 车辆退费接口
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/returnFee")
|
||||
public R<Void> returnFree( @RequestBody CostChargeReturnFeeBo bo) {
|
||||
return toAjax(costCarChargeService.returnFree(bo));
|
||||
}
|
||||
/**
|
||||
* 修改费用-车辆收费
|
||||
*/
|
||||
|
@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.dromara.property.domain.bo.CostChargeReturnFeeBo;
|
||||
import org.dromara.property.domain.vo.CostHouseChargeDetailVo;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -80,6 +81,10 @@ public class CostHouseChargeController extends BaseController {
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CostHouseChargeBo bo) {
|
||||
return toAjax(costHouseChargeService.insertByBo(bo));
|
||||
}
|
||||
@PostMapping("/returnFee")
|
||||
public R<Void> returnFree( @RequestBody CostChargeReturnFeeBo bo) {
|
||||
return toAjax(costHouseChargeService.returnFree(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改房屋收费
|
||||
|
@@ -1,106 +0,0 @@
|
||||
package org.dromara.property.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.dromara.property.domain.bo.TbFactoryBo;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.property.domain.vo.TbFactoryVo;
|
||||
import org.dromara.property.service.ITbFactoryService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 厂商管理
|
||||
* 前端访问路由地址为:/property/factory
|
||||
*
|
||||
* @author mocheng
|
||||
* @since 2025-06-18
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/factory")
|
||||
public class TbFactoryController extends BaseController {
|
||||
|
||||
private final ITbFactoryService tdFactoryService;
|
||||
|
||||
/**
|
||||
* 查询厂商管理列表
|
||||
*/
|
||||
@SaCheckPermission("property:factory:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<TbFactoryVo> list(TbFactoryBo bo, PageQuery pageQuery) {
|
||||
return tdFactoryService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出厂商管理列表
|
||||
*/
|
||||
@SaCheckPermission("property:factory:export")
|
||||
@Log(title = "厂商管理", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(TbFactoryBo bo, HttpServletResponse response) {
|
||||
List<TbFactoryVo> list = tdFactoryService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "厂商管理", TbFactoryVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取厂商管理详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("property:factory:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<TbFactoryVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
return R.ok(tdFactoryService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增厂商管理
|
||||
*/
|
||||
@SaCheckPermission("property:factory:add")
|
||||
@Log(title = "厂商管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody TbFactoryBo bo) {
|
||||
return toAjax(tdFactoryService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改厂商管理
|
||||
*/
|
||||
@SaCheckPermission("property:factory:edit")
|
||||
@Log(title = "厂商管理", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TbFactoryBo bo) {
|
||||
return toAjax(tdFactoryService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除厂商管理
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("property:factory:remove")
|
||||
@Log(title = "厂商管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable("ids") Long[] ids) {
|
||||
return toAjax(tdFactoryService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
@@ -59,7 +59,10 @@ public class CostCarCharge extends TenantEntity {
|
||||
* 状态
|
||||
*/
|
||||
private String state;
|
||||
|
||||
/**
|
||||
* 缴费状态
|
||||
*/
|
||||
private String chargeStatus;
|
||||
/**
|
||||
* 收费项目
|
||||
*/
|
||||
|
@@ -4,6 +4,8 @@ import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
@@ -33,12 +35,18 @@ public class CostHouseCharge extends TenantEntity {
|
||||
* 房屋
|
||||
*/
|
||||
private Long roomId;
|
||||
|
||||
/**
|
||||
* 业主
|
||||
*/
|
||||
private Long personId;
|
||||
/**
|
||||
* 收费项目
|
||||
*/
|
||||
private Long costItemsId;
|
||||
|
||||
/**
|
||||
* 缴费状态
|
||||
*/
|
||||
private String chargeStatus;
|
||||
/**
|
||||
* 支付方式
|
||||
*/
|
||||
@@ -52,7 +60,7 @@ public class CostHouseCharge extends TenantEntity {
|
||||
/**
|
||||
* 应收金额
|
||||
*/
|
||||
private Long amountReceivable;
|
||||
private BigDecimal amountReceivable;
|
||||
|
||||
/**
|
||||
* 计费开始时间
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package org.dromara.property.domain;
|
||||
|
||||
import lombok.experimental.Accessors;
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
@@ -17,6 +18,7 @@ import java.io.Serial;
|
||||
* @date 2025-07-17
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("cost_pay_fee_audit")
|
||||
public class CostPayFeeAudit extends TenantEntity {
|
||||
@@ -31,9 +33,13 @@ public class CostPayFeeAudit extends TenantEntity {
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 房屋收费id
|
||||
* 收费id
|
||||
*/
|
||||
private Long houseChargeId;
|
||||
private Long chargeId;
|
||||
/**
|
||||
* 收费类型
|
||||
*/
|
||||
private String chargeType;
|
||||
|
||||
/**
|
||||
* 费用项目id
|
||||
@@ -62,8 +68,6 @@ public class CostPayFeeAudit extends TenantEntity {
|
||||
|
||||
/**
|
||||
* 缴费时间
|
||||
|
||||
|
||||
*/
|
||||
private Date payTime;
|
||||
|
||||
|
@@ -1,9 +1,12 @@
|
||||
package org.dromara.property.domain;
|
||||
|
||||
import lombok.experimental.Accessors;
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
@@ -16,6 +19,7 @@ import java.io.Serial;
|
||||
* @date 2025-07-17
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("cost_return_pay_fee")
|
||||
public class CostReturnPayFee extends TenantEntity {
|
||||
@@ -28,7 +32,14 @@ public class CostReturnPayFee extends TenantEntity {
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 收费id
|
||||
*/
|
||||
private Long chargeId;
|
||||
/**
|
||||
* 收费类型
|
||||
*/
|
||||
private String chargeType;
|
||||
/**
|
||||
* 退款单号
|
||||
*/
|
||||
@@ -57,7 +68,7 @@ public class CostReturnPayFee extends TenantEntity {
|
||||
/**
|
||||
* 支付金额
|
||||
*/
|
||||
private Long payAcount;
|
||||
private BigDecimal payAcount;
|
||||
|
||||
/**
|
||||
* 支付时间
|
||||
@@ -74,10 +85,5 @@ public class CostReturnPayFee extends TenantEntity {
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
private String searchValue;
|
||||
|
||||
|
||||
}
|
||||
|
@@ -1,45 +0,0 @@
|
||||
package org.dromara.property.domain;
|
||||
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 厂商管理对象 td_factory
|
||||
*
|
||||
* @author mocheng
|
||||
* @since 2025-06-18
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("td_factory")
|
||||
public class TbFactory extends TenantEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 厂商编码
|
||||
*/
|
||||
private String factoryNo;
|
||||
|
||||
/**
|
||||
* 设备厂商名称
|
||||
*/
|
||||
private String factoryName;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
@@ -37,6 +37,7 @@ public class CostCarChargeBo extends BaseEntity {
|
||||
/**
|
||||
* 业主
|
||||
*/
|
||||
@NotNull(message = "业主不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long personId;
|
||||
|
||||
/**
|
||||
@@ -49,7 +50,10 @@ public class CostCarChargeBo extends BaseEntity {
|
||||
* 车位
|
||||
*/
|
||||
private String location;
|
||||
|
||||
/**
|
||||
* 缴费状态
|
||||
*/
|
||||
private String chargeStatus;
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
|
@@ -0,0 +1,37 @@
|
||||
package org.dromara.property.domain.bo;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
|
||||
/**
|
||||
* @Author:yuyongle
|
||||
* @Date:2025/7/19 13:50
|
||||
* @Description:
|
||||
**/
|
||||
@Data
|
||||
public class CostChargeReturnFeeBo {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotNull(message = "主键不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
/**
|
||||
* 业主
|
||||
*/
|
||||
@NotNull(message = "业主不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long personId;
|
||||
|
||||
/**
|
||||
* 收费项目
|
||||
*/
|
||||
@NotNull(message = "收费项目不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long costItemsId;
|
||||
|
||||
/**
|
||||
* 退款原因
|
||||
*/
|
||||
@NotNull(message = "退款原因不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String reason;
|
||||
}
|
@@ -1,17 +1,16 @@
|
||||
package org.dromara.property.domain.bo;
|
||||
|
||||
import org.dromara.property.domain.CostHouseCharge;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.property.domain.CostHouseCharge;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 房屋收费业务对象 cost_house_charge
|
||||
@@ -35,13 +34,22 @@ public class CostHouseChargeBo extends BaseEntity {
|
||||
*/
|
||||
@NotNull(message = "房屋不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long roomId;
|
||||
/**
|
||||
* 业主
|
||||
*/
|
||||
@NotNull(message = "业主不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
|
||||
private Long personId;
|
||||
|
||||
/**
|
||||
* 收费项目
|
||||
*/
|
||||
@NotNull(message = "收费项目不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long costItemsId;
|
||||
|
||||
/**
|
||||
* 缴费状态
|
||||
*/
|
||||
private String chargeStatus;
|
||||
/**
|
||||
* 支付方式
|
||||
*/
|
||||
|
@@ -31,10 +31,13 @@ public class CostPayFeeAuditBo extends BaseEntity {
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 房屋收费id
|
||||
* 收费id
|
||||
*/
|
||||
@NotNull(message = "房屋收费id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long houseChargeId;
|
||||
private Long chargeId;
|
||||
/**
|
||||
* 收费类型
|
||||
*/
|
||||
private String chargeType;
|
||||
|
||||
/**
|
||||
* 费用项目id
|
||||
@@ -65,12 +68,7 @@ public class CostPayFeeAuditBo extends BaseEntity {
|
||||
@NotNull(message = "应收金额不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal receivableAmount;
|
||||
|
||||
/**
|
||||
* 缴费时间
|
||||
|
||||
|
||||
*/
|
||||
@NotNull(message = "缴费时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date payTime;
|
||||
|
||||
/**
|
||||
|
@@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.dromara.property.domain.CostReturnPayFee;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -60,12 +61,11 @@ public class CostReturnPayFeeBo extends BaseEntity {
|
||||
/**
|
||||
* 支付金额
|
||||
*/
|
||||
private Long payAcount;
|
||||
private BigDecimal payAcount;
|
||||
|
||||
/**
|
||||
* 支付时间
|
||||
*/
|
||||
@NotNull(message = "支付时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date payTime;
|
||||
|
||||
/**
|
||||
|
@@ -1,47 +0,0 @@
|
||||
package org.dromara.property.domain.bo;
|
||||
|
||||
import org.dromara.property.domain.TbFactory;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
|
||||
/**
|
||||
* 厂商管理业务对象 td_factory
|
||||
*
|
||||
* @author mocheng
|
||||
* @since 2025-06-18
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = TbFactory.class, reverseConvertGenerate = false)
|
||||
public class TbFactoryBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@NotNull(message = "不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 厂商编码
|
||||
*/
|
||||
@NotBlank(message = "厂商编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String factoryNo;
|
||||
|
||||
/**
|
||||
* 设备厂商名称
|
||||
*/
|
||||
@NotBlank(message = "设备厂商名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String factoryName;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
@@ -0,0 +1,44 @@
|
||||
package org.dromara.property.domain.enums;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:yuyongle
|
||||
* @Date:2025/7/19 11:33
|
||||
* @Description:
|
||||
**/
|
||||
@Getter
|
||||
public enum ChargeStatusEnum {
|
||||
/**
|
||||
* 缴费待审核
|
||||
*/
|
||||
PAYMENT_IS_SUBJECT_TO_REVIEW("缴费待审核", "1"),
|
||||
/**
|
||||
* 月/天
|
||||
*/
|
||||
THE_PAYMENT_WAS_APPROVED("缴费审核通过", "2"),
|
||||
THE_PAYMENT_REVIEW_FAILED("缴费审核不通过", "3"),
|
||||
PAID_FEE("已缴费", "4"),
|
||||
REFUND_PENDING_REVIEW("退费待审核", "5"),
|
||||
THE_REFUND_HAS_BEEN_APPROVED("已退费审核通过", "6"),
|
||||
THE_REFUND_REVIEW_IS_NOT_PASSED("退费审核不通过", "7");
|
||||
|
||||
|
||||
|
||||
private final String name;
|
||||
private final String value;
|
||||
|
||||
ChargeStatusEnum(String name, String value) {
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return this.value;
|
||||
}
|
||||
}
|
@@ -71,6 +71,10 @@ public class CostCarChargeVo implements Serializable {
|
||||
@ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "wy_cszt")
|
||||
private String state;
|
||||
/**
|
||||
* 缴费状态
|
||||
*/
|
||||
private String chargeStatus;
|
||||
|
||||
/**
|
||||
* 收费项目
|
||||
|
@@ -9,6 +9,7 @@ import org.dromara.property.domain.CostItems;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -34,13 +35,24 @@ public class CostHouseChargeDetailVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "房屋")
|
||||
private Long roomId;
|
||||
/**
|
||||
* 业主
|
||||
*/
|
||||
private Long personId;
|
||||
|
||||
/**
|
||||
* 业主姓名
|
||||
*/
|
||||
private String personName;
|
||||
/**
|
||||
* 收费项目
|
||||
*/
|
||||
@ExcelProperty(value = "收费项目")
|
||||
private Long costItemsId;
|
||||
|
||||
/**
|
||||
* 缴费状态
|
||||
*/
|
||||
private String chargeStatus;
|
||||
/**
|
||||
* 支付方式
|
||||
*/
|
||||
@@ -57,7 +69,7 @@ public class CostHouseChargeDetailVo implements Serializable {
|
||||
* 应收金额
|
||||
*/
|
||||
@ExcelProperty(value = "应收金额")
|
||||
private Long amountReceivable;
|
||||
private BigDecimal amountReceivable;
|
||||
|
||||
/**
|
||||
* 计费开始时间
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package org.dromara.property.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.property.domain.CostHouseCharge;
|
||||
@@ -41,7 +42,10 @@ public class CostHouseChargeVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "房屋")
|
||||
private Long roomId;
|
||||
|
||||
/**
|
||||
* 业主
|
||||
*/
|
||||
private Long personId;
|
||||
/**
|
||||
* 收费项目
|
||||
*/
|
||||
@@ -59,12 +63,15 @@ public class CostHouseChargeVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "支付周期")
|
||||
private String chargeCycle;
|
||||
|
||||
/**
|
||||
* 缴费状态
|
||||
*/
|
||||
private String chargeStatus;
|
||||
/**
|
||||
* 应收金额
|
||||
*/
|
||||
@ExcelProperty(value = "应收金额")
|
||||
private Long amountReceivable;
|
||||
private BigDecimal amountReceivable;
|
||||
|
||||
/**
|
||||
* 计费开始时间
|
||||
|
@@ -37,10 +37,13 @@ public class CostPayFeeAuditVo implements Serializable {
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 房屋收费id
|
||||
* 收费id
|
||||
*/
|
||||
@ExcelProperty(value = "房屋收费id")
|
||||
private Long houseChargeId;
|
||||
private Long chargeId;
|
||||
/**
|
||||
* 收费类型
|
||||
*/
|
||||
private String chargeType;
|
||||
/**
|
||||
* 费用类型
|
||||
*/
|
||||
|
@@ -8,6 +8,7 @@ import org.dromara.property.domain.CostReturnPayFee;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
@@ -44,6 +45,7 @@ public class CostReturnPayFeeVo implements Serializable {
|
||||
@ExcelProperty(value = "支付单号")
|
||||
private String payNo;
|
||||
|
||||
|
||||
/**
|
||||
* 退款原因
|
||||
*/
|
||||
@@ -66,7 +68,7 @@ public class CostReturnPayFeeVo implements Serializable {
|
||||
* 支付金额
|
||||
*/
|
||||
@ExcelProperty(value = "支付金额")
|
||||
private Long payAcount;
|
||||
private BigDecimal payAcount;
|
||||
|
||||
/**
|
||||
* 支付时间
|
||||
|
@@ -1,52 +0,0 @@
|
||||
package org.dromara.property.domain.vo;
|
||||
|
||||
import org.dromara.property.domain.TbFactory;
|
||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* 厂商管理视图对象 td_factory
|
||||
*
|
||||
* @author mocheng
|
||||
* @since 2025-06-18
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = TbFactory.class)
|
||||
public class TbFactoryVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ExcelProperty(value = "")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 厂商编码
|
||||
*/
|
||||
@ExcelProperty(value = "厂商编码")
|
||||
private String factoryNo;
|
||||
|
||||
/**
|
||||
* 设备厂商名称
|
||||
*/
|
||||
@ExcelProperty(value = "设备厂商名称")
|
||||
private String factoryName;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
@@ -111,6 +111,16 @@ public class RemoteFloorServiceImpl implements RemoteFloorService {
|
||||
@Override
|
||||
public List<RemoteFloorVo> queryByUnitId(Long unitId){
|
||||
List<TbFloorVo> tbFloorVo = floorService.queryByUnitId(unitId);
|
||||
return MapstructUtils.convert(tbFloorVo, RemoteFloorVo.class);
|
||||
List<RemoteFloorVo> remoteFloorVos = new ArrayList<>();
|
||||
|
||||
tbFloorVo.forEach(item -> {
|
||||
RemoteFloorVo remoteFloorVo = new RemoteFloorVo();
|
||||
remoteFloorVo.setId(item.getId());
|
||||
remoteFloorVo.setFloorName(item.getFloorName());
|
||||
remoteFloorVo.setFloorNumber(item.getFloorNumber());
|
||||
remoteFloorVos.add(remoteFloorVo);
|
||||
});
|
||||
|
||||
return remoteFloorVos;
|
||||
}
|
||||
}
|
||||
|
@@ -1,17 +0,0 @@
|
||||
package org.dromara.property.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.dromara.property.domain.TbFactory;
|
||||
import org.dromara.property.domain.vo.TbFactoryVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 厂商管理Mapper接口
|
||||
*
|
||||
* @author mocheng
|
||||
* @since 2025-06-18
|
||||
*/
|
||||
@Mapper
|
||||
public interface TbFactoryMapper extends BaseMapperPlus<TbFactory, TbFactoryVo> {
|
||||
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
package org.dromara.property.service;
|
||||
|
||||
import org.dromara.property.domain.CostCarCharge;
|
||||
import org.dromara.property.domain.bo.CostChargeReturnFeeBo;
|
||||
import org.dromara.property.domain.vo.CostCarChargeVo;
|
||||
import org.dromara.property.domain.bo.CostCarChargeBo;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@@ -50,6 +50,12 @@ public interface ICostCarChargeService {
|
||||
*/
|
||||
Boolean insertByBo(CostCarChargeBo bo);
|
||||
|
||||
/**
|
||||
* 车辆退费
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
Boolean returnFree(CostChargeReturnFeeBo bo);
|
||||
/**
|
||||
* 修改费用-车辆收费
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package org.dromara.property.service;
|
||||
|
||||
import org.dromara.property.domain.CostHouseCharge;
|
||||
import org.dromara.property.domain.bo.CostChargeReturnFeeBo;
|
||||
import org.dromara.property.domain.vo.CostHouseChargeDetailVo;
|
||||
import org.dromara.property.domain.vo.CostHouseChargeVo;
|
||||
import org.dromara.property.domain.bo.CostHouseChargeBo;
|
||||
@@ -51,6 +51,14 @@ public interface ICostHouseChargeService {
|
||||
*/
|
||||
Boolean insertByBo(CostHouseChargeBo bo);
|
||||
|
||||
/**
|
||||
* 房屋退费
|
||||
*
|
||||
* @param bo 房屋退费
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean returnFree(CostChargeReturnFeeBo bo);
|
||||
|
||||
/**
|
||||
* 修改房屋收费
|
||||
*
|
||||
|
@@ -1,68 +0,0 @@
|
||||
package org.dromara.property.service;
|
||||
|
||||
import org.dromara.property.domain.bo.TbFactoryBo;
|
||||
import org.dromara.property.domain.vo.TbFactoryVo;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 厂商管理Service接口
|
||||
*
|
||||
* @author mocheng
|
||||
* @since 2025-06-18
|
||||
*/
|
||||
public interface ITbFactoryService {
|
||||
|
||||
/**
|
||||
* 查询厂商管理
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 厂商管理
|
||||
*/
|
||||
TbFactoryVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询厂商管理列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 厂商管理分页列表
|
||||
*/
|
||||
TableDataInfo<TbFactoryVo> queryPageList(TbFactoryBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的厂商管理列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 厂商管理列表
|
||||
*/
|
||||
List<TbFactoryVo> queryList(TbFactoryBo bo);
|
||||
|
||||
/**
|
||||
* 新增厂商管理
|
||||
*
|
||||
* @param bo 厂商管理
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(TbFactoryBo bo);
|
||||
|
||||
/**
|
||||
* 修改厂商管理
|
||||
*
|
||||
* @param bo 厂商管理
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(TbFactoryBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除厂商管理信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
@@ -1,42 +1,36 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.idev.excel.event.Order;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.Mapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.property.domain.Clean;
|
||||
import org.dromara.property.domain.CleanOrder;
|
||||
import org.dromara.property.domain.CleanRelation;
|
||||
import org.dromara.property.domain.CleanserverOrder;
|
||||
import org.dromara.property.domain.vo.CleanserverOrderVo;
|
||||
import org.dromara.property.mapper.CleanMapper;
|
||||
import org.dromara.property.mapper.CleanRelationMapper;
|
||||
import org.dromara.property.mapper.CleanserverOrderMapper;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.property.domain.bo.CleanOrderBo;
|
||||
import org.dromara.property.domain.vo.CleanOrderVo;
|
||||
import org.dromara.property.domain.CleanOrder;
|
||||
import org.dromara.property.mapper.CleanMapper;
|
||||
import org.dromara.property.mapper.CleanOrderMapper;
|
||||
import org.dromara.property.mapper.CleanRelationMapper;
|
||||
import org.dromara.property.mapper.CleanserverOrderMapper;
|
||||
import org.dromara.property.service.ICleanOrderService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.stringtemplate.v4.ST;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static kotlin.reflect.jvm.internal.impl.builtins.StandardNames.FqNames.list;
|
||||
|
||||
/**
|
||||
* 保洁订单Service业务层处理
|
||||
*
|
||||
@@ -102,7 +96,7 @@ public class CleanOrderServiceImpl implements ICleanOrderService {
|
||||
public TableDataInfo<CleanOrderVo> queryPageList(CleanOrderBo bo, PageQuery pageQuery) {
|
||||
// 构造条件查询器,返回的是一个集合
|
||||
LambdaQueryWrapper<CleanOrder> lqw = buildQueryWrapper(bo);
|
||||
Page<CleanOrderVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw,CleanOrderVo.class);
|
||||
Page<CleanOrderVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw, CleanOrderVo.class);
|
||||
// Page<CleanOrderVo> result = baseMapper.selectForPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
@@ -158,8 +152,8 @@ public class CleanOrderServiceImpl implements ICleanOrderService {
|
||||
CleanOrder add = new CleanOrder();
|
||||
validEntityBeforeSave(add);
|
||||
BeanUtils.copyProperties(bo, add);
|
||||
add.setStarTime(String.valueOf(new DateTime(bo.getStarTime()).toLocalDateTime()));
|
||||
add.setEndTime(String.valueOf(new DateTime(bo.getEndTime()).toLocalDateTime()));
|
||||
add.setStarTime(bo.getStarTime());
|
||||
add.setEndTime(bo.getEndTime());
|
||||
add.setIsUnbooking(NOTUNBOOKING);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
|
||||
@@ -209,8 +203,8 @@ public class CleanOrderServiceImpl implements ICleanOrderService {
|
||||
public Boolean updateByBo(CleanOrderBo bo) {
|
||||
CleanOrder update = MapstructUtils.convert(bo, CleanOrder.class);
|
||||
validEntityBeforeSave(update);
|
||||
update.setStarTime(String.valueOf(new DateTime(bo.getStarTime()).toLocalDateTime()));
|
||||
update.setEndTime(String.valueOf(new DateTime(bo.getStarTime()).toLocalDateTime()));
|
||||
update.setStarTime(bo.getStarTime());
|
||||
update.setEndTime(bo.getStarTime());
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
|
@@ -1,5 +1,9 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@@ -9,14 +13,23 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.property.domain.CostHouseCharge;
|
||||
import org.dromara.property.domain.CostPayFeeAudit;
|
||||
import org.dromara.property.domain.CostReturnPayFee;
|
||||
import org.dromara.property.domain.bo.CostChargeReturnFeeBo;
|
||||
import org.dromara.property.domain.enums.ChargeStatusEnum;
|
||||
import org.dromara.property.domain.vo.CostHouseChargeVo;
|
||||
import org.dromara.property.domain.vo.CostItemsVo;
|
||||
import org.dromara.property.mapper.CostItemsMapper;
|
||||
import org.dromara.property.mapper.CostPayFeeAuditMapper;
|
||||
import org.dromara.property.mapper.CostReturnPayFeeMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.property.domain.bo.CostCarChargeBo;
|
||||
import org.dromara.property.domain.vo.CostCarChargeVo;
|
||||
import org.dromara.property.domain.CostCarCharge;
|
||||
import org.dromara.property.mapper.CostCarChargeMapper;
|
||||
import org.dromara.property.service.ICostCarChargeService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
@@ -36,6 +49,8 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService {
|
||||
|
||||
private final CostCarChargeMapper baseMapper;
|
||||
private final CostItemsMapper costItemsMapper;
|
||||
private final CostPayFeeAuditMapper costPayFeeAuditMapper;
|
||||
private final CostReturnPayFeeMapper costReturnPayFeeMapper;
|
||||
|
||||
|
||||
/**
|
||||
@@ -98,6 +113,7 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService {
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean insertByBo(CostCarChargeBo bo) {
|
||||
CostCarCharge add = MapstructUtils.convert(bo, CostCarCharge.class);
|
||||
CostItemsVo costItemsVo = costItemsMapper.selectVoById(add.getCostItemsId());
|
||||
@@ -107,10 +123,46 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService {
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
//新增缴费记录
|
||||
var CostPayFeeAudit = new CostPayFeeAudit()
|
||||
.setChargeId(add.getId())
|
||||
.setChargeType("2")
|
||||
.setItemId(costItemsVo.getId())
|
||||
.setStartTime(add.getStarTime())
|
||||
.setEndTime(add.getEndTime())
|
||||
.setReceivableAmount(add.getAmountReceivable())
|
||||
.setState("0");
|
||||
costPayFeeAuditMapper.insert(CostPayFeeAudit);
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 车辆退费
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean returnFree(CostChargeReturnFeeBo bo) {
|
||||
CostCarCharge costCarCharge = baseMapper.selectById(bo.getId());
|
||||
Assert.isTrue(ObjectUtil.isNotEmpty(costCarCharge),"该费用不存在");
|
||||
var CostReturnPayFee = new CostReturnPayFee()
|
||||
.setChargeId(costCarCharge.getId())
|
||||
.setChargeType("2")
|
||||
.setItemId(costCarCharge.getCostItemsId())
|
||||
.setReturnNo(RandomUtil.randomNumbers(11))
|
||||
.setReason(bo.getReason())
|
||||
.setUserId(costCarCharge.getPersonId())
|
||||
.setPayNo(costCarCharge.getId().toString())
|
||||
.setPayAcount(costCarCharge.getAmountReceivable())
|
||||
.setState("0")
|
||||
;
|
||||
costReturnPayFeeMapper.insert(CostReturnPayFee);
|
||||
costCarCharge.setChargeStatus(ChargeStatusEnum.REFUND_PENDING_REVIEW.getValue());
|
||||
return baseMapper.updateById(costCarCharge) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改费用-车辆收费
|
||||
*
|
||||
|
@@ -1,6 +1,9 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@@ -10,17 +13,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.property.domain.vo.CostHouseChargeDetailVo;
|
||||
import org.dromara.property.domain.vo.CostItemsVo;
|
||||
import org.dromara.property.domain.vo.TbRoomVo;
|
||||
import org.dromara.property.mapper.CostItemsMapper;
|
||||
import org.dromara.property.mapper.TbRoomMapper;
|
||||
import org.dromara.property.domain.CostPayFeeAudit;
|
||||
import org.dromara.property.domain.CostReturnPayFee;
|
||||
import org.dromara.property.domain.bo.CostChargeReturnFeeBo;
|
||||
import org.dromara.property.domain.enums.ChargeStatusEnum;
|
||||
import org.dromara.property.domain.vo.*;
|
||||
import org.dromara.property.mapper.*;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.property.domain.bo.CostHouseChargeBo;
|
||||
import org.dromara.property.domain.vo.CostHouseChargeVo;
|
||||
import org.dromara.property.domain.CostHouseCharge;
|
||||
import org.dromara.property.mapper.CostHouseChargeMapper;
|
||||
import org.dromara.property.service.ICostHouseChargeService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
@@ -42,7 +45,9 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService {
|
||||
private final CostHouseChargeMapper baseMapper;
|
||||
private final CostItemsMapper costItemsMapper;
|
||||
private final TbRoomMapper tbRoomMapper;
|
||||
|
||||
private final CostPayFeeAuditMapper costPayFeeAuditMapper;
|
||||
private final CostReturnPayFeeMapper costReturnPayFeeMapper;
|
||||
private final ResidentPersonMapper residentPersonMapper;
|
||||
/**
|
||||
* 查询房屋收费
|
||||
*
|
||||
@@ -50,13 +55,15 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService {
|
||||
* @return 房屋收费
|
||||
*/
|
||||
@Override
|
||||
public CostHouseChargeDetailVo queryById(Long id){
|
||||
public CostHouseChargeDetailVo queryById(Long id) {
|
||||
CostHouseChargeVo costHouseChargeVo = baseMapper.selectVoById(id);
|
||||
CostHouseChargeDetailVo costHouseChargeDetailVo = BeanUtil.copyProperties(costHouseChargeVo, CostHouseChargeDetailVo.class);
|
||||
CostItemsVo costItemsVo = costItemsMapper.selectVoById(costHouseChargeDetailVo.getCostItemsId());
|
||||
costHouseChargeDetailVo.setCostItemsVo( costItemsVo );
|
||||
costHouseChargeDetailVo.setCostItemsVo(costItemsVo);
|
||||
TbRoomVo tbRoomVo = tbRoomMapper.selectVoById(costHouseChargeDetailVo.getRoomId());
|
||||
costHouseChargeDetailVo.setRoomVo(tbRoomVo);
|
||||
ResidentPersonVo residentPersonVo = residentPersonMapper.selectVoById(costHouseChargeVo.getPersonId());
|
||||
costHouseChargeDetailVo.setPersonName(residentPersonVo.getUserName());
|
||||
return costHouseChargeDetailVo;
|
||||
}
|
||||
|
||||
@@ -92,7 +99,6 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService {
|
||||
lqw.orderByAsc(CostHouseCharge::getId);
|
||||
lqw.eq(bo.getRoomId() != null, CostHouseCharge::getRoomId, bo.getRoomId());
|
||||
lqw.eq(bo.getCostItemsId() != null, CostHouseCharge::getCostItemsId, bo.getCostItemsId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getPayType()), CostHouseCharge::getPayType, bo.getPayType());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getChargeCycle()), CostHouseCharge::getChargeCycle, bo.getChargeCycle());
|
||||
lqw.eq(bo.getAmountReceivable() != null, CostHouseCharge::getAmountReceivable, bo.getAmountReceivable());
|
||||
lqw.eq(bo.getStartTime() != null, CostHouseCharge::getStartTime, bo.getStartTime());
|
||||
@@ -109,6 +115,7 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService {
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean insertByBo(CostHouseChargeBo bo) {
|
||||
CostHouseCharge add = MapstructUtils.convert(bo, CostHouseCharge.class);
|
||||
//查询房间面积
|
||||
@@ -117,26 +124,63 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService {
|
||||
CostItemsVo costItemsVo = costItemsMapper.selectVoById(add.getCostItemsId());
|
||||
BigDecimal unitPrice = costItemsVo.getUnitPrice();
|
||||
//向上取整
|
||||
if(costItemsVo.getRoundingMode().equals("1")){
|
||||
add.setAmountReceivable(area.multiply(unitPrice).add(costItemsVo.getSurcharge()).setScale(Integer.valueOf(costItemsVo.getCurrencyDecimals()), BigDecimal.ROUND_UP).longValue());
|
||||
if (costItemsVo.getRoundingMode().equals("1")) {
|
||||
add.setAmountReceivable(area.multiply(unitPrice).add(costItemsVo.getSurcharge()).setScale(Integer.valueOf(costItemsVo.getCurrencyDecimals()), BigDecimal.ROUND_UP));
|
||||
}
|
||||
//向下取整
|
||||
if(costItemsVo.getRoundingMode().equals("2")){
|
||||
add.setAmountReceivable( area.multiply(unitPrice).add(costItemsVo.getSurcharge()).setScale(Integer.valueOf(costItemsVo.getCurrencyDecimals()), BigDecimal.ROUND_DOWN).longValue());
|
||||
if (costItemsVo.getRoundingMode().equals("2")) {
|
||||
add.setAmountReceivable(area.multiply(unitPrice).add(costItemsVo.getSurcharge()).setScale(Integer.valueOf(costItemsVo.getCurrencyDecimals()), BigDecimal.ROUND_DOWN));
|
||||
}
|
||||
//四舍五入
|
||||
if(costItemsVo.getRoundingMode().equals("0")){
|
||||
add.setAmountReceivable(area.multiply(unitPrice).add(costItemsVo.getSurcharge()).setScale( Integer.valueOf(costItemsVo.getCurrencyDecimals()), RoundingMode.HALF_UP).longValue());
|
||||
if (costItemsVo.getRoundingMode().equals("0")) {
|
||||
add.setAmountReceivable(area.multiply(unitPrice).add(costItemsVo.getSurcharge()).setScale(Integer.valueOf(costItemsVo.getCurrencyDecimals()), RoundingMode.HALF_UP));
|
||||
}
|
||||
add.setChargeStatus(ChargeStatusEnum.PAYMENT_IS_SUBJECT_TO_REVIEW.getValue());
|
||||
//area
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
//新增缴费记录
|
||||
var CostPayFeeAudit = new CostPayFeeAudit()
|
||||
.setChargeId(add.getId())
|
||||
.setChargeType("1")
|
||||
.setItemId(costItemsVo.getId())
|
||||
.setStartTime(add.getStartTime())
|
||||
.setEndTime(add.getEndTime())
|
||||
.setReceivableAmount(add.getAmountReceivable())
|
||||
.setState("0");
|
||||
costPayFeeAuditMapper.insert(CostPayFeeAudit);
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 房屋退费
|
||||
*
|
||||
* @param bo 房屋退费
|
||||
* @return 是否退费成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean returnFree(CostChargeReturnFeeBo bo) {
|
||||
CostHouseChargeVo costHouseChargeVo = baseMapper.selectVoById(bo.getId());
|
||||
Assert.isTrue(ObjectUtil.isNotEmpty(costHouseChargeVo),"该费用不存在");
|
||||
var CostReturnPayFee = new CostReturnPayFee().setItemId(costHouseChargeVo.getCostItemsId())
|
||||
.setReturnNo(RandomUtil.randomNumbers(11))
|
||||
.setReason(bo.getReason())
|
||||
.setItemId(costHouseChargeVo.getCostItemsId())
|
||||
.setUserId(costHouseChargeVo.getPersonId())
|
||||
.setPayNo(costHouseChargeVo.getId().toString())
|
||||
.setPayAcount(costHouseChargeVo.getAmountReceivable())
|
||||
.setState("0")
|
||||
;
|
||||
boolean flag = costReturnPayFeeMapper.insert(CostReturnPayFee) > 0;
|
||||
CostHouseCharge costHouseCharge = BeanUtil.copyProperties(costHouseChargeVo, CostHouseCharge.class);
|
||||
costHouseCharge.setChargeStatus(ChargeStatusEnum.REFUND_PENDING_REVIEW.getValue());
|
||||
return baseMapper.updateById(costHouseCharge) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改房屋收费
|
||||
*
|
||||
@@ -144,6 +188,7 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService {
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateByBo(CostHouseChargeBo bo) {
|
||||
CostHouseCharge update = MapstructUtils.convert(bo, CostHouseCharge.class);
|
||||
validEntityBeforeSave(update);
|
||||
@@ -153,7 +198,7 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService {
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(CostHouseCharge entity){
|
||||
private void validEntityBeforeSave(CostHouseCharge entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
@@ -165,8 +210,10 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService {
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import org.checkerframework.checker.units.qual.C;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
@@ -11,12 +12,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.property.domain.CostCarCharge;
|
||||
import org.dromara.property.domain.CostHouseCharge;
|
||||
import org.dromara.property.domain.CostPayFeeAudit;
|
||||
import org.dromara.property.domain.bo.CostPayFeeAuditBo;
|
||||
import org.dromara.property.domain.enums.ChargeStatusEnum;
|
||||
import org.dromara.property.domain.vo.*;
|
||||
import org.dromara.property.mapper.CostItemsMapper;
|
||||
import org.dromara.property.mapper.CostPayFeeAuditMapper;
|
||||
import org.dromara.property.mapper.TbRoomMapper;
|
||||
import org.dromara.property.mapper.*;
|
||||
import org.dromara.property.service.ICostPayFeeAuditService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -40,6 +42,8 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService {
|
||||
private final CostPayFeeAuditMapper baseMapper;
|
||||
private final CostItemsMapper costItemsMapper;
|
||||
private final TbRoomMapper roomMapper;
|
||||
private final CostHouseChargeMapper coinHouseChargeMapper;
|
||||
private final CostCarChargeMapper costCarChargeMapper;
|
||||
|
||||
/**
|
||||
* 查询费用-缴费审核
|
||||
@@ -49,7 +53,13 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService {
|
||||
*/
|
||||
@Override
|
||||
public CostPayFeeAuditVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
CostPayFeeAuditVo costPayFeeAuditVo = baseMapper.selectVoById(id);
|
||||
CostItemsVo costItemsVo = costItemsMapper.selectVoById(costPayFeeAuditVo.getItemId());
|
||||
costPayFeeAuditVo.setChargeItem(ObjectUtil.isNotEmpty(costItemsVo)? costItemsVo.getChargeItem() :null );
|
||||
costPayFeeAuditVo.setChargeCycle(ObjectUtil.isNotEmpty(costItemsVo)? costItemsVo.getChargeCycle() :null );
|
||||
//TbRoomVo roomVo = roomMapper.selectVoById(costPayFeeAuditVo.getChargeId());
|
||||
//costPayFeeAuditVo.setRoomNumber(ObjectUtil.isNotEmpty(roomVo)? roomVo.getRoomNumber() :null );
|
||||
return costPayFeeAuditVo;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -63,12 +73,15 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService {
|
||||
public TableDataInfo<CostPayFeeAuditVo> queryPageList(CostPayFeeAuditBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<CostPayFeeAudit> lqw = buildQueryWrapper(bo);
|
||||
Page<CostPayFeeAuditVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
if(CollUtil.isEmpty(result.getRecords())){
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
List<Long> itemIdList = result.getRecords().stream()
|
||||
.map(vo -> vo.getItemId())
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
List<Long> roomIdList = result.getRecords().stream()
|
||||
.map(vo -> vo.getHouseChargeId())
|
||||
.map(vo -> vo.getChargeId())
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
List<CostItemsVo> costItemsVoList = costItemsMapper.selectVoByIds(itemIdList);
|
||||
@@ -81,7 +94,7 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService {
|
||||
s.setCostType(ObjectUtil.isNotEmpty(costItemsVo)?costItemsVo.getCostType():null);
|
||||
s.setChargeCycle(ObjectUtil.isNotEmpty(costItemsVo)?costItemsVo.getChargeCycle():null);
|
||||
TbRoomVo tbRoomVo = roomVoList.stream()
|
||||
.filter(vo -> vo.getId() != null && vo.getId().equals(s.getHouseChargeId())).findFirst().orElse(null);
|
||||
.filter(vo -> vo.getId() != null && vo.getId().equals(s.getChargeId())).findFirst().orElse(null);
|
||||
s.setRoomNumber(ObjectUtil.isNotEmpty(tbRoomVo)?tbRoomVo.getRoomNumber():null);
|
||||
|
||||
costPayFeeAuditVoList.add(s);
|
||||
@@ -105,7 +118,7 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<CostPayFeeAudit> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByAsc(CostPayFeeAudit::getId);
|
||||
lqw.eq(bo.getHouseChargeId() != null, CostPayFeeAudit::getHouseChargeId, bo.getHouseChargeId());
|
||||
lqw.eq(bo.getChargeId() != null, CostPayFeeAudit::getChargeId, bo.getChargeId());
|
||||
lqw.eq(bo.getItemId() != null, CostPayFeeAudit::getItemId, bo.getItemId());
|
||||
lqw.eq(bo.getStartTime() != null, CostPayFeeAudit::getStartTime, bo.getStartTime());
|
||||
lqw.eq(bo.getEndTime() != null, CostPayFeeAudit::getEndTime, bo.getEndTime());
|
||||
@@ -134,7 +147,7 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改费用-缴费审核
|
||||
* 修改费用-缴费审核修改状态
|
||||
*
|
||||
* @param bo 费用-缴费审核
|
||||
* @return 是否修改成功
|
||||
@@ -142,7 +155,7 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService {
|
||||
@Override
|
||||
public Boolean updateByBo(CostPayFeeAuditBo bo) {
|
||||
CostPayFeeAudit update = MapstructUtils.convert(bo, CostPayFeeAudit.class);
|
||||
validEntityBeforeSave(update);
|
||||
validEntityBeforeUpdate(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
@@ -152,6 +165,36 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService {
|
||||
private void validEntityBeforeSave(CostPayFeeAudit entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
/**
|
||||
* 修改前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeUpdate(CostPayFeeAudit entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
if(entity.getState().equals("1")){
|
||||
if(entity.getChargeType().equals("1")){
|
||||
CostHouseCharge costHouseCharge = coinHouseChargeMapper.selectById(entity.getChargeId());
|
||||
costHouseCharge.setChargeStatus(ChargeStatusEnum.THE_PAYMENT_WAS_APPROVED.getValue());
|
||||
coinHouseChargeMapper.updateById(costHouseCharge);
|
||||
}
|
||||
if(entity.getChargeType().equals("2")){
|
||||
CostCarCharge costCarCharge = costCarChargeMapper.selectById(entity.getChargeId());
|
||||
costCarCharge.setChargeStatus(ChargeStatusEnum.THE_PAYMENT_WAS_APPROVED.getValue());
|
||||
costCarChargeMapper.updateById(costCarCharge);
|
||||
}
|
||||
}
|
||||
if(entity.getState().equals("2")){
|
||||
if(entity.getChargeType().equals("1")){
|
||||
CostHouseCharge costHouseCharge = coinHouseChargeMapper.selectById(entity.getChargeId());
|
||||
costHouseCharge.setChargeStatus(ChargeStatusEnum.THE_PAYMENT_REVIEW_FAILED.getValue());
|
||||
coinHouseChargeMapper.updateById(costHouseCharge);
|
||||
}
|
||||
if(entity.getChargeType().equals("2")){
|
||||
CostCarCharge costCarCharge = costCarChargeMapper.selectById(entity.getChargeId());
|
||||
costCarCharge.setChargeStatus(ChargeStatusEnum.THE_PAYMENT_REVIEW_FAILED.getValue());
|
||||
costCarChargeMapper.updateById(costCarCharge);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除费用-缴费审核信息
|
||||
|
@@ -9,9 +9,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.property.domain.CostCarCharge;
|
||||
import org.dromara.property.domain.CostHouseCharge;
|
||||
import org.dromara.property.domain.CostReturnPayFee;
|
||||
import org.dromara.property.domain.bo.CostReturnPayFeeBo;
|
||||
import org.dromara.property.domain.enums.ChargeStatusEnum;
|
||||
import org.dromara.property.domain.vo.CostReturnPayFeeVo;
|
||||
import org.dromara.property.mapper.CostCarChargeMapper;
|
||||
import org.dromara.property.mapper.CostHouseChargeMapper;
|
||||
import org.dromara.property.mapper.CostReturnPayFeeMapper;
|
||||
import org.dromara.property.service.ICostReturnPayFeeService;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -32,6 +37,8 @@ import java.util.Collection;
|
||||
public class CostReturnPayFeeServiceImpl implements ICostReturnPayFeeService {
|
||||
|
||||
private final CostReturnPayFeeMapper baseMapper;
|
||||
private final CostHouseChargeMapper coinHouseChargeMapper;
|
||||
private final CostCarChargeMapper costCarChargeMapper;
|
||||
|
||||
/**
|
||||
* 查询费用-抄类型
|
||||
@@ -112,7 +119,7 @@ public class CostReturnPayFeeServiceImpl implements ICostReturnPayFeeService {
|
||||
@Override
|
||||
public Boolean updateByBo(CostReturnPayFeeBo bo) {
|
||||
CostReturnPayFee update = MapstructUtils.convert(bo, CostReturnPayFee.class);
|
||||
validEntityBeforeSave(update);
|
||||
validEntityBeforeUpdate(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
@@ -122,6 +129,36 @@ public class CostReturnPayFeeServiceImpl implements ICostReturnPayFeeService {
|
||||
private void validEntityBeforeSave(CostReturnPayFee entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
/**
|
||||
* 修改前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeUpdate(CostReturnPayFee entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
if(entity.getState().equals("1")){
|
||||
if(entity.getChargeType().equals("1")){
|
||||
CostHouseCharge costHouseCharge = coinHouseChargeMapper.selectById(entity.getChargeId());
|
||||
costHouseCharge.setChargeStatus(ChargeStatusEnum. THE_REFUND_HAS_BEEN_APPROVED.getValue());
|
||||
coinHouseChargeMapper.updateById(costHouseCharge);
|
||||
}
|
||||
if(entity.getChargeType().equals("2")){
|
||||
CostCarCharge costCarCharge = costCarChargeMapper.selectById(entity.getChargeId());
|
||||
costCarCharge.setChargeStatus(ChargeStatusEnum.THE_REFUND_HAS_BEEN_APPROVED.getValue());
|
||||
costCarChargeMapper.updateById(costCarCharge);
|
||||
}
|
||||
}
|
||||
if(entity.getState().equals("2")){
|
||||
if(entity.getChargeType().equals("1")){
|
||||
CostHouseCharge costHouseCharge = coinHouseChargeMapper.selectById(entity.getChargeId());
|
||||
costHouseCharge.setChargeStatus(ChargeStatusEnum.THE_REFUND_REVIEW_IS_NOT_PASSED.getValue());
|
||||
coinHouseChargeMapper.updateById(costHouseCharge);
|
||||
}
|
||||
if(entity.getChargeType().equals("2")){
|
||||
CostCarCharge costCarCharge = costCarChargeMapper.selectById(entity.getChargeId());
|
||||
costCarCharge.setChargeStatus(ChargeStatusEnum.THE_REFUND_REVIEW_IS_NOT_PASSED.getValue());
|
||||
costCarChargeMapper.updateById(costCarCharge);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除费用-抄类型信息
|
||||
|
@@ -125,7 +125,6 @@ public class InspectionPlanServiceImpl implements IInspectionPlanService {
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSignType()), InspectionPlan::getSignType, bo.getSignType());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCanReexamine()), InspectionPlan::getCanReexamine, bo.getCanReexamine());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getState()), InspectionPlan::getState, bo.getState());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), InspectionPlan::getSearchValue, bo.getSearchValue());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
@@ -147,8 +146,9 @@ public class InspectionPlanServiceImpl implements IInspectionPlanService {
|
||||
if (CollectionUtil.isNotEmpty(inspectionPlanStaffBoList)) {
|
||||
for (InspectionPlanStaffBo staffBo : inspectionPlanStaffBoList) {
|
||||
staffBo.setInspectionPlanId(add.getId());
|
||||
InspectionPlanStaff convert = MapstructUtils.convert(staffBo, InspectionPlanStaff.class);
|
||||
inspectionPlanStaffMapper.insert(convert);
|
||||
}
|
||||
inspectionPlanStaffMapper.insertBatch(BeanUtil.copyToList(inspectionPlanStaffBoList, InspectionPlanStaff.class));
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
|
@@ -1,24 +1,22 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.property.domain.vo.MachineTypeTreeVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.property.domain.bo.MachineTypeBo;
|
||||
import org.dromara.property.domain.vo.MachineTypeVo;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.property.domain.MachineType;
|
||||
import org.dromara.property.domain.bo.MachineTypeBo;
|
||||
import org.dromara.property.domain.vo.MachineTypeTreeVo;
|
||||
import org.dromara.property.domain.vo.MachineTypeVo;
|
||||
import org.dromara.property.mapper.MachineTypeMapper;
|
||||
import org.dromara.property.service.IMachineTypeService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -42,7 +40,7 @@ public class MachineTypeServiceImpl implements IMachineTypeService {
|
||||
* @return 设备类型
|
||||
*/
|
||||
@Override
|
||||
public MachineTypeVo queryById(Long id){
|
||||
public MachineTypeVo queryById(Long id) {
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
@@ -117,7 +115,7 @@ public class MachineTypeServiceImpl implements IMachineTypeService {
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(MachineType entity){
|
||||
private void validEntityBeforeSave(MachineType entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
@@ -130,11 +128,12 @@ public class MachineTypeServiceImpl implements IMachineTypeService {
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取设备类型树列表
|
||||
*
|
||||
@@ -146,15 +145,17 @@ public class MachineTypeServiceImpl implements IMachineTypeService {
|
||||
LambdaQueryWrapper<MachineType> lqw = buildQueryWrapper(type);
|
||||
List<MachineTypeVo> machineTypeVoList = baseMapper.selectVoList(lqw);
|
||||
if (CollUtil.isEmpty(machineTypeVoList)) {
|
||||
return Collections.emptyList();
|
||||
return Collections.emptyList();
|
||||
}
|
||||
List<MachineTypeTreeVo> machineTypeTreeVoList = BeanUtil.copyToList(machineTypeVoList, MachineTypeTreeVo.class);
|
||||
List<MachineTypeTreeVo> machineTypeTreeVoList = MapstructUtils.convert(machineTypeVoList, MachineTypeTreeVo.class);
|
||||
// 2. 构建树结构
|
||||
return buildMachineTypeTree(machineTypeTreeVoList);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建设备类型树
|
||||
*
|
||||
* @param nodeList 所有节点
|
||||
* @return 树形结构列表
|
||||
*/
|
||||
@@ -185,4 +186,5 @@ public class MachineTypeServiceImpl implements IMachineTypeService {
|
||||
}
|
||||
}
|
||||
return treeList;
|
||||
}}
|
||||
}
|
||||
}
|
||||
|
@@ -123,7 +123,7 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
if (CollectionUtil.isEmpty(meetBookings)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<MeetBookingAppointmentVo> meetBookingAppointmentVoList = BeanUtil.copyToList(meetBookings, MeetBookingAppointmentVo.class);
|
||||
List<MeetBookingAppointmentVo> meetBookingAppointmentVoList = MapstructUtils.convert(meetBookings, MeetBookingAppointmentVo.class);
|
||||
SimpleDateFormat df = new SimpleDateFormat("HH");
|
||||
List<String> units = meetBookingAppointmentVoList.stream()
|
||||
.map(vo -> vo.getUnit())
|
||||
@@ -184,7 +184,7 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
if (CollectionUtil.isEmpty(meetBookingVoList)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<MeetBookingWeekVo> meetBookingWeekVoList = BeanUtil.copyToList(meetBookingVoList, MeetBookingWeekVo.class);
|
||||
List<MeetBookingWeekVo> meetBookingWeekVoList = MapstructUtils.convert(meetBookingVoList, MeetBookingWeekVo.class);
|
||||
String[] weekStr = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
|
||||
List<MeetBookingWeekVo> meetBookingWeekList = new ArrayList<>();
|
||||
SimpleDateFormat df = new SimpleDateFormat("HH");
|
||||
|
@@ -1,134 +0,0 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.property.domain.TbFactory;
|
||||
import org.dromara.property.domain.bo.TbFactoryBo;
|
||||
import org.dromara.property.domain.vo.TbFactoryVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.property.mapper.TbFactoryMapper;
|
||||
import org.dromara.property.service.ITbFactoryService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 厂商管理Service业务层处理
|
||||
*
|
||||
* @author mocheng
|
||||
* @since 2025-06-18
|
||||
*/
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class TbFactoryServiceImpl implements ITbFactoryService {
|
||||
|
||||
private final TbFactoryMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询厂商管理
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 厂商管理
|
||||
*/
|
||||
@Override
|
||||
public TbFactoryVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询厂商管理列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 厂商管理分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<TbFactoryVo> queryPageList(TbFactoryBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<TbFactory> lqw = buildQueryWrapper(bo);
|
||||
Page<TbFactoryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的厂商管理列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 厂商管理列表
|
||||
*/
|
||||
@Override
|
||||
public List<TbFactoryVo> queryList(TbFactoryBo bo) {
|
||||
LambdaQueryWrapper<TbFactory> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<TbFactory> buildQueryWrapper(TbFactoryBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<TbFactory> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByAsc(TbFactory::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFactoryNo()), TbFactory::getFactoryNo, bo.getFactoryNo());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getFactoryName()), TbFactory::getFactoryName, bo.getFactoryName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), TbFactory::getSearchValue, bo.getSearchValue());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增厂商管理
|
||||
*
|
||||
* @param bo 厂商管理
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(TbFactoryBo bo) {
|
||||
TbFactory add = MapstructUtils.convert(bo, TbFactory.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改厂商管理
|
||||
*
|
||||
* @param bo 厂商管理
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(TbFactoryBo bo) {
|
||||
TbFactory update = MapstructUtils.convert(bo, TbFactory.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(TbFactory entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除厂商管理信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user